gpt4 book ai didi

python - 寻找任意矩阵 n*n 的上/下三角形式 - python

转载 作者:太空宇宙 更新时间:2023-11-03 14:20:46 24 4
gpt4 key购买 nike

只需旋转基,每个矩阵都可以写成上三角或下三角形式。 python(numpy)中是否有一个简单的例程来做到这一点?我找不到它,我不敢相信没有这样的东西。举例说明:

matrix = numpy.array([[a,b,c],
[d,e,f],
[g,h,i]])

matrix2 = numpy.array([[z,0,0],
[y,x,0],
[v,u,t]])

字母是 float 。那么如何进行这种改变,但不仅仅是通过将数字 b、c 和 f 归零,而是通过以最简单的方式正确旋转基础。

谢谢!

最佳答案

您正在寻找Schur decomposition . Schur 分解将矩阵 A 分解为 A = Q U Q^H,其中 U 是上三角矩阵,Q是酉矩阵(影响基旋转),Q^HQ 的 Hermitian 伴随。

import numpy as np
from scipy.linalg import schur

a = np.array([[ 1., 2., 3.], [4., 5., 6.], [7., 8., 9.]])
u, q = schur(a) # q is the unitary matrix, u is upper triangular

repr(u)
# array([[ 1.61168440e+01, 4.89897949e+00, 1.58820582e-15],
# [ 0.00000000e+00, -1.11684397e+00, -1.11643184e-15],
# [ 0.00000000e+00, 0.00000000e+00, -1.30367773e-15]])

关于python - 寻找任意矩阵 n*n 的上/下三角形式 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28296756/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com