{-# LANGUAGE DataKinds #-}
{-# LANGUAGE GADTs #-}
module Math.Tensor.Examples.Gravity.DiffeoSymEqns (
ansatzA, ansatzAI, ansatzAB, ansatzAaBb, ansatzABI, ansatzAIBJ, ansatzABC, ansatzABCI, ansatzABbCc, ansatzAaBbCI, ansatzABICJ,
ansatzAIBJCK, ansatzABCD, ansatzABCDJ, ansatzABCcDd,
eqn1, eqn3, eqn1A, eqn1AI, eqn2Aa, eqn3A, eqn1AB, eqn1ABI, eqn1AaBb, eqn2ABb, eqn3AB,
eqn1Met, eqn3Met, eqn2AaMet, eqn3AMet, eqn1AMet, eqn1AIMet, eqn1ABMet, eqn1ABIMet, eqn1AaBbMet, eqn2ABbMet, eqn3ABMet
) where
import Math.Tensor
import Math.Tensor.Examples.Gravity
import qualified Data.IntMap.Strict as I
ansatzA :: ATens 1 0 0 0 0 0 AnsVarR -> ATens 1 0 0 0 2 0 AnsVarR
ansatzA :: ATens 1 0 0 0 0 0 AnsVarR -> ATens 1 0 0 0 2 0 AnsVarR
ansatzA ATens 1 0 0 0 0 0 AnsVarR
ans4 = (Int, Int)
-> ATens 1 0 0 0 2 0 AnsVarR -> ATens 1 0 0 0 2 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
0,Int
1) (ATens 1 0 0 0 2 0 AnsVarR -> ATens 1 0 0 0 2 0 AnsVarR)
-> ATens 1 0 0 0 2 0 AnsVarR -> ATens 1 0 0 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(1 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 1 0 0 0 2 0 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(1 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 1 0 0 0 2 0 AnsVarR)
-> AbsTensor2
(1 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 1 0 0 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 2 1 0 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 2 1 0 0 2 0 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
1,Int
0) (AbsTensor6 2 1 0 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 2 1 0 0 2 0 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 2 1 0 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 2 1 0 0 2 0 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 1 0 0 0 0 0 AnsVarR
ans4 ATens 1 0 0 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 1 0 0 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea Tensor
2
Ind20
(Tensor
1
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
2
Ind20
(Tensor
1
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA
ansatzAa :: ATens 1 0 0 0 1 0 AnsVarR -> ATens 1 0 0 0 3 0 AnsVarR
ansatzAa :: ATens 1 0 0 0 1 0 AnsVarR -> ATens 1 0 0 0 3 0 AnsVarR
ansatzAa ATens 1 0 0 0 1 0 AnsVarR
ans5 = (Int, Int)
-> ATens 1 0 0 0 3 0 AnsVarR -> ATens 1 0 0 0 3 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
0,Int
2) (ATens 1 0 0 0 3 0 AnsVarR -> ATens 1 0 0 0 3 0 AnsVarR)
-> ATens 1 0 0 0 3 0 AnsVarR -> ATens 1 0 0 0 3 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(1 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 3 0 Ind3 AnsVarR))
-> ATens 1 0 0 0 3 0 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(1 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 3 0 Ind3 AnsVarR))
-> ATens 1 0 0 0 3 0 AnsVarR)
-> AbsTensor2
(1 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 3 0 Ind3 AnsVarR))
-> ATens 1 0 0 0 3 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 2 1 0 0 (3 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 2 1 0 0 3 0 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
0,Int
0) (AbsTensor6 2 1 0 0 (3 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 2 1 0 0 3 0 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 2 1 0 0 (3 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 2 1 0 0 3 0 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 2 1 0 0 (4 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 2 1 0 0 4 1 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
3,Int
0) (AbsTensor6 2 1 0 0 (4 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 2 1 0 0 4 1 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 2 1 0 0 (4 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 2 1 0 0 4 1 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 1 0 0 0 1 0 AnsVarR
ans5 ATens 1 0 0 0 1 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational))))
-> TProd
(ATens 1 0 0 0 1 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational))))
interEqn2 Tensor
2
Ind20
(Tensor
1
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 2 Ind3 AnsVarR)))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
2
Ind20
(Tensor
1
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 2 Ind3 AnsVarR))))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA
ansatzAI :: ATens 1 0 1 0 0 0 AnsVarR -> ATens 1 0 1 0 2 0 AnsVarR
ansatzAI :: ATens 1 0 1 0 0 0 AnsVarR -> ATens 1 0 1 0 2 0 AnsVarR
ansatzAI ATens 1 0 1 0 0 0 AnsVarR
ans6 = (Int, Int)
-> ATens 1 0 1 0 2 0 AnsVarR -> ATens 1 0 1 0 2 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
0,Int
1) (ATens 1 0 1 0 2 0 AnsVarR -> ATens 1 0 1 0 2 0 AnsVarR)
-> ATens 1 0 1 0 2 0 AnsVarR -> ATens 1 0 1 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(1 + 1) (0 + 1) Ind20 (Tensor2 1 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 1 0 1 0 2 0 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(1 + 1) (0 + 1) Ind20 (Tensor2 1 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 1 0 1 0 2 0 AnsVarR)
-> AbsTensor2
(1 + 1) (0 + 1) Ind20 (Tensor2 1 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 1 0 1 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
2 1 (1 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> AbsTensor4 2 1 1 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
2 1 (1 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> AbsTensor4 2 1 1 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> AbsTensor4
2 1 (1 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> AbsTensor4 2 1 1 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 2 1 2 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 2 1 2 1 2 0 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
1,Int
0) (AbsTensor6 2 1 2 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 2 1 2 1 2 0 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 2 1 2 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 2 1 2 1 2 0 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 1 0 1 0 0 0 AnsVarR
ans6 ATens 1 0 1 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 1 0 1 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interEqn3 Tensor
2
Ind20
(Tensor
1
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
2
Ind20
(Tensor
1
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA
ansatzAB :: ATens 2 0 0 0 0 0 AnsVarR -> ATens 2 0 0 0 2 0 AnsVarR
ansatzAB :: ATens 2 0 0 0 0 0 AnsVarR -> ATens 2 0 0 0 2 0 AnsVarR
ansatzAB ATens 2 0 0 0 0 0 AnsVarR
ans8 = (Int, Int)
-> ATens 2 0 0 0 2 0 AnsVarR -> ATens 2 0 0 0 2 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
symATens1 (Int
0,Int
1) (ATens 2 0 0 0 2 0 AnsVarR -> ATens 2 0 0 0 2 0 AnsVarR)
-> ATens 2 0 0 0 2 0 AnsVarR -> ATens 2 0 0 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 2 0 0 0 2 0 AnsVarR -> ATens 2 0 0 0 2 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
0,Int
1) (ATens 2 0 0 0 2 0 AnsVarR -> ATens 2 0 0 0 2 0 AnsVarR)
-> ATens 2 0 0 0 2 0 AnsVarR -> ATens 2 0 0 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 2 0 0 0 2 0 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(2 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 2 0 0 0 2 0 AnsVarR)
-> AbsTensor2
(2 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 2 0 0 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 3 1 0 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 3 1 0 0 2 0 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
1,Int
0) (AbsTensor6 3 1 0 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 3 1 0 0 2 0 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 3 1 0 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 3 1 0 0 2 0 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 0 0 AnsVarR
ans8 ATens 2 0 0 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea Tensor
3
Ind20
(Tensor
1
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
3
Ind20
(Tensor
1
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA
ansatzAaBb :: ATens 2 0 0 0 2 0 AnsVarR -> ATens 2 0 0 0 4 0 AnsVarR
ansatzAaBb :: ATens 2 0 0 0 2 0 AnsVarR -> ATens 2 0 0 0 4 0 AnsVarR
ansatzAaBb ATens 2 0 0 0 2 0 AnsVarR
ans10_1 = ATens 2 0 0 0 4 0 AnsVarR
block1 ATens 2 0 0 0 4 0 AnsVarR
-> ATens 2 0 0 0 4 0 AnsVarR -> ATens 2 0 0 0 4 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 0 0 4 0 AnsVarR
block2
where
block1 :: ATens 2 0 0 0 4 0 AnsVarR
block1 = (Int, Int)
-> ATens 2 0 0 0 4 0 AnsVarR -> ATens 2 0 0 0 4 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
1,Int
3) (ATens 2 0 0 0 4 0 AnsVarR -> ATens 2 0 0 0 4 0 AnsVarR)
-> ATens 2 0 0 0 4 0 AnsVarR -> ATens 2 0 0 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 4 0 Ind3 AnsVarR))
-> ATens 2 0 0 0 4 0 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(2 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 4 0 Ind3 AnsVarR))
-> ATens 2 0 0 0 4 0 AnsVarR)
-> AbsTensor2
(2 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 4 0 Ind3 AnsVarR))
-> ATens 2 0 0 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 3 1 0 0 (4 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 3 1 0 0 4 0 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
0,Int
0) (AbsTensor6 3 1 0 0 (4 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 3 1 0 0 4 0 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 3 1 0 0 (4 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 3 1 0 0 4 0 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 3 1 0 0 (5 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 3 1 0 0 5 1 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
4,Int
0) (AbsTensor6 3 1 0 0 (5 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 3 1 0 0 5 1 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 3 1 0 0 (5 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 3 1 0 0 5 1 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 2 0 AnsVarR
ans10_1 ATens 2 0 0 0 2 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 2 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational))))
interEqn2 Tensor
3
Ind20
(Tensor
1
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 4 Ind3 (Tensor 2 Ind3 AnsVarR)))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
3
Ind20
(Tensor
1
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 4 Ind3 (Tensor 2 Ind3 AnsVarR))))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA
block2 :: ATens 2 0 0 0 4 0 AnsVarR
block2 = (Int, Int)
-> ATens 2 0 0 0 4 0 AnsVarR -> ATens 2 0 0 0 4 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
0,Int
1) (ATens 2 0 0 0 4 0 AnsVarR -> ATens 2 0 0 0 4 0 AnsVarR)
-> ATens 2 0 0 0 4 0 AnsVarR -> ATens 2 0 0 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 2 0 0 0 4 0 AnsVarR -> ATens 2 0 0 0 4 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
tensorTrans5 (Int
0,Int
2) ATens 2 0 0 0 4 0 AnsVarR
block1
ansatzABI :: ATens 2 0 1 0 0 0 AnsVarR -> ATens 2 0 1 0 2 0 AnsVarR
ansatzABI :: ATens 2 0 1 0 0 0 AnsVarR -> ATens 2 0 1 0 2 0 AnsVarR
ansatzABI ATens 2 0 1 0 0 0 AnsVarR
ans10_2 = ATens 2 0 1 0 2 0 AnsVarR
block1 ATens 2 0 1 0 2 0 AnsVarR
-> ATens 2 0 1 0 2 0 AnsVarR -> ATens 2 0 1 0 2 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 1 0 2 0 AnsVarR
block2
where
block1 :: ATens 2 0 1 0 2 0 AnsVarR
block1 = (Int, Int)
-> ATens 2 0 1 0 2 0 AnsVarR -> ATens 2 0 1 0 2 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
0,Int
1) (ATens 2 0 1 0 2 0 AnsVarR -> ATens 2 0 1 0 2 0 AnsVarR)
-> ATens 2 0 1 0 2 0 AnsVarR -> ATens 2 0 1 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1) (0 + 1) Ind20 (Tensor2 1 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 2 0 1 0 2 0 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(2 + 1) (0 + 1) Ind20 (Tensor2 1 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 2 0 1 0 2 0 AnsVarR)
-> AbsTensor2
(2 + 1) (0 + 1) Ind20 (Tensor2 1 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 2 0 1 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
3 1 (1 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> AbsTensor4 3 1 1 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
3 1 (1 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> AbsTensor4 3 1 1 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> AbsTensor4
3 1 (1 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> AbsTensor4 3 1 1 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 3 1 2 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 3 1 2 1 2 0 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
1,Int
0) (AbsTensor6 3 1 2 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 3 1 2 1 2 0 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 3 1 2 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 3 1 2 1 2 0 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 1 0 0 0 AnsVarR
ans10_2 ATens 2 0 1 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 1 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interEqn3 Tensor
3
Ind20
(Tensor
1
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
3
Ind20
(Tensor
1
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA
block2 :: ATens 2 0 1 0 2 0 AnsVarR
block2 = (Int, Int)
-> ATens 2 0 1 0 2 0 AnsVarR -> ATens 2 0 1 0 2 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
0,Int
1) (ATens 2 0 1 0 2 0 AnsVarR -> ATens 2 0 1 0 2 0 AnsVarR)
-> ATens 2 0 1 0 2 0 AnsVarR -> ATens 2 0 1 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 2 0 1 0 2 0 AnsVarR -> ATens 2 0 1 0 2 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
0,Int
1) (ATens 2 0 1 0 2 0 AnsVarR -> ATens 2 0 1 0 2 0 AnsVarR)
-> ATens 2 0 1 0 2 0 AnsVarR -> ATens 2 0 1 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1) (0 + 1) Ind20 (Tensor2 1 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 2 0 1 0 2 0 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(2 + 1) (0 + 1) Ind20 (Tensor2 1 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 2 0 1 0 2 0 AnsVarR)
-> AbsTensor2
(2 + 1) (0 + 1) Ind20 (Tensor2 1 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 2 0 1 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 3 1 1 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor4 3 1 1 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
1,Int
0) (AbsTensor6 3 1 1 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor4 3 1 1 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> AbsTensor6 3 1 1 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor4 3 1 1 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
forall a b. (a -> b) -> a -> b
$ ATens 2 0 1 0 0 0 AnsVarR
ans10_2 ATens 2 0 1 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 1 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea Tensor
3
Ind20
(Tensor
1
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
3
Ind20
(Tensor
1
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA
ansatzAIBJ :: ATens 2 0 2 0 0 0 AnsVarR -> ATens 2 0 2 0 2 0 AnsVarR
ansatzAIBJ :: ATens 2 0 2 0 0 0 AnsVarR -> ATens 2 0 2 0 2 0 AnsVarR
ansatzAIBJ ATens 2 0 2 0 0 0 AnsVarR
ans12_1 = ATens 2 0 2 0 2 0 AnsVarR
block1 ATens 2 0 2 0 2 0 AnsVarR
-> ATens 2 0 2 0 2 0 AnsVarR -> ATens 2 0 2 0 2 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 2 0 2 0 AnsVarR
block2
where
block1 :: ATens 2 0 2 0 2 0 AnsVarR
block1 = (Int, Int)
-> ATens 2 0 2 0 2 0 AnsVarR -> ATens 2 0 2 0 2 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
0,Int
1) (ATens 2 0 2 0 2 0 AnsVarR -> ATens 2 0 2 0 2 0 AnsVarR)
-> ATens 2 0 2 0 2 0 AnsVarR -> ATens 2 0 2 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1) (0 + 1) Ind20 (Tensor2 2 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 2 0 2 0 2 0 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(2 + 1) (0 + 1) Ind20 (Tensor2 2 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 2 0 2 0 2 0 AnsVarR)
-> AbsTensor2
(2 + 1) (0 + 1) Ind20 (Tensor2 2 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 2 0 2 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
3 1 (2 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> AbsTensor4 3 1 2 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
3 1 (2 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> AbsTensor4 3 1 2 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> AbsTensor4
3 1 (2 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> AbsTensor4 3 1 2 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 3 1 3 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 3 1 3 1 2 0 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
1,Int
0) (AbsTensor6 3 1 3 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 3 1 3 1 2 0 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 3 1 3 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 3 1 3 1 2 0 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 2 0 0 0 AnsVarR
ans12_1 ATens 2 0 2 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 2 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interEqn3 Tensor
3
Ind20
(Tensor
1
Ind20
(Tensor
3 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
3
Ind20
(Tensor
1
Ind20
(Tensor
3 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA
block2 :: ATens 2 0 2 0 2 0 AnsVarR
block2 = (Int, Int)
-> ATens 2 0 2 0 2 0 AnsVarR -> ATens 2 0 2 0 2 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
0,Int
1) (ATens 2 0 2 0 2 0 AnsVarR -> ATens 2 0 2 0 2 0 AnsVarR)
-> ATens 2 0 2 0 2 0 AnsVarR -> ATens 2 0 2 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 2 0 2 0 2 0 AnsVarR -> ATens 2 0 2 0 2 0 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor3 n1 n2 n3 k1 k2 v -> AbsTensor3 n1 n2 n3 k1 k2 v
tensorTrans3 (Int
0,Int
1) ATens 2 0 2 0 2 0 AnsVarR
block1
ansatzABC :: ATens 3 0 0 0 0 0 AnsVarR -> ATens 3 0 0 0 2 0 AnsVarR
ansatzABC :: ATens 3 0 0 0 0 0 AnsVarR -> ATens 3 0 0 0 2 0 AnsVarR
ansatzABC ATens 3 0 0 0 0 0 AnsVarR
ans12 = ATens 3 0 0 0 2 0 AnsVarR
block1 ATens 3 0 0 0 2 0 AnsVarR
-> ATens 3 0 0 0 2 0 AnsVarR -> ATens 3 0 0 0 2 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 0 0 2 0 AnsVarR
block2 ATens 3 0 0 0 2 0 AnsVarR
-> ATens 3 0 0 0 2 0 AnsVarR -> ATens 3 0 0 0 2 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 0 0 2 0 AnsVarR
block3
where
block1 :: ATens 3 0 0 0 2 0 AnsVarR
block1 = (Int, Int)
-> ATens 3 0 0 0 2 0 AnsVarR -> ATens 3 0 0 0 2 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
0,Int
1) (ATens 3 0 0 0 2 0 AnsVarR -> ATens 3 0 0 0 2 0 AnsVarR)
-> ATens 3 0 0 0 2 0 AnsVarR -> ATens 3 0 0 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 3 0 0 0 2 0 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 3 0 0 0 2 0 AnsVarR)
-> AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 3 0 0 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 4 1 0 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 0 0 2 0 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
1,Int
0) (AbsTensor6 4 1 0 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 0 0 2 0 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 4 1 0 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 0 0 2 0 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 3 0 0 0 0 0 AnsVarR
ans12 ATens 3 0 0 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 0 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea Tensor
4
Ind20
(Tensor
1
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
4
Ind20
(Tensor
1
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA
block2 :: ATens 3 0 0 0 2 0 AnsVarR
block2 = (Int, Int)
-> ATens 3 0 0 0 2 0 AnsVarR -> ATens 3 0 0 0 2 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
1,Int
2) ATens 3 0 0 0 2 0 AnsVarR
block1
block3 :: ATens 3 0 0 0 2 0 AnsVarR
block3 = (Int, Int)
-> ATens 3 0 0 0 2 0 AnsVarR -> ATens 3 0 0 0 2 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
0,Int
2) ATens 3 0 0 0 2 0 AnsVarR
block1
ansatzABbCc :: ATens 3 0 0 0 2 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR
ansatzABbCc :: ATens 3 0 0 0 2 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR
ansatzABbCc ATens 3 0 0 0 2 0 AnsVarR
ans14_1 = ATens 3 0 0 0 4 0 AnsVarR
block1 ATens 3 0 0 0 4 0 AnsVarR
-> ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 0 0 4 0 AnsVarR
block2 ATens 3 0 0 0 4 0 AnsVarR
-> ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 0 0 4 0 AnsVarR
block3
where
block1 :: ATens 3 0 0 0 4 0 AnsVarR
block1 = (Int, Int)
-> ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
1,Int
3) (ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR)
-> ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 4 0 Ind3 AnsVarR))
-> ATens 3 0 0 0 4 0 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 4 0 Ind3 AnsVarR))
-> ATens 3 0 0 0 4 0 AnsVarR)
-> AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 4 0 Ind3 AnsVarR))
-> ATens 3 0 0 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 4 1 0 0 (4 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 0 0 4 0 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
0,Int
0) (AbsTensor6 4 1 0 0 (4 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 0 0 4 0 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 4 1 0 0 (4 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 0 0 4 0 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 4 1 0 0 (5 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 0 0 5 1 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
4,Int
0) (AbsTensor6 4 1 0 0 (5 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 0 0 5 1 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 4 1 0 0 (5 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 0 0 5 1 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 3 0 0 0 2 0 AnsVarR
ans14_1 ATens 3 0 0 0 2 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 0 0 2 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational))))
interEqn2 Tensor
4
Ind20
(Tensor
1
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 4 Ind3 (Tensor 2 Ind3 AnsVarR)))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
4
Ind20
(Tensor
1
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 4 Ind3 (Tensor 2 Ind3 AnsVarR))))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA
block2 :: ATens 3 0 0 0 4 0 AnsVarR
block2 = (Int, Int)
-> ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
1,Int
2) (ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR)
-> ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
tensorTrans5 (Int
0,Int
2) ATens 3 0 0 0 4 0 AnsVarR
block1
block3 :: ATens 3 0 0 0 4 0 AnsVarR
block3 = (Int, Int)
-> ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
tensorTrans5 (Int
1,Int
2) (ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR)
-> ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
0,Int
1) (ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR)
-> ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
1,Int
2) (ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR)
-> ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
2,Int
3) (ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR)
-> ATens 3 0 0 0 4 0 AnsVarR -> ATens 3 0 0 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 4 0 Ind3 AnsVarR))
-> ATens 3 0 0 0 4 0 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 4 0 Ind3 AnsVarR))
-> ATens 3 0 0 0 4 0 AnsVarR)
-> AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 4 0 Ind3 AnsVarR))
-> ATens 3 0 0 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 4 1 0 0 (4 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 0 0 4 0 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
3,Int
0) (AbsTensor6 4 1 0 0 (4 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 0 0 4 0 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 4 1 0 0 (4 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 0 0 4 0 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 3 0 0 0 2 0 AnsVarR
ans14_1 ATens 3 0 0 0 2 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 0 0 2 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea Tensor
4
Ind20
(Tensor
1
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
4
Ind20
(Tensor
1
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA
ansatzABCI :: ATens 3 0 1 0 0 0 AnsVarR -> ATens 3 0 1 0 2 0 AnsVarR
ansatzABCI :: ATens 3 0 1 0 0 0 AnsVarR -> ATens 3 0 1 0 2 0 AnsVarR
ansatzABCI ATens 3 0 1 0 0 0 AnsVarR
ans14_2 = ATens 3 0 1 0 2 0 AnsVarR
block1 ATens 3 0 1 0 2 0 AnsVarR
-> ATens 3 0 1 0 2 0 AnsVarR -> ATens 3 0 1 0 2 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 1 0 2 0 AnsVarR
block2
where
block1 :: ATens 3 0 1 0 2 0 AnsVarR
block1 = (Int, Int)
-> ATens 3 0 1 0 2 0 AnsVarR -> ATens 3 0 1 0 2 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
symATens1 (Int
0,Int
2) (ATens 3 0 1 0 2 0 AnsVarR -> ATens 3 0 1 0 2 0 AnsVarR)
-> ATens 3 0 1 0 2 0 AnsVarR -> ATens 3 0 1 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 1 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 3 0 1 0 2 0 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 1 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 3 0 1 0 2 0 AnsVarR)
-> AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 1 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 3 0 1 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 3 0 1 0 0 0 AnsVarR
ans14_2 ATens 3 0 1 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 1 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* (Int, Int)
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
0,Int
1) ((Int, Int)
-> AbsTensor6
1 1 0 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 (SField Rational)
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
1,Int
0) (AbsTensor6
1 1 0 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 (SField Rational)
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
-> AbsTensor6
1 1 0 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 (SField Rational)
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
forall a b. (a -> b) -> a -> b
$ Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA)
block2 :: ATens 3 0 1 0 2 0 AnsVarR
block2 = (Int, Int)
-> ATens 3 0 1 0 2 0 AnsVarR -> ATens 3 0 1 0 2 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
1,Int
2) (ATens 3 0 1 0 2 0 AnsVarR -> ATens 3 0 1 0 2 0 AnsVarR)
-> ATens 3 0 1 0 2 0 AnsVarR -> ATens 3 0 1 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
3 0 (1 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> ATens 3 0 1 0 2 0 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
3 0 (1 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> ATens 3 0 1 0 2 0 AnsVarR)
-> AbsTensor4
3 0 (1 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> ATens 3 0 1 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 2 1 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> AbsTensor2
3 0 Ind20 (Tensor2 2 1 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
2,Int
0) (AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 2 1 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> AbsTensor2
3 0 Ind20 (Tensor2 2 1 Ind9 (Tensor2 2 0 Ind3 AnsVarR)))
-> AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 2 1 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> AbsTensor2
3 0 Ind20 (Tensor2 2 1 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
forall a b. (a -> b) -> a -> b
$ ATens 3 0 1 0 0 0 AnsVarR
ans14_2 ATens 3 0 1 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 1 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* (Int, Int)
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
0,Int
1) ((Int, Int)
-> AbsTensor6
1 1 1 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 (SField Rational)
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
1,Int
0) (AbsTensor6
1 1 1 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 (SField Rational)
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
-> AbsTensor6
1 1 1 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 (SField Rational)
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
forall a b. (a -> b) -> a -> b
$ Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interEqn3 Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA)
ansatzAaBbCI :: ATens 3 0 1 0 2 0 AnsVarR -> ATens 3 0 1 0 4 0 AnsVarR
ansatzAaBbCI :: ATens 3 0 1 0 2 0 AnsVarR -> ATens 3 0 1 0 4 0 AnsVarR
ansatzAaBbCI ATens 3 0 1 0 2 0 AnsVarR
ans16_1 = ATens 3 0 1 0 4 0 AnsVarR
block1 ATens 3 0 1 0 4 0 AnsVarR
-> ATens 3 0 1 0 4 0 AnsVarR -> ATens 3 0 1 0 4 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 1 0 4 0 AnsVarR
block2 ATens 3 0 1 0 4 0 AnsVarR
-> ATens 3 0 1 0 4 0 AnsVarR -> ATens 3 0 1 0 4 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 1 0 4 0 AnsVarR
block3
where
block1 :: ATens 3 0 1 0 4 0 AnsVarR
block1 = (Int, Int)
-> ATens 3 0 1 0 4 0 AnsVarR -> ATens 3 0 1 0 4 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
1,Int
3) (ATens 3 0 1 0 4 0 AnsVarR -> ATens 3 0 1 0 4 0 AnsVarR)
-> ATens 3 0 1 0 4 0 AnsVarR -> ATens 3 0 1 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 1 0 Ind9 (Tensor2 4 0 Ind3 AnsVarR))
-> ATens 3 0 1 0 4 0 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 1 0 Ind9 (Tensor2 4 0 Ind3 AnsVarR))
-> ATens 3 0 1 0 4 0 AnsVarR)
-> AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 1 0 Ind9 (Tensor2 4 0 Ind3 AnsVarR))
-> ATens 3 0 1 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 4 1 1 0 (4 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 1 0 4 0 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
0,Int
0) (AbsTensor6 4 1 1 0 (4 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 1 0 4 0 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 4 1 1 0 (4 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 1 0 4 0 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 4 1 1 0 (5 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 1 0 5 1 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
4,Int
0) (AbsTensor6 4 1 1 0 (5 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 1 0 5 1 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 4 1 1 0 (5 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 1 0 5 1 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 3 0 1 0 2 0 AnsVarR
ans16_1 ATens 3 0 1 0 2 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 1 0 2 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational))))
interEqn2 Tensor
4
Ind20
(Tensor
1
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 4 Ind3 (Tensor 2 Ind3 AnsVarR)))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
4
Ind20
(Tensor
1
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 4 Ind3 (Tensor 2 Ind3 AnsVarR))))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA
block2 :: ATens 3 0 1 0 4 0 AnsVarR
block2 = (Int, Int)
-> ATens 3 0 1 0 4 0 AnsVarR -> ATens 3 0 1 0 4 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
0,Int
2) (ATens 3 0 1 0 4 0 AnsVarR -> ATens 3 0 1 0 4 0 AnsVarR)
-> ATens 3 0 1 0 4 0 AnsVarR -> ATens 3 0 1 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 3 0 1 0 4 0 AnsVarR -> ATens 3 0 1 0 4 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
tensorTrans5 (Int
0,Int
2) ATens 3 0 1 0 4 0 AnsVarR
block1
block3 :: ATens 3 0 1 0 4 0 AnsVarR
block3 = (Int, Int)
-> ATens 3 0 1 0 4 0 AnsVarR -> ATens 3 0 1 0 4 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
tensorTrans5 (Int
1,Int
2) (ATens 3 0 1 0 4 0 AnsVarR -> ATens 3 0 1 0 4 0 AnsVarR)
-> ATens 3 0 1 0 4 0 AnsVarR -> ATens 3 0 1 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 3 0 1 0 4 0 AnsVarR -> ATens 3 0 1 0 4 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
1,Int
2) (ATens 3 0 1 0 4 0 AnsVarR -> ATens 3 0 1 0 4 0 AnsVarR)
-> ATens 3 0 1 0 4 0 AnsVarR -> ATens 3 0 1 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 3 0 1 0 4 0 AnsVarR -> ATens 3 0 1 0 4 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
2,Int
3) (ATens 3 0 1 0 4 0 AnsVarR -> ATens 3 0 1 0 4 0 AnsVarR)
-> ATens 3 0 1 0 4 0 AnsVarR -> ATens 3 0 1 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
3 0 (1 + 1) (0 + 1) Ind20 Ind9 (Tensor2 4 0 Ind3 AnsVarR)
-> ATens 3 0 1 0 4 0 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
3 0 (1 + 1) (0 + 1) Ind20 Ind9 (Tensor2 4 0 Ind3 AnsVarR)
-> ATens 3 0 1 0 4 0 AnsVarR)
-> AbsTensor4
3 0 (1 + 1) (0 + 1) Ind20 Ind9 (Tensor2 4 0 Ind3 AnsVarR)
-> ATens 3 0 1 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 2 1 Ind9 (Tensor2 4 0 Ind3 AnsVarR))
-> AbsTensor2
3 0 Ind20 (Tensor2 2 1 Ind9 (Tensor2 4 0 Ind3 AnsVarR))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
2,Int
0) (AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 2 1 Ind9 (Tensor2 4 0 Ind3 AnsVarR))
-> AbsTensor2
3 0 Ind20 (Tensor2 2 1 Ind9 (Tensor2 4 0 Ind3 AnsVarR)))
-> AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 2 1 Ind9 (Tensor2 4 0 Ind3 AnsVarR))
-> AbsTensor2
3 0 Ind20 (Tensor2 2 1 Ind9 (Tensor2 4 0 Ind3 AnsVarR))
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 4 1 2 1 (4 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 2 1 4 0 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
4,Int
0) (AbsTensor6 4 1 2 1 (4 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 2 1 4 0 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 4 1 2 1 (4 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 2 1 4 0 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 3 0 1 0 2 0 AnsVarR
ans16_1 ATens 3 0 1 0 2 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 1 0 2 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interEqn3 Tensor
4
Ind20
(Tensor
1
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
4
Ind20
(Tensor
1
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA
ansatzABICJ :: ATens 3 0 2 0 0 0 AnsVarR -> ATens 3 0 2 0 2 0 AnsVarR
ansatzABICJ :: ATens 3 0 2 0 0 0 AnsVarR -> ATens 3 0 2 0 2 0 AnsVarR
ansatzABICJ ATens 3 0 2 0 0 0 AnsVarR
ans16_2 = ATens 3 0 2 0 2 0 AnsVarR
block1 ATens 3 0 2 0 2 0 AnsVarR
-> ATens 3 0 2 0 2 0 AnsVarR -> ATens 3 0 2 0 2 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 2 0 2 0 AnsVarR
block2 ATens 3 0 2 0 2 0 AnsVarR
-> ATens 3 0 2 0 2 0 AnsVarR -> ATens 3 0 2 0 2 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 2 0 2 0 AnsVarR
block3
where
block1 :: ATens 3 0 2 0 2 0 AnsVarR
block1 = (Int, Int)
-> ATens 3 0 2 0 2 0 AnsVarR -> ATens 3 0 2 0 2 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
0,Int
1) (ATens 3 0 2 0 2 0 AnsVarR -> ATens 3 0 2 0 2 0 AnsVarR)
-> ATens 3 0 2 0 2 0 AnsVarR -> ATens 3 0 2 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 2 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 3 0 2 0 2 0 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 2 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 3 0 2 0 2 0 AnsVarR)
-> AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 2 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 3 0 2 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
4 1 (2 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> AbsTensor4 4 1 2 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
4 1 (2 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> AbsTensor4 4 1 2 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> AbsTensor4
4 1 (2 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> AbsTensor4 4 1 2 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 4 1 3 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 3 1 2 0 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
1,Int
0) (AbsTensor6 4 1 3 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 3 1 2 0 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 4 1 3 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 4 1 3 1 2 0 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 3 0 2 0 0 0 AnsVarR
ans16_2 ATens 3 0 2 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 2 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interEqn3 Tensor
4
Ind20
(Tensor
1
Ind20
(Tensor
3 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
4
Ind20
(Tensor
1
Ind20
(Tensor
3 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA
block2 :: ATens 3 0 2 0 2 0 AnsVarR
block2 = (Int, Int)
-> ATens 3 0 2 0 2 0 AnsVarR -> ATens 3 0 2 0 2 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
1,Int
2) (ATens 3 0 2 0 2 0 AnsVarR -> ATens 3 0 2 0 2 0 AnsVarR)
-> ATens 3 0 2 0 2 0 AnsVarR -> ATens 3 0 2 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 3 0 2 0 2 0 AnsVarR -> ATens 3 0 2 0 2 0 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor3 n1 n2 n3 k1 k2 v -> AbsTensor3 n1 n2 n3 k1 k2 v
tensorTrans3 (Int
0,Int
1) ATens 3 0 2 0 2 0 AnsVarR
block1
block3 :: ATens 3 0 2 0 2 0 AnsVarR
block3 = (Int, Int)
-> ATens 3 0 2 0 2 0 AnsVarR -> ATens 3 0 2 0 2 0 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor3 n1 n2 n3 k1 k2 v -> AbsTensor3 n1 n2 n3 k1 k2 v
tensorTrans3 (Int
0,Int
1) (ATens 3 0 2 0 2 0 AnsVarR -> ATens 3 0 2 0 2 0 AnsVarR)
-> ATens 3 0 2 0 2 0 AnsVarR -> ATens 3 0 2 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 3 0 2 0 2 0 AnsVarR -> ATens 3 0 2 0 2 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
0,Int
2) (ATens 3 0 2 0 2 0 AnsVarR -> ATens 3 0 2 0 2 0 AnsVarR)
-> ATens 3 0 2 0 2 0 AnsVarR -> ATens 3 0 2 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 3 0 2 0 2 0 AnsVarR -> ATens 3 0 2 0 2 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
0,Int
1) (ATens 3 0 2 0 2 0 AnsVarR -> ATens 3 0 2 0 2 0 AnsVarR)
-> ATens 3 0 2 0 2 0 AnsVarR -> ATens 3 0 2 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 2 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 3 0 2 0 2 0 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 2 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 3 0 2 0 2 0 AnsVarR)
-> AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 2 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 3 0 2 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 4 1 2 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor4 4 1 2 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
1,Int
0) (AbsTensor6 4 1 2 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor4 4 1 2 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> AbsTensor6 4 1 2 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor4 4 1 2 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
forall a b. (a -> b) -> a -> b
$ ATens 3 0 2 0 0 0 AnsVarR
ans16_2 ATens 3 0 2 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 2 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea Tensor
4
Ind20
(Tensor
1
Ind20
(Tensor
2 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
4
Ind20
(Tensor
1
Ind20
(Tensor
2 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA
ansatzAIBJCK :: ATens 3 0 3 0 0 0 AnsVarR -> ATens 3 0 3 0 2 0 AnsVarR
ansatzAIBJCK :: ATens 3 0 3 0 0 0 AnsVarR -> ATens 3 0 3 0 2 0 AnsVarR
ansatzAIBJCK ATens 3 0 3 0 0 0 AnsVarR
ans18 = ATens 3 0 3 0 2 0 AnsVarR
block1 ATens 3 0 3 0 2 0 AnsVarR
-> ATens 3 0 3 0 2 0 AnsVarR -> ATens 3 0 3 0 2 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 3 0 2 0 AnsVarR
block2 ATens 3 0 3 0 2 0 AnsVarR
-> ATens 3 0 3 0 2 0 AnsVarR -> ATens 3 0 3 0 2 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 3 0 2 0 AnsVarR
block3
where
block1 :: ATens 3 0 3 0 2 0 AnsVarR
block1 = (Int, Int)
-> AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 3 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 3 0 3 0 2 0 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 3 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 3 0 3 0 2 0 AnsVarR)
-> AbsTensor2
(3 + 1) (0 + 1) Ind20 (Tensor2 3 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 3 0 3 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
4 1 (3 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> AbsTensor4 4 1 3 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
4 1 (3 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> AbsTensor4 4 1 3 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> AbsTensor4
4 1 (3 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> AbsTensor4 4 1 3 0 Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
forall a b. (a -> b) -> a -> b
$ ATens 3 0 3 0 0 0 AnsVarR
ans18 ATens 3 0 3 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 3 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
forall v k1 k2 k3 (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TAdd v, TIndex k1, TIndex k2, TIndex k3) =>
AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
removeZeros6 ((Int, Int)
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
0,Int
1) (Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6
1 1 1 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 (SField Rational)
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
1,Int
0) (AbsTensor6
1 1 1 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 (SField Rational)
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
-> AbsTensor6
1 1 1 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 (SField Rational)
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
forall a b. (a -> b) -> a -> b
$ Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interEqn3 Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA)
block2 :: ATens 3 0 3 0 2 0 AnsVarR
block2 = (Int, Int)
-> ATens 3 0 3 0 2 0 AnsVarR -> ATens 3 0 3 0 2 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
0,Int
2) (ATens 3 0 3 0 2 0 AnsVarR -> ATens 3 0 3 0 2 0 AnsVarR)
-> ATens 3 0 3 0 2 0 AnsVarR -> ATens 3 0 3 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 3 0 3 0 2 0 AnsVarR -> ATens 3 0 3 0 2 0 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor3 n1 n2 n3 k1 k2 v -> AbsTensor3 n1 n2 n3 k1 k2 v
tensorTrans3 (Int
0,Int
2) ATens 3 0 3 0 2 0 AnsVarR
block1
block3 :: ATens 3 0 3 0 2 0 AnsVarR
block3 = (Int, Int)
-> ATens 3 0 3 0 2 0 AnsVarR -> ATens 3 0 3 0 2 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
1,Int
2) (ATens 3 0 3 0 2 0 AnsVarR -> ATens 3 0 3 0 2 0 AnsVarR)
-> ATens 3 0 3 0 2 0 AnsVarR -> ATens 3 0 3 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 3 0 3 0 2 0 AnsVarR -> ATens 3 0 3 0 2 0 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor3 n1 n2 n3 k1 k2 v -> AbsTensor3 n1 n2 n3 k1 k2 v
tensorTrans3 (Int
1,Int
2) ATens 3 0 3 0 2 0 AnsVarR
block1
ansatzABCD :: ATens 4 0 0 0 0 0 AnsVarR -> ATens 4 0 0 0 2 0 AnsVarR
ansatzABCD :: ATens 4 0 0 0 0 0 AnsVarR -> ATens 4 0 0 0 2 0 AnsVarR
ansatzABCD ATens 4 0 0 0 0 0 AnsVarR
ans16 = ATens 4 0 0 0 2 0 AnsVarR
block1 ATens 4 0 0 0 2 0 AnsVarR
-> ATens 4 0 0 0 2 0 AnsVarR -> ATens 4 0 0 0 2 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 4 0 0 0 2 0 AnsVarR
block2 ATens 4 0 0 0 2 0 AnsVarR
-> ATens 4 0 0 0 2 0 AnsVarR -> ATens 4 0 0 0 2 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 4 0 0 0 2 0 AnsVarR
block3 ATens 4 0 0 0 2 0 AnsVarR
-> ATens 4 0 0 0 2 0 AnsVarR -> ATens 4 0 0 0 2 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 4 0 0 0 2 0 AnsVarR
block4
where
block1 :: ATens 4 0 0 0 2 0 AnsVarR
block1 = (Int, Int)
-> ATens 4 0 0 0 2 0 AnsVarR -> ATens 4 0 0 0 2 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
0,Int
1) (ATens 4 0 0 0 2 0 AnsVarR -> ATens 4 0 0 0 2 0 AnsVarR)
-> ATens 4 0 0 0 2 0 AnsVarR -> ATens 4 0 0 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(4 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 4 0 0 0 2 0 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(4 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 4 0 0 0 2 0 AnsVarR)
-> AbsTensor2
(4 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 4 0 0 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 5 1 0 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 5 1 0 0 2 0 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
1,Int
0) (AbsTensor6 5 1 0 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 5 1 0 0 2 0 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 5 1 0 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 5 1 0 0 2 0 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 4 0 0 0 0 0 AnsVarR
ans16 ATens 4 0 0 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 4 0 0 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea Tensor
5
Ind20
(Tensor
1
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
5
Ind20
(Tensor
1
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA
block2 :: ATens 4 0 0 0 2 0 AnsVarR
block2 = (Int, Int)
-> ATens 4 0 0 0 2 0 AnsVarR -> ATens 4 0 0 0 2 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
0,Int
3) ATens 4 0 0 0 2 0 AnsVarR
block1
block3 :: ATens 4 0 0 0 2 0 AnsVarR
block3 = (Int, Int)
-> ATens 4 0 0 0 2 0 AnsVarR -> ATens 4 0 0 0 2 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
1,Int
3) ATens 4 0 0 0 2 0 AnsVarR
block1
block4 :: ATens 4 0 0 0 2 0 AnsVarR
block4 = (Int, Int)
-> ATens 4 0 0 0 2 0 AnsVarR -> ATens 4 0 0 0 2 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
2,Int
3) ATens 4 0 0 0 2 0 AnsVarR
block1
ansatzABCDJ :: ATens 4 0 1 0 0 0 AnsVarR -> ATens 4 0 1 0 2 0 AnsVarR
ansatzABCDJ :: ATens 4 0 1 0 0 0 AnsVarR -> ATens 4 0 1 0 2 0 AnsVarR
ansatzABCDJ ATens 4 0 1 0 0 0 AnsVarR
ans18_2 = ATens 4 0 1 0 2 0 AnsVarR
block1 ATens 4 0 1 0 2 0 AnsVarR
-> ATens 4 0 1 0 2 0 AnsVarR -> ATens 4 0 1 0 2 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 4 0 1 0 2 0 AnsVarR
block2 ATens 4 0 1 0 2 0 AnsVarR
-> ATens 4 0 1 0 2 0 AnsVarR -> ATens 4 0 1 0 2 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 4 0 1 0 2 0 AnsVarR
block3 ATens 4 0 1 0 2 0 AnsVarR
-> ATens 4 0 1 0 2 0 AnsVarR -> ATens 4 0 1 0 2 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 4 0 1 0 2 0 AnsVarR
block4
where
block1 :: ATens 4 0 1 0 2 0 AnsVarR
block1 = (Int, Int)
-> ATens 4 0 1 0 2 0 AnsVarR -> ATens 4 0 1 0 2 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
0,Int
1) (ATens 4 0 1 0 2 0 AnsVarR -> ATens 4 0 1 0 2 0 AnsVarR)
-> ATens 4 0 1 0 2 0 AnsVarR -> ATens 4 0 1 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(4 + 1) (0 + 1) Ind20 (Tensor2 1 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 4 0 1 0 2 0 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(4 + 1) (0 + 1) Ind20 (Tensor2 1 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 4 0 1 0 2 0 AnsVarR)
-> AbsTensor2
(4 + 1) (0 + 1) Ind20 (Tensor2 1 0 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> ATens 4 0 1 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 5 1 1 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 5 1 1 0 2 0 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
1,Int
0) (AbsTensor6 5 1 1 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 5 1 1 0 2 0 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 5 1 1 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 5 1 1 0 2 0 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 4 0 1 0 0 0 AnsVarR
ans18_2 ATens 4 0 1 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 4 0 1 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea Tensor
5
Ind20
(Tensor
1
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
5
Ind20
(Tensor
1
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA
block2 :: ATens 4 0 1 0 2 0 AnsVarR
block2 = (Int, Int)
-> ATens 4 0 1 0 2 0 AnsVarR -> ATens 4 0 1 0 2 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
0,Int
3) ATens 4 0 1 0 2 0 AnsVarR
block1
block3 :: ATens 4 0 1 0 2 0 AnsVarR
block3 = (Int, Int)
-> ATens 4 0 1 0 2 0 AnsVarR -> ATens 4 0 1 0 2 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
1,Int
3) ATens 4 0 1 0 2 0 AnsVarR
block1
block4 :: ATens 4 0 1 0 2 0 AnsVarR
block4 = (Int, Int)
-> ATens 4 0 1 0 2 0 AnsVarR -> ATens 4 0 1 0 2 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
2,Int
3) (ATens 4 0 1 0 2 0 AnsVarR -> ATens 4 0 1 0 2 0 AnsVarR)
-> ATens 4 0 1 0 2 0 AnsVarR -> ATens 4 0 1 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 4 0 1 0 2 0 AnsVarR -> ATens 4 0 1 0 2 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
0,Int
1) (ATens 4 0 1 0 2 0 AnsVarR -> ATens 4 0 1 0 2 0 AnsVarR)
-> ATens 4 0 1 0 2 0 AnsVarR -> ATens 4 0 1 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
4 0 (1 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> ATens 4 0 1 0 2 0 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
4 0 (1 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> ATens 4 0 1 0 2 0 AnsVarR)
-> AbsTensor4
4 0 (1 + 1) (0 + 1) Ind20 Ind9 (Tensor2 2 0 Ind3 AnsVarR)
-> ATens 4 0 1 0 2 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(4 + 1) (0 + 1) Ind20 (Tensor2 2 1 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> AbsTensor2
4 0 Ind20 (Tensor2 2 1 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
3,Int
0) (AbsTensor2
(4 + 1) (0 + 1) Ind20 (Tensor2 2 1 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> AbsTensor2
4 0 Ind20 (Tensor2 2 1 Ind9 (Tensor2 2 0 Ind3 AnsVarR)))
-> AbsTensor2
(4 + 1) (0 + 1) Ind20 (Tensor2 2 1 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
-> AbsTensor2
4 0 Ind20 (Tensor2 2 1 Ind9 (Tensor2 2 0 Ind3 AnsVarR))
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 5 1 2 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 5 1 2 1 2 0 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
1,Int
0) (AbsTensor6 5 1 2 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 5 1 2 1 2 0 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 5 1 2 1 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 5 1 2 1 2 0 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 4 0 1 0 0 0 AnsVarR
ans18_2 ATens 4 0 1 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 4 0 1 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interEqn3 Tensor
5
Ind20
(Tensor
1
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
5
Ind20
(Tensor
1
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA
ansatzABCcDd :: ATens 4 0 0 0 2 0 AnsVarR -> ATens 4 0 0 0 4 0 AnsVarR
ansatzABCcDd :: ATens 4 0 0 0 2 0 AnsVarR -> ATens 4 0 0 0 4 0 AnsVarR
ansatzABCcDd ATens 4 0 0 0 2 0 AnsVarR
ans18_3 = ATens 4 0 0 0 4 0 AnsVarR
block1 ATens 4 0 0 0 4 0 AnsVarR
-> ATens 4 0 0 0 4 0 AnsVarR -> ATens 4 0 0 0 4 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 4 0 0 0 4 0 AnsVarR
block2 ATens 4 0 0 0 4 0 AnsVarR
-> ATens 4 0 0 0 4 0 AnsVarR -> ATens 4 0 0 0 4 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 4 0 0 0 4 0 AnsVarR
block3 ATens 4 0 0 0 4 0 AnsVarR
-> ATens 4 0 0 0 4 0 AnsVarR -> ATens 4 0 0 0 4 0 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 4 0 0 0 4 0 AnsVarR
block4
where
block1 :: ATens 4 0 0 0 4 0 AnsVarR
block1 = (Int, Int)
-> AbsTensor2
(4 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 4 0 Ind3 AnsVarR))
-> ATens 4 0 0 0 4 0 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(4 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 4 0 Ind3 AnsVarR))
-> ATens 4 0 0 0 4 0 AnsVarR)
-> AbsTensor2
(4 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 4 0 Ind3 AnsVarR))
-> ATens 4 0 0 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 4 0 0 0 2 0 AnsVarR
ans18_3 ATens 4 0 0 0 2 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(ATens 4 0 0 0 2 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* (Int, Int)
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
0,Int
1) ((Int, Int)
-> AbsTensor6
1 1 0 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 (SField Rational)
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
1,Int
0) (AbsTensor6
1 1 0 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 (SField Rational)
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
-> AbsTensor6
1 1 0 0 (2 + 1) (0 + 1) Ind20 Ind9 Ind3 (SField Rational)
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
forall a b. (a -> b) -> a -> b
$ Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA)
block2 :: ATens 4 0 0 0 4 0 AnsVarR
block2 = (Int, Int)
-> ATens 4 0 0 0 4 0 AnsVarR -> ATens 4 0 0 0 4 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
0,Int
3) ATens 4 0 0 0 4 0 AnsVarR
block1
block3' :: ATens 4 0 0 0 4 0 AnsVarR
block3' = (Int, Int)
-> AbsTensor6 4 0 0 0 (4 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> ATens 4 0 0 0 4 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
0,Int
0) (AbsTensor6 4 0 0 0 (4 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> ATens 4 0 0 0 4 0 AnsVarR)
-> AbsTensor6 4 0 0 0 (4 + 1) (0 + 1) Ind20 Ind9 Ind3 AnsVarR
-> ATens 4 0 0 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(4 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 5 1 Ind3 AnsVarR))
-> AbsTensor2
4 0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 5 1 Ind3 AnsVarR))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
2,Int
0) (AbsTensor2
(4 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 5 1 Ind3 AnsVarR))
-> AbsTensor2
4 0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 5 1 Ind3 AnsVarR)))
-> AbsTensor2
(4 + 1) (0 + 1) Ind20 (Tensor2 0 0 Ind9 (Tensor2 5 1 Ind3 AnsVarR))
-> AbsTensor2
4 0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 5 1 Ind3 AnsVarR))
forall a b. (a -> b) -> a -> b
$ ATens 4 0 0 0 2 0 AnsVarR
ans18_3 ATens 4 0 0 0 2 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1
Ind20
(Tensor2
0 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))))
-> TProd
(ATens 4 0 0 0 2 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1
Ind20
(Tensor2
0 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational))))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* (Int, Int)
-> Tensor
1
Ind20
(Tensor
1
Ind20
(Tensor2
0 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))))
-> Tensor
1
Ind20
(Tensor
1
Ind20
(Tensor2
0 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))))
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
aSymATens5 (Int
0,Int
2) ((Int, Int)
-> AbsTensor6
1 1 0 0 (3 + 1) (1 + 1) Ind20 Ind9 Ind3 (SField Rational)
-> Tensor
1
Ind20
(Tensor
1
Ind20
(Tensor2
0 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))))
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
2,Int
0) (AbsTensor6
1 1 0 0 (3 + 1) (1 + 1) Ind20 Ind9 Ind3 (SField Rational)
-> Tensor
1
Ind20
(Tensor
1
Ind20
(Tensor2
0 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational))))))
-> AbsTensor6
1 1 0 0 (3 + 1) (1 + 1) Ind20 Ind9 Ind3 (SField Rational)
-> Tensor
1
Ind20
(Tensor
1
Ind20
(Tensor2
0 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))))
forall a b. (a -> b) -> a -> b
$ Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational))))
interEqn2 Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational))))
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
-> TProd
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational)))))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 0 Ind3 (SField Rational))))
invEtaA)
block3 :: ATens 4 0 0 0 4 0 AnsVarR
block3 = [Int] -> ATens 4 0 0 0 4 0 AnsVarR -> ATens 4 0 0 0 4 0 AnsVarR
forall (n1 :: Nat) k1 v.
(KnownNat n1, TIndex k1, TAdd v) =>
[Int] -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
resortTens1 [Int
3,Int
0,Int
2,Int
1] (ATens 4 0 0 0 4 0 AnsVarR -> ATens 4 0 0 0 4 0 AnsVarR)
-> ATens 4 0 0 0 4 0 AnsVarR -> ATens 4 0 0 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ [Int] -> ATens 4 0 0 0 4 0 AnsVarR -> ATens 4 0 0 0 4 0 AnsVarR
forall (n5 :: Nat) k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat)
(n4 :: Nat).
(KnownNat n5, TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
[Int]
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
resortTens5 [Int
1,Int
2,Int
0,Int
3] ATens 4 0 0 0 4 0 AnsVarR
block3'
block4 :: ATens 4 0 0 0 4 0 AnsVarR
block4 = (Int, Int)
-> ATens 4 0 0 0 4 0 AnsVarR -> ATens 4 0 0 0 4 0 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
1,Int
2) (ATens 4 0 0 0 4 0 AnsVarR -> ATens 4 0 0 0 4 0 AnsVarR)
-> ATens 4 0 0 0 4 0 AnsVarR -> ATens 4 0 0 0 4 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 4 0 0 0 4 0 AnsVarR -> ATens 4 0 0 0 4 0 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
tensorTrans5 (Int
0,Int
1) ATens 4 0 0 0 4 0 AnsVarR
block3
eqn1 :: ATens 0 0 0 0 0 0 AnsVarR -> ATens 1 0 0 0 0 0 AnsVarR -> ATens 0 0 0 0 1 1 AnsVarR
eqn1 :: ATens 0 0 0 0 0 0 AnsVarR
-> ATens 1 0 0 0 0 0 AnsVarR -> ATens 0 0 0 0 1 1 AnsVarR
eqn1 ATens 0 0 0 0 0 0 AnsVarR
ans0 ATens 1 0 0 0 0 0 AnsVarR
ans4 = (Int, Int)
-> AbsTensor2
(0 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 0 0 0 0 1 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (ATens 1 0 0 0 0 0 AnsVarR
ans4 ATens 1 0 0 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 1 0 0 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter) ATens 0 0 0 0 1 1 AnsVarR
-> ATens 0 0 0 0 1 1 AnsVarR -> ATens 0 0 0 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ (ATens 0 0 0 0 0 0 AnsVarR
ans0 ATens 0 0 0 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 0 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
delta3A)
eqn1A :: ATens 1 0 0 0 0 0 AnsVarR -> ATens 2 0 0 0 0 0 AnsVarR -> ATens 1 0 0 0 1 1 AnsVarR
eqn1A :: ATens 1 0 0 0 0 0 AnsVarR
-> ATens 2 0 0 0 0 0 AnsVarR -> ATens 1 0 0 0 1 1 AnsVarR
eqn1A ATens 1 0 0 0 0 0 AnsVarR
ans4 ATens 2 0 0 0 0 0 AnsVarR
ans8 = ATens 1 0 0 0 1 1 AnsVarR
block1 ATens 1 0 0 0 1 1 AnsVarR
-> ATens 1 0 0 0 1 1 AnsVarR -> ATens 1 0 0 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 1 0 0 0 1 1 AnsVarR
block2 ATens 1 0 0 0 1 1 AnsVarR
-> ATens 1 0 0 0 1 1 AnsVarR -> ATens 1 0 0 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 1 0 0 0 1 1 AnsVarR
TProd
(ATens 1 0 0 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
block3
where
block1 :: ATens 1 0 0 0 1 1 AnsVarR
block1 = (Int, Int)
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 0 0 1 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 0 0 1 1 AnsVarR)
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 0 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 1 0 0 0 0 0 AnsVarR
ans4 ATens 1 0 0 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 1 0 0 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea
block2 :: ATens 1 0 0 0 1 1 AnsVarR
block2 = (Int, Int)
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 0 0 1 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 0 0 1 1 AnsVarR)
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 0 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 0 0 AnsVarR
ans8 ATens 2 0 0 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter
block3 :: TProd
(ATens 1 0 0 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
block3 = ATens 1 0 0 0 0 0 AnsVarR
ans4 ATens 1 0 0 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 1 0 0 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
delta3A
eqn1AB :: ATens 2 0 0 0 0 0 AnsVarR -> ATens 3 0 0 0 0 0 AnsVarR -> ATens 2 0 0 0 1 1 AnsVarR
eqn1AB :: ATens 2 0 0 0 0 0 AnsVarR
-> ATens 3 0 0 0 0 0 AnsVarR -> ATens 2 0 0 0 1 1 AnsVarR
eqn1AB ATens 2 0 0 0 0 0 AnsVarR
ans8 ATens 3 0 0 0 0 0 AnsVarR
ans12 = ATens 2 0 0 0 1 1 AnsVarR
block1 ATens 2 0 0 0 1 1 AnsVarR
-> ATens 2 0 0 0 1 1 AnsVarR -> ATens 2 0 0 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 0 0 1 1 AnsVarR
block2 ATens 2 0 0 0 1 1 AnsVarR
-> ATens 2 0 0 0 1 1 AnsVarR -> ATens 2 0 0 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 0 0 1 1 AnsVarR
TProd
(ATens 2 0 0 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
block3
where
block1 :: ATens 2 0 0 0 1 1 AnsVarR
block1 = (Int, Int)
-> ATens 2 0 0 0 1 1 AnsVarR -> ATens 2 0 0 0 1 1 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
symATens1 (Int
0,Int
1) (ATens 2 0 0 0 1 1 AnsVarR -> ATens 2 0 0 0 1 1 AnsVarR)
-> ATens 2 0 0 0 1 1 AnsVarR -> ATens 2 0 0 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 1 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 1 1 AnsVarR)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 0 0 AnsVarR
ans8 ATens 2 0 0 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea
block2 :: ATens 2 0 0 0 1 1 AnsVarR
block2 = (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 1 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 1 1 AnsVarR)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 3 0 0 0 0 0 AnsVarR
ans12 ATens 3 0 0 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 0 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter
block3 :: TProd
(ATens 2 0 0 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
block3 = ATens 2 0 0 0 0 0 AnsVarR
ans8 ATens 2 0 0 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
delta3A
eqn1ABC :: ATens 3 0 0 0 0 0 AnsVarR -> ATens 4 0 0 0 0 0 AnsVarR -> ATens 3 0 0 0 1 1 AnsVarR
eqn1ABC :: ATens 3 0 0 0 0 0 AnsVarR
-> ATens 4 0 0 0 0 0 AnsVarR -> ATens 3 0 0 0 1 1 AnsVarR
eqn1ABC ATens 3 0 0 0 0 0 AnsVarR
ans12 ATens 4 0 0 0 0 0 AnsVarR
ans16 = ATens 3 0 0 0 1 1 AnsVarR
block1 ATens 3 0 0 0 1 1 AnsVarR
-> ATens 3 0 0 0 1 1 AnsVarR -> ATens 3 0 0 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 0 0 1 1 AnsVarR
block2 ATens 3 0 0 0 1 1 AnsVarR
-> ATens 3 0 0 0 1 1 AnsVarR -> ATens 3 0 0 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 0 0 1 1 AnsVarR
block3 ATens 3 0 0 0 1 1 AnsVarR
-> ATens 3 0 0 0 1 1 AnsVarR -> ATens 3 0 0 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 0 0 1 1 AnsVarR
block4
where
block1 :: ATens 3 0 0 0 1 1 AnsVarR
block1 = (Int, Int)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 0 0 1 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 0 0 1 1 AnsVarR)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 0 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 3 0 0 0 0 0 AnsVarR
ans12 ATens 3 0 0 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 0 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea
block2 :: ATens 3 0 0 0 1 1 AnsVarR
block2 = (Int, Int)
-> ATens 3 0 0 0 1 1 AnsVarR -> ATens 3 0 0 0 1 1 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
0,Int
2) ATens 3 0 0 0 1 1 AnsVarR
block1
block3 :: ATens 3 0 0 0 1 1 AnsVarR
block3 = (Int, Int)
-> ATens 3 0 0 0 1 1 AnsVarR -> ATens 3 0 0 0 1 1 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
1,Int
2) ATens 3 0 0 0 1 1 AnsVarR
block1
block4 :: ATens 3 0 0 0 1 1 AnsVarR
block4 = (Int, Int)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 0 0 1 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 0 0 1 1 AnsVarR)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 0 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 4 0 0 0 0 0 AnsVarR
ans16 ATens 4 0 0 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 4 0 0 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter
eqn3 :: ATens 1 0 1 0 0 0 AnsVarR -> ATens 0 0 0 0 3 1 AnsVarR
eqn3 :: ATens 1 0 1 0 0 0 AnsVarR -> ATens 0 0 0 0 3 1 AnsVarR
eqn3 ATens 1 0 1 0 0 0 AnsVarR
ans6 = (Int, Int)
-> AbsTensor4
0
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 0 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
0
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 0 0 3 1 AnsVarR)
-> AbsTensor4
0
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(0 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
0
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(0 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
0
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
(0 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
0
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall a b. (a -> b) -> a -> b
$ ATens 1 0 1 0 0 0 AnsVarR
ans6 ATens 1 0 1 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1
Ind20
(Tensor
0
Ind9
(Tensor 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational))))))
-> TProd
(ATens 1 0 1 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1
Ind20
(Tensor
0
Ind9
(Tensor
1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* (Int, Int)
-> AbsTensor2
(0 + 1)
(1 + 1)
Ind20
(Tensor
0
Ind9
(Tensor 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))))
-> Tensor
0
Ind20
(Tensor
1
Ind20
(Tensor
0
Ind9
(Tensor 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational))))))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
1) (ATens 1 1 0 1 3 1 (SField Rational)
interEqn5 ATens 1 1 0 1 3 1 (SField Rational)
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 0 0 Ind3 (SField Rational))))
-> TProd
(ATens 1 1 0 1 3 1 (SField Rational))
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 0 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 0 0 Ind3 (SField Rational))))
flatArea)
eqn1AI :: ATens 1 0 1 0 0 0 AnsVarR -> ATens 2 0 1 0 0 0 AnsVarR -> ATens 1 0 1 0 1 1 AnsVarR
eqn1AI :: ATens 1 0 1 0 0 0 AnsVarR
-> ATens 2 0 1 0 0 0 AnsVarR -> ATens 1 0 1 0 1 1 AnsVarR
eqn1AI ATens 1 0 1 0 0 0 AnsVarR
ans6 ATens 2 0 1 0 0 0 AnsVarR
ans10_2 = ATens 1 0 1 0 1 1 AnsVarR
block1 ATens 1 0 1 0 1 1 AnsVarR
-> ATens 1 0 1 0 1 1 AnsVarR -> ATens 1 0 1 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 1 0 1 0 1 1 AnsVarR
block2 ATens 1 0 1 0 1 1 AnsVarR
-> ATens 1 0 1 0 1 1 AnsVarR -> ATens 1 0 1 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 1 0 1 0 1 1 AnsVarR
TProd
(ATens 1 0 1 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
block3
where
block1 :: ATens 1 0 1 0 1 1 AnsVarR
block1 = (Int, Int)
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 1 0 1 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 1 0 1 1 AnsVarR)
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 1 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 1 0 0 0 AnsVarR
ans10_2 ATens 2 0 1 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 1 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter
block2 :: ATens 1 0 1 0 1 1 AnsVarR
block2 = (Int, Int)
-> AbsTensor4
1
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 1 0 1 0 1 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
1
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 1 0 1 0 1 1 AnsVarR)
-> AbsTensor4
1
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 1 0 1 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
1
0
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
1
0
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))))
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
1
0
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
forall a b. (a -> b) -> a -> b
$ ATens 1 0 1 0 0 0 AnsVarR
ans6 ATens 1 0 1 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 1 0 1 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interEqn3
block3 :: TProd
(ATens 1 0 1 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
block3 = ATens 1 0 1 0 0 0 AnsVarR
ans6 ATens 1 0 1 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 1 0 1 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
delta3A
eqn2Aa :: ATens 1 0 1 0 0 0 AnsVarR -> ATens 2 0 0 0 2 0 AnsVarR -> ATens 1 0 0 0 3 1 AnsVarR
eqn2Aa :: ATens 1 0 1 0 0 0 AnsVarR
-> ATens 2 0 0 0 2 0 AnsVarR -> ATens 1 0 0 0 3 1 AnsVarR
eqn2Aa ATens 1 0 1 0 0 0 AnsVarR
ans6 ATens 2 0 0 0 2 0 AnsVarR
ans10_1 = ATens 1 0 0 0 3 1 AnsVarR
block1 ATens 1 0 0 0 3 1 AnsVarR
-> ATens 1 0 0 0 3 1 AnsVarR -> ATens 1 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 1 0 0 0 3 1 AnsVarR
block2
where
block1 :: ATens 1 0 0 0 3 1 AnsVarR
block1 = (Int, Int)
-> ATens 1 0 0 0 3 1 AnsVarR -> ATens 1 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
symATens5 (Int
1,Int
2) (ATens 1 0 0 0 3 1 AnsVarR -> ATens 1 0 0 0 3 1 AnsVarR)
-> ATens 1 0 0 0 3 1 AnsVarR -> ATens 1 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 0 0 3 1 AnsVarR)
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 2 0 AnsVarR
ans10_1 ATens 2 0 0 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter
block2 :: ATens 1 0 0 0 3 1 AnsVarR
block2 = (Int, Int)
-> ATens 1 0 0 0 3 1 AnsVarR -> ATens 1 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
symATens5 (Int
1,Int
2) (ATens 1 0 0 0 3 1 AnsVarR -> ATens 1 0 0 0 3 1 AnsVarR)
-> ATens 1 0 0 0 3 1 AnsVarR -> ATens 1 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
1
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 1 0 0 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
1
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 1 0 0 0 3 1 AnsVarR)
-> AbsTensor4
1
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 1 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
1
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
1
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
1
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall a b. (a -> b) -> a -> b
$ ATens 1 0 1 0 0 0 AnsVarR
ans6 ATens 1 0 1 0 0 0 AnsVarR
-> ATens 1 1 0 1 3 1 (SField Rational)
-> TProd
(ATens 1 0 1 0 0 0 AnsVarR) (ATens 1 1 0 1 3 1 (SField Rational))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* ATens 1 1 0 1 3 1 (SField Rational)
interEqn4
eqn3A :: ATens 1 0 1 0 0 0 AnsVarR -> ATens 2 0 1 0 0 0 AnsVarR -> ATens 1 0 0 0 3 1 AnsVarR
eqn3A :: ATens 1 0 1 0 0 0 AnsVarR
-> ATens 2 0 1 0 0 0 AnsVarR -> ATens 1 0 0 0 3 1 AnsVarR
eqn3A ATens 1 0 1 0 0 0 AnsVarR
ans6 ATens 2 0 1 0 0 0 AnsVarR
ans10_2 = ATens 1 0 0 0 3 1 AnsVarR
block1 ATens 1 0 0 0 3 1 AnsVarR
-> ATens 1 0 0 0 3 1 AnsVarR -> ATens 1 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 1 0 0 0 3 1 AnsVarR
block2
where
block1 :: ATens 1 0 0 0 3 1 AnsVarR
block1 = (Int, Int)
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 0 0 3 1 AnsVarR)
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
2
1
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
2 1 0 0 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
2
1
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
2 1 0 0 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor4
2
1
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
2 1 0 0 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
forall a b. (a -> b) -> a -> b
$ ATens 1 0 1 0 0 0 AnsVarR
ans6 ATens 1 0 1 0 0 0 AnsVarR
-> ATens 1 1 0 1 3 1 (SField Rational)
-> TProd
(ATens 1 0 1 0 0 0 AnsVarR) (ATens 1 1 0 1 3 1 (SField Rational))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* ATens 1 1 0 1 3 1 (SField Rational)
interEqn5
block2 :: ATens 1 0 0 0 3 1 AnsVarR
block2 = (Int, Int)
-> AbsTensor4
1
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 1 0 0 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
1
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 1 0 0 0 3 1 AnsVarR)
-> AbsTensor4
1
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 1 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
1
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
1
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
1
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1)
(1 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
2
1
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
2,Int
1) (AbsTensor2
(2 + 1)
(1 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
2
1
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
(2 + 1)
(1 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
2
1
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall a b. (a -> b) -> a -> b
$ ATens 2 0 1 0 0 0 AnsVarR
ans10_2 ATens 2 0 1 0 0 0 AnsVarR
-> ATens 1 1 0 1 3 1 (SField Rational)
-> TProd
(ATens 2 0 1 0 0 0 AnsVarR) (ATens 1 1 0 1 3 1 (SField Rational))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* ATens 1 1 0 1 3 1 (SField Rational)
interEqn5 Tensor
3
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 0 0 Ind3 (SField Rational))))
-> TProd
(Tensor
3
Ind20
(Tensor
1
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))))
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 0 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 0 0 Ind3 (SField Rational))))
flatArea
eqn1ABI :: ATens 2 0 1 0 0 0 AnsVarR -> ATens 3 0 1 0 0 0 AnsVarR -> ATens 2 0 1 0 1 1 AnsVarR
eqn1ABI :: ATens 2 0 1 0 0 0 AnsVarR
-> ATens 3 0 1 0 0 0 AnsVarR -> ATens 2 0 1 0 1 1 AnsVarR
eqn1ABI ATens 2 0 1 0 0 0 AnsVarR
ans10_2 ATens 3 0 1 0 0 0 AnsVarR
ans14_2 = ATens 2 0 1 0 1 1 AnsVarR
block1 ATens 2 0 1 0 1 1 AnsVarR
-> ATens 2 0 1 0 1 1 AnsVarR -> ATens 2 0 1 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 1 0 1 1 AnsVarR
block2 ATens 2 0 1 0 1 1 AnsVarR
-> ATens 2 0 1 0 1 1 AnsVarR -> ATens 2 0 1 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 1 0 1 1 AnsVarR
block3 ATens 2 0 1 0 1 1 AnsVarR
-> ATens 2 0 1 0 1 1 AnsVarR -> ATens 2 0 1 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 1 0 1 1 AnsVarR
TProd
(ATens 2 0 1 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
block4
where
block1 :: ATens 2 0 1 0 1 1 AnsVarR
block1 = (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 1 0 1 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 1 0 1 1 AnsVarR)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 1 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 3 0 1 0 0 0 AnsVarR
ans14_2 ATens 3 0 1 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 1 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter
block2 :: ATens 2 0 1 0 1 1 AnsVarR
block2 = (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 1 0 1 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 1 0 1 1 AnsVarR)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 1 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> ATens 2 0 1 0 0 0 AnsVarR
-> TProd
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
(ATens 2 0 1 0 0 0 AnsVarR)
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* ATens 2 0 1 0 0 0 AnsVarR
ans10_2
block3 :: ATens 2 0 1 0 1 1 AnsVarR
block3 = (Int, Int)
-> AbsTensor4
2
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 2 0 1 0 1 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
2
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 2 0 1 0 1 1 AnsVarR)
-> AbsTensor4
2
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 2 0 1 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
2
0
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
2
0
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))))
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
2
0
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
forall a b. (a -> b) -> a -> b
$ ATens 2 0 1 0 0 0 AnsVarR
ans10_2 ATens 2 0 1 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 1 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interEqn3
block4 :: TProd
(ATens 2 0 1 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
block4 = ATens 2 0 1 0 0 0 AnsVarR
ans10_2 ATens 2 0 1 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 1 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
delta3A
eqn3AB :: ATens 2 0 1 0 0 0 AnsVarR -> ATens 3 0 1 0 0 0 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
eqn3AB :: ATens 2 0 1 0 0 0 AnsVarR
-> ATens 3 0 1 0 0 0 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
eqn3AB ATens 2 0 1 0 0 0 AnsVarR
ans10_2 ATens 3 0 1 0 0 0 AnsVarR
ans14_2 = ATens 2 0 0 0 3 1 AnsVarR
block1 ATens 2 0 0 0 3 1 AnsVarR
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 0 0 3 1 AnsVarR
block2
where
block1 :: ATens 2 0 0 0 3 1 AnsVarR
block1 = (Int, Int)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
symATens1 (Int
0,Int
1) (ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
2
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 2 0 0 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
2
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 2 0 0 0 3 1 AnsVarR)
-> AbsTensor4
2
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
2
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
2
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
2
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall a b. (a -> b) -> a -> b
$ ATens 2 0 1 0 0 0 AnsVarR
ans10_2 ATens 2 0 1 0 0 0 AnsVarR
-> ATens 1 1 0 1 3 1 (SField Rational)
-> TProd
(ATens 2 0 1 0 0 0 AnsVarR) (ATens 1 1 0 1 3 1 (SField Rational))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* ATens 1 1 0 1 3 1 (SField Rational)
interEqn5
block2 :: ATens 2 0 0 0 3 1 AnsVarR
block2 = (Int, Int)
-> AbsTensor4
2
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 2 0 0 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
2
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 2 0 0 0 3 1 AnsVarR)
-> AbsTensor4
2
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
2
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
2,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
2
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
2
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall a b. (a -> b) -> a -> b
$ ATens 3 0 1 0 0 0 AnsVarR
ans14_2 ATens 3 0 1 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1
Ind20
(Tensor
0
Ind9
(Tensor 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational))))))
-> TProd
(ATens 3 0 1 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1
Ind20
(Tensor
0
Ind9
(Tensor
1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* (Int, Int)
-> AbsTensor2
(0 + 1)
(1 + 1)
Ind20
(Tensor
0
Ind9
(Tensor 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))))
-> Tensor
0
Ind20
(Tensor
1
Ind20
(Tensor
0
Ind9
(Tensor 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational))))))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
1) (ATens 1 1 0 1 3 1 (SField Rational)
interEqn5 ATens 1 1 0 1 3 1 (SField Rational)
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 0 0 Ind3 (SField Rational))))
-> TProd
(ATens 1 1 0 1 3 1 (SField Rational))
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 0 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 0 0 Ind3 (SField Rational))))
flatArea)
eqn2ABb :: ATens 2 0 0 0 2 0 AnsVarR -> ATens 2 0 1 0 0 0 AnsVarR -> ATens 3 0 0 0 2 0 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
eqn2ABb :: ATens 2 0 0 0 2 0 AnsVarR
-> ATens 2 0 1 0 0 0 AnsVarR
-> ATens 3 0 0 0 2 0 AnsVarR
-> ATens 2 0 0 0 3 1 AnsVarR
eqn2ABb ATens 2 0 0 0 2 0 AnsVarR
ans10_1 ATens 2 0 1 0 0 0 AnsVarR
ans10_2 ATens 3 0 0 0 2 0 AnsVarR
ans14_1 = ATens 2 0 0 0 3 1 AnsVarR
block1 ATens 2 0 0 0 3 1 AnsVarR
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 0 0 3 1 AnsVarR
block2 ATens 2 0 0 0 3 1 AnsVarR
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 0 0 3 1 AnsVarR
block3
where
block1 :: ATens 2 0 0 0 3 1 AnsVarR
block1 = (Int, Int)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
symATens5 (Int
0,Int
2) (ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 3 0 0 0 2 0 AnsVarR
ans14_1 ATens 3 0 0 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 0 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter
block2' :: ATens 2 0 0 0 3 1 AnsVarR
block2' = (Int, Int)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
tensorTrans5 (Int
0,Int
1) (ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
2
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 2 0 0 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
2
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 2 0 0 0 3 1 AnsVarR)
-> AbsTensor4
2
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
2
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
2
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
2
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall a b. (a -> b) -> a -> b
$ ATens 2 0 1 0 0 0 AnsVarR
ans10_2 ATens 2 0 1 0 0 0 AnsVarR
-> ATens 1 1 0 1 3 1 (SField Rational)
-> TProd
(ATens 2 0 1 0 0 0 AnsVarR) (ATens 1 1 0 1 3 1 (SField Rational))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* ATens 1 1 0 1 3 1 (SField Rational)
interEqn4
block2 :: ATens 2 0 0 0 3 1 AnsVarR
block2 = (Int, Int)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
symATens5 (Int
0,Int
2) ATens 2 0 0 0 3 1 AnsVarR
block2'
block3 :: ATens 2 0 0 0 3 1 AnsVarR
block3 = (Int, Int)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
0,Int
1) (ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
symATens5 (Int
0,Int
2) (ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 2 0 AnsVarR
ans10_1 ATens 2 0 0 0 2 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 2 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea
eqn1AaBb :: ATens 2 0 0 0 2 0 AnsVarR -> ATens 3 0 0 0 2 0 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
eqn1AaBb :: ATens 2 0 0 0 2 0 AnsVarR
-> ATens 3 0 0 0 2 0 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
eqn1AaBb ATens 2 0 0 0 2 0 AnsVarR
ans10_1 ATens 3 0 0 0 2 0 AnsVarR
ans14_1 = ATens 2 0 0 0 3 1 AnsVarR
block1 ATens 2 0 0 0 3 1 AnsVarR
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 0 0 3 1 AnsVarR
block2 ATens 2 0 0 0 3 1 AnsVarR
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 0 0 3 1 AnsVarR
block3 ATens 2 0 0 0 3 1 AnsVarR
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 0 0 3 1 AnsVarR
block4
where
block1 :: ATens 2 0 0 0 3 1 AnsVarR
block1 = (Int, Int)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
tensorTrans5 (Int
1,Int
2) (ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 3 0 0 0 2 0 AnsVarR
ans14_1 ATens 3 0 0 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 0 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter
block2 :: ATens 2 0 0 0 3 1 AnsVarR
block2 = (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 3 1 0 0 (3 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 3 1 0 0 3 1 Ind20 Ind9 Ind3 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
0,Int
1) (AbsTensor6 3 1 0 0 (3 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 3 1 0 0 3 1 Ind20 Ind9 Ind3 AnsVarR)
-> AbsTensor6 3 1 0 0 (3 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor6 3 1 0 0 3 1 Ind20 Ind9 Ind3 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 2 0 AnsVarR
ans10_1 ATens 2 0 0 0 2 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 2 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational))))
interEqn2
block3 :: ATens 2 0 0 0 3 1 AnsVarR
block3 = (Int, Int)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
0,Int
1) (ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
tensorTrans5 (Int
0,Int
2) ATens 2 0 0 0 3 1 AnsVarR
block2
block4 :: ATens 2 0 0 0 3 1 AnsVarR
block4 = (Int, Int)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
tensorTrans5 (Int
1,Int
2) (ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 2 0 AnsVarR
ans10_1 ATens 2 0 0 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
delta3A
eqn1ABbCc :: ATens 3 0 0 0 2 0 AnsVarR -> ATens 4 0 0 0 2 0 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
eqn1ABbCc :: ATens 3 0 0 0 2 0 AnsVarR
-> ATens 4 0 0 0 2 0 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
eqn1ABbCc ATens 3 0 0 0 2 0 AnsVarR
ans14_1 ATens 4 0 0 0 2 0 AnsVarR
ans18_3 = ATens 3 0 0 0 3 1 AnsVarR
block1 ATens 3 0 0 0 3 1 AnsVarR
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 0 0 3 1 AnsVarR
block2 ATens 3 0 0 0 3 1 AnsVarR
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 0 0 3 1 AnsVarR
block3 ATens 3 0 0 0 3 1 AnsVarR
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 0 0 3 1 AnsVarR
block4
where
block1 :: ATens 3 0 0 0 3 1 AnsVarR
block1 = (Int, Int)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
tensorTrans5 (Int
1,Int
2) (ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 0 0 3 1 AnsVarR)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 4 0 0 0 2 0 AnsVarR
ans18_3 ATens 4 0 0 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 4 0 0 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter
block2 :: ATens 3 0 0 0 3 1 AnsVarR
block2 = (Int, Int)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
tensorTrans5 (Int
0,Int
1) (ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 0 0 3 1 AnsVarR)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> ATens 3 0 0 0 2 0 AnsVarR
-> TProd
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
(ATens 3 0 0 0 2 0 AnsVarR)
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* ATens 3 0 0 0 2 0 AnsVarR
ans14_1
block3 :: ATens 3 0 0 0 3 1 AnsVarR
block3 = (Int, Int)
-> AbsTensor6 3 0 0 0 (3 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> ATens 3 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
0,Int
1) (AbsTensor6 3 0 0 0 (3 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> ATens 3 0 0 0 3 1 AnsVarR)
-> AbsTensor6 3 0 0 0 (3 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> ATens 3 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 4 Ind3 (Tensor 2 Ind3 AnsVarR))))
-> AbsTensor2
3
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 4 Ind3 (Tensor 2 Ind3 AnsVarR))))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 4 Ind3 (Tensor 2 Ind3 AnsVarR))))
-> AbsTensor2
3
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 4 Ind3 (Tensor 2 Ind3 AnsVarR)))))
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 4 Ind3 (Tensor 2 Ind3 AnsVarR))))
-> AbsTensor2
3
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 4 Ind3 (Tensor 2 Ind3 AnsVarR))))
forall a b. (a -> b) -> a -> b
$ ATens 3 0 0 0 2 0 AnsVarR
ans14_1 ATens 3 0 0 0 2 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 0 0 2 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 2 2 Ind3 (SField Rational))))
interEqn2
block4 :: ATens 3 0 0 0 3 1 AnsVarR
block4 = (Int, Int)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
1,Int
2) (ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
tensorTrans5 (Int
0,Int
2) ATens 3 0 0 0 3 1 AnsVarR
block3
eqn1ABCI :: ATens 3 0 1 0 0 0 AnsVarR -> ATens 4 0 1 0 0 0 AnsVarR -> ATens 3 0 1 0 1 1 AnsVarR
eqn1ABCI :: ATens 3 0 1 0 0 0 AnsVarR
-> ATens 4 0 1 0 0 0 AnsVarR -> ATens 3 0 1 0 1 1 AnsVarR
eqn1ABCI ATens 3 0 1 0 0 0 AnsVarR
ans14_2 ATens 4 0 1 0 0 0 AnsVarR
ans18_2 = ATens 3 0 1 0 1 1 AnsVarR
block1 ATens 3 0 1 0 1 1 AnsVarR
-> ATens 3 0 1 0 1 1 AnsVarR -> ATens 3 0 1 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 1 0 1 1 AnsVarR
block2 ATens 3 0 1 0 1 1 AnsVarR
-> ATens 3 0 1 0 1 1 AnsVarR -> ATens 3 0 1 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 1 0 1 1 AnsVarR
block3
where
block1 :: ATens 3 0 1 0 1 1 AnsVarR
block1 = (Int, Int)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 1 0 1 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 1 0 1 1 AnsVarR)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 1 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 4 0 1 0 0 0 AnsVarR
ans18_2 ATens 4 0 1 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 4 0 1 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter
block2 :: ATens 3 0 1 0 1 1 AnsVarR
block2 = (Int, Int)
-> ATens 3 0 1 0 1 1 AnsVarR -> ATens 3 0 1 0 1 1 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
symATens1 (Int
0,Int
1) (ATens 3 0 1 0 1 1 AnsVarR -> ATens 3 0 1 0 1 1 AnsVarR)
-> ATens 3 0 1 0 1 1 AnsVarR -> ATens 3 0 1 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 1 0 1 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 1 0 1 1 AnsVarR)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 1 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> ATens 3 0 1 0 0 0 AnsVarR
-> TProd
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
(ATens 3 0 1 0 0 0 AnsVarR)
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* ATens 3 0 1 0 0 0 AnsVarR
ans14_2
block3 :: ATens 3 0 1 0 1 1 AnsVarR
block3 = (Int, Int)
-> AbsTensor4
3
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 3 0 1 0 1 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
3
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 3 0 1 0 1 1 AnsVarR)
-> AbsTensor4
3
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 3 0 1 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
3
0
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
2,Int
0) (AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
3
0
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))))
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
3
0
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
forall a b. (a -> b) -> a -> b
$ ATens 3 0 1 0 0 0 AnsVarR
ans14_2 ATens 3 0 1 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 1 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interEqn3
eqn2ABCc :: ATens 3 0 0 0 2 0 AnsVarR -> ATens 3 0 1 0 0 0 AnsVarR -> ATens 4 0 0 0 2 0 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
eqn2ABCc :: ATens 3 0 0 0 2 0 AnsVarR
-> ATens 3 0 1 0 0 0 AnsVarR
-> ATens 4 0 0 0 2 0 AnsVarR
-> ATens 3 0 0 0 3 1 AnsVarR
eqn2ABCc ATens 3 0 0 0 2 0 AnsVarR
ans14_1 ATens 3 0 1 0 0 0 AnsVarR
ans14_2 ATens 4 0 0 0 2 0 AnsVarR
ans18_3 = ATens 3 0 0 0 3 1 AnsVarR
block1 ATens 3 0 0 0 3 1 AnsVarR
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 0 0 3 1 AnsVarR
block2 ATens 3 0 0 0 3 1 AnsVarR
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 0 0 3 1 AnsVarR
block3
where
block1 :: ATens 3 0 0 0 3 1 AnsVarR
block1 = (Int, Int)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
symATens5 (Int
0,Int
2) (ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
2,Int
0) (AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 0 0 3 1 AnsVarR)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 4 0 0 0 2 0 AnsVarR
ans18_3 ATens 4 0 0 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 4 0 0 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter
block2 :: ATens 3 0 0 0 3 1 AnsVarR
block2 = (Int, Int)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
symATens5 (Int
0,Int
2) (ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
tensorTrans5 (Int
0,Int
1) (ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
3
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 3 0 0 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
3
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 3 0 0 0 3 1 AnsVarR)
-> AbsTensor4
3
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 3 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
3
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
2,Int
0) (AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
3
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
3
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall a b. (a -> b) -> a -> b
$ ATens 3 0 1 0 0 0 AnsVarR
ans14_2 ATens 3 0 1 0 0 0 AnsVarR
-> ATens 1 1 0 1 3 1 (SField Rational)
-> TProd
(ATens 3 0 1 0 0 0 AnsVarR) (ATens 1 1 0 1 3 1 (SField Rational))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* ATens 1 1 0 1 3 1 (SField Rational)
interEqn4
block3 :: ATens 3 0 0 0 3 1 AnsVarR
block3 = (Int, Int)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
symATens1 (Int
0,Int
1) (ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
1,Int
2) (ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
symATens5 (Int
0,Int
2) (ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 0 0 3 1 AnsVarR)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 3 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 3 0 0 0 2 0 AnsVarR
ans14_1 ATens 3 0 0 0 2 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 0 0 2 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea
eqn3ABC :: ATens 3 0 1 0 0 0 AnsVarR -> ATens 4 0 1 0 0 0 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
eqn3ABC :: ATens 3 0 1 0 0 0 AnsVarR
-> ATens 4 0 1 0 0 0 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
eqn3ABC ATens 3 0 1 0 0 0 AnsVarR
ans14_2 ATens 4 0 1 0 0 0 AnsVarR
ans18_2 = ATens 3 0 0 0 3 1 AnsVarR
block1 ATens 3 0 0 0 3 1 AnsVarR
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 0 0 3 1 AnsVarR
block2 ATens 3 0 0 0 3 1 AnsVarR
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 0 0 3 1 AnsVarR
block3 ATens 3 0 0 0 3 1 AnsVarR
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 3 0 0 0 3 1 AnsVarR
block4
where
block1 :: ATens 3 0 0 0 3 1 AnsVarR
block1 = (Int, Int)
-> AbsTensor4
3
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 3 0 0 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
3
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 3 0 0 0 3 1 AnsVarR)
-> AbsTensor4
3
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 3 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
3
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
3,Int
0) (AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
3
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
3
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall a b. (a -> b) -> a -> b
$ ATens 4 0 1 0 0 0 AnsVarR
ans18_2 ATens 4 0 1 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1
Ind20
(Tensor
0
Ind9
(Tensor 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational))))))
-> TProd
(ATens 4 0 1 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1
Ind20
(Tensor
0
Ind9
(Tensor
1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* (Int, Int)
-> AbsTensor2
(0 + 1)
(1 + 1)
Ind20
(Tensor
0
Ind9
(Tensor 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))))
-> Tensor
0
Ind20
(Tensor
1
Ind20
(Tensor
0
Ind9
(Tensor 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational))))))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
1) (ATens 1 1 0 1 3 1 (SField Rational)
interEqn5 ATens 1 1 0 1 3 1 (SField Rational)
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 0 0 Ind3 (SField Rational))))
-> TProd
(ATens 1 1 0 1 3 1 (SField Rational))
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 0 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 0 0 Ind3 (SField Rational))))
flatArea)
block2 :: ATens 3 0 0 0 3 1 AnsVarR
block2 = (Int, Int)
-> AbsTensor4
3
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 3 0 0 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
3
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 3 0 0 0 3 1 AnsVarR)
-> AbsTensor4
3
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 3 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
3
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
2,Int
0) (AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
3
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
(3 + 1)
(0 + 1)
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor2
3
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall a b. (a -> b) -> a -> b
$ ATens 3 0 1 0 0 0 AnsVarR
ans14_2 ATens 3 0 1 0 0 0 AnsVarR
-> ATens 1 1 0 1 3 1 (SField Rational)
-> TProd
(ATens 3 0 1 0 0 0 AnsVarR) (ATens 1 1 0 1 3 1 (SField Rational))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* ATens 1 1 0 1 3 1 (SField Rational)
interEqn5
block3 :: ATens 3 0 0 0 3 1 AnsVarR
block3 = (Int, Int)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
0,Int
2) ATens 3 0 0 0 3 1 AnsVarR
block2
block4 :: ATens 3 0 0 0 3 1 AnsVarR
block4 = (Int, Int)
-> ATens 3 0 0 0 3 1 AnsVarR -> ATens 3 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
1,Int
2) ATens 3 0 0 0 3 1 AnsVarR
block2
eqn3AI :: ATens 2 0 2 0 0 0 AnsVarR -> ATens 1 0 1 0 3 1 AnsVarR
eqn3AI :: ATens 2 0 2 0 0 0 AnsVarR -> ATens 1 0 1 0 3 1 AnsVarR
eqn3AI ATens 2 0 2 0 0 0 AnsVarR
ans12_1 = (Int, Int)
-> AbsTensor4
1
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 1 0 1 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
1
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 1 0 1 0 3 1 AnsVarR)
-> AbsTensor4
1
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 1 0 1 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
1
0
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
1
0
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))))
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor2
1
0
Ind20
(Tensor
2 Ind9 (Tensor 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
forall a b. (a -> b) -> a -> b
$ ATens 2 0 2 0 0 0 AnsVarR
ans12_1 ATens 2 0 2 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1
Ind20
(Tensor
0
Ind9
(Tensor 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational))))))
-> TProd
(ATens 2 0 2 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1
Ind20
(Tensor
0
Ind9
(Tensor
1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* (Int, Int)
-> AbsTensor2
(0 + 1)
(1 + 1)
Ind20
(Tensor
0
Ind9
(Tensor 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))))
-> Tensor
0
Ind20
(Tensor
1
Ind20
(Tensor
0
Ind9
(Tensor 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational))))))
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
1) (ATens 1 1 0 1 3 1 (SField Rational)
interEqn5 ATens 1 1 0 1 3 1 (SField Rational)
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 0 0 Ind3 (SField Rational))))
-> TProd
(ATens 1 1 0 1 3 1 (SField Rational))
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 0 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 0 0 Ind3 (SField Rational))))
flatArea)
linMass :: ATens 2 0 0 0 0 0 AnsVarR -> ATens 1 0 0 0 1 1 AnsVarR
linMass :: ATens 2 0 0 0 0 0 AnsVarR -> ATens 1 0 0 0 1 1 AnsVarR
linMass ATens 2 0 0 0 0 0 AnsVarR
ans8 = ATens 1 0 0 0 1 1 AnsVarR
tens1
where
tens1 :: ATens 1 0 0 0 1 1 AnsVarR
tens1 = (Int, Int)
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 0 0 1 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 0 0 1 1 AnsVarR)
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 0 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 0 0 AnsVarR
ans8 ATens 2 0 0 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter
linKin :: ATens 2 0 0 0 2 0 AnsVarR -> ATens 1 0 0 0 3 1 AnsVarR
linKin :: ATens 2 0 0 0 2 0 AnsVarR -> ATens 1 0 0 0 3 1 AnsVarR
linKin ATens 2 0 0 0 2 0 AnsVarR
ans10 = ATens 1 0 0 0 3 1 AnsVarR
tens1
where
tens1 :: ATens 1 0 0 0 3 1 AnsVarR
tens1 = [Int] -> ATens 1 0 0 0 3 1 AnsVarR -> ATens 1 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
[Int]
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
cyclicSymATens5 [Int
0,Int
1,Int
2] (ATens 1 0 0 0 3 1 AnsVarR -> ATens 1 0 0 0 3 1 AnsVarR)
-> ATens 1 0 0 0 3 1 AnsVarR -> ATens 1 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 0 0 3 1 AnsVarR)
-> AbsTensor2
(1 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 1 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 2 0 AnsVarR
ans10 ATens 2 0 0 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter
quadMass :: ATens 3 0 0 0 0 0 AnsVarR -> ATens 2 0 0 0 0 0 AnsVarR -> ATens 2 0 0 0 1 1 AnsVarR
quadMass :: ATens 3 0 0 0 0 0 AnsVarR
-> ATens 2 0 0 0 0 0 AnsVarR -> ATens 2 0 0 0 1 1 AnsVarR
quadMass ATens 3 0 0 0 0 0 AnsVarR
ans12 ATens 2 0 0 0 0 0 AnsVarR
ans8 = ATens 2 0 0 0 1 1 AnsVarR
Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
tens1 ATens 2 0 0 0 1 1 AnsVarR
-> ATens 2 0 0 0 1 1 AnsVarR -> ATens 2 0 0 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 0 0 1 1 AnsVarR
Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
tens2 ATens 2 0 0 0 1 1 AnsVarR
-> ATens 2 0 0 0 1 1 AnsVarR -> ATens 2 0 0 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 0 0 1 1 AnsVarR
Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
tens3 ATens 2 0 0 0 1 1 AnsVarR
-> ATens 2 0 0 0 1 1 AnsVarR -> ATens 2 0 0 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 0 0 1 1 AnsVarR
Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
dens
where
dens :: Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
dens = (Rational -> SField Rational
forall a. a -> SField a
SField (Rational
2 :: Rational) SField Rational
-> ATens 2 0 0 0 1 1 AnsVarR
-> Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
forall k s v (n :: Nat).
(TIndex k, Prod s v) =>
s -> Tensor n k v -> Tensor n k (TProd s v)
&.) (ATens 2 0 0 0 1 1 AnsVarR
-> Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))))))
-> ATens 2 0 0 0 1 1 AnsVarR
-> Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 0 0 AnsVarR
ans8 ATens 2 0 0 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
delta3A
tens1 :: Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
tens1 = (Rational -> SField Rational
forall a. a -> SField a
SField (Rational
6 :: Rational) SField Rational
-> ATens 2 0 0 0 1 1 AnsVarR
-> Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
forall k s v (n :: Nat).
(TIndex k, Prod s v) =>
s -> Tensor n k v -> Tensor n k (TProd s v)
&.) (ATens 2 0 0 0 1 1 AnsVarR
-> Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))))))
-> ATens 2 0 0 0 1 1 AnsVarR
-> Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 1 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 1 1 AnsVarR)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 3 0 0 0 0 0 AnsVarR
ans12 ATens 3 0 0 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 0 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter
tens2 :: Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
tens2 = (Rational -> SField Rational
forall a. a -> SField a
SField (Rational
2 :: Rational) SField Rational
-> ATens 2 0 0 0 1 1 AnsVarR
-> Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
forall k s v (n :: Nat).
(TIndex k, Prod s v) =>
s -> Tensor n k v -> Tensor n k (TProd s v)
&.) (ATens 2 0 0 0 1 1 AnsVarR
-> Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))))))
-> ATens 2 0 0 0 1 1 AnsVarR
-> Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 1 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 1 1 AnsVarR)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 0 0 AnsVarR
ans8 ATens 2 0 0 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea
tens3 :: Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
tens3 = (Rational -> SField Rational
forall a. a -> SField a
SField (Rational
2 :: Rational) SField Rational
-> ATens 2 0 0 0 1 1 AnsVarR
-> Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
forall k s v (n :: Nat).
(TIndex k, Prod s v) =>
s -> Tensor n k v -> Tensor n k (TProd s v)
&.) (ATens 2 0 0 0 1 1 AnsVarR
-> Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))))))
-> ATens 2 0 0 0 1 1 AnsVarR
-> Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))))
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 2 0 0 0 1 1 AnsVarR -> ATens 2 0 0 0 1 1 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
0,Int
1) (ATens 2 0 0 0 1 1 AnsVarR -> ATens 2 0 0 0 1 1 AnsVarR)
-> ATens 2 0 0 0 1 1 AnsVarR -> ATens 2 0 0 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 1 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 1 1 AnsVarR)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 0 0 AnsVarR
ans8 ATens 2 0 0 0 0 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 0 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea
quadKin1 :: ATens 3 0 0 0 2 0 AnsVarR -> ATens 2 0 0 0 2 0 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
quadKin1 :: ATens 3 0 0 0 2 0 AnsVarR
-> ATens 2 0 0 0 2 0 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
quadKin1 ATens 3 0 0 0 2 0 AnsVarR
ans14 ATens 2 0 0 0 2 0 AnsVarR
ans10 = ATens 2 0 0 0 3 1 AnsVarR
Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))))
tens1 ATens 2 0 0 0 3 1 AnsVarR
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 0 0 3 1 AnsVarR
tens2 ATens 2 0 0 0 3 1 AnsVarR
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 0 0 3 1 AnsVarR
tens3 ATens 2 0 0 0 3 1 AnsVarR
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 0 0 3 1 AnsVarR
TProd
(ATens 2 0 0 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
dens ATens 2 0 0 0 3 1 AnsVarR
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&- (ATens 2 0 0 0 3 1 AnsVarR
tens4_1 ATens 2 0 0 0 3 1 AnsVarR
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 0 0 3 1 AnsVarR
tens4_2)
where
dens :: TProd
(ATens 2 0 0 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
dens = ATens 2 0 0 0 2 0 AnsVarR
ans10 ATens 2 0 0 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
delta3A
tens1 :: Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))))
tens1 = (Rational -> SField Rational
forall a. a -> SField a
SField (Rational
1Rational -> Rational -> Rational
forall a. Fractional a => a -> a -> a
/Rational
2 :: Rational) SField Rational
-> ATens 2 0 0 0 3 1 AnsVarR
-> Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))))
forall k s v (n :: Nat).
(TIndex k, Prod s v) =>
s -> Tensor n k v -> Tensor n k (TProd s v)
&.) (ATens 2 0 0 0 3 1 AnsVarR
-> Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))))))
-> ATens 2 0 0 0 3 1 AnsVarR
-> Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))))
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
symATens5 (Int
0,Int
1) (ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
2,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 3 0 0 0 2 0 AnsVarR
ans14 ATens 3 0 0 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 0 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter
tens2 :: ATens 2 0 0 0 3 1 AnsVarR
tens2 = (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 2 0 AnsVarR
ans10 ATens 2 0 0 0 2 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 2 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea
tens3 :: ATens 2 0 0 0 3 1 AnsVarR
tens3 = (Int, Int)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
0,Int
1) (ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 2 0 AnsVarR
ans10 ATens 2 0 0 0 2 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 2 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea
tens4_1 :: ATens 2 0 0 0 3 1 AnsVarR
tens4_1 = (Int, Int)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
tensorTrans5 (Int
1,Int
2) (ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 2 0 AnsVarR
ans10 ATens 2 0 0 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
delta3A
tens4_2 :: ATens 2 0 0 0 3 1 AnsVarR
tens4_2 = [Int] -> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall (n5 :: Nat) k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat)
(n4 :: Nat).
(KnownNat n5, TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
[Int]
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
resortTens5 [Int
1,Int
2,Int
0] (ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 2 0 AnsVarR
ans10 ATens 2 0 0 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
delta3A
quadKin2 :: ATens 3 0 0 0 2 0 AnsVarR -> ATens 2 0 0 0 2 0 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
quadKin2 :: ATens 3 0 0 0 2 0 AnsVarR
-> ATens 2 0 0 0 2 0 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
quadKin2 ATens 3 0 0 0 2 0 AnsVarR
ans14 ATens 2 0 0 0 2 0 AnsVarR
ans10 = (Int, Int)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
symATens5 (Int
0,Int
2) (ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 3 1 AnsVarR
Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))))
tens1 ATens 2 0 0 0 3 1 AnsVarR
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 0 0 3 1 AnsVarR
tens3 ATens 2 0 0 0 3 1 AnsVarR
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 0 0 3 1 AnsVarR
tens4 ATens 2 0 0 0 3 1 AnsVarR
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&- (ATens 2 0 0 0 3 1 AnsVarR
tens0 ATens 2 0 0 0 3 1 AnsVarR
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 0 0 3 1 AnsVarR
tens2)
where
tens0 :: ATens 2 0 0 0 3 1 AnsVarR
tens0 = (Int, Int)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
tensorTrans5 (Int
1,Int
2) (ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 2 0 AnsVarR
ans10 ATens 2 0 0 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
delta3A
tens1 :: Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))))
tens1 = (Rational -> SField Rational
forall a. a -> SField a
SField (Rational
2 :: Rational) SField Rational
-> ATens 2 0 0 0 3 1 AnsVarR
-> Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))))
forall k s v (n :: Nat).
(TIndex k, Prod s v) =>
s -> Tensor n k v -> Tensor n k (TProd s v)
&.) (ATens 2 0 0 0 3 1 AnsVarR
-> Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))))))
-> ATens 2 0 0 0 3 1 AnsVarR
-> Tensor
2
Ind20
(TProd
(SField Rational)
(Tensor
0
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))))
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 2 0 AnsVarR
ans10 ATens 2 0 0 0 2 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 2 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea
tens2 :: ATens 2 0 0 0 3 1 AnsVarR
tens2 = (Int, Int)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int) -> AbsTensor1 n1 k1 v -> AbsTensor1 n1 k1 v
tensorTrans1 (Int
0,Int
1) (ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 3 0 0 0 2 0 AnsVarR
ans14 ATens 3 0 0 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 0 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter
tens3 :: ATens 2 0 0 0 3 1 AnsVarR
tens3 = (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
2,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 3 0 0 0 2 0 AnsVarR
ans14 ATens 3 0 0 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 0 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter
tens4 :: ATens 2 0 0 0 3 1 AnsVarR
tens4 = (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 3 0 0 0 2 0 AnsVarR
ans14 ATens 3 0 0 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 0 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter
quadKin3 :: ATens 3 0 0 0 2 0 AnsVarR -> ATens 2 0 0 0 2 0 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
quadKin3 :: ATens 3 0 0 0 2 0 AnsVarR
-> ATens 2 0 0 0 2 0 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
quadKin3 ATens 3 0 0 0 2 0 AnsVarR
ans14 ATens 2 0 0 0 2 0 AnsVarR
ans10 = [Int] -> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
[Int]
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
cyclicSymATens5 [Int
0,Int
1,Int
2] (ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR)
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 3 1 AnsVarR
tens1 ATens 2 0 0 0 3 1 AnsVarR
-> ATens 2 0 0 0 3 1 AnsVarR -> ATens 2 0 0 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 2 0 0 0 3 1 AnsVarR
tens2
where
tens1 :: ATens 2 0 0 0 3 1 AnsVarR
tens1 = (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 2 0 0 0 2 0 AnsVarR
ans10 ATens 2 0 0 0 2 0 AnsVarR
-> Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 2 0 0 0 2 0 AnsVarR)
(Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
1
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interArea
tens2 :: ATens 2 0 0 0 3 1 AnsVarR
tens2 = (Int, Int)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
1,Int
0) (AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR)
-> AbsTensor2
(2 + 1)
(0 + 1)
Ind20
(Tensor
0 Ind9 (Tensor 0 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 2 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 3 0 0 0 2 0 AnsVarR
ans14 ATens 3 0 0 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 3 0 0 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter
polyAns2 :: ATens 0 0 1 0 0 0 AnsVarR
polyAns2 :: ATens 0 0 1 0 0 0 AnsVarR
polyAns2 = [(([Ind20], [Ind20], [Ind9], [Ind9], [Ind3], [Ind3]), AnsVarR)]
-> ATens 0 0 1 0 0 0 AnsVarR
forall (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat) (n5 :: Nat)
(n6 :: Nat) k1 k2 k3 v.
(KnownNat n1, KnownNat n2, KnownNat n3, KnownNat n4, KnownNat n5,
KnownNat n6, TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
[(([k1], [k1], [k2], [k2], [k3], [k3]), v)]
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
fromListT6' ([(([Ind20], [Ind20], [Ind9], [Ind9], [Ind3], [Ind3]), AnsVarR)]
-> ATens 0 0 1 0 0 0 AnsVarR)
-> [(([Ind20], [Ind20], [Ind9], [Ind9], [Ind3], [Ind3]), AnsVarR)]
-> ATens 0 0 1 0 0 0 AnsVarR
forall a b. (a -> b) -> a -> b
$ ((Int, SField Rational)
-> (([Ind20], [Ind20], [Ind9], [Ind9], [Ind3], [Ind3]), AnsVarR))
-> [(Int, SField Rational)]
-> [(([Ind20], [Ind20], [Ind9], [Ind9], [Ind3], [Ind3]), AnsVarR)]
forall a b. (a -> b) -> [a] -> [b]
map (\(Int
x,SField Rational
y) -> (([], [], [Int -> Ind9
Ind9 Int
x], [], [], []),IntMap (SField Rational) -> AnsVarR
forall a. IntMap a -> AnsVar a
AnsVar (IntMap (SField Rational) -> AnsVarR)
-> IntMap (SField Rational) -> AnsVarR
forall a b. (a -> b) -> a -> b
$ Int -> SField Rational -> IntMap (SField Rational)
forall a. Int -> a -> IntMap a
I.singleton Int
1 SField Rational
y)) [(Int
0,-SField Rational
1),(Int
4,SField Rational
1),(Int
7,SField Rational
1),(Int
9,SField Rational
1)]
polyTensEqn :: ATens 1 0 1 0 0 0 AnsVarR -> ATens 0 0 1 0 1 1 AnsVarR
polyTensEqn :: ATens 1 0 1 0 0 0 AnsVarR -> ATens 0 0 1 0 1 1 AnsVarR
polyTensEqn ATens 1 0 1 0 0 0 AnsVarR
ans6 = ATens 0 0 1 0 1 1 AnsVarR
total
where
ans6' :: ATens 1 0 1 0 0 0 AnsVarR
ans6' = Int -> ATens 1 0 1 0 0 0 AnsVarR -> ATens 1 0 1 0 0 0 AnsVarR
forall (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat) (n5 :: Nat)
(n6 :: Nat) k1 k2 k3 a.
Int
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 (AnsVar a)
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 (AnsVar a)
shiftLabels6 Int
1 ATens 1 0 1 0 0 0 AnsVarR
ans6
ans2 :: ATens 0 0 1 0 0 0 AnsVarR
ans2 = ATens 0 0 1 0 0 0 AnsVarR
polyAns2
tens1 :: ATens 0 0 1 0 1 1 AnsVarR
tens1 = (Int, Int)
-> AbsTensor2
(0 + 1)
(0 + 1)
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 0 0 1 0 1 1 AnsVarR
forall k1 v (n1 :: Nat) (n2 :: Nat).
(TIndex k1, TAdd v) =>
(Int, Int)
-> AbsTensor2 (n1 + 1) (n2 + 1) k1 v -> AbsTensor2 n1 n2 k1 v
contrATens1 (Int
0,Int
0) (AbsTensor2
(0 + 1)
(0 + 1)
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 0 0 1 0 1 1 AnsVarR)
-> AbsTensor2
(0 + 1)
(0 + 1)
Ind20
(Tensor
1 Ind9 (Tensor 0 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> ATens 0 0 1 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 1 0 1 0 0 0 AnsVarR
ans6' ATens 1 0 1 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 1 0 1 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
1 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInter
tens2 :: ATens 0 0 1 0 1 1 AnsVarR
tens2 = (Int, Int)
-> AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 1 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 1 1 AnsVarR)
-> AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 0 0 1 0 0 0 AnsVarR
ans2 ATens 0 0 1 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 1 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interMetric
total :: ATens 0 0 1 0 1 1 AnsVarR
total = ATens 0 0 1 0 1 1 AnsVarR
tens1 ATens 0 0 1 0 1 1 AnsVarR
-> ATens 0 0 1 0 1 1 AnsVarR -> ATens 0 0 1 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 0 0 1 0 1 1 AnsVarR
tens2
polyDensEqn :: ATens 1 0 1 0 0 0 AnsVarR -> ATens 0 0 1 0 1 1 AnsVarR
polyDensEqn :: ATens 1 0 1 0 0 0 AnsVarR -> ATens 0 0 1 0 1 1 AnsVarR
polyDensEqn ATens 1 0 1 0 0 0 AnsVarR
ans6 = ATens 1 0 1 0 0 0 AnsVarR -> ATens 0 0 1 0 1 1 AnsVarR
polyTensEqn ATens 1 0 1 0 0 0 AnsVarR
ans6 ATens 0 0 1 0 1 1 AnsVarR
-> ATens 0 0 1 0 1 1 AnsVarR -> ATens 0 0 1 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ (ATens 0 0 1 0 0 0 AnsVarR
ans2 ATens 0 0 1 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 1 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
delta3A)
where
ans2 :: ATens 0 0 1 0 0 0 AnsVarR
ans2 = ATens 0 0 1 0 0 0 AnsVarR
polyAns2
eqn1Met :: ATens 0 0 0 0 0 0 AnsVarR -> ATens 0 0 1 0 0 0 AnsVarR -> ATens 0 0 0 0 1 1 AnsVarR
eqn1Met :: ATens 0 0 0 0 0 0 AnsVarR
-> ATens 0 0 1 0 0 0 AnsVarR -> ATens 0 0 0 0 1 1 AnsVarR
eqn1Met ATens 0 0 0 0 0 0 AnsVarR
ans0 ATens 0 0 1 0 0 0 AnsVarR
ans2 = (Int, Int)
-> AbsTensor4
0
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 0 0 1 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (ATens 0 0 1 0 0 0 AnsVarR
ans2 ATens 0 0 1 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 1 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInterMetric) ATens 0 0 0 0 1 1 AnsVarR
-> ATens 0 0 0 0 1 1 AnsVarR -> ATens 0 0 0 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ (ATens 0 0 0 0 0 0 AnsVarR
ans0 ATens 0 0 0 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 0 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
delta3A)
eqn1AMet :: ATens 0 0 1 0 0 0 AnsVarR -> ATens 0 0 2 0 0 0 AnsVarR -> ATens 0 0 1 0 1 1 AnsVarR
eqn1AMet :: ATens 0 0 1 0 0 0 AnsVarR
-> ATens 0 0 2 0 0 0 AnsVarR -> ATens 0 0 1 0 1 1 AnsVarR
eqn1AMet ATens 0 0 1 0 0 0 AnsVarR
ans2 ATens 0 0 2 0 0 0 AnsVarR
ans4 = ATens 0 0 1 0 1 1 AnsVarR
block1 ATens 0 0 1 0 1 1 AnsVarR
-> ATens 0 0 1 0 1 1 AnsVarR -> ATens 0 0 1 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 0 0 1 0 1 1 AnsVarR
block2 ATens 0 0 1 0 1 1 AnsVarR
-> ATens 0 0 1 0 1 1 AnsVarR -> ATens 0 0 1 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 0 0 1 0 1 1 AnsVarR
TProd
(ATens 0 0 1 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
block3
where
block1 :: ATens 0 0 1 0 1 1 AnsVarR
block1 = (Int, Int)
-> AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 1 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 1 1 AnsVarR)
-> AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 0 0 1 0 0 0 AnsVarR
ans2 ATens 0 0 1 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 1 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interMetric
block2 :: ATens 0 0 1 0 1 1 AnsVarR
block2 = (Int, Int)
-> AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 1 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 1 1 AnsVarR)
-> AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 0 0 2 0 0 0 AnsVarR
ans4 ATens 0 0 2 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 2 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInterMetric
block3 :: TProd
(ATens 0 0 1 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
block3 = ATens 0 0 1 0 0 0 AnsVarR
ans2 ATens 0 0 1 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 1 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
delta3A
eqn1ABMet :: ATens 0 0 2 0 0 0 AnsVarR -> ATens 0 0 3 0 0 0 AnsVarR -> ATens 0 0 2 0 1 1 AnsVarR
eqn1ABMet :: ATens 0 0 2 0 0 0 AnsVarR
-> ATens 0 0 3 0 0 0 AnsVarR -> ATens 0 0 2 0 1 1 AnsVarR
eqn1ABMet ATens 0 0 2 0 0 0 AnsVarR
ans4 ATens 0 0 3 0 0 0 AnsVarR
ans6 = ATens 0 0 2 0 1 1 AnsVarR
block1 ATens 0 0 2 0 1 1 AnsVarR
-> ATens 0 0 2 0 1 1 AnsVarR -> ATens 0 0 2 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 0 0 2 0 1 1 AnsVarR
block2 ATens 0 0 2 0 1 1 AnsVarR
-> ATens 0 0 2 0 1 1 AnsVarR -> ATens 0 0 2 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 0 0 2 0 1 1 AnsVarR
TProd
(ATens 0 0 2 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
block3
where
block1 :: ATens 0 0 2 0 1 1 AnsVarR
block1 = (Int, Int)
-> ATens 0 0 2 0 1 1 AnsVarR -> ATens 0 0 2 0 1 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor3 n1 n2 n3 k1 k2 v -> AbsTensor3 n1 n2 n3 k1 k2 v
symATens3 (Int
0,Int
1) (ATens 0 0 2 0 1 1 AnsVarR -> ATens 0 0 2 0 1 1 AnsVarR)
-> ATens 0 0 2 0 1 1 AnsVarR -> ATens 0 0 2 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 1 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 1 1 AnsVarR)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 0 0 2 0 0 0 AnsVarR
ans4 ATens 0 0 2 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 2 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interMetric
block2 :: ATens 0 0 2 0 1 1 AnsVarR
block2 = (Int, Int)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 1 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 1 1 AnsVarR)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 0 0 3 0 0 0 AnsVarR
ans6 ATens 0 0 3 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 3 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInterMetric
block3 :: TProd
(ATens 0 0 2 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
block3 = ATens 0 0 2 0 0 0 AnsVarR
ans4 ATens 0 0 2 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 2 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
delta3A
eqn3Met :: ATens 0 0 2 0 0 0 AnsVarR -> ATens 0 0 0 0 3 1 AnsVarR
eqn3Met :: ATens 0 0 2 0 0 0 AnsVarR -> ATens 0 0 0 0 3 1 AnsVarR
eqn3Met ATens 0 0 2 0 0 0 AnsVarR
ans4 = (Int, Int)
-> AbsTensor4
0
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 0 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
0
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 0 0 3 1 AnsVarR)
-> AbsTensor4
0
0
(0 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 0 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
0
0
(1 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor2
0
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
1,Int
0) (AbsTensor4
0
0
(1 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor2
0
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))))
-> AbsTensor4
0
0
(1 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor2
0
0
Ind20
(Tensor2 1 1 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
forall a b. (a -> b) -> a -> b
$ ATens 0 0 2 0 0 0 AnsVarR
ans4 ATens 0 0 2 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0
Ind20
(Tensor2
0 2 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))))
-> TProd
(ATens 0 0 2 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0
Ind20
(Tensor2
0 2 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational))))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* (Int, Int)
-> AbsTensor4
0
0
(0 + 1)
(2 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))
-> Tensor
0
Ind20
(Tensor
0
Ind20
(Tensor2
0 2 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))))
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
2) (ATens 0 0 1 2 3 1 (SField Rational)
interEqn5Metric ATens 0 0 1 2 3 1 (SField Rational)
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 0 0 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 1 2 3 1 (SField Rational))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 0 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 0 0 Ind3 (SField Rational))))
etaAbs)
eqn1AIMet :: ATens 0 0 2 0 0 0 AnsVarR -> ATens 0 0 3 0 0 0 AnsVarR -> ATens 0 0 2 0 1 1 AnsVarR
eqn1AIMet :: ATens 0 0 2 0 0 0 AnsVarR
-> ATens 0 0 3 0 0 0 AnsVarR -> ATens 0 0 2 0 1 1 AnsVarR
eqn1AIMet ATens 0 0 2 0 0 0 AnsVarR
ans4 ATens 0 0 3 0 0 0 AnsVarR
ans6 = ATens 0 0 2 0 1 1 AnsVarR
block1 ATens 0 0 2 0 1 1 AnsVarR
-> ATens 0 0 2 0 1 1 AnsVarR -> ATens 0 0 2 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 0 0 2 0 1 1 AnsVarR
block2 ATens 0 0 2 0 1 1 AnsVarR
-> ATens 0 0 2 0 1 1 AnsVarR -> ATens 0 0 2 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 0 0 2 0 1 1 AnsVarR
TProd
(ATens 0 0 2 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
block3
where
block1 :: ATens 0 0 2 0 1 1 AnsVarR
block1 = (Int, Int)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 1 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 1 1 AnsVarR)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 0 0 3 0 0 0 AnsVarR
ans6 ATens 0 0 3 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 3 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInterMetric
block2 :: ATens 0 0 2 0 1 1 AnsVarR
block2 = (Int, Int)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 1 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 1 1 AnsVarR)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
0
0
(3 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 3 1 Ind20 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
1,Int
1) (AbsTensor4
0
0
(3 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 3 1 Ind20 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor4
0
0
(3 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 3 1 Ind20 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
forall a b. (a -> b) -> a -> b
$ ATens 0 0 2 0 0 0 AnsVarR
ans4 ATens 0 0 2 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 2 2 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 2 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 2 2 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 2 2 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interEqn3Metric
block3 :: TProd
(ATens 0 0 2 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
block3 = ATens 0 0 2 0 0 0 AnsVarR
ans4 ATens 0 0 2 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 2 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
delta3A
eqn2AaMet :: ATens 0 0 2 0 0 0 AnsVarR -> ATens 0 0 2 0 2 0 AnsVarR -> ATens 0 0 1 0 3 1 AnsVarR
eqn2AaMet :: ATens 0 0 2 0 0 0 AnsVarR
-> ATens 0 0 2 0 2 0 AnsVarR -> ATens 0 0 1 0 3 1 AnsVarR
eqn2AaMet ATens 0 0 2 0 0 0 AnsVarR
ans4 ATens 0 0 2 0 2 0 AnsVarR
ans6 = ATens 0 0 1 0 3 1 AnsVarR
block1 ATens 0 0 1 0 3 1 AnsVarR
-> ATens 0 0 1 0 3 1 AnsVarR -> ATens 0 0 1 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 0 0 1 0 3 1 AnsVarR
block2
where
block1 :: ATens 0 0 1 0 3 1 AnsVarR
block1 = (Int, Int)
-> ATens 0 0 1 0 3 1 AnsVarR -> ATens 0 0 1 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
symATens5 (Int
1,Int
2) (ATens 0 0 1 0 3 1 AnsVarR -> ATens 0 0 1 0 3 1 AnsVarR)
-> ATens 0 0 1 0 3 1 AnsVarR -> ATens 0 0 1 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
1,Int
0) (AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 3 1 AnsVarR)
-> AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 0 0 2 0 2 0 AnsVarR
ans6 ATens 0 0 2 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 2 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInterMetric
block2 :: ATens 0 0 1 0 3 1 AnsVarR
block2 = (Int, Int)
-> ATens 0 0 1 0 3 1 AnsVarR -> ATens 0 0 1 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
symATens5 (Int
1,Int
2) (ATens 0 0 1 0 3 1 AnsVarR -> ATens 0 0 1 0 3 1 AnsVarR)
-> ATens 0 0 1 0 3 1 AnsVarR -> ATens 0 0 1 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 3 1 AnsVarR)
-> AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
0
0
(2 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 2 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
1,Int
0) (AbsTensor4
0
0
(2 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 2 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor4
0
0
(2 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 2 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
forall a b. (a -> b) -> a -> b
$ ATens 0 0 2 0 0 0 AnsVarR
ans4 ATens 0 0 2 0 0 0 AnsVarR
-> ATens 0 0 1 2 3 1 (SField Rational)
-> TProd
(ATens 0 0 2 0 0 0 AnsVarR) (ATens 0 0 1 2 3 1 (SField Rational))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* ATens 0 0 1 2 3 1 (SField Rational)
interEqn4Metric
eqn3AMet :: ATens 0 0 2 0 0 0 AnsVarR -> ATens 0 0 3 0 0 0 AnsVarR -> ATens 0 0 1 0 3 1 AnsVarR
eqn3AMet :: ATens 0 0 2 0 0 0 AnsVarR
-> ATens 0 0 3 0 0 0 AnsVarR -> ATens 0 0 1 0 3 1 AnsVarR
eqn3AMet ATens 0 0 2 0 0 0 AnsVarR
ans4 ATens 0 0 3 0 0 0 AnsVarR
ans6 = ATens 0 0 1 0 3 1 AnsVarR
block1 ATens 0 0 1 0 3 1 AnsVarR
-> ATens 0 0 1 0 3 1 AnsVarR -> ATens 0 0 1 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 0 0 1 0 3 1 AnsVarR
block2
where
block1 :: ATens 0 0 1 0 3 1 AnsVarR
block1 = (Int, Int)
-> AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 3 1 AnsVarR)
-> AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
0
0
(2 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 2 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
1,Int
0) (AbsTensor4
0
0
(2 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 2 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor4
0
0
(2 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 2 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
forall a b. (a -> b) -> a -> b
$ ATens 0 0 2 0 0 0 AnsVarR
ans4 ATens 0 0 2 0 0 0 AnsVarR
-> ATens 0 0 1 2 3 1 (SField Rational)
-> TProd
(ATens 0 0 2 0 0 0 AnsVarR) (ATens 0 0 1 2 3 1 (SField Rational))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* ATens 0 0 1 2 3 1 (SField Rational)
interEqn5Metric
block2 :: ATens 0 0 1 0 3 1 AnsVarR
block2 = (Int, Int)
-> AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
1,Int
0) (AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 3 1 AnsVarR)
-> AbsTensor4
0
0
(1 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 1 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
0
0
(2 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 2 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
2,Int
0) (AbsTensor4
0
0
(2 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 2 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor4
0
0
(2 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 2 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
forall a b. (a -> b) -> a -> b
$ ATens 0 0 3 0 0 0 AnsVarR
ans6 ATens 0 0 3 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0
Ind20
(Tensor2
0 2 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))))
-> TProd
(ATens 0 0 3 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0
Ind20
(Tensor2
0 2 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational))))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* (Int, Int)
-> AbsTensor4
0
0
(0 + 1)
(2 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))
-> Tensor
0
Ind20
(Tensor
0
Ind20
(Tensor2
0 2 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))))
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
2) (ATens 0 0 1 2 3 1 (SField Rational)
interEqn5Metric ATens 0 0 1 2 3 1 (SField Rational)
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 0 0 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 1 2 3 1 (SField Rational))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 0 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 0 0 Ind3 (SField Rational))))
etaAbs)
eqn1ABIMet :: ATens 0 0 3 0 0 0 AnsVarR -> ATens 0 0 4 0 0 0 AnsVarR -> ATens 0 0 3 0 1 1 AnsVarR
eqn1ABIMet :: ATens 0 0 3 0 0 0 AnsVarR
-> ATens 0 0 4 0 0 0 AnsVarR -> ATens 0 0 3 0 1 1 AnsVarR
eqn1ABIMet ATens 0 0 3 0 0 0 AnsVarR
ans6 ATens 0 0 4 0 0 0 AnsVarR
ans8 = ATens 0 0 3 0 1 1 AnsVarR
block1 ATens 0 0 3 0 1 1 AnsVarR
-> ATens 0 0 3 0 1 1 AnsVarR -> ATens 0 0 3 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 0 0 3 0 1 1 AnsVarR
block2 ATens 0 0 3 0 1 1 AnsVarR
-> ATens 0 0 3 0 1 1 AnsVarR -> ATens 0 0 3 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 0 0 3 0 1 1 AnsVarR
block3 ATens 0 0 3 0 1 1 AnsVarR
-> ATens 0 0 3 0 1 1 AnsVarR -> ATens 0 0 3 0 1 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 0 0 3 0 1 1 AnsVarR
TProd
(ATens 0 0 3 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
block4
where
block1 :: ATens 0 0 3 0 1 1 AnsVarR
block1 = (Int, Int)
-> AbsTensor4
0
0
(3 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 3 0 1 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
0
0
(3 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 3 0 1 1 AnsVarR)
-> AbsTensor4
0
0
(3 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 3 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 0 0 4 0 0 0 AnsVarR
ans8 ATens 0 0 4 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 4 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInterMetric
block2 :: ATens 0 0 3 0 1 1 AnsVarR
block2 = (Int, Int)
-> AbsTensor4
0
0
(3 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 3 0 1 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
1,Int
0) (AbsTensor4
0
0
(3 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 3 0 1 1 AnsVarR)
-> AbsTensor4
0
0
(3 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 3 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interMetric Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> ATens 0 0 3 0 0 0 AnsVarR
-> TProd
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
(ATens 0 0 3 0 0 0 AnsVarR)
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* ATens 0 0 3 0 0 0 AnsVarR
ans6
block3 :: ATens 0 0 3 0 1 1 AnsVarR
block3 = (Int, Int)
-> AbsTensor4
0
0
(3 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 3 0 1 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
1,Int
0) (AbsTensor4
0
0
(3 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 3 0 1 1 AnsVarR)
-> AbsTensor4
0
0
(3 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 3 0 1 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
0
0
(4 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 4 1 Ind20 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
2,Int
1) (AbsTensor4
0
0
(4 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 4 1 Ind20 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor4
0
0
(4 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 4 1 Ind20 Ind9 (Tensor 1 Ind3 (Tensor 1 Ind3 AnsVarR))
forall a b. (a -> b) -> a -> b
$ ATens 0 0 3 0 0 0 AnsVarR
ans6 ATens 0 0 3 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 2 2 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 3 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 2 2 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 2 2 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interEqn3Metric
block4 :: TProd
(ATens 0 0 3 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
block4 = ATens 0 0 3 0 0 0 AnsVarR
ans6 ATens 0 0 3 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 3 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
delta3A
eqn3ABMet :: ATens 0 0 3 0 0 0 AnsVarR -> ATens 0 0 4 0 0 0 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
eqn3ABMet :: ATens 0 0 3 0 0 0 AnsVarR
-> ATens 0 0 4 0 0 0 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
eqn3ABMet ATens 0 0 3 0 0 0 AnsVarR
ans6 ATens 0 0 4 0 0 0 AnsVarR
ans8 = ATens 0 0 2 0 3 1 AnsVarR
block1 ATens 0 0 2 0 3 1 AnsVarR
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 0 0 2 0 3 1 AnsVarR
block2
where
block1 :: ATens 0 0 2 0 3 1 AnsVarR
block1 = (Int, Int)
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor3 n1 n2 n3 k1 k2 v -> AbsTensor3 n1 n2 n3 k1 k2 v
symATens3 (Int
0,Int
1) (ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR)
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
1,Int
0) (AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
0
0
(3 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 3 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
2,Int
0) (AbsTensor4
0
0
(3 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 3 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor4
0
0
(3 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 3 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
forall a b. (a -> b) -> a -> b
$ ATens 0 0 3 0 0 0 AnsVarR
ans6 ATens 0 0 3 0 0 0 AnsVarR
-> ATens 0 0 1 2 3 1 (SField Rational)
-> TProd
(ATens 0 0 3 0 0 0 AnsVarR) (ATens 0 0 1 2 3 1 (SField Rational))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* ATens 0 0 1 2 3 1 (SField Rational)
interEqn5Metric
block2 :: ATens 0 0 2 0 3 1 AnsVarR
block2 = (Int, Int)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
2,Int
0) (AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
0
0
(3 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 3 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
3,Int
0) (AbsTensor4
0
0
(3 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 3 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor4
0
0
(3 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 3 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
forall a b. (a -> b) -> a -> b
$ ATens 0 0 4 0 0 0 AnsVarR
ans8 ATens 0 0 4 0 0 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0
Ind20
(Tensor2
0 2 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))))
-> TProd
(ATens 0 0 4 0 0 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0
Ind20
(Tensor2
0 2 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational))))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* (Int, Int)
-> AbsTensor4
0
0
(0 + 1)
(2 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))
-> Tensor
0
Ind20
(Tensor
0
Ind20
(Tensor2
0 2 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 (SField Rational)))))
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
2) (ATens 0 0 1 2 3 1 (SField Rational)
interEqn5Metric ATens 0 0 1 2 3 1 (SField Rational)
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 0 0 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 1 2 3 1 (SField Rational))
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 0 0 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 0 0 Ind3 (SField Rational))))
etaAbs)
eqn2ABbMet :: ATens 0 0 2 0 2 0 AnsVarR -> ATens 0 0 3 0 0 0 AnsVarR -> ATens 0 0 3 0 2 0 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
eqn2ABbMet :: ATens 0 0 2 0 2 0 AnsVarR
-> ATens 0 0 3 0 0 0 AnsVarR
-> ATens 0 0 3 0 2 0 AnsVarR
-> ATens 0 0 2 0 3 1 AnsVarR
eqn2ABbMet ATens 0 0 2 0 2 0 AnsVarR
ans6_1 ATens 0 0 3 0 0 0 AnsVarR
ans6_2 ATens 0 0 3 0 2 0 AnsVarR
ans8 = ATens 0 0 2 0 3 1 AnsVarR
block1 ATens 0 0 2 0 3 1 AnsVarR
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 0 0 2 0 3 1 AnsVarR
block2 ATens 0 0 2 0 3 1 AnsVarR
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 0 0 2 0 3 1 AnsVarR
block3
where
block1 :: ATens 0 0 2 0 3 1 AnsVarR
block1 = (Int, Int)
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
symATens5 (Int
0,Int
2) (ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR)
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
1,Int
0) (AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 0 0 3 0 2 0 AnsVarR
ans8 ATens 0 0 3 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 3 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInterMetric
block2' :: ATens 0 0 2 0 3 1 AnsVarR
block2' = (Int, Int)
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
tensorTrans5 (Int
0,Int
1) (ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR)
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
1,Int
0) (AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
0
0
(3 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 3 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
1,Int
1) (AbsTensor4
0
0
(3 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 3 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor4
0
0
(3 + 1)
(1 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> AbsTensor4
0 0 3 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
forall a b. (a -> b) -> a -> b
$ ATens 0 0 3 0 0 0 AnsVarR
ans6_2 ATens 0 0 3 0 0 0 AnsVarR
-> ATens 0 0 1 2 3 1 (SField Rational)
-> TProd
(ATens 0 0 3 0 0 0 AnsVarR) (ATens 0 0 1 2 3 1 (SField Rational))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* ATens 0 0 1 2 3 1 (SField Rational)
interEqn4Metric
block2 :: ATens 0 0 2 0 3 1 AnsVarR
block2 = (Int, Int)
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
symATens5 (Int
0,Int
2) ATens 0 0 2 0 3 1 AnsVarR
block2'
block3 :: ATens 0 0 2 0 3 1 AnsVarR
block3 = (Int, Int)
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor3 n1 n2 n3 k1 k2 v -> AbsTensor3 n1 n2 n3 k1 k2 v
tensorTrans3 (Int
0,Int
1) (ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR)
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
symATens5 (Int
0,Int
2) (ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR)
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 0 0 2 0 2 0 AnsVarR
ans6_1 ATens 0 0 2 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 2 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 1 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
interMetric
eqn1AaBbMet :: ATens 0 0 2 0 2 0 AnsVarR -> ATens 0 0 3 0 2 0 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
eqn1AaBbMet :: ATens 0 0 2 0 2 0 AnsVarR
-> ATens 0 0 3 0 2 0 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
eqn1AaBbMet ATens 0 0 2 0 2 0 AnsVarR
ans6 ATens 0 0 3 0 2 0 AnsVarR
ans8 = ATens 0 0 2 0 3 1 AnsVarR
block1 ATens 0 0 2 0 3 1 AnsVarR
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 0 0 2 0 3 1 AnsVarR
block2 ATens 0 0 2 0 3 1 AnsVarR
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 0 0 2 0 3 1 AnsVarR
block3 ATens 0 0 2 0 3 1 AnsVarR
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall k v (n :: Nat).
(TIndex k, TAdd v) =>
Tensor n k v -> Tensor n k v -> Tensor n k v
&+ ATens 0 0 2 0 3 1 AnsVarR
block4
where
block1 :: ATens 0 0 2 0 3 1 AnsVarR
block1 = (Int, Int)
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
tensorTrans5 (Int
1,Int
2) (ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR)
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 0 0 3 0 2 0 AnsVarR
ans8 ATens 0 0 3 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 3 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 1 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
flatInterMetric
block2 :: ATens 0 0 2 0 3 1 AnsVarR
block2 = (Int, Int)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor4 n1 n2 (n3 + 1) (n4 + 1) k1 k2 v
-> AbsTensor4 n1 n2 n3 n4 k1 k2 v
contrATens2 (Int
0,Int
0) (AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR)
-> AbsTensor4
0
0
(2 + 1)
(0 + 1)
Ind20
Ind9
(Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
-> ATens 0 0 2 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> AbsTensor6 0 0 3 1 (3 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor4
0 0 3 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat) (n6 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor6 n1 n2 n3 n4 (n5 + 1) (n6 + 1) k1 k2 k3 v
-> AbsTensor6 n1 n2 n3 n4 n5 n6 k1 k2 k3 v
contrATens3 (Int
0,Int
1) (AbsTensor6 0 0 3 1 (3 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor4
0 0 3 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR)))
-> AbsTensor6 0 0 3 1 (3 + 1) (1 + 1) Ind20 Ind9 Ind3 AnsVarR
-> AbsTensor4
0 0 3 1 Ind20 Ind9 (Tensor 3 Ind3 (Tensor 1 Ind3 AnsVarR))
forall a b. (a -> b) -> a -> b
$ ATens 0 0 2 0 2 0 AnsVarR
ans6 ATens 0 0 2 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 2 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 2 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 2 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 1 1 Ind9 (Tensor2 2 2 Ind3 (SField Rational))))
interEqn2Metric
block3 :: ATens 0 0 2 0 3 1 AnsVarR
block3 = (Int, Int)
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall k1 k2 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat).
(TIndex k1, TIndex k2, TAdd v) =>
(Int, Int)
-> AbsTensor3 n1 n2 n3 k1 k2 v -> AbsTensor3 n1 n2 n3 k1 k2 v
tensorTrans3 (Int
0,Int
1) (ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR)
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ (Int, Int)
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
tensorTrans5 (Int
0,Int
2) ATens 0 0 2 0 3 1 AnsVarR
block2
block4 :: ATens 0 0 2 0 3 1 AnsVarR
block4 = (Int, Int)
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall k1 k2 k3 v (n1 :: Nat) (n2 :: Nat) (n3 :: Nat) (n4 :: Nat)
(n5 :: Nat).
(TIndex k1, TIndex k2, TIndex k3, TAdd v) =>
(Int, Int)
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
-> AbsTensor5 n1 n2 n3 n4 n5 k1 k2 k3 v
tensorTrans5 (Int
1,Int
2) (ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR)
-> ATens 0 0 2 0 3 1 AnsVarR -> ATens 0 0 2 0 3 1 AnsVarR
forall a b. (a -> b) -> a -> b
$ ATens 0 0 2 0 2 0 AnsVarR
ans6 ATens 0 0 2 0 2 0 AnsVarR
-> Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
-> TProd
(ATens 0 0 2 0 2 0 AnsVarR)
(Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational)))))
forall k v v' (n :: Nat) (m :: Nat).
(TIndex k, Prod v v') =>
Tensor n k v
-> Tensor m k v' -> TProd (Tensor n k v) (Tensor m k v')
&* Tensor
0
Ind20
(Tensor
0 Ind20 (Tensor2 0 0 Ind9 (Tensor2 1 1 Ind3 (SField Rational))))
delta3A