Large symbolic linear system, solution is too slow

Hello, I have to solve a linear system Ax=b, where A is a 539x539 matrix. A is very sparse and it contains a symbolic parameter 's'. I'm trying to solve it using x=A\b but it takes hours. How can i solve the problem in a reasonable time?

답변 (3개)

John D'Errico
John D'Errico 2015년 10월 7일
편집: John D'Errico 2015년 10월 7일

2 개 추천

You simply can't.
The solution will be immense. Everybody wants things done immediately. They think their computer is infinitely fast, and that if they can't solve their problem, then there must be some magic trick.
Computers are not infinitely capable. (Well, except on tv or in the movies.) They have limits, and your problem is well beyond those capabilities. (You don't say HOW sparse it is.) Try it again in 5 or 10 or 20 years. :) Even then, make sure you have some capable hardware, and lots of memory.
Walter Roberson
Walter Roberson 2015년 10월 7일

0 개 추천

You solve the problem in a "reasonable" time by redefining "reasonable" to extend to numerous hours.
If you had been asked 20 years ago what a "reasonable" time was to solve such a system, would you have answered "a few minutes" ? "reasonable" is not an absolute quantity: it is based upon expectations, and sometimes those expectations do not have a lot of connection to what is feasible with affordable equipment.
john ulster
john ulster 2015년 10월 8일
편집: john ulster 2015년 10월 8일

0 개 추천

I'm following the solution strategy suggested by my thesis supervisor and he assured me on the feasibility of the calculation. I'm helping him with a research he is doing. Not with my laptop of course, but with a machine that has much much much more power. I was just impatient to try in the meanwhile here at home, but i will start working seriously on it from the next week. I've worked on simpler problems so far, from a computational point of view, so i didn't have any idea of the amount of time that this problem would require. I have already solved the problem with a smaller number of unknowns just to do a benchmark of the method but i need to write more equations in order to obtain a more representative physical solution.
John D'Errico, what do you mean with try in 20 years? That i can't solve the problem with MY computer, or that i cannot solve it at all?

댓글 수: 2

We do not know how sparse your matrix is or what the structure of it is. For example, a tridiagonal band matrix might have a much more efficient solution than a system whose entries are scattered at more or less random through the entire entire array.
john ulster
john ulster 2015년 10월 8일
편집: john ulster 2015년 10월 8일
It's formed by a lot of tridiagonal matrices put side by side. Each matrix is 49x49 and tridiagonal and the matrix A is formed by 11x11 matrices, and thus it's a 539x539 matrix.
The system represents a physical system divided in 49 parts. For each parts 7 balance equations and 4 algebraic bonds are written, for a total of 11 unknowns.
Thus every 49x49 sub-matrix contains the 49 coefficients of one of the eleven unknowns for the 49 equations of one of the eleven types of balances/bonds.
For example, a given sub-matrix contains the coefficients of the temperature which appears in the energy balance equation. Another matrix represents the coefficients of the temperature in the momentum equation, and so on. The equations are laplace transformed and thus 's' appears. They must be Laplace transformed for the purpose of the work. I'm not interested in the solution of the differential equations in time. As a further information, this is not a finite differences problem, since the only variable which appears in the derivates is the time. The other variables are linked by algebraic bonds.

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

카테고리

도움말 센터File Exchange에서 Mathematics에 대해 자세히 알아보기

질문:

2015년 10월 7일

편집:

2015년 10월 8일

Community Treasure Hunt

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

Start Hunting!

Translated by