digerdiga

390 Reputation

8 Badges

11 years, 136 days

MaplePrimes Activity


These are replies submitted by digerdiga

@ecterrab 

3. " And no, it does not expand when you write g_[mu, nu].F[`~mu`, `~nu`] because you assigned to F[mu, nu], not to F[~mu, ~nu] "

I'm sorry if I get on your nerves, but if you look into the post at 8:02 where I posted the worksheet and then look at the block below

 

# This is the question about the contravariant Form of A[mu] ;

 

it does expand g_[mu, nu].F[`~mu`, `~nu`]  even though you say the assignment is wrong...

 

4. I'm sorry again, the question was more general: Sure I need an argument when using a derivative, but say I am defining F[mu,nu] as A[mu]*A[nu]. Then an argument doesn't seem to be mandatory since all the derivatives work when I later use them on F[mu,nu](X) but I didnt assign the argument in the definition. I'm just not sure if anything else might fail.

 

Here is another example:


 

restart; with(Physics); Coordinates(cartesian); Define(F, A[mu]); F[mu, nu] := A[mu].A[nu]; d_[`~mu`](F[mu, nu](X)); SumOverRepeatedIndices(%); g_[mu, nu].F[`~mu`, `~nu`]; SumOverRepeatedIndices(%)

`Default differentiation variables for d_, D_ and dAlembertian are: `*{X = (x, y, z, t)}

 

`Systems of spacetime Coordinates are: `*{X = (x, y, z, t)}

 

{X}

 

`Defined objects with tensor properties`

 

{F, A[mu], gamma[mu], sigma[mu], Physics:-d_[mu], Physics:-g_[mu, nu], delta[mu, nu], epsilon[alpha, beta, mu, nu], Physics:-SpaceTimeVector[mu](X)}

 

A[mu]*A[nu]

 

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

 

(-(diff(A[1](X), x))-(diff(A[2](X), y))-(diff(A[3](X), z))+diff(A[4](X), t))*A[nu](X)-A[1](X)*(diff(A[nu](X), x))-A[2](X)*(diff(A[nu](X), y))-A[3](X)*(diff(A[nu](X), z))+A[4](X)*(diff(A[nu](X), t))

 

A[`~nu`]*A[nu]

 

A[1]*A[`~1`]+A[2]*A[`~2`]+A[3]*A[`~3`]+A[4]*A[`~4`]

(1)

NULL


 

Download MaplePrimes_Assignment_and_Derivative.mw

 

The first one (d_[`~mu`].F[mu,nu]) probably only works (as you say) because I am using just the definition of F[mu,nu] but the latter is actively used as contravariant.

@ecterrab 

"PS: I wonder what is the meaning you intend with your several uses of ??, ??? and the like. Mind you, they do not look polite. "

This is not my intention. It is just the way I write apparently :-/ but I will try not to do it.

 

3. " No, an assignment as in F[mu,nu] := D_[mu](A[nu](X)), does not work as you intended, at all. That is at the core of why the computations in you worksheet don't work. "

Am I missing something? I am doing: F[mu, nu] := D_[mu](A[nu](X))

and it does expand out when I write:

g_[mu, nu].F[`~mu`, `~nu`]

or what do you mean is not working?

 

When I have like in my worksheet:

first line: # text ;

second and further: math code

and I put a ; behind my commented text then the entire output is suppressed?

 

4. So when doing Define(  F[mu,nu] = D_[mu](A[nu](X))  )  is it mandatory to use the argument (X) ?

" In your example you are using a definition F[mu,nu] = D_[mu](A[nu](X)), so ..."

But if it is a definition then F[mu,`~mu`] should also work or?

@ecterrab Thanks for this effort!

1. What is the actual meaning of signature anyway? I mean: signature=-+ means that the + component is time, right?

Whatever that means here however is not really clear to me, because when I define my own metric tensor isn't the sign convention irrelevant?? The fact that I used t as a parameter for time was just by chance...What does it help Maple internally to know that a specific component has the meaning time? When supplying your own metric all components should be regarded as equal or?

Gamma Matrices dont seem to work in this case anyway...

When you do Setup(signature=`+-`) nothing changes at first. Why? Why do I need to update the metric via Redefine(metric,fromsignature=`-+`) ??? I thought the system already knows the signature is -+ at first so when I change the signature to +- it should just swaps the entries...This seems a bit awkward.

 

2. About my PS: I was actually talking about the Christoffel Symbols. In Maple it seems that the covariant form of these is Christoffel[mu,a,b] and the usual contravariant form then is then obtained by g_[mu,nu].Christoffel[mu,a,b].

In Textbooks I however typically stumbled accross Christoffel[a,b,mu] and so the same contravariant form from above would be obtained by g_[mu.nu].Christoffel[a,b,mu]...Thats what I thought and thats why I played around with the position of the contraction in the block below the text

" This was the question about the two-fold application of SumOverRepeatedIndices... Actually I'm also a bit confused about the sign issue. Christoffel[mu,nu,nu] should give the correct contracted result or? ... "

 

3. About F, res, res2 etc..

So Define(F) and then fill in the components by

F[mu,nu]:=D_[mu](A[nu](X))

works but is not intended?? Why? I seem to get the correct result, so what can happen wrong?

What happens if I asign to a not as tensor defined object such as res2 (note I did not define it as a tensor).

In principle the assignment as with F above still seems to work, but what can go wrong here?

When assigning as you say I should do it: Define( F[mu,nu] = D_[mu](A[nu](X)) ), do I need to specify the argument (X) or can I leave it out?

 

4. One question got lost...When calculating the trace of F the result is displayed with D_ being contravariant and A being covariant. But I want A to be contravariant and D_ covariant even though it is the same...

@ecterrab Riemann-Scalar_for_Torus_MaplePrimes.mw
 

restart; with(VectorCalculus); x := Vector([VectorCalculus:-`*`(VectorCalculus:-`+`(R, VectorCalculus:-`*`(r, cos(p))), cos(t)), VectorCalculus:-`*`(VectorCalculus:-`+`(R, VectorCalculus:-`*`(r, cos(p))), sin(t)), VectorCalculus:-`*`(r, sin(p))]); s := [p, t]; g := Matrix(nops(s), nops(s)); for i to nops(s) do for j to nops(s) do g[i, j] := simplify(DotProduct(diff(x, s[i]), diff(x, s[j]))) end do end do; g; with(Physics); Setup(dimension = 2); Coordinates(X = s); Setup(metric = g); g_[]; Ricci[scalar]; g_[mu, nu].Ricci[mu, nu]

x := (R+r*cos(p))*cos(t)*e[x]+(R+r*cos(p))*sin(t)*e[y]+r*sin(p)*e[z]

 

s := [p, t]

 

g := Matrix(2, 2, {(1, 1) = 0, (1, 2) = 0, (2, 1) = 0, (2, 2) = 0})

 

Matrix(2, 2, {(1, 1) = r^2, (1, 2) = 0, (2, 1) = 0, (2, 2) = (R+r*cos(p))^2})

 

`The dimension and signature of the tensor space are set to: [2, -] `

 

"[[Typesetting:-mi("dimension",italic = "true",mathvariant = "italic") = Typesetting:-mn("2",mathvariant = "normal")]]"

 

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

 

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

 

"{{Typesetting:-mi("X",italic = "true",mathvariant = "italic")}}"

 

[metric = {(1, 1) = r^2, (2, 2) = (R+r*cos(p))^2}]

 

g_[mu, nu] = (Matrix(2, 2, {(1, 1) = r^2, (1, 2) = 0, (2, 1) = 0, (2, 2) = (R+r*cos(p))^2}))

 

2*cos(p)/(r*(R+r*cos(p)))

 

2*cos(p)/(r*(R+r*cos(p)))

(1)

``

# This is the question about the contravariant Form of A[mu] ;
Define(A[mu], F, res); F[mu, nu] := D_[mu](A[nu](X)); g_[mu, nu].F[`~mu`, `~nu`]; SumOverRepeatedIndices(%); SubstituteTensorIndices(nu = mu, F[mu, nu]); SumOverRepeatedIndices(%)

`Defined as tensors`

 

{res, A[mu], Physics:-D_[mu], gamma[mu], F[`~mu`, `~nu`], sigma[mu], Physics:-Ricci[mu, nu], Physics:-Riemann[mu, nu, alpha, beta], Physics:-Weyl[mu, nu, alpha, beta], Physics:-d_[mu], Physics:-g_[mu, nu], Physics:-Christoffel[mu, nu, alpha], Physics:-Einstein[mu, nu], delta[mu, nu], epsilon[mu, nu], Physics:-SpaceTimeVector[mu](X)}

 

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

 

Physics:-D_[`~nu`](A[nu](X), [X])

 

(diff(A[1](X), p))/r^2+(diff(A[2](X), t)-(R+r*cos(p))*sin(p)*A[1](X)/r)/(cos(p)^2*r^2+2*cos(p)*R*r+R^2)

 

Physics:-D_[mu](A[`~mu`](X), [X])

 

diff(A[`~1`](X), p)+diff(A[`~2`](X), t)-sin(p)*r*A[`~1`](X)/(R+r*cos(p))

(2)

# Above I defined the Tensor "res". I'm wondering if this is necessary for later assignments or not, because the following works for neither!;

res[mu] := SumOverRepeatedIndices(Christoffel[mu, nu, nu]); res2[mu] := SumOverRepeatedIndices(Christoffel[mu, nu, nu]); res[1]; res2[1]
# I want res when I select an index to show the concent...

Physics:-Christoffel[mu, 1, `~1`]+Physics:-Christoffel[mu, 2, `~2`]

 

res[1]

(3)

 

# This was the question about the two-fold application of SumOverRepeatedIndices... Actually I'm also a bit confused about the sign issue. Christoffel[mu,nu,nu] should give the correct contracted result or? However comparing this with the Christoffel Term from the covariant Derivative above it has a minus sign... If I do Christoffel[nu,nu,mu] I get the correct sign... ;
Christoffel[mu, 1, `~1`, Matrix]+Christoffel[mu, 2, `~2`, Matrix]; Christoffel[nu, nu, mu].A[mu]; SumOverRepeatedIndices(%); SumOverRepeatedIndices(%)

Christoffel[mu, 1, `~1`]+Christoffel[mu, 2, `~2`] = (Vector(2, {(1) = sin(p)*r/(R+r*cos(p)), (2) = 0}))

 

Physics:-Christoffel[nu, mu, `~nu`]*A[mu]

 

(Physics:-Christoffel[1, mu, `~1`]+Physics:-Christoffel[2, mu, `~2`])*A[`~mu`]

 

-sin(p)*r*A[`~1`]/(R+r*cos(p))

(4)

NULL


 

Download Riemann-Scalar_for_Torus_MaplePrimes.mw

 

 

PS: Ok sorry about the sign question. I think the Physics Package uses a different convention for the position of the first index in covariant form. Usually it was on the right, so sorry...

@Thomas Richard Do you know how long this will take?

So I'm still purchasing 2018 even though it says 2017?

@nm Actually if I consider this Calculus Bundle for 119 Euro it is still offering me Maple 2017...

Apart from that: Is this bundle worth it?

@acer what is this

identical( , )

for?

So as far as I understand freeze(t) should freeze a variable and do not use it when manipulating, right?

But apparently freeze(t) does not work...However freeze(2t) or freeze(s+t) works, so why does it not work with only a single variable?

Actually what if I have bigger expressions and I want to exclude alpha in general?

 

@ecterrab Hm ok...So what does signature=`-` mean?

And about the covariant Derivative: It is only implemented as a differential operator obeying the product rule?

How can I get the expression with christoffel symbols?

@ecterrab 
 

restart; with(Physics); Setup(mathematicalnotation = true, coordinates = cartesian); Define(A[mu]); Setup(signature)

`* Partial match of  'coordinates' against keyword 'coordinatesystems'`

 

`Default differentiation variables for d_, D_ and dAlembertian are: `*{X = (x, y, z, t)}

 

`Systems of spacetime Coordinates are: `*{X = (x, y, z, t)}

 

[coordinatesystems = {X}, mathematicalnotation = true]

 

`Defined objects with tensor properties`

 

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

 

[signature = `-`]

 

A[mu](X)*Physics:-D_[`~mu`]

(1)

1. Does Simplify() only simplify on indices or does it otherwise have similar functionality as simplify() ?

2. How do I get the real covariant derivative?

D_[mu].A[mu](X);

A[mu](X)*Physics:-D_[`~mu`]

(2)

Why is the D_[mu] behind the A_[mu] ??? When I use "SumOverRepeatedIndices" this just expands but I do not get the decomposition into partial derivatives and Christoffel Symbols?

3. I have another question regarding a video you posted on the brighttalk:

Error, missing operator or `;`

 

restart; with(Physics); with(Physics[Vectors]); Setup(mathematicalnotation = true, differentialoperators = {[p_, [x, y, z]]}, hermitianoperators = {p, x, y, z}, algebrarules = {%Commutator(x, y) = 0, %Commutator(x, z) = 0, %Commutator(y, z) = 0}, coordinatesystems = cartesian)

Error, (in Physics:-Setup) wrong left-hand-side in differentialoperators = {[p_, [x, y, z]]}

 

Is this a Version-Issue? I'm on Maple17;

``


 

Download ContractionOfIndices_No2.mwContractionOfIndices_No2.mw

@ecterrab Hey Thx so much for you answer. I have not read everything (still reading) but I tried

Setup(signature)

and it is telling me

[signature = `-`]

lol?

@vv Does Assume have any advantages?

@Carl Love Can you maybe elaborate on these answers in why this is so? Do you have an example showing the weakness of applyrule compared to evalindets/subsindets, apart from the flaws given above ???

@Kitonum  evalindets(eq1, `indexed`, t->op(t)*p+q+b[op(t)]);

also works without indexed being quoted ' ', why is that prefered though?

Does 'indexed' mean, that the map t->...

only applies to the index? Why do I need op(t) if I'm only mapping the index anyhow?

op(x+y+z) just returns x,y,z

so wouldn't I expect a list from this map too? Aren't we inserting eq1 for t??

First 7 8 9 10 11 12 13 Last Page 9 of 19