Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

Bad Conditioned Linear System

Gianluca_G_1
Beginner
843 Views

The problem is to calculate the array of functions f(x) defined as:

see Figure1

and then

see Figure2

Some coefficients of the matrix “A” are in the form:

see Figure3

For this reason, for large values “x” the matrix “A” becomes singular and the linear system bad conditioned.

Anyway, in double precision if “x > 706” the calculation of the coefficient gives underflow.

Matrix preconditioning seems not effective.

Are there math trick to overcome the problem?

0 Kudos
2 Replies
Ramon_A_
Beginner
843 Views

Hi Gianluca,

Have you tried to obtain the LU decomposition and next use solve_triangular?

You can either do it manually with scipy.linalg.lu and scipy.linalg.solve_triangular or use the function dgesv. The first option will allow you to control better the middle steps, the second option is more confortable.

Note that if the matrix is defined positive, you can use the cholesky factorization instead of the LU.

0 Kudos
Gianluca_G_1
Beginner
843 Views

At the end, we have solved the problem preconditioning the linear system coefficient matrix.

 

Thank you very much

Gianluca
 

0 Kudos
Reply