张量规范化
Wolfram 语言包含强大的张量规范化程序,它可以把具有对称性的张量的乘积、收缩、换位的表达式变成标准格式. 从这些标准形式中,计算可以被优化并导出新的特性.
$Assumptions = T∈ Arrays[{d, d, d, d}, Reals, {{{2, 1, 3, 4}, -1}, {{3, 4, 1, 2}, 1}}];
contractions = Map[Sort, Partition[#, 2]& /@ Permutations[Range[8]], {1, 2}]//DeleteDuplicates;
Length[contractions]TensorReduce[TensorContract[TT, #]]& /@ contractions//DeleteDuplicatestlist = %[[2 ;; -2 ;; 2]];
glist = MapAt[Annotate[#, ImageSize -> 60]&, SymbolicTensors`TensorGraph[#, Method -> 2]& /@ tlist, {1, 1}];
Grid[Transpose[{tlist, glist}]]TensorReduce[TensorContract[TensorProduct @@ ConstantArray[T, 25], Partition[RandomSample[Range@100], 2]]]//Timing