Let A be a rank-one perturbation of a diagonal matrix, i. e. A=D+sTs, where D=diag{λ1,…,λn}, s=[s1,…,sn]≠0. Is there a way to easily compute its determinant?
One the one hand, sTs has rank one so that it has only one non-zero eigenvalue which is equal to its trace |s|2=s21+⋯+s2n. On the other hand, if D was a scalar operator (i.e. all λi's were equal) then all eigenvalues of A would be shifts of the eigenvalues of sTs by λ. Thus one eigenvalue would be equal to λ+|s|2 and the others to λ. Hence in this case we would obtain detA=λn−1(λ+|s|2). But is it possible to generalize these considerations to the case of diagonal non-scalar D?
Answer
As developed in the comments, for positive diagonal entries:
det(D+sTs)=n∏i=1λi+n∑i=1s2i∏j≠iλj
It's general application can be deduced by extension from the positive cone of Rn by analytic continuation. Alternatively we can advance a slightly modified argument for all nonzero diagonal entries. The determinant is a polynomial in the λi's, so proving the formula for nonzero λi's enables us to prove it for all D by a brief continuity argument.
First assume all λi≠0, and define vector v by vi=si/λi. Similar to the OP's observations:
det(D+sTs)=det(I+sTv)det(D)=(1+n∑i=1s2i/λi)n∏i=1λi
where det(I+sTv) is the product of (1+μi) over all the eigenvalues μi of sTv. As the OP noted, at most one of these eigenvalues is nonzero, so the product equals 1 plus the trace of sTv, i.e. the potentially nonzero eigenvalue, and that trace is the sum of entries s2i/λi.
Distributing the product of the λi's over that sum gives the result at top. If some of the λi's are zero, the formula can be justified by taking a sequence of perturbed nonzero λi's whose limit is the required n-tuple. By continuity of the polynomial the formula holds for all diagonal D.
No comments:
Post a Comment