-- -- This file has been auto-generated by egison-translator. -- assertEqual "Tensor product - case 1" ([|[|1, 1|], [|0, 1|]|]~i~j . [|[|1, 1|], [|0, 1|]|]_j_k) [|[|1, 2|], [|0, 1|]|] assertEqual "Tensor product - case 2" ([|[|1, 1|], [|0, 1|]|]~i~j . [|[|1, 1|], [|0, 1|]|]_j~k . [|[|1, 1|] , [|0, 1|]|]_k_l) [|[|1, 3|], [|0, 1|]|]~i_l assertEqual "Vector *" (V.* [|1, 1, 0|] [|10, 5, 10|]) 15 assertEqual "Matrix *" (M.* [|[|1, 1|], [|0, 1|]|] [|[|1, 1|], [|0, 1|]|]) [|[|1, 2|], [|0, 1|]|] assertEqual "Matrix determinant" (M.det [|[|1, 1|], [|0, 1|]|]) 1 assertEqual "Tensor '+' - case 1" (1 + [|1, 2, 3|]) [|2, 3, 4|] assertEqual "Tensor '+' - case 2" ([|1, 2, 3|] + 1) [|2, 3, 4|] assertEqual "Tensor '+' - case 3" ([|[|11, 12|], [|21, 22|], [|31, 32|]|]_i_j + [|100, 200, 300|]_i) [|[|111, 112|], [|221, 222|], [|331, 332|]|]_i_j assertEqual "Tensor '+' - case 4" ([|100, 200, 300|]_i + [|[|11, 12|], [|21, 22|], [|31, 32|]|]_i_j) [|[|111, 112|], [|221, 222|], [|331, 332|]|]_i_j assertEqual "Tensor '+' - case 5" ([|[|1, 2, 3|], [|10, 20, 30|]|]_i_j + [|100, 200, 300|]_j) [|[|101, 202, 303|], [|110, 220, 330|]|]_i_j assertEqual "Tensor '+' - case 6" ([|100, 200, 300|]_j + [|[|1, 2, 3|], [|10, 20, 30|]|]_i_j) [|[|101, 110|], [|202, 220|], [|303, 330|]|]_j_i assertEqual "append indices with ..." (let A := generateTensor 2#1 [2, 2] f %B := B..._j in f A_i) [|[|1, 1|], [|1, 1|]|]_i_j g_i_j := (generateTensor (\match as (integer, integer) with | ($n, #n) -> function (x, y, z) | (_, _) -> 0) [3, 3])_i_j assertEqual "generate_tensor by using function expr" (show (withSymbols [i, j] d/d g_i_j x)) "[| [| g_1_1|x, 0, 0 |], [| 0, g_2_2|x, 0 |], [| 0, 0, g_3_3|x |] |]" h_i_j := [|[|function (x, y, z), 0, 0|] , [|0, function (x, y, z), 0|] , [|0, 0, function (x, y, z)|]|]_i_j assertEqual "define tensor having value of function expr" (show (withSymbols [i, j] d/d h_i_j x)) "[| [| h_1_1|x, 0, 0 |], [| 0, h_2_2|x, 0 |], [| 0, 0, h_3_3|x |] |]"