Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.

Beginner
117 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?

2 Replies
Beginner
117 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.

Beginner
117 Views

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

Thank you very much

Gianluca