ecterrab

13431 Reputation

24 Badges

19 years, 362 days

MaplePrimes Activity


These are replies submitted by ecterrab

Preben is right, without further details all I can say is that this works correctly, as shown in this image

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

@Markiyan Hirnyk 

Indeed, when writing the answer I copied and pasted from trace's worksheet and didn't notice his typo, sin^2*theta instead of sin(theta)^2.. I included this correction now in the answer.

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

@Inacio 

Your first question is: "Is there a way to remove the test function Phi in a different way?"

Yes, you can use coeff, as shown in this image:

 

Your second question: "Can Maple rewrite the expression above like F[mu nu]Phi? Because I have define F[mu, nu] like d_[rho](A[nu]) - d_[nu](A[rho])."

Yes, you can use simplify taking equations into account (check the help page ?simplify/siderels), as shown in this other image; note I first match the indices, and alternatively you could also use SubstituteTensor (check its help page):

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

 

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.

 

First 39 40 41 42 43 44 45 Last Page 41 of 60