矩阵求导数
矩阵 A = ∣ 1 2 1 2 − 1 3 ∣ , 计算 f ( x ) = ∣ ∣ A x ∣ ∣ 2 ∣ ∣ x ∣ ∣ 2 的最大值。 矩阵A = begin {vmatrix} 1 & 2 & 1\2 & -1 & 3 end {vmatrix},计算f(x) = frac{||Ax||_2}{||x||_2}的最大值。 矩阵A= 122−113 ,计算f(x)=∣∣x∣∣2∣∣Ax∣∣2的最大值。
解:
根据导数定义和性质,极值处导数为0。首先求出矩阵的导数,置为0后求解。
首先 f ( x ) = ∣ x 1 x 2 x 3 ∣ ∣ 1 2 2 − 1 1 3 ∣ ∣ 1 2 1 2 − 1 3 ∣ ∣ x 1 x 2 x 3 ∣ x 1 2 + x 2 2 + x 3 2 = ∣ x 1 x 2 x 3 ∣ ∣ 5 0 7 0 5 − 1 7 − 1 10 ∣ ∣ x 1 x 2 x 3 ∣ x 1 2 + x 2 2 + x 3 2 f(x) = frac{ begin {vmatrix} x_1 x_2 x_3 end {vmatrix} begin {vmatrix} 1 & 2 \2 & -1 \1 & 3 end {vmatrix}begin {vmatrix} 1 & 2 & 1\2 & -1 & 3 end {vmatrix} begin {vmatrix} x_1\ x_2\x_3 end {vmatrix} }{x_1^2 + x_2^2 + x_3^2} =\ frac{ begin {vmatrix} x_1 x_2 x_3 end {vmatrix} begin {vmatrix} 5 & 0 & 7\0 & 5 & -1 \7 & -1 & 10end {vmatrix} begin {vmatrix} x_1\ x_2\x_3 end {vmatrix} }{x_1^2 + x_2^2 + x_3^2} f(x)=x12+x22+x32 x1x2x3 1212−13 122−113 x1x2x3 =x12+x22+x32 x1x2x3 50705−17−110 x1x2x3
考虑矩阵 x T A T A x x^T A ^ T A x xTATAx求导:
( x + Δ x ) T A T A ( x + Δ x ) = ( x T + Δ x T ) A T A ( x + Δ x ) = ( x T A T A + Δ x T A T A ) ( x + Δ x ) = x T A T A x + x T A T A Δ x + Δ x T A T A x + Δ x T A T A Δ x (x + Delta x)^T A ^ T A (x + Delta x) =(x^T + Delta x ^ T) A ^ T A (x + Delta x) =\ (x^T A ^ T A + Delta x ^ T A ^ T A ) (x + Delta x) = \ x^T A ^ T A x +x^T A ^ T A Delta x + Delta x ^ T A ^ T A x + Delta x ^ T A ^ T A Delta x (x+Δx)TATA(x+Δx)=(xT+ΔxT)ATA(x+Δx)=(xTATA+ΔxTATA)(x+Δx)=xTATAx+xTATAΔx+ΔxTATAx+ΔxTATAΔx
注意:上式中每一项都是一个标量,而不是向量。 color{red}注意:上式中每一项都是一个标量,而不是向量。 注意:上式中每一项都是一个标量,而不是向量。
∣ ∣ ( x + Δ x ) T A T A ( x + Δ x ) − x T A T A x ∣ ∣ ∣ ∣ Δ x ∣ ∣ = ∣ ∣ x T A T A Δ x + Δ x T A T A x + Δ x T A T A Δ x ∣ ∣ ∣ ∣ Δ x ∣ ∣ = 2 A T A x frac { ||(x + Delta x)^T A ^ T A (x + Delta x) -x^T A ^ T A x ||}{ || Delta x||} = \ frac {||x^T A ^ T A Delta x + Delta x ^ T A ^ T A x + Delta x ^ T A ^ T A Delta x ||}{ ||Delta x ||} = 2 A^ TA x ∣∣Δx∣∣∣∣(x+Δx)TATA(x+Δx)−xTATAx∣∣=∣∣Δx∣∣∣∣xTATAΔx+ΔxTATAx+ΔxTATAΔx∣∣=2ATAx
注意:上式取 2 A T A x 而不是 x T A T A 的原因是, Δ x 一般是列向量,需要放在后面,此时需要将矩阵导数放在前面,并转置。 color{red}注意:上式取2 A^ TA x而不是x^ TA ^T A的原因是,\ Delta x一般是列向量,需要放在后面,此时需要将矩阵导数放在前面,并转置。 注意:上式取2ATAx而不是xTATA的原因是,Δx一般是列向量,需要放在后面,此时需要将矩阵导数放在前面,并转置。
现在将导数置为0并求解方程组:
2 A T A x = 0 2 A^ TA x = 0 2ATAx=0 得:
此方法对吗 ? color{red}此方法对吗? 此方法对吗?