我有下一个任务,我需要旋转矩阵。我的第一次旋转是好的,但比我退出矩阵的大小
任务
def rotate(a, k, l): # Rotate
i1 = min(k, l)
j1 = max(k, l)
Q = array([[a[i1][i1], a[i1][j1]],
[a[j1][i1], a[j1][j1]]])
U, S, V = linalg.svd(Q)
U0 = U
print(U0)
print(i1,j1)
U0[i1][i1] = U[0][0]
U0[i1][j1] = U[0][1]
U0[j1][i1] = U[1][0]
U0[j1][j1] = U[1][1]
print(U0)
for i in range(0, 2):
a[i1][i] = a[i1][i] * U0.T[i1][i]
a[j1][i] = a[j1][i] * U0.T[j1][i]
V0 = V
V0[i1][i1] = V[0][0]
V0[i1][j1] = V[0][1]
V0[j1][i1] = V[1][0]
V0[j1][j1] = V[1][1]
for i in range(0, 2):
a[i][i1] = a[i][i1] * V0[i][i1]
a[i][j1] = a[i][j1] * V0[i][j1]
暂无答案!
目前还没有任何答案,快来回答吧!