Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Intel Community
- Software
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library
- PARDISO and Nonlinear Systems

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

greiner08

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

11-15-2018
11:46 AM

103 Views

PARDISO and Nonlinear Systems

I have been experimenting with the PARDISO solver, solving a system of linear equations

Ax=b

The example file 'pardiso_unsym_c.c' contains the variables

double *a : corresponds to the matrix A in the equation above

double *b : corresponds to the vector b in the equation above

double *x: corresponds to the vector x in the equation above

It has proven to be very fast for my purposes. I've also noticed a nonlinear example case 'pardiso_nonlinear.c' which contains an "Example of solving nonlinear problem using PARDISO and Sparse BLAS". Is there an expression of the specific nonlinear problem being tackled in the example? I would like to adapt the example to solve a system of semilinear equations I have (Ax=b, where b is a function of x). But I am unsure of what the variables pertain to. Specifically, the variables

double *a

double *f

double *u

Any help/documentation would be appreciated.

Link Copied

2 Replies

mecej4

Black Belt

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

11-16-2018
03:49 AM

103 Views

greiner08

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

11-16-2018
04:51 AM

103 Views

Hi mecej4,

Thanks for the reply. It was a great help. I now understand the example, which is a procedure for a system A(u)u = g

- Set u to initial value u0.

- Calculate residual r = A(u)u - g.

- Do while ||r|| < tolerance:

- Solve system A(u)w = g for w.

- Set u = w.

- Calculate residual r = A(u)u - g

(the above is in the documentation you linked to). I believe I can adapt this procedure for my semilinear case Au = g(u) I.e.

- Set u to initial value u0.

- Calculate residual r = Au - g(u).

- Do while ||r|| < tolerance:

- Solve system Aw = g(u) for w.

- Set u = w.

- Calculate residual r = Au - g(u)

Thanks again

Topic Options

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

For more complete information about compiler optimizations, see our Optimization Notice.