How to reduce the large condition number of matrix

조회 수: 58 (최근 30일)
Mathis
Mathis 2018년 7월 17일
답변: BhaTTa 2024년 9월 6일
Recently, I encounter a problem. I need to solve a equation with the form of Ax=b, where A is a matrix with a large condition number. The calculated value of x deviate from the actual value a lot. Under this condition, how to effectively reduce the condition number of M or how to solve this illed problem well? Thank you very much.

답변 (1개)

BhaTTa
BhaTTa 2024년 9월 6일
@Mathis, When dealing with a system of linear equations ( Ax = b ) where ( A ) has a large condition number, the solution can be sensitive to small perturbations in ( A ) or ( b ). This is known as an ill-conditioned problem. Here are some strategies to address this issue:Strategies to Solve Ill-Conditioned Systems
  1. Regularization:
  • Tikhonov Regularization (Ridge Regression): Add a regularization term to the matrix equation to stabilize the solution.
2. Preconditioning:
  • Use a preconditioner matrix ( M ) to transform the system into one with a lower condition number. Solve ( MAx = Mb ) instead, where ( M ) is chosen such that ( MA ) is better conditioned than ( A ).
3. Iterative Refinement:
  • Use an initial solution and refine it iteratively. This technique can improve the accuracy of the solution when using floating-point arithmetic.
4. Scaling:
  • Scale the matrix ( A ) and vector ( b ) to reduce the condition number. This involves normalizing the rows or columns of ( A ) to have similar magnitudes.
5. Use of More Accurate Arithmetic:
  • If possible, use arbitrary precision arithmetic or double precision to reduce numerical errors.

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by