fricas
n:=2
fricas
T:=CartesianTensor(1,n,FRAC POLY INT)
Type: Type
fricas
Y:T := unravel concat concat
[[[script(y,[[i,j],[k]])
for i in 1..n]
for j in 1..n]
for k in 1..n]
Type: CartesianTensor
?(1,
2,
Fraction(Polynomial(Integer)))
fricas
A:T := unravel(concat concat
[[[script(a,[[k],[i,j]])
for k in 1..n]
for i in 1..n]
for j in 1..n]
)
Type: CartesianTensor
?(1,
2,
Fraction(Polynomial(Integer)))
fricas
YA:=contract(reindex(Y,[1,3,2])*A,2,3)
Type: CartesianTensor
?(1,
2,
Fraction(Polynomial(Integer)))
fricas
B:T := unravel concat
[[script(b,[[i],[j]])
for i in 1..n]
for j in 1..n]
Type: CartesianTensor
?(1,
2,
Fraction(Polynomial(Integer)))
fricas
YAB:=concat [[YA[i,j]=B[i,j] for i in 1..n] for j in 1..n]
Type: List(Equation(Fraction(Polynomial(Integer))))