- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
At the end, we have solved the problem preconditioning the linear system coefficient matrix.
Thank you very much
Gianluca

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page