请问 logdet(I + x*A) 关于 x 的导数表达式
问题描述:
请问 logdet(I + x*A) 关于 x 的导数表达式
I 是 M*M 的单位矩阵,A 是 M*M的正定矩阵.x 是一个 变量.
答
由A是m阶正定矩阵,A的m个特征值都是正实数,设为λ1,λ2,...,λm.
通过相似对角化,不难证明:I
1) I+xA的特征值为1+λ1·x,1+λ2·x,...,1+λm·x;
2) A(I+xA)^(-1)的特征值为λ1/(1+λ1·x),λ2/(1+λ2·x),...,λm/(1+λm·x).
故det(I+xA) = (1+λ1·x)(1+λ2·x)...(1+λm·x),
而tr(A(I+xA)^(-1)) = λ1/(1+λ1·x)+λ2/(1+λ2·x)+...+λm/(1+λm·x).
于是(ln(det(I+xA)))' = (ln((1+λ1·x)(1+λ2·x)...(1+λm·x)))'
= (ln(1+λ1·x))'+(ln(1+λ2·x))'+...+(ln(1+λm·x))'
= λ1/(1+λ1·x)+λ2/(1+λ2·x)+...+λm/(1+λm·x)
= tr(A(I+xA)^(-1)).
结果还可以变形,比如:
tr(A(I+xA)^(-1))
= tr(xA(I+xA)^(-1))/x
= (tr((I+xA)(I+xA)^(-1))-tr((I+xA)^(-1)))/x
= (m-tr((I+xA)^(-1)))/x.
再比如用伴随矩阵表示逆矩阵:(I+xA)^(-1) = (1+xA)*/det(I+xA).
具体看你的需要了.