国家建设标准发布网站在哪里,渝水区城乡建设局网站,美妆网页设计素材,php7.0 wordpress 设置文章目录QR和RQ分解其他函数QR和RQ分解
记AAA为方阵#xff0c;P,QP, QP,Q分别为正交单位阵和上三角阵#xff0c;则形如AQRAQRAQR的分解为QR分解#xff1b;形如ARQARQARQ的分解为RQ分解。
在scipy.linalg中#xff0c;为二者提供了相同的参数#xff0c;除了待分解矩阵…
文章目录QR和RQ分解其他函数QR和RQ分解
记AAA为方阵P,QP, QP,Q分别为正交单位阵和上三角阵则形如AQRAQRAQR的分解为QR分解形如ARQARQARQ的分解为RQ分解。
在scipy.linalg中为二者提供了相同的参数除了待分解矩阵a之外还有下列参数
overwrite_a 默认为False为True时将在矩阵分解时覆盖a的值lwork 工作数组的尺寸mode 默认full用于调整返回值可选4个参数 full返回QQQ和RRRr返回RRReconomic返回QQQ和RRR但是合并在一起raw返回QQQ和TAUTAUTAU矩阵 pivoting 默认False当为True时计算APQRAPQRAPQR但要求选择合适的PPP从而让RRR的对角线非递增check_finite 默认为True表示检查是否有限
import numpy as np
import scipy.linalg as sl
A np.random.rand(3,3)
q1,r1 sl.qr(A)
r2,qr sl.rq(A)结果得到q1q_1q1和q2q_2q2分别为可见二者并不相等。
q1[−0.6594500211609350.7497593086926530.0546502389707366−0.180811070132312−0.0876283110599659−0.979606367893955−0.729680085043063−0.655882808228340.193351274529173]q2[0.377636504144627−0.9255561862726060.0271370003857254−0.06742675088845560.001742086536333450.99772270616596−0.923495697879558−0.378606274627098−0.0617493709355736]q_1 \left[\begin{matrix}-0.659450021160935 0.749759308692653 0.0546502389707366\\-0.180811070132312 -0.0876283110599659 -0.979606367893955\\-0.729680085043063 -0.65588280822834 0.193351274529173\end{matrix}\right]\\ q_2\left[\begin{matrix}0.377636504144627 -0.925556186272606 0.0271370003857254\\-0.0674267508884556 0.00174208653633345 0.99772270616596\\-0.923495697879558 -0.378606274627098 -0.0617493709355736\end{matrix}\right] q1−0.659450021160935−0.180811070132312−0.7296800850430630.749759308692653−0.0876283110599659−0.655882808228340.0546502389707366−0.9796063678939550.193351274529173q20.377636504144627−0.0674267508884556−0.923495697879558−0.9255561862726060.00174208653633345−0.3786062746270980.02713700038572540.99772270616596−0.0617493709355736
但是q1r1q_1r_1q1r1的确是等于r2q2r_2q_2r2q2的。 q1r1
array([[0.81677429, 0.63368526, 0.84867074],[0.22394697, 0.10848293, 0.58357567],[0.90375906, 0.37051483, 0.06042968]])q2r2
array([[-0.09631134, -0.22572231, -0.15900946],[ 0.01719633, -0.05246553, -0.90632485],[ 0.23552571, -0.94691613, 1.13446376]])r2q2
array([[0.81677429, 0.63368526, 0.84867074],[0.22394697, 0.10848293, 0.58357567],[0.90375906, 0.37051483, 0.06042968]])其他函数
除了qr和rq这两个函数外scipy.linalg还提供了其他与qr分解相关的函数。
qr_multiply(a,c)在对AAA进行QRQRQR分解之后返回CQCQCQ其参数中overwrite_a, overwrite_c, privoting与qr函数中的作用相同或可类比。此外还有其他两个参数
mode 可选left或right分别表示返回QCQCQC或CQCQCQconjugate 为True时返回Q的复共轭
qr_update(Q, R, u, v)若AQRAQRAQR是QR分解则返回AuvTAuv^TAuvT的QR分解。此函数也支持overwrite_qruv, check_finite参数。
qr_delete(Q,R,k,p)和qr_insert(Q,R,u,k)分别用于矩阵的删减和增添对于AQRAQRAQR而言前者从第kkk行/列删掉ppp行/列后者在第kkk行/列插入UUU。
这两个函数均支持check_finite覆写开关分别是overwrite_qr和overwrite_qru通过which来调整插入/删除的是行还是列即whichrow时针对行操作为cols时针对列操作。