矩阵对矩阵求导

1 矩阵对矩阵求导微分法

 假设有矩阵函数 F ∈ R p × q F \in \mathbb{R}^{p \times q} FRp×q要对矩阵 X ∈ R m × n \bm{X} \in \mathbb{R}^{m \times n} XRm×n求导。则矩阵对矩阵求导微分法的步骤是先对矩阵函数求微分,再需要先对矩阵做向量化,然后使用向量对向量求导,则有 v e c ( d F ) = ∂ v e c ( F ) ∂ v e c ( X ) ⊤ v e c ( d X ) \mathrm{vec}(d\mathrm{\bm{F}})=\frac{\mathrm{\partial vec(\bm{F})}}{\partial \mathrm{vec}(\bm{X})^{\top}}\mathrm{vec}(d\bm{X}) vec(dF)=vec(X)vec(F)vec(dX)

2 求解 ∂ A X B ∂ X \frac{\partial \bm{AXB}}{\partial \bm{X}} XAXB

 假设 A ∈ R l × m \bm{A} \in \mathbb{R}^{l \times m} ARl×m X ∈ R m × n \bm{X} \in \mathbb{R}^{m \times n} XRm×n B ∈ R n × q \bm{B}\in \mathbb{R}^{n \times q} BRn×q都是矩阵。先对矩阵函数求微分则有 d F = A d X B d \bm{F}=\bm{A}d\bm{XB} dF=AdXB再进行向量化操作 v e c ( d F ) = v e c ( A d X B ) = ( B ⊤ ⊗ A ) v e c ( d X ) vec(d\bm{F})=vec(\bm{A}d\bm{XB})=(\bm{B}^{\top}\otimes \bm{A})vec(d\bm{X}) vec(dF)=vec(AdXB)=(BA)vec(dX)最终可知求导的矩阵梯度为 ∂ A X B ∂ X = ( B ⊤ ⊗ A ⊤ ) ⊤ = B ⊗ A ⊤ \frac{\partial \bm{AXB}}{\partial \bm{X}}=(\bm{B}^{\top}\otimes \bm{A}^{\top})^{\top}=\bm{B}\otimes\bm{A}^{\top} XAXB=(BA)=BA利用上面的结果也可以推知 ∂ A X ∂ X = I n ⊗ A ⊤ \frac{\partial \bm{AX}}{\partial \bm{X}}=\bm{I}_n\otimes\bm{A}^{\top} XAX=InA ∂ X B ∂ X = = B ⊗ I m \frac{\partial \bm{XB}}{\partial \bm{X}}==\bm{B}\otimes\bm{I}_m XXB==BIm

3 求解 ∂ A exp ⁡ ( B X C ) D ∂ X \frac{\partial \bm{A}\exp(\bm{BXC})\bm{D}}{\partial \bm{X}} XAexp(BXC)D

 首先对矩阵函数微分可以到 d F = A [ d exp ⁡ ( B X C ) ] D = A [ exp ⁡ ( B X C ) ⊙ ( B d X C ) ] D d\bm{F}=\bm{A}[d\exp(\bm{BXC})]\bm{D}=\bm{A}[\exp(\bm{BXC})\odot(\bm{B}d\bm{XC})]\bm{D} dF=A[dexp(BXC)]D=A[exp(BXC)(BdXC)]D两边矩阵向量化则有 v e c ( d F ) = ( D ⊤ ⊗ A ) v e c [ exp ⁡ ( B X C ) ⊙ ( B d X C ) ] = ( D ⊤ ⊗ A ) d i a g ( exp ⁡ ( B X C ) ) v e c ( B d X C ) = ( D ⊤ ⊗ A ) d i a g ( exp ⁡ ( B X C ) ) ( C ⊤ ⊗ B ) v e c ( d X ) \begin{aligned}vec(d \bm{F})&=(\bm{D}^{\top}\otimes \bm{A})vec[\exp(\bm{BXC})\odot(\bm{B}d\bm{XC})]\\&=(\bm{D}^{\top}\otimes \bm{A})diag(\exp(\bm{BXC}))vec(\bm{B}d\bm{XC}) \\&=(\bm{D}^{\top}\otimes\bm{A})diag(\exp(\bm{BXC}))(\bm{C}^{\top}\otimes \bm{B})vec(d\bm{X})\end{aligned} vec(dF)=(DA)vec[exp(BXC)(BdXC)]=(DA)diag(exp(BXC))vec(BdXC)=(DA)diag(exp(BXC))(CB)vec(dX)最终可以得到 ∂ A exp ⁡ ( B X C ) D ∂ X = [ ( D ⊤ ⊗ A ) d i a g ( exp ⁡ ( B X C ) ) ( C ⊤ ⊗ B ) ] ⊤ = ( C ⊗ B ⊤ ) d i a g ( exp ⁡ ( B X C ) ) ( D ⊗ A ⊤ ) \begin{aligned}\frac{\partial \bm{A}\exp(\bm{BXC})\bm{D}}{\partial \bm{X}}&=[(\bm{D}^{\top}\otimes\bm{A})diag(\exp(\bm{BXC}))(\bm{C}^{\top}\otimes \bm{B})]^{\top}\\&=(\bm{C}\otimes \bm{B}^{\top})diag(\exp(\bm{BXC}))(\bm{D}\otimes \bm{A}^{\top})\end{aligned} XAexp(BXC)D=[(DA)diag(exp(BXC))(CB)]=(CB)diag(exp(BXC))(DA)

### 配置 Windows 和 Ubuntu 之间共享文件夹的方法 #### 使用 VMware 工具配置共享文件夹 为了使 Windows 和 Ubuntu 虚拟机能够互相访问对方的文件夹,可以通过 VMware 提供的功能来实现。这通常涉及到安装并配置 VMware Tools。 在 VMware 中设置共享文件夹的过程包括几个重要环节: - **启动虚拟机设置**:通过点击【设置】或者虚拟机窗口下方的【设置】按钮进入虚拟机设置页面,在此页面中选择【选项】标签[^2]。 - **启用共享文件功能**:找到共享文件夹的相关设置项,并勾选“总是启用”,确保无论何时启动虚拟机都能自动挂载共享文件夹。 - **添加共享文件夹**:利用“添加”按钮按照提示完成新共享文件夹的选择与确认操作。对于来自 Windows 的文件夹来说,只需指定要分享的具体路径即可。 一旦上述步骤完成后,Ubuntu 应该能够在 `/mnt/hgfs` 下看到这些被共享出来的文件夹[^4]。然而,有时可能需要额外的操作才能让这个位置正常显示共享资源。 #### 安装 VMWare Tools 来支持共享文件夹 为了让 Linux 系统更好地识别和处理由主机提供的共享文件夹,建议安装官方提供的集成套件——VMware Tools。它不仅简化了图形界面下的交互体验,还增强了性能表现以及兼容性[^1]。 具体做法是在终端里执行一系列指令以获取必要的驱动程序和支持库,从而使得 `/mnt/hgfs` 成为有效的挂载点用于展示来自宿主系统的数据卷[^3]。 如果遇到无法直接读取的情况,则可能是由于缺少相应的软件包所致;此时应当考虑更新系统或是手动下载适用版本进行部署。 另外一种持久化的方式是编辑 `/etc/fstab` 文件,在其中加入特定条目以便每次开机时都能够无缝接入所需的外部存储设备或网络位置[^5]。 ```bash sudo apt-get update && sudo apt-get install open-vm-tools-desktop fuse ``` 以上命令可以帮助解决部分情况下因缺乏适当组件而导致的问题。 #### 创建便捷链接方便日常使用 最后一步是为了提高工作效率而建立快捷方式指向已知的目标地址。例如可以在桌面上创建软连接指向实际存在的共享文件夹,这样就可以更快速地定位到所需资料而不必每次都重复导航过程。 ```bash ln -s /mnt/hgfs/<shared_folder_name> ~/Desktop/ ``` 将 `<shared_folder_name>` 替换成具体的共享文件夹名称,这条命令会在用户的个人桌面空间内生成一个对应入口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道2024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值