import numpy as np
"""
原方程组:
6x+10y+5z+12u-12i-7j-10k-14h=0
11x+y+8z+7u-8i-j-9k-11h=0
13x+9y+3z+4u-2i-13j-15k-5h=0
14x+15z+2u-6i-3k-4h=0
已知:i,j,k,h 且解一定存在
求解:x,y,z,u
将已知量挪到等号右侧:
6x+10y+5z+12u=12i+7j+10k+14h
11x+y+8z+7u=8i+j+9k+11h
13x+9y+3z+4u=2i+13j+15k+5h
14x+15z+2u=6i+3k+4h
转为 numpy 矩阵:
"""
a = [[6, 10, 5, 12], [11, 1, 8, 7], [13, 9, 3, 4], [14, 0, 15, 2]]
b = [[12, 7, 10, 14], [8, 1, 9, 11], [2, 13, 15, 5], [6, 0, 3, 4]]
an, bn = np.array(a), np.array(b)
x = np.linalg.solve(an, bn)
print("解:\n", x)
"""
解:
[[-0.21755027 0.52010969 1.1142596 0.23765996]
[-0.04286004 0.97735121 0.11121268 -0.36867764]
[ 0.47694495 -0.44464757 -0.91529555 -0.14381475]
[ 0.94576478 -0.30591103 0.56489945 1.41499086]]
转回字符格式:
x=-0.21755027i+0.52010969j+1.1142596k+0.23765996h
y=-0.04286004i+0.97735121j+0.11121268k-0.36867764h
z=0.47694495i-0.44464757j-0.91529555k-0.14381475h
w=0.94576478i-0.30591103j+0.56489945k+1.41499086h
"""