请问 logdet(I + x*A) 关于 x 的导数表达式
1个回答

由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).

具体看你的需要了.