Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
6981 Discussions

Can I perform matrix-vector multiplication myself when using PARDISO ?

afd_lml
Beginner
386 Views
I want to use the PARDISO.

However, the matrix to be solved does not be explicitlygenerated, for example, the fast multiple method(FMM). In other words,I does not know the entries of the matrix,although I can carry out the matrix-vector multiplication.

So, the matrix itself can not be a input parameter for PARDISO.

Can I perform matrix-vector multiplication myself when using PARDISO ?
0 Kudos
1 Solution
ArturGuzik
Valued Contributor I
386 Views
Quoting - afd.lml
I want to use the PARDISO.

However, the matrix to be solved does not be explicitlygenerated, for example, the fast multiple method(FMM). In other words,I does not know the entries of the matrix,although I can carry out the matrix-vector multiplication.

So, the matrix itself can not be a input parameter for PARDISO.

Can I perform matrix-vector multiplication myself when using PARDISO ?
Usually FMM employs GMRES based algorithm for solution procedure. MKL offers FGMRES which allows you (actually requires, it is reverse communication type) to perform matrix-vector multiplication yourself.

I'm unaware of any way that PARDISO can be used in that fashion. Presumably somebody will provide some more definite answer to that.

A.

View solution in original post

0 Kudos
2 Replies
ArturGuzik
Valued Contributor I
387 Views
Quoting - afd.lml
I want to use the PARDISO.

However, the matrix to be solved does not be explicitlygenerated, for example, the fast multiple method(FMM). In other words,I does not know the entries of the matrix,although I can carry out the matrix-vector multiplication.

So, the matrix itself can not be a input parameter for PARDISO.

Can I perform matrix-vector multiplication myself when using PARDISO ?
Usually FMM employs GMRES based algorithm for solution procedure. MKL offers FGMRES which allows you (actually requires, it is reverse communication type) to perform matrix-vector multiplication yourself.

I'm unaware of any way that PARDISO can be used in that fashion. Presumably somebody will provide some more definite answer to that.

A.
0 Kudos
Konstantin_A_Intel
386 Views

Hello,

Unfortunately, you cannot use PARDISO in a such way. It needs explicitly all matrix elements in order to make LLT or LU decompositions.

Artur gave yougood advice: use iterative solvers which support reverse communication interface.

Regards,
Konstantin
0 Kudos
Reply