Hi,
I am a new xAct user who is finding some troubles with the following:
I am working with a manifold in which I have defined some functions that verify some constraints (they are the basis functions of a representation of a given group in the manifold). Denoting these functions by f_a, where a is an index labeling the functions that has nothing to do with indices on the tangent space of the manifold, I have the following constraint:
f_a f^a =1 (1),
with the a index lowered and rised by means of some tensor that plays the role of a metric in the indices labeling the functions, say /k^{ab} (
/k^{ab} is an invariant tensor of the group and hence can be used as an interwining operator, in this particular case to relate the representation in which f_a lives with the trivial representation). I will use k=delta for the sake of simplicity.
(1) also imposes:
f_a /partial_i f^a =0 (2),
where /partial_i is a derivative taken with respect to the coordinates of the manifold, which are labelled by the index i. As far as I know, relations like(2) can not be imposed using MakeRule (MakeRule[{Sum[ f[[a]] PD[i][ f[[a]]] , {a,1,n}], 0}]), as it does not interpret the sum in the lhs. I have seen that in some cases one could do something like:
MakeRule[{ f[[n]] PD[i][ f[[n]]],
Sum[ f[[a]] PD[i][ f[[a]]] , {a,1,n-1}] }].
However, this doesn´t work either and I have to first execute { f[[n]] PD[i][ f[[n]]], Sum[ f[[a]] PD[i][ f[[a]]] , {a,1,n-1}] } and then copy and paste the outcome of this command into the input of MakeRule manually, something that feels awkward. If I keep on and try to define an AutomaticRule with this rule, it seems to work at the beginning when I check it with simple examples, but later on it doesn´t work (maybe there is some issues with dummie indices?).
Is it there a way of globally impose (2)? What I am doing wrong?
I also need to define a relation similar to:
( /partial_j f_a) /partial_j f^a =g_{ij},
with g the metric tensor of the manifold. In this case the rule:
MakeRule[{PD[-i1][f[[n]]] PD[-i2][f[[n]]], gr[-i1, -i2] - Sum[PD[-i1][f[[i]]] PD[-i2][f[[i]]], {i, 1, n-1}]}]
works neither in simple examples, nor later on in the code. Does anyone know how to implement this?
Thank for your help.