Serving the Quantitative Finance Community

 
User avatar
maratikus
Topic Author
Posts: 0
Joined: January 2nd, 2008, 7:38 pm

inverse matrix

June 14th, 2010, 7:10 pm

C is a correlation matrix, rho is average correlation (average of all non-diagonal elements), D(rho) is a matrix with 1 on the diagonal and rho everywhere else, alpha is a scalar between 0 and 1. I'm looking for a formula for the inverse matrix of alpha*C+(1-alpha)*D(rho).
 
User avatar
Alan
Posts: 3050
Joined: December 19th, 2001, 4:01 am
Location: California
Contact:

inverse matrix

June 15th, 2010, 12:49 pm

Pretty vague, but here is something.Let M = alpha*C+(1-alpha)*D(rho).If all your rho's are 0, then M = Id, the identity, so Inv M = Id, where Inv means inverse.In general, you could writeM = Id - A, where A = Id - M.Then, Inv M = Id + Sum(n=1,infinity} A^n if the norm of A is small enough. This just means the spectral radius of A is less than 1 -- see my p.s. for how to get that.================================================================ p.s. In Mathematica, or some CAS, you could developA = Sum(m=1,M) lambda(m) E(m), the spectral decomposition of A, assumed M x M, wherelambda are the eigenvalues and E(m) the projections. This would tell you if max |lambda(m)| < 1, needed for my power series to converge.In addition, it means A^n = Sum(m=1,M) [lambda(m)]^n E(m), so another formula isInv M = Id + Sum(n=1,infinity} Sum(m=1,M) [lambda(m)]^n E(m) , which gives Inv M = Sum(m=1,M) E(m)/(1-lambda(m))by doing the sums in the reverse order. Of course, the easiest (numerical result) formula in Mathematica is simply Inverse[M], but it's possible the spectral decomposition may be useful, too.
Last edited by Alan on June 14th, 2010, 10:00 pm, edited 1 time in total.
 
User avatar
maratikus
Topic Author
Posts: 0
Joined: January 2nd, 2008, 7:38 pm

inverse matrix

June 15th, 2010, 1:40 pm

Alan, thanks for your suggestion. I am familiar with that decomposition. However, just as you said, it converges only if all eigenvalues are below 1. What if rho>0 and some eigenvalues are above 1?
 
User avatar
quantmeh
Posts: 0
Joined: April 6th, 2007, 1:39 pm

inverse matrix

June 15th, 2010, 2:28 pm

is it possible to have rho=0 for non-zero elements in C?
 
User avatar
Alan
Posts: 3050
Joined: December 19th, 2001, 4:01 am
Location: California
Contact:

inverse matrix

June 15th, 2010, 2:39 pm

QuoteOriginally posted by: maratikusAlan, thanks for your suggestion. I am familiar with that decomposition. However, just as you said, it converges only if all eigenvalues are below 1. What if rho>0 and some eigenvalues are above 1?It's possible the last formula I wrote, Inv M = Sum(m=1,M) E(m)/(1-lambda(m))works anyway. I would try some numerical examples to see.BTW, I see I am using M for 2 different things, your matrix and the size of it.===========================================================jawabean, it's possible to have rho=0 for non-diagonal elements (in most cases, these would be model/population, correlations -- just take M independent r.v. s)
Last edited by Alan on June 14th, 2010, 10:00 pm, edited 1 time in total.
 
User avatar
quantmeh
Posts: 0
Joined: April 6th, 2007, 1:39 pm

inverse matrix

June 15th, 2010, 3:28 pm

QuoteOriginally posted by: Alanjawabean, it's possible to have rho=0 for non-diagonal elements (in most cases, these would be model/population, correlations -- just take M independent r.v. s)so you're saying it's possible to have a non-diagonal positive definite (correlation) matrix, such that average non-diagonal elements would be zero.
 
User avatar
Alan
Posts: 3050
Joined: December 19th, 2001, 4:01 am
Location: California
Contact:

inverse matrix

June 15th, 2010, 3:46 pm

No, it's diagonal, the identity.
 
User avatar
quantmeh
Posts: 0
Joined: April 6th, 2007, 1:39 pm

inverse matrix

June 15th, 2010, 4:41 pm

if C has non-zero non-diagonal elements, then what's the probability that rho=0?
 
User avatar
maratikus
Topic Author
Posts: 0
Joined: January 2nd, 2008, 7:38 pm

inverse matrix

June 15th, 2010, 5:42 pm

QuoteOriginally posted by: AlanQuoteOriginally posted by: maratikusAlan, thanks for your suggestion. I am familiar with that decomposition. However, just as you said, it converges only if all eigenvalues are below 1. What if rho>0 and some eigenvalues are above 1?It's possible the last formula I wrote, Inv M = Sum(m=1,M) E(m)/(1-lambda(m))works anyway. I would try some numerical examples to see.BTW, I see I am using M for 2 different things, your matrix and the size of it.===========================================================jawabean, it's possible to have rho=0 for non-diagonal elements (in most cases, these would be model/population, correlations -- just take M independent r.v. s)Your formula should work. If A = Q'*Diag(lambda1, ..., lambdan)*Q, where Q is an orthogonal matrix, then I-A = Q'*I*Q-Q'*diag(lambda1, ..., lambdan)*Q=Q'*diag(1-lambda1, ..., 1-lambdan)*Q -> inv(I-A)=Q'*diag(1/(lambda1-1), ..., 1/(lambdan-1))*Q. What about rho that's not equal to zero?
 
User avatar
quantmeh
Posts: 0
Joined: April 6th, 2007, 1:39 pm

inverse matrix

June 15th, 2010, 6:08 pm

QuoteOriginally posted by: jawabeanif C has non-zero non-diagonal elements, then what's the probability that rho=0?the answer is 50% for 3x3 matrix.>> n=100000n = 100000p=0; for i=1:n; c12=2*rand-1; c13=2*rand-1; c23=-(c12+c13);c=[1 c12 c13;c12 1 c23; c13 c23 1]; try chol(c); p=p+1;catch end; end; p/nans = 0.4859
 
User avatar
Alan
Posts: 3050
Joined: December 19th, 2001, 4:01 am
Location: California
Contact:

inverse matrix

June 15th, 2010, 6:09 pm

QuoteYour formula should work. If A = Q'*Diag(lambda1, ..., lambdan)*Q, where Q is an orthogonal matrix, then I-A = Q'*I*Q-Q'*diag(lambda1, ..., lambdan)*Q=Q'*diag(1-lambda1, ..., 1-lambdan)*Q -> inv(I-A)=Q'*diag(1/(lambda1-1), ..., 1/(lambdan-1))*Q. What about rho that's not equal to zero? My formula was derived for general rho, assuming only that max |lambda(m)| < 1.But, it also may be valid for general rho, general lambda(m). Try it numerically,
Last edited by Alan on June 14th, 2010, 10:00 pm, edited 1 time in total.
 
User avatar
maratikus
Topic Author
Posts: 0
Joined: January 2nd, 2008, 7:38 pm

inverse matrix

June 15th, 2010, 6:48 pm

QuoteOriginally posted by: AlanQuoteYour formula should work. If A = Q'*Diag(lambda1, ..., lambdan)*Q, where Q is an orthogonal matrix, then I-A = Q'*I*Q-Q'*diag(lambda1, ..., lambdan)*Q=Q'*diag(1-lambda1, ..., 1-lambdan)*Q -> inv(I-A)=Q'*diag(1/(lambda1-1), ..., 1/(lambdan-1))*Q. What about rho that's not equal to zero? My formula was derived for general rho, assuming only that max |lambda(m)| < 1.But, it also may be valid for general rho, general lambda(m). Try it numerically,I see. Your lambdas are eigenvalues for A = I-(alpha*C+(1-alpha)*D(rho). Interesting ... Your formula should work. That's definitely a step in the right direction. Now I need to figure out how eigenvalues of A depend on eigenvalues of C, alpha, etc and come up with a nice representation for Q (or E(m) in the spectral representation). Thanks for your help.
 
User avatar
zerdna
Posts: 1
Joined: July 14th, 2002, 3:00 am

inverse matrix

June 15th, 2010, 10:44 pm

Last edited by zerdna on June 15th, 2010, 10:00 pm, edited 1 time in total.