迹运算丨trace

迹运算丨 trace t r a c e

线性代数运用挺多的运算,学习一下。

理论知识

迹运算返回的矩阵对角元素的和:

Tr(A)=iAi,i T r ( A ) = ∑ i A i , i

迹运算因为很多原因而受到关注。若不使用求和符号,有些矩阵运算很难描述,而通过矩阵乘法和迹运算符号,可以清楚地表示。例如,迹运算提供了另一种描述矩阵 Frobenius F r o b e n i u s 范数的方式:
||A||F=Tr(AAT) | | A | | F = T r ( A A T )

Frobenius 范数,即矩阵元素绝对值的平方和再开平方。范数讲解

用迹运算表示表达式,我们可以使用很多有用的等式来操纵表达式。例如,迹运算在转置运算下是不变的:

Tr(A)=Tr(AT) T r ( A ) = T r ( A T )

多个矩阵乘积的迹,和将这些矩阵中最后一个挪到最前面之后乘积的迹是相同的。当然,我们需要考虑挪动之后矩阵乘积依然定义良好:

Tr(ABC)=Tr(CAB)=Tr(BCA) T r ( A B C ) = T r ( C A B ) = T r ( B C A )

即使循环置换后矩阵乘积得到的矩阵形状变了,迹运算的结果依然不变。例如,假设矩阵 ARm×n A ∈ R m × n ,矩阵 BRn×m B ∈ R n × m ,我们可以得到:

Tr(AB)=Tr(BA) T r ( A B ) = T r ( B A )

即使 ABRm×m A B ∈ R m × m BARn×n B A ∈ R n × n

另一个有用的事实是标量在迹运算后仍然是它自己: a=Tr(a) a = T r ( a )

Matlab 实现

定义矩阵A:

% 矩阵a
a=[1,3,4;
   3,2,4;
   1,1,2]

输入:

% 求迹,主对角线之和
>> trace(a)
ans =
     5

% Frobenius 范数
>> norm(a,'fro');
ans =
    7.8102
% 上述公式实现
>> sqrt(trace(a*a'))
ans =
    7.8102
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值