2
$\begingroup$

First, I believe the unit tensor is a diagonal tensor with diagonal elements of 1, regardless of whether it is in Cartesian coordinates or cylindrical coordinates.

Then, I wanted to verify this using Mathematica. I transformed the unit tensor, Icar, from Cartesian coordinates to cylindrical coordinates to obtain Icyl.

However, I noticed that some components of Icyl are unexpectedly equal to 4.

Where did I make a mistake? It has been bothering me all day. Thank you.

Clear["Global`*"] // Quiet;
cyl = {r, \[Theta], z};
car = CoordinateTransform["Cylindrical" -> "Cartesian", cyl];
dcardcyl = Grad[car, cyl, "Cylindrical"];
Icar = IdentityMatrix[3];
Icyl = TensorContract[
  dcardcyl\[TensorProduct]dcardcyl\[TensorProduct]Icar, {{1, 5}, {3, 
    6}}]; 
Icyl // Simplify
$\endgroup$
2

1 Answer 1

2
$\begingroup$

Its clear that you are computing the square of the Jacobian $$J_{ik}= \frac{\partial}{\partial y_i} x_k(y)$$ $$J_{ik} J_{kl} \delta_{lm}=J_{ik} J_{km}= \frac{\partial}{\partial y_i} x_k(y)\frac{\partial}{\partial y_k} x_l(y)$$ so you contract over an index pair in different bases.

But a basis transform contracts each index in the same way like a product of vectors $$J_{ia} J_{kb} \delta_{ab}=J_{ia} J_{ka} =(J J^T)_{ik}$$ $$J^T J = G $$ acts as the metric tensor on tangent vectors in the local basis. It is not the unit matrix by $$\left< u , J^T J v \right> = \left< J u , J v \right> $$.

Generally speaking, on an metric manifold, metric, unit tensor and inverse metric are the same object in different basis representations $$ g_{ij} \left(g^{-1}\right) ^{jk} = \delta_i^k$$ can be interpreted as $\delta$ being the mixed representation of the metrics, or, vice versa, the metric is the covariant representation of the mixed unit tensor.

$\endgroup$
1
  • $\begingroup$ Thanks! I am afraid that the concepts of manifolds and others are beyond my knowledge. With the help of your explanations, I think I may have mistakenly contracted the base vectors of different coordinate systems. Actually, what I want to do is: How can I use Mathematica code to transform a tensor, such as the identity tensor here, from a Cartesian coordinate system to a cylindrical coordinate system? If possible, could you please demonstrate this transformation using Mathematica code? Thank you! $\endgroup$
    – xinxin guo
    Commented Mar 26 at 0:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.