ecterrab

14605 Reputation

24 Badges

20 years, 98 days

MaplePrimes Activity


These are replies submitted by ecterrab

Hi Inacio,

 

This functionality required a bit more of time. What you were expecting is actually a full implementation of "operatorial algebraic expressions", that is, algebraic expressions where you multiply differential operators with the meaning of applying them to what come to their right.

 

In Computer Algebra Systems, however, there is a strong distinction between multiplication of algebraic objects and application of differential operators: the latter are implemented as function application, (a function name applied to arguments) not multiplication. Also, when computing by hand, we multiply from the right of a differential operator with the meaning of "it gets applied to all what comes to its right", while with computer algebra "function application" there is no way you can do that. To implement such a thing in computer algebra, it is necessary to do a careful mimicry of the paper and pencil computation, i.e. one where you tell when is that the product becomes application of the differential operator.

 

In brief, implementing the whole thing required changes in various places, starting with the produt operator, making all differential operators non-commutative objects under multiplication, etc. The result was worth: a very nice full implementation of operatorial expressions, something really interesting to have in place, mainly for computations of Physics - we compute that way all the time.

 

Going to your example, good for illustration purposes

restart

with(Physics):

 

Note the Physics version, from today, you need to update your Physics library from the Maplesoft R&D Physics webpage to have everything working as shown below:

Physics:-Version()

"/Users/ecterrab/Maple/lib/Physics2015.mla", `2015, April 16, 10:40 hours`

(1)

So, what follows is your worksheet with few changes to show how to use the new functionality (arriving at the results you were expecting for a Commutator involving sums of differential operators and functions of the coordinates)

 

Physics:-Setup(math = true, coord = X, diff = X, quiet):

Physics:-Define(A, quiet):

 

First, note that d_[mu] operators commute between themselves, but not with functions of the coordinates

 

Library:-Commute(Physics:-d_[mu], Physics:-d_[nu])

true

(2)

Library:-Commute(Physics:-d_[mu], A(X))

false

(3)

Library:-Commute(Physics:-d_[mu], A)

true

(4)

Now the commutator of a d_ operator with a function of the coordinates

Physics:-Commutator(Physics:-d_[mu], A[nu](X))

Physics:-Commutator(Physics:-d_[mu], A[nu](X))

(5)

Regarding the expansion of this commutator, I revised the experimental design of the previous reply for consistency: the product of an operator times a function is now expressed as a product (i.e. multiplication) instead of function application. 

expand(Physics:-Commutator(Physics:-d_[mu], A[nu](X)))

 

Physics:-`*`(Physics:-d_[mu], A[nu](X))-Physics:-`*`(A[nu](X), Physics:-d_[mu])

(6)

So in the above, you see `∂`[mu]*A[nu], not `∂`[mu](A[nu]), which would be the operator `∂`[mu] applied to A[nu]. This permits multiplying from the right and allowing to have the operator applied (a posteriori) to the product that gets formed to its right:

Physics:-`*`(Physics:-`*`(Physics:-d_[mu], A[nu](X))-Physics:-`*`(A[nu](X), Physics:-d_[mu]), Phi(X))

Physics:-`*`(Physics:-`*`(Physics:-d_[mu], A[nu](X))-Physics:-`*`(A[nu](X), Physics:-d_[mu]), Phi(X))

(7)

expand(Physics:-`*`(Physics:-`*`(Physics:-d_[mu], A[nu](X))-Physics:-`*`(A[nu](X), Physics:-d_[mu]), Phi(X)))

Physics:-`*`(Physics:-d_[mu], A[nu](X), Phi(X))-Physics:-`*`(A[nu](X), Physics:-d_[mu], Phi(X))

(8)

That is, in the above, you see `∂`[mu]*A[nu]*Phi, not `∂`[mu](A[nu])*Phi, which would be wrong (with `∂`[mu] applied only to A[nu])

 

Now we still want the function application of differential operators, not just their multiplication. This function aplication is now implemented using a new Physics:-Library command, called ApplyProductsOfDifferentialOperators. In this example, the multiplications of differential operators  you see in `∂`[mu]*A[nu]*Phi-`∂`[mu]*A[nu]*Phi get transformed into their application `∂`[mu](A[nu]*Phi)-A[nu]*`∂`[mu](Phi) that is, with the differential operators applied to all what comes to their right:

Library:-ApplyProductsOfDifferentialOperators(Physics:-`*`(Physics:-d_[mu], A[nu](X), Phi(X))-Physics:-`*`(A[nu](X), Physics:-d_[mu], Phi(X)))

Physics:-d_[mu](A[nu](X), [X])*Phi(X)

(9)

Likewise,

Library:-ApplyProductsOfDifferentialOperators(Physics:-`*`(Physics:-`*`(Physics:-d_[mu], A[nu](X))-Physics:-`*`(A[nu](X), Physics:-d_[mu]), Phi(X)))

Physics:-d_[mu](A[nu](X), [X])*Phi(X)

(10)

The dot operator also knows about these operatorial equations

Physics:-Commutator(Physics:-d_[mu], A[nu](X)).Phi(X)

Physics:-`*`(Physics:-Commutator(Physics:-d_[mu], A[nu](X)), Phi(X))

(11)

 

Commutator already knows about operatorial equations, this is your example

%Commutator(Physics:-d_[mu]+A[mu](X), Physics:-d_[nu]+A[nu](X))

%Commutator(Physics:-d_[mu]+A[mu](X), Physics:-d_[nu]+A[nu](X))

(12)

Note first that the commutator of differential operators is now handled

value(%Commutator(Physics:-d_[mu]+A[mu](X), Physics:-d_[nu]+A[nu](X)))

Physics:-Commutator(Physics:-d_[mu], A[nu](X))+Physics:-Commutator(A[mu](X), Physics:-d_[nu])

(13)

Their multiplication and application too:

Physics:-`*`(%Commutator(Physics:-d_[mu]+A[mu](X), Physics:-d_[nu]+A[nu](X)), Phi(X))

Physics:-`*`(%Commutator(Physics:-d_[mu]+A[mu](X), Physics:-d_[nu]+A[nu](X)), Phi(X))

(14)

expand(Physics:-`*`(%Commutator(Physics:-d_[mu]+A[mu](X), Physics:-d_[nu]+A[nu](X)), Phi(X)))

Physics:-`*`(Physics:-d_[mu], A[nu](X), Phi(X))+Physics:-`*`(A[mu](X), Physics:-d_[nu], Phi(X))-Physics:-`*`(Physics:-d_[nu], A[mu](X), Phi(X))-Physics:-`*`(A[nu](X), Physics:-d_[mu], Phi(X))

(15)

Library:-ApplyProductsOfDifferentialOperators(Physics:-`*`(Physics:-d_[mu], A[nu](X), Phi(X))+Physics:-`*`(A[mu](X), Physics:-d_[nu], Phi(X))-Physics:-`*`(Physics:-d_[nu], A[mu](X), Phi(X))-Physics:-`*`(A[nu](X), Physics:-d_[mu], Phi(X)))

Physics:-d_[mu](A[nu](X), [X])*Phi(X)-Physics:-d_[nu](A[mu](X), [X])*Phi(X)

(16)

factor(Physics:-d_[mu](A[nu](X), [X])*Phi(X)-Physics:-d_[nu](A[mu](X), [X])*Phi(X))

Phi(X)*(Physics:-d_[mu](A[nu](X), [X])-Physics:-d_[nu](A[mu](X), [X]))

(17)

The above is the result you were expecting. Likewise,

Physics:-`*`(Physics:-Commutator(Physics:-d_[mu], A[nu](X))+Physics:-Commutator(A[mu](X), Physics:-d_[nu]), Phi(X))

Physics:-`*`(Physics:-Commutator(Physics:-d_[mu], A[nu](X))+Physics:-Commutator(A[mu](X), Physics:-d_[nu]), Phi(X))

(18)

But a commutator where there are non-differential operands, cannot be "applied", so it remains as a product

Library:-ApplyProductsOfDifferentialOperators(expand(Physics:-`*`(Physics:-Commutator(Physics:-d_[mu], A[nu](X))+Physics:-Commutator(A[mu](X), Physics:-d_[nu]), Phi(X))))

Physics:-d_[mu](A[nu](X), [X])*Phi(X)-Physics:-d_[nu](A[mu](X), [X])*Phi(X)

(19)

expand(Physics:-`*`(Physics:-Commutator(Physics:-d_[mu], A[nu](X))+Physics:-Commutator(A[mu](X), Physics:-d_[nu]), Phi(X)))

Physics:-`*`(Physics:-d_[mu], A[nu](X), Phi(X))+Physics:-`*`(A[mu](X), Physics:-d_[nu], Phi(X))-Physics:-`*`(Physics:-d_[nu], A[mu](X), Phi(X))-Physics:-`*`(A[nu](X), Physics:-d_[mu], Phi(X))

(20)

Physics:-`*`(Physics:-`*`(Physics:-d_[mu], A[nu](X), Phi(X))+Physics:-`*`(A[mu](X), Physics:-d_[nu], Phi(X))-Physics:-`*`(Physics:-d_[nu], A[mu](X), Phi(X))-Physics:-`*`(A[nu](X), Physics:-d_[mu], Phi(X)), Phi(X))

Physics:-`*`(Physics:-`*`(Physics:-d_[mu], A[nu](X), Phi(X))+Physics:-`*`(A[mu](X), Physics:-d_[nu], Phi(X))-Physics:-`*`(Physics:-d_[nu], A[mu](X), Phi(X))-Physics:-`*`(A[nu](X), Physics:-d_[mu], Phi(X)), Phi(X))

(21)

Library:-ApplyProductsOfDifferentialOperators(Physics:-`*`(Physics:-`*`(Physics:-d_[mu], A[nu](X), Phi(X))+Physics:-`*`(A[mu](X), Physics:-d_[nu], Phi(X))-Physics:-`*`(Physics:-d_[nu], A[mu](X), Phi(X))-Physics:-`*`(A[nu](X), Physics:-d_[mu], Phi(X)), Phi(X)))

Physics:-d_[mu](A[nu](X), [X])*Phi(X)^2-Physics:-d_[nu](A[mu](X), [X])*Phi(X)^2

(22)

So regarding the expected result you mentioned:

 

"[(∂)[mu]+ A[mu], ( (∂)[nu])+ A[nu]]" Φ

 

= "[(∂)[mu],  (∂)[nu]]" Φ + "[(∂)[mu],  A[nu]]" Φ + "[A[mu],  (∂)[nu]]" Φ + [A[mu], A[nu]] Φ

 

= "(∂)[mu]" "(A[nu]Phi)-""A[nu] (∂)[mu]"Φ + "A[mu](∂)[nu]Phi - ""(∂)[nu]" A[mu]*Phi

 

= "((∂)[mu]""A[nu]-"" (∂)[nu]""A[mu])Phi"

 

 

You are correct and that is indeed what the code returns now (see above, equation (17)) and in this way this most general concept of operatorial expressions that involve products of differential operators and functions that can then be transformed into function application at any desired moment is now available, which is really great, and thanks for bringing the subject to focus.

``


Download Identidades_de_Bianchi_(reviewed_II).mw

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

@Carl Love 

I don't know to what several bugs you are referring but just to clarify: there was one bug in the numerical evaluation of HeunC fixed in Maple 18 or Maple 17 (can't remember now) and another in the numerical evaluation of HeunG fixed in Maple 16. In addition to that, for Maple 2015, a new algorithm for the numerical evaluation of the same function is available. So no I'd not blame the numerical evaluation of Heun functions, unless you have some information of wrong results that I am missing, of course.

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

@EugeneKalentev 

The Mapleprimes site manager answered me saying that the worksheet and reply "Easier using Physics", that you are asking, is lost in unrecoverable way. Fortunately, however, I've found an old TimeMachine backup of my older laptop actually containing this worksheet! I am amazed at how well this simple Macintosh TimeMachine backup system works. So I restored the worksheet and the answer, including a link to the worksheet, all in "Easier using Phyiscs".

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

Regarding commutators involving the differential operators of the Physics package (both d_[mu] and D_[mu]), the Commutator and AntiCommutator commands now work with them, including the case of vectorial operators. You need to update your Physics library from the Maplesoft R&D Physics webpage.

restart; with(Physics); with(Vectors)

The version of Physics is from today:

Physics:-Version()[2]

`2015, April 15, 8:34 hours`

(1)

Commutator of Nabla with a scalar function

Commutator(Nabla, A(x, y, z))

Physics:-Commutator(Physics:-Vectors:-Nabla, A(x, y, z))

(2)

expand(Physics[Commutator](Physics[Vectors][Nabla], A(x, y, z)))

Physics:-`*`(Physics:-Vectors:-Nabla, A(x, y, z))-Physics:-`*`(A(x, y, z), Physics:-Vectors:-Nabla)

(3)

Library:-ApplyProductsOfDifferentialOperators(Physics[`*`](Physics[Vectors][Nabla], A(x, y, z))-Physics[`*`](A(x, y, z), Physics[Vectors][Nabla]))

(diff(A(x, y, z), x))*_i+(diff(A(x, y, z), y))*_j+(diff(A(x, y, z), z))*_k-Physics:-`*`(A(x, y, z), Physics:-Vectors:-Nabla)

(4)

Commutator of Nabla with a vector function

Commutator(Nabla, A_(x, y, z))

Physics:-Commutator(Physics:-Vectors:-Nabla, A_(x, y, z))

(5)

expand(Physics[Commutator](Physics[Vectors][Nabla], A_(x, y, z)))

Physics:-Vectors:-Divergence(A_(x, y, z))-Physics:-Vectors:-`.`(A_(x, y, z), Physics:-Vectors:-Nabla)

(6)

Define A as a tensor

Define(A)

`Defined objects with tensor properties`

 

{A, Physics:-Dgamma[mu], Physics:-Psigma[mu], Physics:-d_[mu], Physics:-g_[mu, nu], Physics:-KroneckerDelta[mu, nu], Physics:-LeviCivita[alpha, beta, mu, nu]}

(7)

Coordinates(X)

`Default differentiation variables for d_, D_ and dAlembertian are: `*{X = (x1, x2, x3, x4)}

 

`Systems of spacetime Coordinates are: `*{X = (x1, x2, x3, x4)}

 

{X}

(8)

Compact display for A

PDEtools:-declare(A(X))

A(x1, x2, x3, x4)*`will now be displayed as`*A

(9)

This commutator is from your worksheet

Commutator(d_[mu], A[nu](X))

Physics:-Commutator(Physics:-d_[mu], A[nu](X))

(10)

expand(Physics[Commutator](Physics[d_][mu], A[nu](X)))

Physics:-`*`(Physics:-d_[mu], A[nu](X))-Physics:-`*`(A[nu](X), Physics:-d_[mu])

(11)

So the order of the operands is respected: d_[mu] is now considered a non-commutative object with regards to multiplication. As usual you can query:

Library:-Commute(d_[mu], A[nu](X))

false

(12)

Library:-Commute(d_[mu], d_[nu])

true

(13)

Now, the title of your worksheet is 'identidades de Bianchi, so I guess you are talking of a curved spacetime? Set the spacetime to something curved then, for instance,

g_[sc]

`Systems of spacetime Coordinates are: `*{X = (r, theta, phi, t)}

 

`Default differentiation variables for d_, D_ and dAlembertian are: `*{X = (r, theta, phi, t)}

 

`The Schwarzschild metric in coordinates `[r, theta, phi, t]

 

`Parameters: `[m]

 

g[mu, nu] = (Matrix(4, 4, {(1, 1) = r/(-r+2*m), (1, 2) = 0, (1, 3) = 0, (1, 4) = 0, (2, 2) = -r^2, (2, 3) = 0, (2, 4) = 0, (3, 3) = -r^2*sin(theta)^2, (3, 4) = 0, (4, 4) = (r-2*m)/r}, storage = triangular[upper], shape = [symmetric]))

(14)

Check the commutation of the covariant derivatives

Library:-Commute(D_[mu], D_[nu])

false

(15)

Hence,

Commutator(D_[mu], D_[nu])

Physics:-Commutator(Physics:-D_[mu], Physics:-D_[nu])

(16)

expand(Physics[Commutator](Physics[D_][mu], Physics[D_][nu]))

Physics:-`*`(Physics:-D_[mu], Physics:-D_[nu])-Physics:-`*`(Physics:-D_[nu], Physics:-D_[mu])

(17)

Apply this expanded commutator to A[rho]

PDEtools:-declare(A(X))

A(r, theta, phi, t)*`will now be displayed as`*A

(18)

(Physics[`*`](Physics[D_][mu], Physics[D_][nu])-Physics[`*`](Physics[D_][nu], Physics[D_][mu]))*A[rho](X)

Physics:-`*`(Physics:-`*`(Physics:-D_[mu], Physics:-D_[nu])-Physics:-`*`(Physics:-D_[nu], Physics:-D_[mu]), A[rho](X))

(19)

Library:-ApplyProductsOfDifferentialOperators(Physics[`*`](Physics[`*`](Physics[D_][mu], Physics[D_][nu])-Physics[`*`](Physics[D_][nu], Physics[D_][mu]), A[rho](X)))

Physics:-D_[mu](Physics:-D_[nu](A[rho](X), [X]), [X])-Physics:-D_[nu](Physics:-D_[mu](A[rho](X), [X]), [X])

(20)

Likewise,

Library:-ApplyProductsOfDifferentialOperators(`𝒟`[mu]*`𝒟`[nu])

`@`(Physics:-D_[mu], Physics:-D_[nu])

(21)

Library:-ApplyProductsOfDifferentialOperators(Physics[`*`](Physics[D_][mu], Physics[D_][nu])-Physics[`*`](Physics[D_][nu], Physics[D_][mu]))

`@`(Physics:-D_[mu], Physics:-D_[nu])-`@`(Physics:-D_[nu], Physics:-D_[mu])

(22)

So now it is applying that you get the result

(`@`(Physics[D_][mu], Physics[D_][nu])-`@`(Physics[D_][nu], Physics[D_][mu]))(A[rho](X))

Physics:-D_[mu](Physics:-D_[nu](A[rho](X), [X]), [X])-Physics:-D_[nu](Physics:-D_[mu](A[rho](X), [X]), [X])

(23)

although you could have also multiplied, then applied

(`@`(Physics[D_][mu], Physics[D_][nu])-`@`(Physics[D_][nu], Physics[D_][mu]))*A[rho](X)

Physics:-`*`(`@`(Physics:-D_[mu], Physics:-D_[nu])-`@`(Physics:-D_[nu], Physics:-D_[mu]), A[rho](X))

(24)

Library:-ApplyProductsOfDifferentialOperators(Physics[`*`](`@`(Physics[D_][mu], Physics[D_][nu])-`@`(Physics[D_][nu], Physics[D_][mu]), A[rho](X)))

Physics:-D_[mu](Physics:-D_[nu](A[rho](X), [X]), [X])-Physics:-D_[nu](Physics:-D_[mu](A[rho](X), [X]), [X])

(25)

Get for instance the component 1,2,2 of this tensorial expression

T := TensorArray(Physics[D_][mu](Physics[D_][nu](A[rho](X), [X]), [X])-Physics[D_][nu](Physics[D_][mu](A[rho](X), [X]), [X]), simplifier = simplify)

T := Array(1..4, 1..4, 1..4, {(1, 1, 1) = 0, (1, 1, 2) = 0, (1, 1, 3) = 0, (1, 1, 4) = 0, (1, 2, 1) = A[2](r, theta, phi, t)*m/(r^2*(-r+2*m)), (1, 2, 2) = A[2](r, theta, phi, t)*m/(r^2*(-r+2*m)), (1, 2, 3) = A[2](r, theta, phi, t)*m/(r^2*(-r+2*m)), (1, 2, 4) = A[2](r, theta, phi, t)*m/(r^2*(-r+2*m)), (1, 3, 1) = A[3](r, theta, phi, t)*m/(r^2*(-r+2*m)), (1, 3, 2) = A[3](r, theta, phi, t)*m/(r^2*(-r+2*m)), (1, 3, 3) = A[3](r, theta, phi, t)*m/(r^2*(-r+2*m)), (1, 3, 4) = A[3](r, theta, phi, t)*m/(r^2*(-r+2*m)), (1, 4, 1) = -2*A[4](r, theta, phi, t)*m/(r^2*(-r+2*m)), (1, 4, 2) = -2*A[4](r, theta, phi, t)*m/(r^2*(-r+2*m)), (1, 4, 3) = -2*A[4](r, theta, phi, t)*m/(r^2*(-r+2*m)), (1, 4, 4) = -2*A[4](r, theta, phi, t)*m/(r^2*(-r+2*m)), (2, 1, 1) = -A[2](r, theta, phi, t)*m/(r^2*(-r+2*m)), (2, 1, 2) = -A[2](r, theta, phi, t)*m/(r^2*(-r+2*m)), (2, 1, 3) = -A[2](r, theta, phi, t)*m/(r^2*(-r+2*m)), (2, 1, 4) = -A[2](r, theta, phi, t)*m/(r^2*(-r+2*m)), (2, 2, 1) = 0, (2, 2, 2) = 0, (2, 2, 3) = 0, (2, 2, 4) = 0, (2, 3, 1) = 0, (2, 3, 2) = 0, (2, 3, 3) = 0, (2, 3, 4) = 0, (2, 4, 1) = 0, (2, 4, 2) = 0, (2, 4, 3) = 0, (2, 4, 4) = 0, (3, 1, 1) = -A[3](r, theta, phi, t)*m/(r^2*(-r+2*m)), (3, 1, 2) = -A[3](r, theta, phi, t)*m/(r^2*(-r+2*m)), (3, 1, 3) = -A[3](r, theta, phi, t)*m/(r^2*(-r+2*m)), (3, 1, 4) = -A[3](r, theta, phi, t)*m/(r^2*(-r+2*m)), (3, 2, 1) = 0, (3, 2, 2) = 0, (3, 2, 3) = 0, (3, 2, 4) = 0, (3, 3, 1) = 0, (3, 3, 2) = 0, (3, 3, 3) = 0, (3, 3, 4) = 0, (3, 4, 1) = 0, (3, 4, 2) = 0, (3, 4, 3) = 0, (3, 4, 4) = 0, (4, 1, 1) = 2*A[4](r, theta, phi, t)*m/(r^2*(-r+2*m)), (4, 1, 2) = 2*A[4](r, theta, phi, t)*m/(r^2*(-r+2*m)), (4, 1, 3) = 2*A[4](r, theta, phi, t)*m/(r^2*(-r+2*m)), (4, 1, 4) = 2*A[4](r, theta, phi, t)*m/(r^2*(-r+2*m)), (4, 2, 1) = 0, (4, 2, 2) = 0, (4, 2, 3) = 0, (4, 2, 4) = 0, (4, 3, 1) = 0, (4, 3, 2) = 0, (4, 3, 3) = 0, (4, 3, 4) = 0, (4, 4, 1) = 0, (4, 4, 2) = 0, (4, 4, 3) = 0, (4, 4, 4) = 0})

(26)

T[1, 2, 2]

A[1](X)*m/r

(27)

NULL


Download Commutator_and_d.mw

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

@mpre 

I know it may sound as advertisement but, if you could trust me ... it is not that. What it is: Physics in Maple 2015 is already a big step forward with regards to Physics in Maple 18, and it has been this way at every release since Maple 15. So if this package is of relevance for your work in any particular way, I strongly recommend you to update your copy of Maple.

Not less important: since Maple 18 (August of 2013), Maplesoft releases an update of the Physics package on the web every week (sometimes every day of a week). What this means:

  • you do not need to wait one year (for a new release) to see a bug fix or feature request in place
  • you can participate direclty in the development of the package by presenting your concrete real-work problem and when possible the package gets its functionality extended to be of use in your real case scenario.
  • you have access to the latest developments in the package 1 release advanced.

And that happens for a whole year. You realize the disadvantage of staying with Maple 13. Besides, it is very difficult to help you with regards to the use of Maple 13 - the package is just not the same.

If you have the opportunity to update your copy, please feel free to post what you describe as your more complicated problem, and from there we move ahead, I may be able to help you, or adjust the package as required.

Best

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

@Michael_Watson 

I recently answered in Mapleprimes a question you made about a simliar issue: when using labels, the output was comming as 0 = 0 (wow with the coincidence!). As said in that reply, there is a bug in the interface (GUI). There is a workaround to this issue. In order to have the workaround installed, you need to update the Physics library that comes with the Maple 2015 installation, as usual by downloading it from the Maplesoft R&D Physics webpage. Could you please do that and let me know whether this problem with using GUI labels gets "resolved"? Thanks.

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

Hi

When executing your worksheet, I do not get 0=0 in equation (19) as you show. Could you please post a separate worksheet with the output you expect from algsubs ((9), (18))? That will help understanding what is the problem you are experiencing, and from there we move ahead.

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

@patient 

Would you mind posting a worksheet with the input equations? That would help avoiding mistakes while reading the image you posted to retype the system. Thanks.

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

@alljoyland 

Give a look at the documentation (help pages for g_ and Setup): you can set the metric to what is appropriate for your problem. For example, if you set it to 'Euclidean', all the powerful tools you see working in curved spacetimes (general relativity) become available for tackling problems for instance in elasticity (what you are asking).

Independent of that, you can work with space indices, independently of working with spacetime indices. Recalling, the space part of a Minkowski metric is actually Euclidean  (Minkowski is the default type of spacetime that is set automatically when you load Physics, i.e. a flat non-curved space, not for general relativity). This use of space indices is illustrated in the page ?Physics,examples.

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

@trace 

When indexing tensors, say in a 4D spacetime, 1,2,3,4 refer to the positions of the components of the tensor in the corresponding tensor array. For example, if the tensor has 2 indices, the array is a matrix, so - say - the component [2, 3] is the component you see in the 2nd row, third column. Yes there is of course a relatioinship between these positions and the order you indcate for the coordinates as a list, so 1=t, 2=r, 3=theta, 4=phi, this is clear, for instance, in the spacetime metric (see the reviewed worksheet). And yes: the number itself means covariant, so 1 means 1st position, covariant, and ~1 means contravariant 1st position, so g_[~1, ~1] is the 1st line, 1st column, of the all-contravariant g_, and Christoffel[~1, 2, 2] means 1st index contravariant, position 1 in the array, and 2nd and 3rd index both covariant, position 2 in the array.

Try 

> Christoffel[~1, alpha, beta, array];

or 

> Christoffel[~alpha, 2, 2, array];

 

Instead of 'array' you can also use the keyword matrix. All these things and some more are explained in the documentation.

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

Hi

This GUI issue has been tracked - and a solution circumvecting the problem is available - for that you need to update your Physics library from the usual place, the Maplesoft R&D Physics webpage.

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

@Codge 

Wouldn't your reply suggest that the ics you are using are not convenient for producing sections with p1 > 0?

Independent of that, have you explored the option 'scene'? Note that you can use it as in 'scene = [p1 = 0..3, q2 = -2..2, p2 = -2..2]' or the like, ie you can specify the ranges for each of the three variables, together with the option '3' to produce a 3D section that you could then rotate with the mouse to have different 2D projection views

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

 

@Codge 

After writing Hamilton's equations (this Hamilton_eqs command) you could still try to solve numerically; then use DEtools[odeplot] to plot the solution for p1 and you will see, precisely, where it changes sign (for any particular set of ics you are using). Suppose now you have identified, visually, looking at the plots for p1 that you construct with odeplot - say three - chunks of time where p1 > 0. Do this: create the poincare sections for each of the chunks separatedly with three caslls to DEtools[poincare], and assign the result to some variable, say as in ps1 := poincare(.... t = chunk_1), ...), ps2 := poincare(..., t = chunk_2, ...), and so on, then produce a single plot of the three of them superposed using plots:-display([ps1, ps2, ...], options_you_may_prefer_here). Let me know please if this does not resolve your problem, where is that things gets stuck, and we move from there.

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

 

@MathyMaple 

I actually saw your post on double summation, thought about redefinesum, checked things. Your problem is solved with the latest update of Physics and its redefinesum approach to these premature evaluation issues. As usual, the Physics update is available at the Maplesoft Physics R&D webpage.

I will post as well reply directly in your double summation post.

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

@Markiyan Hirnyk 

Just for curiosity: are you a physicist or working in condensed matter physics? Giving a look at the papers you selected randomly, I think the answer to your "More concrete question" is actually found in the answer to your first question; the mathematical methods used in these papers appear to me to be a subset of the methods listed in the previous reply. 

@J F Ogilvie

Note please that the contents of this post is contextualized by the title, "Physics, one year of developments". This post is not about how powerful is the Maple intsolve command for solving integral equations (BTW I think it is powerful, as indicated by its help page), or about how relevant would be the Heun special functions.

I also realize that you feel that this Maple's integral-equation solver could be more powerful, and that you think the Heun functions are useless, and that you want to express these thoughts (BTW you have done this in various Physics post unrelated to special functions). But please allow us to dissent. There are physicists working with these functions, both in General Relativity and Quantum Mechanics - publications of 2013 and 2014. I am saying this not as a way to say "someone is right or wrong", but just to ask you for some space for a different opinion. 

Some things were you seem to be missing information. You say:

"The help files on Jacobi functions seem to provide no indication to the Jacobi elliptic functions cn(..,..), dn(..,..), sn(..,..)"

Check please the help page for JacobiPQ, or JacobiCN, ore any of the 12 ones. The functions are there and the documentation is too, there are not 11 but 12 + the JacobiAM (amplitud), and the help page is invoked in the right way,  enter ?JacobiPQ, or ?JacobiCN, etc.

You say:

"Asking help on Heun functions returns a sequence of "unknown" and "unable"


Check the help page ?Heun and the pages therein. Here again I do not find what you say (I mean the facts).

You say:

... these somewhat obscure [Heun] functions

Please note that many special function experts (Marichev, Brychov, etc;, google for this and you will get the idea) differ from you. The Heun functions are modern special functions being studied and having their properties unveiled by a growing number of expert people in the special function area.

... spheroidal functions and Lame functions

Although I would like to have more time to implement some of these spheroidal functions, I note that they are not currently used as it was the case 100+ years ago when special functions were not so developed in the mathematical language (I am not talking about Computer Algebra). As a measurement of their relevance in Physics, for instance, I recall that they are not mentioned in the 9 volumes of the Landau and Lifshitz "Course on Theoretical Physics ", nor in the main texbooks in Mathematical Methods for Physicists; to mention but three: Courant & Hilbert, "Methods of Mathematical Physics (2 vols)", Smirnov, "A Course of Higher Mathematics, (5 vols)",  Arfken & Weber, "Mathematical Methods for Physicists".

Anyway the above is just my opinion, one in a universe of opinions. I understood yours. It is all OK with the differences. I am not a believer in written debates. I also feel as said that this post on Physics: one year of developments is not quite the right framework for these topics you mentioned.

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

 

 

First 44 45 46 47 48 49 50 Last Page 46 of 64