1
$\begingroup$

After not finding the desired capabilities in base Mathematica, I am trying to use xAct`xTensor package. It appears that I do not need most of it capabilities though: I have an expression with tensors, where indices go over $1,\dots,d$, $1,\dots,J$, or $1,\dots,S$, where positive integers $d,J,S$ are unknown, and need to expand simplify that expression given known properties of the tensors involved. I didn't find a dedicated way to specify a vector space in xAct`xTensor, so I am assuming it is supposed to be a vBundle over 0-dimensional manifold. Thus, I am trying to define:

DefManifold[M0, 0, {}];
DefVBundle[vBd, M0, nd, {a, b, c, d, e, f, a1, b1, c1, d1, e1, f1}];
DefMetric[1, metricvBd[-a, -b], PrintAs -> "gd"];

Unfortunately, this fails with an error DefMetric::noicovd: Metrics in inner vbundles do not support covariant derivatives. Why is that? Is there a way to specify that I do not need any derivatives (and, in fact, would be more than happy with the trivial metric $\delta_{ab}$) and avoid that error or a better library to use for that purpose?

$\endgroup$

1 Answer 1

1
$\begingroup$

The solution to the above issue seems to be to explicitly specify covd (3rd) argument of the DefMetric function as None:

DefMetric[1, metricvBd[-a, -b], None, PrintAs -> "gd"];

I've found this by finding the code of xTensor package in .Mathematica/Applications/xAct/xTensor/xTensor.m and reading the condition where the message DefMetric::noicovd gets thrown:

DefMetricCheck[signdet_,metric_[-ind1_,-ind2_],covd_,covdsymbol_,flat_,inducedfrom_,confto_,odeps_,wwb_,eoib_]:=Module[
  ...
  If[tangentmetricQ,
    ...,
    (*else branch*)
    If[covd=!=None,
      Throw@Message[DefMetric::noicovd];
    ]
  ];
  ...
];
$\endgroup$

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.