-
Notifications
You must be signed in to change notification settings - Fork 1
/
3x3x6_raw.mpl
66 lines (66 loc) · 7.62 KB
/
3x3x6_raw.mpl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
A:=Matrix(3, 3, [[A_1_1,A_1_2,A_1_3],[A_2_1,A_2_2,A_2_3],[A_3_1,A_3_2,A_3_3]]):
B:=Matrix(3, 6, [[B_1_1,B_1_2,B_1_3,B_1_4,B_1_5,B_1_6],[B_2_1,B_2_2,B_2_3,B_2_4,B_2_5,B_2_6],[B_3_1,B_3_2,B_3_3,B_3_4,B_3_5,B_3_6]]):
C:=Matrix(3, 6, [[C_1_1,C_1_2,C_1_3,C_1_4,C_1_5,C_1_6],[C_2_1,C_2_2,C_2_3,C_2_4,C_2_5,C_2_6],[C_3_1,C_3_2,C_3_3,C_3_4,C_3_5,C_3_6]]):
MUL:=[
m_1=(A_1_1-A_3_1+A_2_2+A_3_2-A_1_3-A_2_3)*(-B_3_1+1/8*B_2_2-1/8*B_3_2-1/8*B_1_3-1/8*B_1_4+1/8*B_3_4+B_2_5-B_1_5-1/8*B_2_6),
m_2=(A_1_1-A_3_1+A_2_2-A_3_2+A_1_3-A_2_3)*(-B_3_1-1/8*B_2_2+1/8*B_3_2-1/8*B_1_3+1/8*B_1_4+1/8*B_3_4+B_1_5+B_2_5-1/8*B_2_6),
m_3=(A_1_1+A_3_1+A_2_2-A_3_2+A_1_3+A_2_3)*(-B_3_1+1/8*B_2_2+1/8*B_3_2-1/8*B_1_3-1/8*B_1_4-1/8*B_3_4-B_2_5+B_1_5-1/8*B_2_6),
m_4=(A_1_1+A_3_1+A_2_2+A_3_2+A_2_3-A_1_3)*(B_3_1+1/8*B_2_2+1/8*B_3_2+1/8*B_1_3-1/8*B_1_4+1/8*B_3_4+B_1_5+B_2_5+1/8*B_2_6),
m_5=(-A_1_1+A_3_1+A_2_2+A_3_2-A_1_3-A_2_3)*(-B_1_1-B_2_1+1/8*B_2_2-1/8*B_3_2+1/8*B_1_3+1/8*B_2_4+B_3_5-1/8*B_1_6-1/8*B_3_6),
m_6=(-A_1_1-A_3_1+A_2_2+A_3_2+A_2_3-A_1_3)*(B_2_1-B_1_1-1/8*B_2_2-1/8*B_3_2+1/8*B_1_3+1/8*B_2_4+B_3_5+1/8*B_1_6+1/8*B_3_6),
m_7=(-A_1_1+A_3_1+A_2_2-A_3_2+A_1_3-A_2_3)*(B_2_1-B_1_1+1/8*B_2_2-1/8*B_3_2-1/8*B_1_3-1/8*B_2_4-B_3_5-1/8*B_1_6+1/8*B_3_6),
m_8=(-A_1_1-A_3_1+A_2_2-A_3_2+A_1_3+A_2_3)*(B_1_1+B_2_1+1/8*B_2_2+1/8*B_3_2+1/8*B_1_3+1/8*B_2_4+B_3_5-1/8*B_1_6+1/8*B_3_6),
m_9=(-A_1_1-A_3_1+A_2_2+A_3_2+A_1_3-A_2_3)*(B_2_1-B_1_1-1/8*B_1_2+1/8*B_2_3-1/8*B_3_3+1/8*B_1_4-1/8*B_3_4-B_3_5+1/8*B_2_6),
m_10=(-A_1_1+A_3_1+A_2_2-A_3_2+A_2_3-A_1_3)*(B_2_1-B_1_1+1/8*B_1_2-1/8*B_2_3-1/8*B_3_3-1/8*B_1_4-1/8*B_3_4+B_3_5-1/8*B_2_6),
m_11=(A_1_1+A_3_1+A_3_2-A_2_2+A_1_3+A_2_3)*(-B_1_1-B_2_1+1/8*B_1_2+1/8*B_2_3-1/8*B_3_3+1/8*B_1_4+1/8*B_3_4+B_3_5-1/8*B_2_6),
m_12=(-A_1_1+A_3_1+A_2_2+A_3_2+A_1_3+A_2_3)*(B_1_1+B_2_1+1/8*B_1_2+1/8*B_2_3+1/8*B_3_3+1/8*B_1_4-1/8*B_3_4+B_3_5-1/8*B_2_6),
m_13=(A_1_1-A_3_1+A_2_2+A_3_2+A_1_3+A_2_3)*(-B_3_1-1/8*B_1_2+1/8*B_2_3+1/8*B_3_3+1/8*B_2_4-B_2_5+B_1_5+1/8*B_1_6+1/8*B_3_6),
m_14=(A_1_1+A_3_1+A_2_2+A_3_2+A_1_3-A_2_3)*(B_3_1+1/8*B_1_2+1/8*B_2_3-1/8*B_3_3-1/8*B_2_4-B_1_5-B_2_5+1/8*B_1_6+1/8*B_3_6),
m_15=(-A_1_1+A_3_1+A_3_2-A_2_2+A_1_3-A_2_3)*(-B_3_1-1/8*B_1_2-1/8*B_2_3-1/8*B_3_3+1/8*B_2_4-B_1_5-B_2_5-1/8*B_1_6+1/8*B_3_6),
m_16=(-A_1_1-A_3_1+A_3_2-A_2_2+A_1_3+A_2_3)*(-B_3_1-1/8*B_1_2+1/8*B_2_3-1/8*B_3_3+1/8*B_2_4+B_2_5-B_1_5+1/8*B_1_6-1/8*B_3_6),
m_17=(A_1_1-A_3_1+A_1_3-A_3_3)*(-B_3_1-1/8*B_2_2+1/8*B_3_2+1/8*B_2_3+1/8*B_3_3+1/8*B_1_4+1/8*B_3_4-B_3_5+1/8*B_1_6+1/8*B_3_6),
m_18=(-A_1_1-A_3_1-A_1_3-A_3_3)*(B_3_1-1/8*B_2_2-1/8*B_3_2+1/8*B_2_3-1/8*B_3_3+1/8*B_1_4+1/8*B_3_4+B_3_5+1/8*B_1_6+1/8*B_3_6),
m_19=(-A_3_3-A_1_3+A_3_1+A_1_1)*(-B_3_1-1/8*B_2_2-1/8*B_3_2+1/8*B_2_3-1/8*B_3_3+1/8*B_1_4-1/8*B_3_4-B_3_5+1/8*B_1_6-1/8*B_3_6),
m_20=(A_1_1-A_3_1-A_1_3+A_3_3)*(B_3_1-1/8*B_2_2+1/8*B_3_2+1/8*B_2_3+1/8*B_3_3+1/8*B_1_4-1/8*B_3_4+B_3_5+1/8*B_1_6-1/8*B_3_6),
m_21=(A_1_1-A_3_1+A_1_2-A_3_2)*(-B_1_1-B_2_1+1/8*B_2_2-1/8*B_3_2-1/8*B_2_3-1/8*B_3_3+1/8*B_2_4-B_1_5-B_2_5+1/8*B_2_6),
m_22=(A_1_1+A_3_1-A_1_2-A_3_2)*(B_2_1-B_1_1-1/8*B_2_2-1/8*B_3_2+1/8*B_2_3-1/8*B_3_3+1/8*B_2_4+B_2_5-B_1_5+1/8*B_2_6),
m_23=(A_1_1+A_3_1+A_1_2+A_3_2)*(-B_1_1-B_2_1-1/8*B_2_2-1/8*B_3_2+1/8*B_2_3-1/8*B_3_3-1/8*B_2_4-B_1_5-B_2_5-1/8*B_2_6),
m_24=(-A_1_1+A_3_1+A_1_2-A_3_2)*(-B_2_1+B_1_1-1/8*B_2_2+1/8*B_3_2+1/8*B_2_3+1/8*B_3_3+1/8*B_2_4-B_2_5+B_1_5+1/8*B_2_6),
m_25=(-A_2_1-A_3_1-A_2_2-A_3_2)*(-B_1_1-B_2_1-1/8*B_1_2+1/8*B_1_3-1/8*B_1_4+1/8*B_3_4+B_1_5+B_2_5-1/8*B_1_6-1/8*B_3_6),
m_26=(-A_2_1-A_3_1+A_2_2+A_3_2)*(B_2_1-B_1_1-1/8*B_1_2+1/8*B_1_3+1/8*B_1_4-1/8*B_3_4-B_2_5+B_1_5+1/8*B_1_6+1/8*B_3_6),
m_27=(-A_2_1+A_3_1+A_2_2-A_3_2)*(B_2_1-B_1_1+1/8*B_1_2-1/8*B_1_3-1/8*B_1_4-1/8*B_3_4-B_2_5+B_1_5-1/8*B_1_6+1/8*B_3_6),
m_28=(-A_2_1+A_3_1+A_3_2-A_2_2)*(B_1_1+B_2_1-1/8*B_1_2+1/8*B_1_3-1/8*B_1_4-1/8*B_3_4-B_1_5-B_2_5-1/8*B_1_6+1/8*B_3_6),
m_29=(-A_2_2-A_3_2+A_3_3+A_2_3)*(B_3_1-1/8*B_2_2+1/8*B_3_2+1/8*B_2_3-1/8*B_3_3+1/8*B_1_4-1/8*B_3_4-B_3_5+1/8*B_1_6+1/8*B_3_6),
m_30=(-A_2_2-A_3_2-A_2_3-A_3_3)*(-B_3_1-1/8*B_2_2-1/8*B_3_2+1/8*B_2_3+1/8*B_3_3+1/8*B_1_4-1/8*B_3_4+B_3_5+1/8*B_1_6+1/8*B_3_6),
m_31=(A_3_2-A_2_2-A_2_3+A_3_3)*(B_3_1-1/8*B_2_2-1/8*B_3_2+1/8*B_2_3+1/8*B_3_3+1/8*B_1_4+1/8*B_3_4-B_3_5+1/8*B_1_6-1/8*B_3_6),
m_32=(A_2_2-A_3_2-A_2_3+A_3_3)*(-B_3_1-1/8*B_2_2+1/8*B_3_2+1/8*B_2_3-1/8*B_3_3+1/8*B_1_4+1/8*B_3_4+B_3_5+1/8*B_1_6-1/8*B_3_6),
m_33=(A_1_2+A_2_2+A_1_3+A_2_3)*(B_1_1+B_2_1+1/8*B_2_2+1/8*B_3_2+1/8*B_2_3+1/8*B_3_3+1/8*B_2_4-B_2_5+B_1_5-1/8*B_2_6),
m_34=(-A_1_2+A_2_2+A_1_3-A_2_3)*(B_2_1-B_1_1+1/8*B_2_2-1/8*B_3_2+1/8*B_2_3-1/8*B_3_3-1/8*B_2_4-B_1_5-B_2_5+1/8*B_2_6),
m_35=(A_1_2+A_2_2-A_1_3-A_2_3)*(-B_1_1-B_2_1+1/8*B_2_2-1/8*B_3_2+1/8*B_2_3-1/8*B_3_3+1/8*B_2_4+B_2_5-B_1_5-1/8*B_2_6),
m_36=(-A_1_2+A_2_2+A_2_3-A_1_3)*(-B_2_1+B_1_1+1/8*B_2_2+1/8*B_3_2+1/8*B_2_3+1/8*B_3_3-1/8*B_2_4+B_1_5+B_2_5+1/8*B_2_6),
m_37=(A_2_1-A_1_1+A_1_3-A_2_3)*(-B_2_1+B_1_1+1/8*B_1_2+1/8*B_1_3-1/8*B_1_4+1/8*B_3_4+B_1_5+B_2_5+1/8*B_1_6-1/8*B_3_6),
m_38=(-A_1_1-A_2_1-A_1_3-A_2_3)*(B_1_1+B_2_1-1/8*B_1_2-1/8*B_1_3-1/8*B_1_4-1/8*B_3_4-B_2_5+B_1_5+1/8*B_1_6+1/8*B_3_6),
m_39=(A_1_1+A_2_1-A_1_3-A_2_3)*(B_1_1+B_2_1+1/8*B_1_2+1/8*B_1_3+1/8*B_1_4-1/8*B_3_4-B_2_5+B_1_5-1/8*B_1_6+1/8*B_3_6),
m_40=(A_2_1-A_1_1+A_2_3-A_1_3)*(B_2_1-B_1_1+1/8*B_1_2+1/8*B_1_3-1/8*B_1_4-1/8*B_3_4-B_1_5-B_2_5+1/8*B_1_6+1/8*B_3_6)
]:
ADD:=[
C_1_1=-1/8*m_38+1/8*m_39+1/8*m_40-1/8*m_4-1/8*m_13+1/8*m_14-1/8*m_15-1/8*m_16-1/8*m_21-1/8*m_22-1/8*m_23-1/8*m_24-1/8*m_25+1/8*m_26+1/8*m_27+1/8*m_28+1/8*m_33-1/8*m_34-1/8*m_35+1/8*m_36-1/8*m_37+1/8*m_1-1/8*m_2-1/8*m_3,
C_2_1=-1/8*m_38+1/8*m_39-1/8*m_40+1/8*m_4-1/8*m_13-1/8*m_14+1/8*m_15-1/8*m_16+1/8*m_21-1/8*m_22+1/8*m_23-1/8*m_24+1/8*m_25+1/8*m_26+1/8*m_27-1/8*m_28+1/8*m_33+1/8*m_34-1/8*m_35-1/8*m_36+1/8*m_37+1/8*m_1+1/8*m_2-1/8*m_3,
C_3_1=-1/8*m_5+1/8*m_6-1/8*m_7-1/8*m_8+1/8*m_9-1/8*m_10-1/8*m_11+1/8*m_12+1/8*m_17-1/8*m_18+1/8*m_19+1/8*m_20+1/8*m_29+1/8*m_30+1/8*m_31-1/8*m_32,
C_1_2=m_9-m_10+m_11-m_12-m_13+m_14+m_15+m_16+m_17+m_18+m_19-m_20+m_21+m_22-m_23-m_24+m_29-m_30+m_31+m_32+m_33-m_34+m_35-m_36,
C_2_2=m_38+m_39+m_40+m_4+m_5-m_6+m_7+m_8+m_25+m_26-m_27+m_28+m_37+m_1-m_2+m_3,
C_3_2=m_9+m_10+m_11+m_12+m_13+m_14-m_15+m_16-m_17+m_18+m_19+m_20-m_21+m_22-m_23+m_24+m_29+m_30-m_31+m_32-m_33-m_34+m_35+m_36,
C_1_3=m_4-m_5-m_6+m_7-m_8+m_17+m_18+m_19-m_20-m_21-m_22+m_23+m_24+m_29-m_30+m_31+m_32+m_33-m_34+m_35-m_36-m_1-m_2-m_3,
C_2_3=m_38+m_39+m_40+m_9-m_10-m_11+m_12+m_13+m_14+m_15-m_16-m_25-m_26+m_27-m_28+m_37,
C_3_3=m_4+m_5-m_6-m_7-m_8-m_17+m_18+m_19+m_20+m_21-m_22+m_23-m_24-m_29-m_30+m_31-m_32+m_33+m_34-m_35-m_36+m_1+m_2-m_3,
C_1_4=-m_4-m_9+m_10+m_11-m_12+m_21-m_22-m_23+m_24+m_33+m_34+m_35+m_36-m_1+m_2-m_3,
C_2_4=m_38+m_39-m_40+m_5+m_6-m_7+m_8+m_13-m_14-m_15-m_16-m_17-m_18-m_19+m_20+m_25-m_26+m_27+m_28-m_29+m_30-m_31-m_32-m_37,
C_3_4=m_38-m_39-m_40+m_5+m_6+m_7-m_8+m_13-m_14+m_15+m_16-m_17-m_18+m_19-m_20+m_25-m_26-m_27-m_28-m_29+m_30+m_31+m_32+m_37,
C_1_5=-1/8*m_38+1/8*m_39+1/8*m_40-1/8*m_5-1/8*m_6-1/8*m_7+1/8*m_8-1/8*m_9-1/8*m_10+1/8*m_11+1/8*m_12-1/8*m_21-1/8*m_22-1/8*m_23-1/8*m_24-1/8*m_25+1/8*m_26+1/8*m_27+1/8*m_28-1/8*m_33+1/8*m_34+1/8*m_35-1/8*m_36-1/8*m_37,
C_2_5=-1/8*m_38+1/8*m_39-1/8*m_40-1/8*m_5+1/8*m_6+1/8*m_7+1/8*m_8+1/8*m_9+1/8*m_10+1/8*m_11+1/8*m_12-1/8*m_21+1/8*m_22-1/8*m_23+1/8*m_24-1/8*m_25-1/8*m_26-1/8*m_27+1/8*m_28-1/8*m_33-1/8*m_34+1/8*m_35+1/8*m_36+1/8*m_37,
C_3_5=1/8*m_4-1/8*m_13-1/8*m_14-1/8*m_15+1/8*m_16+1/8*m_17-1/8*m_18+1/8*m_19+1/8*m_20-1/8*m_29-1/8*m_30-1/8*m_31+1/8*m_32+1/8*m_1-1/8*m_2+1/8*m_3,
C_1_6=m_5-m_6+m_7+m_8+m_13+m_14+m_15-m_16+m_21-m_22-m_23+m_24-m_33-m_34-m_35-m_36,
C_2_6=-m_38-m_39+m_40+m_4+m_9-m_10+m_11-m_12+m_17+m_18+m_19-m_20+m_25-m_26+m_27+m_28+m_29-m_30+m_31+m_32+m_37-m_1-m_2-m_3,
C_3_6=m_38-m_39-m_40+m_4+m_9+m_10-m_11-m_12-m_17-m_18+m_19-m_20+m_25-m_26-m_27-m_28+m_29-m_30-m_31-m_32+m_37-m_1+m_2+m_3,
0=0]:
map(expand,subs(subs(MUL,ADD),C-A.B));