# Trilineare Abbildung des Einheitstetraeders auf den Master-Wrfel der
# Kantenlnge zwei:
> xi:=a[1]+a[2]*x+a[3]*y+a[4]*z+a[5]*x*y+a[6]*y*z+a[7]*z*x+a[8]*x*y*z;
> 

  xi := a[1] + a[2] x + a[3] y + a[4] z + a[5] x y + a[6] y z

         + a[7] z x + a[8] x y z

> eta:=b[1]+b[2]*x+b[3]*y+b[4]*z+b[5]*x*y+b[6]*y*z+b[7]*z*x+b[8]*x*y*z;
> 

  eta := b[1] + b[2] x + b[3] y + b[4] z + b[5] x y + b[6] y z

         + b[7] z x + b[8] x y z

> zeta:=c[1]+c[2]*x+c[3]*y+c[4]*z+c[5]*x*y+c[6]*y*z+c[7]*z*x+c[8]*x*y*z;
> 

  zeta := c[1] + c[2] x + c[3] y + c[4] z + c[5] x y + c[6] y z

         + c[7] z x + c[8] x y z

> with(linalg):
Warning, the protected names norm and trace have been redefined and
unprotected

> Q:=matrix(8,8,[[1,-1,-1,-1,1,1,1,-1],[1,1,-1,-1,-1,1,-1,1],[1,1,1,-1,1
> ,-1,-1,-1],[1,-1,1,-1,-1,-1,1,1],[1,-1,-1,1,1,-1,-1,1],[1,1,-1,1,-1,-1
> ,1,-1],[1,1,1,1,1,1,1,1],[1,-1,1,1,-1,1,-1,-1]]);
> 

               [1    -1    -1    -1     1     1     1    -1]
               [                                           ]
               [1     1    -1    -1    -1     1    -1     1]
               [                                           ]
               [1     1     1    -1     1    -1    -1    -1]
               [                                           ]
               [1    -1     1    -1    -1    -1     1     1]
          Q := [                                           ]
               [1    -1    -1     1     1    -1    -1     1]
               [                                           ]
               [1     1    -1     1    -1    -1     1    -1]
               [                                           ]
               [1     1     1     1     1     1     1     1]
               [                                           ]
               [1    -1     1     1    -1     1    -1    -1]

> Inverse:=(1/8)*inverse(Q/8):
> R[a]:=matrix(1,8,[0,1,1/2,0,0,1/2,1/3,0]);
> 

         R[a] := [0    1    1/2    0    0    1/2    1/3    0]

> A:=matrix(1,8,[a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]]);
> 

     A := [a[1] , a[2] , a[3] , a[4] , a[5] , a[6] , a[7] , a[8]]

> Loesung[a]:=transpose(linsolve(Q,transpose(R[a])));
> 

  Loesung[a] :=

        [                -1    -1    -1            -1        ]
        [7/24    7/24    --    --    --    1/24    --    1/24]
        [                12    12    12            12        ]

> xi:=factor(subs({a[1]=7/24, a[2]=7/24, a[3]=-1/12,
> a[4]=-1/12,a[5]=-1/12,a[6]=1/24,a[7]=-1/12,a[8]=1/24},xi));

                       (7 - 2 y - 2 z + y z) (1 + x)
                 xi := -----------------------------
                                    24

> R[b]:=matrix(1,8,[0,0,1/2,1,0,0,1/3,1/2]);
> 

         R[b] := [0    0    1/2    1    0    0    1/3    1/2]

> B:=matrix(1,8,[b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8]]);
> 

     B := [b[1] , b[2] , b[3] , b[4] , b[5] , b[6] , b[7] , b[8]]

> Loesung[b]:=transpose(linsolve(Q,transpose(R[b])));
> 

  Loesung[b] :=

        [        -1            -1    -1    -1                ]
        [7/24    --    7/24    --    --    --    1/24    1/24]
        [        12            12    12    12                ]

> eta:=factor(subs({b[1]=7/24,b[2]=-1/12,b[3]=7/24,b[4]=-1/12,b[5]=-1/12
> ,
> b[6]=-1/12,b[7]=1/24,b[8]=1/24},eta));

                        (1 + y) (7 - 2 x + z x - 2 z)
                 eta := -----------------------------
                                     24


> R[c]:=matrix(1,8,[0,0,0,0,1,1/2,1/3,1/2]);
> 

         R[c] := [0    0    0    0    1    1/2    1/3    1/2]

> C:=matrix(1,8,[c[1],c[2],c[3],c[4],c[5],c[6],c[7],c[8]]);
> 

     C := [c[1] , c[2] , c[3] , c[4] , c[5] , c[6] , c[7] , c[8]]

> Loesung[c]:=transpose(linsolve(Q,transpose(R[c])));
> 

  Loesung[c] :=

        [        -1    -1                    -1    -1        ]
        [7/24    --    --    7/24    1/24    --    --    1/24]
        [        12    12                    12    12        ]

> zeta:=factor(subs({c[1]=7/24,c[2]=-1/12,c[3]=-1/12,c[4]=7/24,
> c[5]=1/24,c[6]=-1/12,c[7]=-1/12,c[8]=1/24},zeta));

                        (1 + z) (7 - 2 x - 2 y + x y)
                zeta := -----------------------------
                                     24

> JACOBI_Matrix:=jacobian([xi,eta,zeta],[x,y,z]):
> J:=JACOBI_Determinante=det(JACOBI_Matrix);
> 

  J := JACOBI_Determinante = -1/64 x - 1/64 y - 1/64 z

                   2              2             2          2
         + 1/1536 y  z x - 1/512 z  x + 5/1536 z  - 1/512 y  z

                    2                   2            2           2
         - 1/512 y z  + 9/512 + 5/1536 y  - 1/512 x y  + 5/1536 x

                  2              2                  17
         - 1/512 x  y - 1/512 z x  - 1/256 x y z + ---- x y
                                                   1536

                     2               2      17         17
         + 1/1536 z x  y + 1/1536 y z  x + ---- z x + ---- y z
                                           1536       1536

> 
