qr分解
请问matlab中的QR分解,如何使上三角阵R的对角元素为正?matlab有什么函数么?因为直接用qr分解,对角线上肯定是有负数的。还希望大家帮帮忙![ 本帖最后由 sigma665 于 2008-5-23 08:39 编辑 ]
回复 楼主 的帖子
矩阵论上面说qr分解是唯一的:@L QR分解不是唯一的,但是如果规定了上三角矩阵R的各个对角元的符号(比如全为正数),那QR分解就是唯一的。Matlab里没有使上三角阵R的对角元素为正的函数。A=Q1R1=Q2R2,其中Q2=Q1*inv(D),R2=D*R1(D是对角的酉矩阵,且对角元的模等于1). 所以你如果对Matlab计算的QR分解不满意的话,你可以根据R对角元的负值直接构造一个D矩阵(这个D应该简单)把负数再乘一个-1,这样不就可以使上三角阵R的对角元素为正啦 因为每次被QR分解的矩阵都是随机的,所以上述方法可能就使用起来就不方便了。怪我没讲清楚情况,抱歉啊!
回复 4楼 的帖子
我问你一下你的QR分解为什么非要使上三角阵R的对角元素为正,不太明白。 目前正需要这样的形式,论文中需要!而且定义中本来就应该是正数的吧!但是不知道是不是MATLAB中直接QR出来也符合要求。
页:
[1]