[Math] Multidimensional Tensor Inverse – Index Notation

index-notationtensors

First consider usual matrices and vectors. We can perform the manipulation

$$
y = Mx
$$

$$
M^{-1} y = M^{-1}Mx = I x = x
$$

and express it in index notation as

$$
y_i = M_{ij}x_j
$$

$$
(M^{-1})_{ki}y_i = (M^{-1})_{ki}M_{ij}x_j = \delta_{kj}x_j = x_k
$$

This relies on the existence of a tensor $(M^{-1})_{ki}$ with the property that $(M^{-1})_{ki}M_{ij} = \delta_{kj}$. Such a tensor doesn't always exist but if $M$ is an invertable matrix then such a tensor does exist. So in general it is not a crazy thing to do to write down $(M^{-1})_{ki}$.

What I am facing now is a higher dimensional version of this problem. I have something like

$$
y_{ij} = M_{ijkl} x_{kl}
$$

and I would like to have the $x$ in terms of the $y$ rather than how it is written now. That is I would like something like

$$
L_{ijmn}y_{ij} = x_{mn}
$$

This could work out if $L_{ijmn}$ had the property that $L_{ijmn}M_{ijkl} = \delta_{mk}\delta_{nl}$. Then we could perform

$$
L_{ijmn}y_{ij} = L_{ijmn}R_{ijkl}x_{kl} = \delta_{mk}\delta_{nl}x_{kl} = x_{mn}
$$

In some loose sense we could write $L_{ijmn} = (M^{-1})_{ijmn}$. Of course, this inverse isn't the only thing which could have this name since we could consider "inverting" upon different sets of indices.

Anyways, my question is as follows. Generally speaking, given a tensor like $R_{ijkl}$ is it possible to find a tensor $L_{ijmn}$ with the above mentioned property and how could you go about finding that tensor? Getting at my second question, it strikes me that $L_{ijmn}M_{ijkl} = \delta_{mk}\delta_{nl}$ is some system of $n^4$ linear equations with $n^4$ unknowns so it seems like sometimes you should be able to find such a tensor.

Can someone shed some more light on this for me?

edit: A little more context. The dimensionality in my case is 6 meaning the indices run from 1 to 6. I also have numerical values for the entries of these tensors so I would also welcome suggestions for how to numerically calculate the inverse tensor I am interested in. In the case that the tensor has two indices I can just use the built in matrix inverse functions in Mathematica or Matlab for example. I don't know a clean option for when the tensor has more indices however.

Best Answer

I was able to answer the question for myself well enough. The answer is that yes, for a given tensor $R_{ijkl}$ It is possible to find another tensor $L_{ijmn}$ with the property that

$$ L_{ijmn}R_{ijkl} = \delta_{mk}\delta_{nl} $$

The point is that $L_{ijmn}$ has $N^4$ components and the equation above stands for $N^4$ equations where $N$ is the length of the indices. We should then be able to solve the above $N^4$ equations for the $N^4$ components of $L_{ijmn}$ to find the desired tensor.

I implemented some code in Mathematica to convince myself which I'll post here for those curious.. I don't know the best way to input code here so apologies if it doesn't look great.

R = Table[RandomReal[], {i, 1, 6}, {j, 1, 6}, {k, 1, 6}, {l, 1, 6}];

L = Table[a[i, j, k, l], {i, 1, 6}, {j, 1, 6}, {k, 1, 6}, {l, 1, 6}];

K = Table[
   KroneckerDelta[m, k]*KroneckerDelta[n, l], {k, 1, 6}, {l, 1, 
    6}, {m, 1, 6}, {n, 1, 6}];

Flatten[
  Table[
   Sum[L[[i, j, m, n]]*R[[i, j, k, l]], {i, 1, 6}, {j, 1, 6}] == 
    K[[k, l, m, n]]
   , {k, 1, 6}, {l, 1, 6}, {m, 1, 6}, {n, 1, 6}]];

s = Solve[Flatten[
    Table[
     Sum[L[[i, j, m, n]]*R[[i, j, k, l]], {i, 1, 6}, {j, 1, 6}] == 
      K[[k, l, m, n]]
     , {k, 1, 6}, {l, 1, 6}, {m, 1, 6}, {n, 1, 6}]]];

Chop[Table[
   Sum[L[[i, j, m, n]]*R[[i, j, k, l]], {i, 1, 6}, {j, 1, 6}]
   , {k, 1, 6}, {l, 1, 6}, {m, 1, 6}, {n, 1, 6}] /. s[[1]]]

The final line shows the result of multiplying the tensors $L$ and $R$ when the components of $L$ are replaced with the components found in the above line. The result is the double Kronecker delta tensor $K$ as desired.

Fortunately for my application the code can run in a few seconds for me (on my laptop) with tensors with $6^4 = 1296$ components.

I'm not sure what to call $L_{ijmn}$. I could call it $R^{-1}_{ijmn}$, but I can also pose another problem:

Find a tensor $G_{ikmj}$ with the property that

$$G_{ikmj}R_{ijkl} = \delta_{ml}$$

This new tensor could similarly be called $R^{-1}_{ikmj}$ and so could a number of other tensors with different combinations and permutations of indices. Therefore, for the time being I'll just continue to use unique names for these inverse tensors and explicitly state the relevant property in terms of the Kronecker deltas.