Highly ill-conditioned (close to singular) linear problem

  • Thread starter anaemic1
  • Start date
  • Tags
    Linear
In summary, the speaker is having difficulties with a MATLAB Ax=b problem involving a complex, 5000x5000 matrix with a high condition number. They have tried various methods to improve the condition number, including using 'svd', but have not been successful. They have also encountered an "OUT OF MEMORY" issue and are looking for help from experts in tackling ill-conditioned problems. Possible solutions suggested include splitting the matrix into blocks or using a tensor product representation.
  • #1
anaemic1
3
0
Hello all,

I have a MATLAB Ax=b problem where A is a matrix generated from the eigenvalues/ vectors of another matrix, which is conditioned well (rcond >eps). A is around 5000 X 5000, complex, has its first half filled with values from the other matrix, and the other half has very few non-zero values (is mostly zeros). It is not suprising that the condition number for A is very high (I was able to reduce rcond to 1e-122 but still it is impossibly huge due to the second half contributing lots of zeros to the diagonal). I've literally tried everything but cannot improve the condition number beyond that. I've also tried 'svd' with tolerance levels but to no avail. There is a check on the validity of my answer, which is - total energy = 100% conserved. Surprisingly, this is true whenever I use linsolve in spite of the unreliable condition number. I suspect this might be due to the higher modes carrying more energy than the lower ones.

Another issue is "OUT OF MEMORY". Although I can recover variables using 'pack' and still complete the program run, I'm sure it will run out of steam after I increase the matrix size to a certain extent. The amazing thing is the program is way faster with linsolve i.e full matrices rather than sparse ones.

I have not used other sparse solvers like Super LU. I would definitely appreciate help from anyone with expertise in these issues or with solvers with capability to tackle ill-conditioned problems. Are there any kind of preconditioner/ scaling codes or do I have to change my system equations/ order?

Thanks and best regards,
Rama
 
Physics news on Phys.org
  • #2
You could split the matrix into blocks and operate with those blocks. If the matrix has certain "mathematical" properties, then these could be used to simplify the problem. One could also try to write it as a tensor product and use this representation, but trivial algorithms will always go by ##O(n^3)## and ##O(n^2) ## is a lower bound.
 

What is a highly ill-conditioned linear problem?

A highly ill-conditioned linear problem is a mathematical problem in which the solution is sensitive to small changes in the input variables. This means that even a small error in the input data can lead to a significant error in the solution.

How do you determine if a linear problem is highly ill-conditioned?

A linear problem can be determined to be highly ill-conditioned by calculating its condition number. The condition number is a measure of how sensitive the solution is to changes in the input data. A high condition number indicates a highly ill-conditioned problem.

What causes a linear problem to be highly ill-conditioned?

There are several factors that can contribute to a linear problem being highly ill-conditioned. These include having a large difference in magnitude between the coefficients of the variables, having nearly collinear variables, or having a large difference in magnitude between the right-hand side values.

How does a highly ill-conditioned linear problem affect the accuracy of the solution?

A highly ill-conditioned linear problem can significantly affect the accuracy of the solution. Even a small error in the input data can lead to a large error in the solution. This can make it difficult to obtain a precise and reliable solution.

What are some strategies for dealing with highly ill-conditioned linear problems?

There are several strategies that can be used to deal with highly ill-conditioned linear problems. These include scaling the input data to reduce the difference in magnitude between the variables, using more precise numerical methods, or using regularization techniques to stabilize the solution.

Similar threads

  • Linear and Abstract Algebra
Replies
1
Views
1K
  • Linear and Abstract Algebra
Replies
2
Views
1K
Replies
2
Views
1K
  • Linear and Abstract Algebra
Replies
2
Views
2K
  • Linear and Abstract Algebra
Replies
1
Views
1K
  • Linear and Abstract Algebra
Replies
5
Views
3K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
3
Views
1K
  • Programming and Computer Science
Replies
1
Views
2K
  • General Math
2
Replies
44
Views
3K
  • Linear and Abstract Algebra
Replies
7
Views
2K
Back
Top