矩阵求导数

矩阵 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 & 10\end {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}此方法对吗? 此方法对吗?

相关推荐
点云SLAM13 小时前
Eigen中Dense 模块简要介绍和实战应用示例(最小二乘拟合直线、协方差矩阵计算和稀疏求解等)
线性代数·算法·机器学习·矩阵·机器人/slam·密集矩阵与向量·eigen库
酌沧2 天前
大模型的底层运算线性代数
线性代数
老歌老听老掉牙3 天前
SymPy 矩阵到 NumPy 数组的全面转换指南
python·线性代数·矩阵·numpy·sympy
星期天要睡觉3 天前
机器学习——CountVectorizer将文本集合转换为 基于词频的特征矩阵
人工智能·机器学习·矩阵
洋曼巴-young3 天前
240. 搜索二维矩阵 II
数据结构·算法·矩阵
何妨重温wdys3 天前
矩阵链相乘的最少乘法次数(动态规划解法)
c++·算法·矩阵·动态规划
Keying,,,,4 天前
力扣hot100 | 矩阵 | 73. 矩阵置零、54. 螺旋矩阵、48. 旋转图像、240. 搜索二维矩阵 II
python·算法·leetcode·矩阵
易木木木响叮当5 天前
有限元方法中的数值技术:行列式、求逆、矩阵方程
线性代数·矩阵
东方佑6 天前
UniVoc:基于二维矩阵映射的多语言词汇表系统
人工智能·算法·矩阵
火车叨位去19496 天前
力扣top100(day01-05)--矩阵
算法·leetcode·矩阵