[~/work/Programs/lisp/franz/]kenrou% lisp Franz Lisp, Opus 38.92 -> (load "ftensor.lisp") [load ftensor.lisp] t -> (setq a '((11 12) (21 22) (31 32))) ((11 12) (21 22) (31 32)) -> (tensortype a) (3 2) -> (setq b '(((111 112) (121 122) (131 132)) ((211 212) (221 222) (231 232)) ((311 312) (321 322) (331 332)) ((411 412) (421 422) (431 432)))) (((111 112) (121 122) (131 132)) ((211 212) (221 222) (231 232)) ((311 312) (321 322) (331 332)) ((411 412) (421 422) (431 432))) -> (tensortype b) (4 3 2) -> (setq c (tproduct a b)) (((((1221 1232) (1331 1342) (1441 1452)) ((2321 2332) (2431 2442) (2541 2552)) ((3421 3432) (3531 3542) (3641 3652)) ((4521 4532) (4631 4642) (4741 4752))) (((1332 1344) (1452 1464) (1572 1584)) ((2532 2544) (2652 2664) (2772 2784)) ((3732 3744) (3852 3864) (3972 3984)) ((4932 4944) (5052 5064) (5172 5184)))) ((((2331 2352) (2541 2562) (2751 2772)) ((4431 4452) (4641 4662) (4851 4872)) ((6531 6552) (6741 6762) (6951 6972)) ((8631 8652) (8841 8862) (9051 9072))) (((2442 2464) (2662 2684) (2882 2904)) ((4642 4664) (4862 4884) (5082 5104)) ((6842 6864) (7062 7084) (7282 7304)) ((9042 9064) (9262 9284) (9482 9504)))) ((((3441 3472) (3751 3782) (4061 4092)) ((6541 6572) (6851 6882) (7161 7192)) ((9641 9672) (9951 9982) (10261 10292)) ((12741 12772) (13051 13082) (13361 13392))) (((3552 3584) (3872 3904) (4192 4224)) ((6752 6784) (7072 7104) (7392 7424)) ((9952 9984) (10272 10304) (10592 10624)) ((13152 13184) (13472 13504) (13792 13824))))) -> (tensortype c) (3 2 4 3 2) -> (setq d (tproduct b a)) (((((1221 1332) (2331 2442) (3441 3552)) ((1232 1344) (2352 2464) (3472 3584))) (((1331 1452) (2541 2662) (3751 3872)) ((1342 1464) (2562 2684) (3782 3904))) (((1441 1572) (2751 2882) (4061 4192)) ((1452 1584) (2772 2904) (4092 4224)))) ((((2321 2532) (4431 4642) (6541 6752)) ((2332 2544) (4452 4664) (6572 6784))) (((2431 2652) (4641 4862) (6851 7072)) ((2442 2664) (4662 4884) (6882 7104))) (((2541 2772) (4851 5082) (7161 7392)) ((2552 2784) (4872 5104) (7192 7424)))) ((((3421 3732) (6531 6842) (9641 9952)) ((3432 3744) (6552 6864) (9672 9984))) (((3531 3852) (6741 7062) (9951 10272)) ((3542 3864) (6762 7084) (9982 10304))) (((3641 3972) (6951 7282) (10261 10592)) ((3652 3984) (6972 7304) (10292 10624)))) ((((4521 4932) (8631 9042) (12741 13152)) ((4532 4944) (8652 9064) (12772 13184))) (((4631 5052) (8841 9262) (13051 13472)) ((4642 5064) (8862 9284) (13082 13504))) (((4741 5172) (9051 9482) (13361 13792)) ((4752 5184) (9072 9504) (13392 13824))))) -> (tensortype d) (4 3 2 3 2) -> (zerotensor '(5 4 3 2)) ((((0 0) (0 0) (0 0)) ((0 0) (0 0) (0 0)) ((0 0) (0 0) (0 0)) ((0 0) (0 0) (0 0))) (((0 0) (0 0) (0 0)) ((0 0) (0 0) (0 0)) ((0 0) (0 0) (0 0)) ((0 0) (0 0) (0 0))) (((0 0) (0 0) (0 0)) ((0 0) (0 0) (0 0)) ((0 0) (0 0) (0 0)) ((0 0) (0 0) (0 0))) (((0 0) (0 0) (0 0)) ((0 0) (0 0) (0 0)) ((0 0) (0 0) (0 0)) ((0 0) (0 0) (0 0))) (((0 0) (0 0) (0 0)) ((0 0) (0 0) (0 0)) ((0 0) (0 0) (0 0)) ((0 0) (0 0) (0 0)))) -> (setq a '((1 2) (3 4) (5 6))) ((1 2) (3 4) (5 6)) -> (setq b '((1 2 3) (4 5 6) (7 8 9) (10 11 12))) ((1 2 3) (4 5 6) (7 8 9) (10 11 12)) -> (tensortype a) (3 2) -> (tensortype b) (4 3) -> (setq c (tproduct a b)) ((((1 2 3) (4 5 6) (7 8 9) (10 11 12)) ((2 4 6) (8 10 12) (14 16 18) (20 22 24))) (((3 6 9) (12 15 18) (21 24 27) (30 33 36)) ((4 8 12) (16 20 24) (28 32 36) (40 44 48))) (((5 10 15) (20 25 30) (35 40 45) (50 55 60)) ((6 12 18) (24 30 36) (42 48 54) (60 66 72)))) -> (tensortype c) (3 2 4 3) -> (setq d (tproduct b a)) ((((1 2) (3 4) (5 6)) ((2 4) (6 8) (10 12)) ((3 6) (9 12) (15 18))) (((4 8) (12 16) (20 24)) ((5 10) (15 20) (25 30)) ((6 12) (18 24) (30 36))) (((7 14) (21 28) (35 42)) ((8 16) (24 32) (40 48)) ((9 18) (27 36) (45 54))) (((10 20) (30 40) (50 60)) ((11 22) (33 44) (55 66)) ((12 24) (36 48) (60 72)))) -> (tensortype d) (4 3 3 2) -> (setq f (contract c 1 4)) ((22 49 76 103) (28 64 100 136)) -> (tensortype f) (2 4) -> (setq ff (contract d 2 3)) ((22 28) (49 64) (76 100) (103 136)) -> (tensortype ff) (4 2) -> (setq fff (exchinext ff)) ((22 49 76 103) (28 64 100 136)) -> (equal f fff) t -> (setq g (exchttype c 2 4)) ((((1 2) (4 8) (7 14) (10 20)) ((2 4) (5 10) (8 16) (11 22)) ((3 6) (6 12) (9 18) (12 24))) (((3 4) (12 16) (21 28) (30 40)) ((6 8) (15 20) (24 32) (33 44)) ((9 12) (18 24) (27 36) (36 48))) (((5 6) (20 24) (35 42) (50 60)) ((10 12) (25 30) (40 48) (55 66)) ((15 18) (30 36) (45 54) (60 72)))) -> (tensortype g) (3 3 4 2) -> (contract g 1 2) ((22 28) (49 64) (76 100) (103 136)) -> (setq s '((o p q) (x y z))) ((o p q) (x y z)) -> (tensortype s) (2 3) -> (setq ss (exchttype s 1 2)) ((o x) (p y) (q z)) -> (tensortype ss) (3 2) -> (exit) [~/work/Programs/lisp/franz/]kenrou%