# Inverse of the 4th rank tensor

Hi all,

I am looking for an algorithm to get the inverse of a 4th rank tensor (e.g. the compliance tensor S_(ijkl) from elastic stiffness tensor C_(ijkl)) S_(ijkl)=C_(ijkl)^(-1)

I am programming in FORTRAN, and for this purpose I wasn't able to find neither any algorithm nor any existing subroutine.

Best regards,

Mubeen.

### alternate method for similar problem

Though I have not found any direct way to get the inverse of 4th rank tensor,  I have a different idea related to similar problem for the case.

I had to solve the equation

A:B=C

for B (where A=4th rank tensor, B,C = 2nd rank tensors), and A & C have already known values.

Instead of searching for inverse of A to get B, I expanded A:B , which resulted in 9 expressions A_ijkl * B_kl  (i,j=1,2,3), and these 9 expressions were equal to the 9 entries in 2nd rank tensor C_ij (i,j=1,2,3).

With this result, I setup a system of 9 linear algebraic equations (LAEs) in which B_kl (k,l=1,2,3) were the only unknowns.

e.g.

A_11kl * B_kl = C_11

A_12kl * B_kl = C_12

...

A_33kl * B_kl=C_33  (for k,l=1,2,3)

These LAEs can be solved by one of the many existing methods e.g. Gaussian elimination.

Hence using this route, the inverse tensor wasn't required anymore. 