5.11 加权Gram-Schmidt 分解
前面介绍了加权最小二乘法的解为
x
^
=
(
A
T
D
A
)
−
1
A
T
D
b
\mathbf{\hat{x}} = (A^TDA)^{-1}A^TD\mathbf{b}
x ^ = ( A T D A ) − 1 A T D b ,其中
D
D
D 为权重矩阵,最常用的是对角阵,每个对角元素表示对应测量点的权重,均为正值,元素值越大表示该测量点越重要。本节仅研究权重矩阵为对角阵的情况,权重矩阵记为
W
=
d
i
a
g
(
w
1
,
w
2
,
⋯
,
w
m
)
W=diag(w_1,w_2,\cdots,w_m)
W = d i a g ( w 1 , w 2 , ⋯ , w m ) ,
w
i
w_i
w i 为测量点
i
i
i 的权重。
假设矩阵
A
=
Q
R
A=QR
A = Q R ,其中
Q
m
n
Q_{mn}
Q m n 为列满秩矩阵,
R
n
n
R_{nn}
R n n 为上三角方阵,带入上式得
x
^
=
(
(
Q
R
)
T
W
(
Q
R
)
)
−
1
(
Q
R
)
T
W
b
=
(
R
T
Q
T
W
Q
R
)
−
1
R
T
Q
T
W
b
=
R
−
1
(
Q
T
W
Q
)
−
1
R
−
T
R
T
Q
T
W
b
=
R
−
1
(
Q
T
W
Q
)
−
1
Q
T
W
b
\mathbf{\hat{x}} = ((QR)^TW(QR))^{-1}(QR)^TW\mathbf{b}\\ = (R^TQ^TWQR)^{-1}R^TQ^TW\mathbf{b} \\ = R^{-1}(Q^TWQ)^{-1}R^{-T}R^TQ^TW\mathbf{b} \\ = R^{-1}(Q^TWQ)^{-1}Q^TW\mathbf{b}
x ^ = ( ( Q R ) T W ( Q R ) ) − 1 ( Q R ) T W b = ( R T Q T W Q R ) − 1 R T Q T W b = R − 1 ( Q T W Q ) − 1 R − T R T Q T W b = R − 1 ( Q T W Q ) − 1 Q T W b
其中矩阵
Q
T
W
Q
Q^TWQ
Q T W Q 求逆,为了简化求逆,我们希望其为对角阵,又当权重矩阵为单位阵时,
Q
T
E
Q
=
Q
T
Q
Q^TEQ=Q^TQ
Q T E Q = Q T Q 必须为单位阵,以便和一般 Gram-Schmidt 分解保持一致。在这个约束下,各矩阵尺寸为
Q
m
n
,
W
m
m
Q_{mn},W_{mm}
Q m n , W m m ,
(
Q
T
W
Q
)
n
n
(Q^TWQ)_{nn}
( Q T W Q ) n n ,所以可以使
Q
T
W
Q
=
W
n
Q^TWQ=W_n
Q T W Q = W n ,对角阵
W
n
W_n
W n 为对角阵
W
W
W 前
n
n
n 个对角元素构成的对角阵,即
W
n
=
d
i
a
g
(
w
1
,
w
2
,
⋯
,
w
n
)
W_n = diag(w_1,w_2,\cdots,w_n)
W n = d i a g ( w 1 , w 2 , ⋯ , w n ) 。注意此时矩阵
Q
Q
Q 一般不再是正交阵,即
Q
T
Q
=
E
Q^TQ=E
Q T Q = E 不再成立。
我们先研究矩阵乘法
Q
T
W
Q
Q^TWQ
Q T W Q ,首先
W
Q
=
(
W
q
1
,
⋯
,
W
q
n
)
WQ=(W\mathbf{q}_1,\cdots,W\mathbf{q}_n)
W Q = ( W q 1 , ⋯ , W q n ) ,
Q
T
W
Q
=
(
[
q
1
T
⋮
,
q
n
T
]
)
(
W
q
1
,
⋯
,
W
q
n
)
=
[
q
1
T
W
q
1
,
⋯
,
q
1
T
W
q
n
⋮
,
q
n
T
W
q
1
,
⋯
,
q
n
T
W
q
n
]
Q^TWQ=(\left[ \begin{matrix} \mathbf{q}^T_1 \\ \vdots,\\ \mathbf{q}^T_n \end{matrix} \right])(W\mathbf{q}_1,\cdots,W\mathbf{q}_n)=\left[ \begin{matrix} \mathbf{q}^T_1W\mathbf{q}_1,\cdots, \mathbf{q}^T_1W\mathbf{q}_n\\ \vdots,\\ \mathbf{q}^T_nW\mathbf{q}_1,\cdots, \mathbf{q}^T_nW\mathbf{q}_n \end{matrix} \right]
Q T W Q = ( ⎣ ⎢ ⎡ q 1 T ⋮ , q n T ⎦ ⎥ ⎤ ) ( W q 1 , ⋯ , W q n ) = ⎣ ⎢ ⎡ q 1 T W q 1 , ⋯ , q 1 T W q n ⋮ , q n T W q 1 , ⋯ , q n T W q n ⎦ ⎥ ⎤ ,所以
Q
T
W
Q
Q^TWQ
Q T W Q 第
i
i
i 行第
j
j
j 列的元素为
q
i
T
W
q
j
\mathbf{q}^T_iW\mathbf{q}_j
q i T W q j 。根据
Q
T
W
Q
=
W
n
Q^TWQ=W_n
Q T W Q = W n 等式,则
q
i
T
W
q
j
=
w
i
f
o
r
i
=
j
,
e
l
s
e
0
i
≠
j
\mathbf{q}^T_iW\mathbf{q}_j = w_i \quad for \quad i=j, else \quad 0 \quad i \ne j
q i T W q j = w i f o r i = j , e l s e 0 i = j ,从这个意义上说向量组
q
i
\mathbf{q}_i
q i 关于矩阵
W
W
W 正交,因为不同向量的广义内积
q
i
T
W
q
j
\mathbf{q}^T_iW\mathbf{q}_j
q i T W q j 为
0
0
0 ,相同向量广义内积为
w
i
w_i
w i 。
根据
A
=
Q
R
A=QR
A = Q R 和
Q
T
W
Q
=
W
n
Q^TWQ=W_n
Q T W Q = W n 两个等式,可以推导出加权Gram-Schmidt 分解公式。
首先,
a
1
=
q
1
r
11
\mathbf{a}_1=\mathbf{q}_1 r_{11}
a 1 = q 1 r 1 1 两边左乘
q
1
T
W
\mathbf{q}^T_1W
q 1 T W 得,
q
1
T
W
a
1
=
q
1
T
W
q
1
r
11
=
w
1
r
11
\mathbf{q}^T_1W\mathbf{a}_1=\mathbf{q}^T_1W\mathbf{q}_1 r_{11}=w_1r_{11}
q 1 T W a 1 = q 1 T W q 1 r 1 1 = w 1 r 1 1 ,又
q
1
T
W
a
1
=
a
1
T
W
a
1
/
r
11
\mathbf{q}^T_1W\mathbf{a}_1=\mathbf{a}^T_1W\mathbf{a}_1/r_{11}
q 1 T W a 1 = a 1 T W a 1 / r 1 1 ,所以
a
1
T
W
a
1
/
r
11
=
w
1
r
11
\mathbf{a}^T_1W\mathbf{a}_1/r_{11}=w_1r_{11}
a 1 T W a 1 / r 1 1 = w 1 r 1 1 得
r
11
=
a
1
T
W
a
1
/
w
1
r_{11}=\sqrt{\mathbf{a}^T_1W\mathbf{a}_1}/\sqrt{w_1}
r 1 1 = a 1 T W a 1
/ w 1
,令
a
1
2
=
a
1
T
W
a
1
a^2_1=\mathbf{a}^T_1W\mathbf{a}_1
a 1 2 = a 1 T W a 1 为广义内积,则
r
11
=
a
1
/
w
1
r_{11}=a_1/\sqrt{w_1}
r 1 1 = a 1 / w 1
,
q
1
=
a
1
/
r
11
=
w
1
a
1
/
a
1
\mathbf{q}_1=\mathbf{a}_1/r_{11}=\sqrt{w_1}\mathbf{a}_1/a_1
q 1 = a 1 / r 1 1 = w 1
a 1 / a 1 。
其次,
a
2
=
q
1
r
12
+
q
2
r
22
\mathbf{a}_2 = \mathbf{q}_1 r_{12} + \mathbf{q}_2 r_{22}
a 2 = q 1 r 1 2 + q 2 r 2 2 两边左乘
q
1
T
W
\mathbf{q}^T_1W
q 1 T W 得,
q
1
T
W
a
2
=
q
1
T
W
q
1
r
12
+
q
1
T
W
q
2
r
22
\mathbf{q}^T_1W\mathbf{a}_2 = \mathbf{q}^T_1W\mathbf{q}_1 r_{12} + \mathbf{q}^T_1W\mathbf{q}_2 r_{22}
q 1 T W a 2 = q 1 T W q 1 r 1 2 + q 1 T W q 2 r 2 2 ,根据
q
i
T
W
q
j
=
w
i
f
o
r
i
=
j
,
e
l
s
e
0
i
≠
j
\mathbf{q}^T_iW\mathbf{q}_j = w_i \quad for \quad i=j, else \quad 0 \quad i \ne j
q i T W q j = w i f o r i = j , e l s e 0 i = j ,得
q
1
T
W
a
2
=
q
1
T
W
q
1
r
12
+
0
=
w
1
r
12
\mathbf{q}^T_1W\mathbf{a}_2 = \mathbf{q}^T_1W\mathbf{q}_1 r_{12} + 0 = w_1 r_{12}
q 1 T W a 2 = q 1 T W q 1 r 1 2 + 0 = w 1 r 1 2 得
r
12
=
q
1
T
W
a
2
/
w
1
r_{12} = \mathbf{q}^T_1W\mathbf{a}_2/w_1
r 1 2 = q 1 T W a 2 / w 1 为广义投影坐标值。
a
2
=
q
1
r
12
+
q
2
r
22
\mathbf{a}_2 = \mathbf{q}_1 r_{12} + \mathbf{q}_2 r_{22}
a 2 = q 1 r 1 2 + q 2 r 2 2 两边左乘
q
2
T
W
\mathbf{q}^T_2W
q 2 T W 得,
q
2
T
W
a
2
=
q
2
T
W
q
1
r
12
+
q
2
T
W
q
2
r
22
\mathbf{q}^T_2W\mathbf{a}_2 = \mathbf{q}^T_2W\mathbf{q}_1 r_{12} + \mathbf{q}^T_2W\mathbf{q}_2 r_{22}
q 2 T W a 2 = q 2 T W q 1 r 1 2 + q 2 T W q 2 r 2 2 ,得
q
2
T
W
a
2
=
0
+
w
2
r
22
\mathbf{q}^T_2W\mathbf{a}_2 = 0 + w_2 r_{22}
q 2 T W a 2 = 0 + w 2 r 2 2 ,得
w
2
r
22
=
q
2
T
W
(
a
2
−
q
1
r
12
)
w_2 r_{22} = \mathbf{q}^T_2W(\mathbf{a}_2- \mathbf{q}_1 r_{12})
w 2 r 2 2 = q 2 T W ( a 2 − q 1 r 1 2 ) ,又
q
2
=
(
a
2
−
q
1
r
12
)
/
r
22
\mathbf{q}_2 = (\mathbf{a}_2 - \mathbf{q}_1 r_{12})/r_{22}
q 2 = ( a 2 − q 1 r 1 2 ) / r 2 2 带入得
w
2
r
22
2
=
(
a
2
−
q
1
r
12
)
W
(
a
2
−
q
1
r
12
)
w_2 r^2_{22} = (\mathbf{a}_2 - \mathbf{q}_1 r_{12})W(\mathbf{a}_2 - \mathbf{q}_1 r_{12})
w 2 r 2 2 2 = ( a 2 − q 1 r 1 2 ) W ( a 2 − q 1 r 1 2 ) ,令
a
2
2
=
(
a
2
−
q
1
r
12
)
W
(
a
2
−
q
1
r
12
)
a^2_2=(\mathbf{a}_2 - \mathbf{q}_1 r_{12})W(\mathbf{a}_2 - \mathbf{q}_1 r_{12})
a 2 2 = ( a 2 − q 1 r 1 2 ) W ( a 2 − q 1 r 1 2 ) 为广义内积,所以
r
22
=
a
2
/
w
2
r_{22} = a_2/\sqrt{w_2}
r 2 2 = a 2 / w 2
。所以
q
2
=
w
2
(
a
2
−
q
1
r
12
)
/
a
2
\mathbf{q}_2 = \sqrt{w_2}(\mathbf{a}_2 - \mathbf{q}_1 r_{12})/a_2
q 2 = w 2
( a 2 − q 1 r 1 2 ) / a 2 。
最后同理对任意列向量
a
i
=
q
1
r
1
i
+
q
2
r
2
i
+
⋯
+
q
i
r
i
i
\mathbf{a}_i = \mathbf{q}_1 r_{1i} + \mathbf{q}_2 r_{2i} + \cdots + \mathbf{q}_i r_{ii}
a i = q 1 r 1 i + q 2 r 2 i + ⋯ + q i r i i ,两边左乘
q
j
T
W
,
j
<
i
\mathbf{q}^T_jW,j < i
q j T W , j < i 得
q
j
T
W
a
i
=
q
j
T
W
q
1
r
1
i
+
q
j
T
W
q
2
r
2
i
+
⋯
+
q
j
T
W
q
i
r
i
i
=
q
j
T
W
q
j
r
j
i
=
w
j
r
j
i
\mathbf{q}^T_jW\mathbf{a}_i = \mathbf{q}^T_jW\mathbf{q}_1 r_{1i} + \mathbf{q}^T_jW\mathbf{q}_2 r_{2i} + \cdots + \mathbf{q}^T_jW\mathbf{q}_i r_{ii} = \mathbf{q}^T_jW\mathbf{q}_j r_{ji} = w_j r_{ji}
q j T W a i = q j T W q 1 r 1 i + q j T W q 2 r 2 i + ⋯ + q j T W q i r i i = q j T W q j r j i = w j r j i 所以
r
j
i
=
q
j
T
W
a
i
/
w
j
r_{ji} = \mathbf{q}^T_jW\mathbf{a}_i/w_j
r j i = q j T W a i / w j 。两边左乘
q
i
T
W
\mathbf{q}^T_iW
q i T W 得
q
i
T
W
a
i
=
q
i
T
W
q
1
r
1
i
+
q
i
T
W
q
2
r
2
i
+
⋯
+
q
i
T
W
q
i
r
i
i
=
q
i
T
W
q
i
r
i
i
=
w
i
r
i
i
\mathbf{q}^T_iW\mathbf{a}_i = \mathbf{q}^T_iW\mathbf{q}_1 r_{1i} + \mathbf{q}^T_iW\mathbf{q}_2 r_{2i} + \cdots + \mathbf{q}^T_iW\mathbf{q}_i r_{ii} = \mathbf{q}^T_iW\mathbf{q}_i r_{ii} = w_i r_{ii}
q i T W a i = q i T W q 1 r 1 i + q i T W q 2 r 2 i + ⋯ + q i T W q i r i i = q i T W q i r i i = w i r i i 所以
r
i
i
=
q
i
T
W
a
i
/
w
i
r_{ii} = \mathbf{q}^T_iW\mathbf{a}_i/w_i
r i i = q i T W a i / w i ,根据
a
i
=
q
1
r
1
i
+
q
2
r
2
i
+
⋯
+
q
i
r
i
i
\mathbf{a}_i = \mathbf{q}_1 r_{1i} + \mathbf{q}_2 r_{2i} + \cdots + \mathbf{q}_i r_{ii}
a i = q 1 r 1 i + q 2 r 2 i + ⋯ + q i r i i 最后化简得,令
a
i
2
=
(
a
i
−
(
q
1
r
1
i
+
q
2
r
2
i
+
⋯
)
)
W
(
a
i
−
(
q
1
r
1
i
+
q
2
r
2
i
+
⋯
)
)
a^2_i=(\mathbf{a}_i - (\mathbf{q}_1 r_{1i} + \mathbf{q}_2 r_{2i} + \cdots))W(\mathbf{a}_i - (\mathbf{q}_1 r_{1i} + \mathbf{q}_2 r_{2i} + \cdots))
a i 2 = ( a i − ( q 1 r 1 i + q 2 r 2 i + ⋯ ) ) W ( a i − ( q 1 r 1 i + q 2 r 2 i + ⋯ ) ) 为广义内积,所以
r
i
i
=
a
i
/
w
i
r_{ii} = a_i/\sqrt{w_i}
r i i = a i / w i
。所以
q
i
=
w
i
(
a
i
−
(
q
1
r
1
i
+
q
2
r
2
i
+
⋯
)
)
/
a
i
\mathbf{q}_i = \sqrt{w_i}(\mathbf{a}_i - (\mathbf{q}_1 r_{1i} + \mathbf{q}_2 r_{2i} + \cdots))/a_i
q i = w i
( a i − ( q 1 r 1 i + q 2 r 2 i + ⋯ ) ) / a i 。
上面介绍的方法就是经典的加权Gram-Schmidt分解,过程和经典的Gram-Schmidt分解一样,差别在于上三角矩阵
R
R
R 的元素
r
j
i
=
q
j
T
W
a
i
/
w
j
r_{ji} = \mathbf{q}^T_jW\mathbf{a}_i/w_j
r j i = q j T W a i / w j 为广义投影
q
j
T
W
a
i
\mathbf{q}^T_jW\mathbf{a}_i
q j T W a i 除以权重
w
j
w_j
w j ,
r
i
i
=
a
i
/
w
i
r_{ii} = a_i/\sqrt{w_i}
r i i = a i / w i
为广义内积
a
i
a_i
a i 除以权重
w
i
\sqrt{w_i}
w i
,当广义内积趋近
0
0
0 时,则方程是病态。
q
i
=
w
i
(
a
i
−
(
q
1
r
1
i
+
q
2
r
2
i
+
⋯
)
)
/
a
i
\mathbf{q}_i = \sqrt{w_i}(\mathbf{a}_i - (\mathbf{q}_1 r_{1i} + \mathbf{q}_2 r_{2i} + \cdots))/a_i
q i = w i
( a i − ( q 1 r 1 i + q 2 r 2 i + ⋯ ) ) / a i 是垂直分量的标准化
(
a
i
−
(
q
1
r
1
i
+
q
2
r
2
i
+
⋯
)
)
/
a
i
(\mathbf{a}_i - (\mathbf{q}_1 r_{1i} + \mathbf{q}_2 r_{2i} + \cdots))/a_i
( a i − ( q 1 r 1 i + q 2 r 2 i + ⋯ ) ) / a i 乘以权重
w
i
\sqrt{w_i}
w i
。
改进加权 Gram-Schmidt 分解
如同改进Gram-Schmidt分解,可以按行计算矩阵
R
R
R 和先减去投影分量,得到改进加权 Gram-Schmidt 分解:令
a
i
2
=
a
i
T
W
a
i
a^2_i=\mathbf{a}^T_iW\mathbf{a}_i
a i 2 = a i T W a i 为广义内积。
1、
r
11
=
a
1
/
w
1
r_{11}=a_1/\sqrt{w_1}
r 1 1 = a 1 / w 1
,
q
1
=
w
1
a
1
/
a
1
\mathbf{q}_1=\sqrt{w_1}\mathbf{a}_1/a_1
q 1 = w 1
a 1 / a 1 ,
r
1
i
=
q
1
T
W
a
i
/
w
1
r_{1i} = \mathbf{q}^T_1W\mathbf{a}_i/w_1
r 1 i = q 1 T W a i / w 1 ,
a
i
=
a
i
−
q
1
r
1
i
,
i
>
1
\mathbf{a}_i = \mathbf{a}_i - \mathbf{q}_1 r_{1i}, i>1
a i = a i − q 1 r 1 i , i > 1 。令
b
0
=
b
\mathbf{b}_0=\mathbf{b}
b 0 = b ,注意对向量
b
\mathbf{b}
b 也要同样处理,即令
δ
1
=
q
1
T
W
b
/
w
1
\delta_1 = \mathbf{q}^T_1W\mathbf{b}/w_1
δ 1 = q 1 T W b / w 1 ,
b
=
b
−
q
1
δ
1
\mathbf{b} = \mathbf{b} - \mathbf{q}_1\delta_1
b = b − q 1 δ 1 。
2、
r
22
=
a
2
/
w
2
r_{22}=a_2/\sqrt{w_2}
r 2 2 = a 2 / w 2
,
q
2
=
w
2
a
2
/
a
2
\mathbf{q}_2=\sqrt{w_2}\mathbf{a}_2/a_2
q 2 = w 2
a 2 / a 2 ,
r
2
i
=
q
2
T
W
a
i
/
w
2
r_{2i} = \mathbf{q}^T_2W\mathbf{a}_i/w_2
r 2 i = q 2 T W a i / w 2 ,
a
i
=
a
i
−
q
2
r
2
i
,
i
>
2
\mathbf{a}_i = \mathbf{a}_i - \mathbf{q}_2 r_{2i}, i>2
a i = a i − q 2 r 2 i , i > 2 。注意对向量
b
\mathbf{b}
b 也要同样处理,即令
δ
2
=
q
2
T
W
b
/
w
2
\delta_2 = \mathbf{q}^T_2W\mathbf{b}/w_2
δ 2 = q 2 T W b / w 2 ,
b
=
b
−
q
2
δ
2
\mathbf{b} = \mathbf{b} - \mathbf{q}_2\delta_2
b = b − q 2 δ 2 。
3、
r
i
i
=
a
i
/
w
i
r_{ii}=a_i/\sqrt{w_i}
r i i = a i / w i
,
q
i
=
w
i
a
i
/
a
i
\mathbf{q}_i=\sqrt{w_i}\mathbf{a}_i/a_i
q i = w i
a i / a i ,
r
i
j
=
q
i
T
W
a
j
/
w
i
r_{ij} = \mathbf{q}^T_iW\mathbf{a}_j/w_i
r i j = q i T W a j / w i ,
a
j
=
a
j
−
q
i
r
i
j
,
j
>
i
\mathbf{a}_j = \mathbf{a}_j - \mathbf{q}_i r_{ij}, j>i
a j = a j − q i r i j , j > i 。注意对向量
b
\mathbf{b}
b 也要同样处理,即令
δ
i
=
q
i
T
W
b
/
w
i
\delta_i = \mathbf{q}^T_iW\mathbf{b}/w_i
δ i = q i T W b / w i ,
b
=
b
−
q
i
δ
i
\mathbf{b} = \mathbf{b} - \mathbf{q}_i\delta_i
b = b − q i δ i 。
一直计算,直到
i
=
n
i=n
i = n 结束。
令向量
d
=
(
δ
1
,
⋯
,
δ
m
)
\mathbf{d} = (\delta_1,\cdots,\delta_m)
d = ( δ 1 , ⋯ , δ m ) ,因为
d
=
(
Q
T
W
Q
)
−
1
Q
T
W
b
0
\mathbf{d} = (Q^TWQ)^{-1}Q^TW\mathbf{b}_0
d = ( Q T W Q ) − 1 Q T W b 0 ,则最优近似解为
x
^
=
R
−
1
d
\mathbf{\hat{x}} = R^{-1}\mathbf{d}
x ^ = R − 1 d ,即
x
^
i
=
(
δ
i
−
∑
j
=
i
+
1
n
(
δ
j
x
^
j
)
)
/
r
i
i
\hat{x}_i = (\delta_i - \sum^{n}_{j=i+1} (\delta_j\hat{x}_j))/r_{ii}
x ^ i = ( δ i − ∑ j = i + 1 n ( δ j x ^ j ) ) / r i i 。
阻尼倒数法
计算
q
i
=
w
i
a
i
/
a
i
\mathbf{q}_i=\sqrt{w_i}\mathbf{a}_i/a_i
q i = w i
a i / a i 涉及到除以广义内积
a
i
a_i
a i ,为了增加数值稳定性,可以采用阻尼倒数法,具体方法和QR分解的阻尼倒数法一样,这里省略。
权重排序
计算上三角阵
R
R
R 元素
r
i
j
=
q
i
T
W
a
j
/
w
i
r_{ij} = \mathbf{q}^T_iW\mathbf{a}_j/w_i
r i j = q i T W a j / w i 涉及除以权重
w
i
w_i
w i ,如果其为或者趋近
0
0
0 ,则也会导致数值不稳定。为了解决这个问题,可采用权重排序计算。即按照权重从大到小排序
w
i
>
w
i
+
1
w_i > w_{i+1}
w i > w i + 1 ,根据权重排序结果调整方程
A
x
=
b
A\mathbf{x} = \mathbf{b}
A x = b 中子方程的顺序,使之与权重顺序对应。这样只要前
n
n
n 个权重不趋近
0
0
0 即可保证数值稳定。如果所有权重大小差不多,则不必排序,可直接计算。注意此时不能采用阻尼倒数法。