Inverse of higher order matrix

조회 수: 3 (최근 30일)
raina RAJ
raina RAJ 2021년 2월 9일
답변: Christine Tobler 2021년 2월 10일
Hello there,
I am trying to get inverse of a 80,000 order matrix but the calculation is taking too much time. Is there any fastest way or method to calculate the inverse of a matrix?
  댓글 수: 6
Matt J
Matt J 2021년 2월 10일
Is the matrix Q sparse? Are you using Matlab's sparse data format to store Q?
Does e contain arbitrary values or is it e=ones(M,1)?
raina RAJ
raina RAJ 2021년 2월 10일
Yes matrix Q is stored in sparse data format and e is ones(M,1).

댓글을 달려면 로그인하십시오.

답변 (2개)

Matt J
Matt J 2021년 2월 10일
편집: Matt J 2021년 2월 10일
I have system of equations xQ = 0 and xe =1 where 'e' is a column vector of appropriate dimension, x is a row vector of size (1,M) and Q matix has size (M,M).
If Q is sparse, you can do,
x=eigs(Q.',1,'sm');
x=x/sum(x);

Christine Tobler
Christine Tobler 2021년 2월 10일
Another way of looking at the equations x*Q = 0 and x e = 1 is as an equation system x * [Q e] = [0 1], which you could solve using
A = [Q, ones(n, 1)]';
b = [zeros(n, 1); 1];
x = A \ b;
or if this is too slow, you could try an iterative algorithm:
x = lsqr(A, b);

카테고리

Help CenterFile Exchange에서 Programming에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by