ecterrab

14540 Reputation

24 Badges

20 years, 22 days

MaplePrimes Activity


These are replies submitted by ecterrab

Updating this post: Today we added 63 more solutions and derived information to the database, so the current total is  793 solutions and corresponding properties derived (Killing vectors, Petrov classification, etc.) (in Maple 18 we had only 225), and we are getting closer and closer to the end of the book. The metrics added today are from Chapters 25, 26, 27, 28 and 29.

As usual, in order to have this new development installed right away, you need to update your Physics library from the Maplesoft R&D Physics webpage.

Edgardo S. Cheb-Terrab 
Physics, Differential Equations and Mathematical Functions, Maplesoft

Hi nullinfinity

Yes, the matrix itself (context) is necessary to reproduce the situation, in order to suggest something.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

@shzan 

Add 'identical(u,v)' to TypeD and you get

 

coeffs_of_D_operators.mw

Edgardo S. Cheb Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

@shzan 


I wonder what is that didn't work for you (?) Perhaps that you are passing unapplied differential operators (as in D(u)) instead of differential polynomials (as in (D(u))(x) = diff(u(x), x)) ? If that is the case, this is how you do it; suppose your ODE is

ODE := expand(a(x)*v*u+(v*D(u)-D(v)*u)^2+(D@@2)(u*v))

a(x)*v*u+v^2*D(u)^2-2*v*D(u)*D(v)*u+D(v)^2*u^2+2*D(v)*D(u)+v*(D@@2)(u)+(D@@2)(v)*u

(1)

Define the appropriate type

TypeD := Or(D(identical(u, v)), typefunc(Or(identical(u, v), posint), identical(D)@@posint))

Or(D(identical(u, v)), typefunc(Or(identical(u, v), posint), identical(D)@@posint))

(2)

Get your derivatives

Derivatives := indets(a(x)*v*u+v^2*D(u)^2-2*v*D(u)*D(v)*u+D(v)^2*u^2+2*D(v)*D(u)+v*(D@@2)(u)+(D@@2)(v)*u, TypeD)

{D(u), D(v), (D@@2)(u), (D@@2)(v)}

(3)

Get the coefficients, and in doing so assign the corresponding derivaties to Duv

coeffs(ODE, Derivatives, 'Duv')

a(x)*v*u, -2*u*v+2, v, u, u^2, v^2

(4)

So these are the coefficients of

Duv

1, D(v)*D(u), (D@@2)(u), (D@@2)(v), D(v)^2, D(u)^2

(5)

``


Download coeffs_of_D_operators.mw

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

Updating this post: Today we added 51 more solutions and derived information to the database, so the current total is  730 solutions, and we are approaching the end .... The metrics added today are from Chapters 24 and 25.

As usual, in order to have this new development installed right away, you need to update your Physics library from the Maplesoft R&D Physics webpage.

Edgardo S. Cheb-Terrab 
Physics, Differential Equations and Mathematical Functions, Maplesoft

Hi Preben

Functional differentiation, within the Physics package, rather advanced mathematical functionality, is all implemented exploting this feature, syntax like f(a)(b). Whether there is one example where a = b I think is not the core issue: suppose I come with one and answer you, then you will tell me "interesting", and I will reply "indeed, with time I got convinced that these rare syntaxes could be used with imagination in surprisignly useful ways" and I believe that in this hypothetical conversation you will end up agreeing. Now remove the "one example" and you can see you don't need the example to agree.

All in all, I don't know what torleian meant with f(t)(t), but that is valid syntax, the system should not crash, and that is what I fixed (actually a nice improvement in the design/logic of these Physics types), and now is up to torleian to make sense of his/her own computation.

Best

Edgardo S. Cheb-Terrab 
Physics, Differential Equations and Mathematical Functions, Maplesoft

Updating this post: Today we added 52 more solutions and derived information to the database, so the current total is  679 solutions, and moving forward .... The metrics added today are from Chapter 23.

As usual, in order to have this new development installed right away, you need to update your Physics library from the Maplesoft R&D Physics webpage.

Edgardo S. Cheb-Terrab 
Physics, Differential Equations and Mathematical Functions, Maplesoft

Hi Preben

The syntax is in use in the library, e.g. D(f)(t); the evalapply command is related to this syntax, it is handy for a number of purposes, although it is more a sort of computational artifact, mostly useful for performing computational/structure manipulations.

Best

Edgardo S. Cheb-Terrab 
Physics, Differential Equations and Mathematical Functions, Maplesoft

There is a problem somewhere though; I am giving a look, but I am kind of overloaded with stuff in this moment. I'ill try to fix this problem and upload the fix between today and tomorrow.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

@Christopher2222 

Above your last comment: there is a better version of the workaround that works in general posted earlier.

Edgardo S. Cheb-Terrab 
Physics, Differential Equations and Mathematical Functions, Maplesoft

Hi

In order to help you it is kind-of-mandatory to be able to reproduce the problem. I see you are using the Physics package but I do not see how are you doing it, nor whether you are using the latest version (avialble on the Maplesoft R&D Physics webpage)

So could you just run a worksheet where the problem happens, and as soon as it happens save the worksheet and attach it to your post (you can edit your post, then click that green vertical arrow to attach a file) or clice the "Reply" button and attach the worksheet. From there we will probably be able to resolve the issue whatever it is.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

@Christopher2222 , @acer 

I updated the workaround posted earlier today with a simpler version of it, that should also work in versions so older like Maple 12, and that automatically resolves the convert / frontend / type, etc. issues you mentioned Acer. Of course one may prefer to wait until an official patch for Maple 2015 is available. But if I were worried today or have a version of Maple prior to Maple 2015, I would install the workaround with no worries.

@Axel Vogt 

Thanks for your kind comments :) Best.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions.

@Christopher2222 

Above your comment there is a workaround that works in general, and does not require loading Physics.

Edgardo S. Cheb-Terrab 
Physics, Differential Equations and Mathematical Functions, Maplesoft

@Christopher2222 

There is a workaround that works for all of Maple 2015 <-> Maple 9.5 and does not require loading the Physics package.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft


Contents edited after reading comments below: This version of the workaround is simpler (a simplification implicit in Acer's comments), takes care of the problem mentioned by Christopher2222 that the workaround would work only in versions of Maple above Maple 12 (this one should work fine also in Maple 12 of 7 tears ago and also before that) and takes care, in a rather general way, of the possible objections presented by Acer in connection with redefining `+` (because through the macro it gets redefined back to itself).

 

So, having understood that the bug happens only when you input (see Paul de Marco in Maplesoft reply; the bug happens only when entering within an input line a `+ ` with more than 24 terms with some automatic cancellations etc.) a simple workaround is to make Maple input your `+` input. You can achieve that by redefining the `+` operator to just be itself (and then it is not you entering the `+`).

This is one way of implementing this idea, that automatically takes care also of type, convert, frontend, saving procs, etc. mentioned below in this thread

M := module () export `+`; option package; end module:

with(M):

macro(M:-`+` = :-`+`):

c := t1+t2+t3+t4+t5+t6+t7+t8+t9+t10+t11+t12+t13+t14+t15+t16+t17+t18+t19+t20+t21-t0+t0+t22+t23

t1+t2+t3+t4+t5+t6+t7+t8+t9+t10+t11+t12+t13+t14+t15+t16+t17+t18+t19+t20+t21+t22+t23

(1)

c := t1+t2+t3+t4+t5+t6+t7+t8+t9+t10+t11+t12+t13+t14+t15+t16+t17+t18+t19+t20+t21-t0+t0+t22+t23

t1+t2+t3+t4+t5+t6+t7+t8+t9+t10+t11+t12+t13+t14+t15+t16+t17+t18+t19+t20+t21+t22+t23

(2)

c := t1+t2+t3+t4+t5+t6+t7+t8+t9+t10+t11+t12+t13+t14+t15+t16+t17+t18+t19+t20+t21-t0+t0+t22+t23

t1+t2+t3+t4+t5+t6+t7+t8+t9+t10+t11+t12+t13+t14+t15+t16+t17+t18+t19+t20+t21+t22+t23

(3)

We see that the three expressions are equal, the bug is not present, all works ok.

Regarding type, convert, frontend ...

map(type, [a+b, a*b], `+`)

[true, false]

(4)

All as expected

frontend(expand, [sin(a+b)+cos(a+b)], [{`*`, `+`, 'specfunc(anything, sin)'}, {}]);

sin(a)*cos(b)+cos(a)*sin(b)+cos(a+b)

(5)

convert(a*b, `+`)

a+b

(6)

proc (x, y) x+y end proc;

proc (x, y) :-`+`(x, y) end proc

(7)

The three above also return as expected, and frankly speaking I'd say that everything else normal that I could imagine too.

And this workaround works fine (fixes the problem) all the way from Maple 2015 back to Maple 9.5 (I tried it back till Maple 14, there is no older Maple working in current Mac computers).

Until an official patch is provided, the simplest thing, I think, is to have these three lines (the definition of M as a module, first line, you can use any name instead of 'M'), the line that loads this package (with(M))) and the line with the macro macro(M:-`+` = :-`+`), in your Maple initialization file and done with this one.


Download workaround.mw

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

First 40 41 42 43 44 45 46 Last Page 42 of 64