ecterrab

14727 Reputation

24 Badges

20 years, 330 days

MaplePrimes Activity


These are replies submitted by ecterrab

Hi,
Incidentally this same problem got reported as a bug by people from the Technion. The bug is in the integration routine for Dirac functions. The bogus int routine got fixed for Maple 12, where the result for this ODE IVP is

 > DE17:=diff(y(t),t$2)+y(t)=Dirac(t-Pi)+Dirac(t-2*Pi)+Dirac(t-3*Pi);
> Y:=dsolve({DE17,y(0)=0,D(y)(0)=0},y(t));

  Y := y = -(Heaviside(t - 3 Pi) - Heaviside(t - 2 Pi) + Heaviside(t - Pi)) sin(t)

> odetest(Y, [DE17, y(0)=0, D(y)(0)=0]);   # note you can test the initial conditions too

                              [0, 0, 0]

Regarding the bug in int, here is the input, related to this ODE IVP posted, that returns wrong in Maple 11:

> ee := cos(x)*(Dirac(x-Pi)+Dirac(x-2*Pi)+Dirac(x-3*Pi));
> int(%, x);  # Maple 12 Beta output

    -Heaviside(x - 3 Pi) + Heaviside(x - 2 Pi) - Heaviside(x - Pi)

> simplify(diff(%, x) - ee);  # this does not return 0 in Maple 11

                                  0

Edgardo S. Cheb-Terrab
Ph.D Theoretical Physics, Maplesoft

Hi Jacques, I did know about trigsubs. One of the key ideas in the design of the FunctionAdvisor was to "provide centralized access to a large amout of mathematical knowledge already found (buried and spread) in the library" - another one was to make that information more complete with time. For trig functions, the main source of info used is indeed trigsubs. Here is the relevant detail: >print(MathematicalFunctions:-FunctionInfo["tan"]["identities"]); proc(F) local z; z := op(F); op(map(u -> if u <> F then F = u fi, trigsubs(F))), F^2 = 'sec'(z)^2 - 1 end BTW the FunctionAdvisor was a very interesting/challenging (unfinished) project. Some detais are in the related paper presented in the Maple summer workshop of 2002 (the paper is linked at http://lie.uwaterloo.ca/publications.html). Edgardo S. Cheb-Terrab Ph.D Theoretical Physics, Research Fellow, Maplesoft
Hi Jacques, I did know about trigsubs. One of the key ideas in the design of the FunctionAdvisor was to "provide centralized access to a large amout of mathematical knowledge already found (buried and spread) in the library" - another one was to make that information more complete with time. For trig functions, the main source of info used is indeed trigsubs. Here is the relevant detail: >print(MathematicalFunctions:-FunctionInfo["tan"]["identities"]); proc(F) local z; z := op(F); op(map(u -> if u <> F then F = u fi, trigsubs(F))), F^2 = 'sec'(z)^2 - 1 end BTW the FunctionAdvisor was a very interesting/challenging (unfinished) project. Some detais are in the related paper presented in the Maple summer workshop of 2002 (the paper is linked at http://lie.uwaterloo.ca/publications.html). Edgardo S. Cheb-Terrab Ph.D Theoretical Physics, Research Fellow, Maplesoft
Hi John, Please see the second paragraph of yesterday's reply, entitled "Re: the notation for tensors in Maple". Recalling, while in the current version of Physics you can only do abstract tensor algebra in flat spacetimes, that is about to change, to include tensor algebra in curved spacetimes and some of the functionality you have in packages like the old "tensor" or GR-Tensor. At that point you will not need to use two packages unless you want to do something much more specialized, for which the core DifferentialGeometry package is expected to be of help. Regarding your comment about distinguishing between space and time, as mentioned in yesterday's email: the ability to perform abstract tensor algebra in 4D and at the same time in the 3D (space part, so splitting the 3D tensors into a time component and a 3D tensor) is expected to be in place soon. Edgardo S. Cheb-Terrab Ph.D Theoretical Physics, Research Fellow, Maplesoft
Hi John, Please see the second paragraph of yesterday's reply, entitled "Re: the notation for tensors in Maple". Recalling, while in the current version of Physics you can only do abstract tensor algebra in flat spacetimes, that is about to change, to include tensor algebra in curved spacetimes and some of the functionality you have in packages like the old "tensor" or GR-Tensor. At that point you will not need to use two packages unless you want to do something much more specialized, for which the core DifferentialGeometry package is expected to be of help. Regarding your comment about distinguishing between space and time, as mentioned in yesterday's email: the ability to perform abstract tensor algebra in 4D and at the same time in the 3D (space part, so splitting the 3D tensors into a time component and a 3D tensor) is expected to be in place soon. Edgardo S. Cheb-Terrab Ph.D Theoretical Physics, Research Fellow, Maplesoft
Hi This thread is long - some messages got unnoticed. You are right, please see my reply yesterday, entitled "RE: Hi again, I progress only", second paragraph. Edgardo S. Cheb-Terrab Ph.D Theoretical Physics, Research Fellow, Maplesoft
Hi This thread is long - some messages got unnoticed. You are right, please see my reply yesterday, entitled "RE: Hi again, I progress only", second paragraph. Edgardo S. Cheb-Terrab Ph.D Theoretical Physics, Research Fellow, Maplesoft
Hi Robert, Indeed, this got implemented in connection with the Physics package for Maple 11, and it was possible to extend it to everything with essentially no cost. In the rush we missed documenting the feature, that I think is a great one. Edgardo S. Cheb-Terrab Ph.D Theoretical Physics, Research Fellow, Maplesoft
Hi Robert, Indeed, this got implemented in connection with the Physics package for Maple 11, and it was possible to extend it to everything with essentially no cost. In the rush we missed documenting the feature, that I think is a great one. Edgardo S. Cheb-Terrab Ph.D Theoretical Physics, Research Fellow, Maplesoft
Hi, Assuming that you use Maple 11, see ?Physics,examples, first section on Vectors and analytical geometry: there are a number of very similar worked examples that you can take as starting point to resolve the problem you posted. Edgardo S. Cheb-Terrab Ph.D Theoretical Physics, Research Fellow, Maplesoft
Hi We are taking care of 1, 2 and 3 for Maple 12 in agreement with your opinion. Regards Edgardo S. Cheb-Terrab Ph.D Theoretical Physics, Research Fellow, Maplesoft
Hi It works for me, i.e.: > restart; with(Physics); > A := matrix([[a, b*I],[c*I,d]]); [ a I b] A := [ ] [I c d ] > Dagger(A); [ _ _] [ a -I c] [ ] [ _ _ ] [-I b d ] > Dagger(convert(A, Matrix)); # also OK with Matrix [ _ _] [ a -I c] [ ] [ _ _ ] [-I b d ] ... so I guess I am missing something. Could you please post the input lines that don't work? Thanks. Edgardo S. Cheb-Terrab Ph.D Theoretical Physics, Research Fellow, Maplesoft
Hi It works for me, i.e.: > restart; with(Physics); > A := matrix([[a, b*I],[c*I,d]]); [ a I b] A := [ ] [I c d ] > Dagger(A); [ _ _] [ a -I c] [ ] [ _ _ ] [-I b d ] > Dagger(convert(A, Matrix)); # also OK with Matrix [ _ _] [ a -I c] [ ] [ _ _ ] [-I b d ] ... so I guess I am missing something. Could you please post the input lines that don't work? Thanks. Edgardo S. Cheb-Terrab Ph.D Theoretical Physics, Research Fellow, Maplesoft
Hi Could you be more especific regarding "anything you like"? I followed your steps, replaced _ by v and no error appeared. Edgardo S. Cheb-Terrab Research Fellow, Maplesoft
Hi, dsolve(des union ics); is sometimes returning a solution, other times not. The reason for that is that this is a system with three unknowns, and at the time of uncoupling the system there are six different ways of doing so, and only two of them lead to a solvable problem. This also tells what the workaround is ... But let's see the problem first: for R in combinat:-permute([x1,x2,x3]), try dsolve(des union ics, R(t)) and you will see that only when x3 comes in the last position in R is that the uncoupled linear system is solvable in current Maple. So the workaround is to give the ranking R basically saying "which unknown should be solved in terms of which other" (see explanations of rankings in ?PDEtools:-casesplit and elsewhere). For example, this returns a solution always: > dsolve(des union ics, [x1, x2, x3](t)); ... solution here ... # Verify that the solution solves the system and matches the initial conditions > odetest(%, des union ics); {0} Edgardo S. Cheb-Terrab Research Fellow, Maplesoft Editor for Computer Algebra, Computer Physics Communications
First 60 61 62 63 64 65 Page 62 of 65