Community
cancel
Showing results for
Did you mean: Beginner
73 Views

## Matrix sparsity pattern, PARDISO

Hello everyone!

I use matlab spy function to plot the sparsity pattern of matrix. I can't quite get what is the correct formula that represents nonsymmetric matrix after phase 11 of PARDISO? I got perm array and created permutation matrix. Will PAPbe the correct formula? Employee
73 Views

Hello,

Basically, yes,   but there are some discussion. Please see MKL reference manual https://software.intel.com/en-us/mkl-developer-reference-c

Perm  : Array, size (n). Depending on the value of iparm and iparm, holds
the permutation vector of size
n
, specifies elements used for computing a
partial solution, or specifies differing values of the input matrices for low
rank update.

If
iparm = 1, iparm = 0, and iparm = 0, perm specifies
the fill-in reducing ordering to the solver. Let
A
be the original matrix
and
C = P*A*P
T be the permuted matrix. Row (column) i of C is the
perm[i] row (column) of A. The array perm
is also used to return the
permutation vector calculated during fill-in reducing ordering stage.

NOTE:
Be aware that setting iparm
= 1 prevents use of a parallel
algorithm for the solve step.

1700
If
iparm = 2, iparm = 0, and iparm = 0, the permutation
vector computed in phase 11 is returned in the
perm
array.
If
iparm = 0, iparm > 0, and iparm = 0, perm specifies
elements of the right-hand side to use or of the solution to compute for
a partial solution.

If
iparm = 0, iparm = 0, and iparm > 0, perm specifies
elements for a Schur complement.

If
iparm = 1, perm specifies values that differ in A for low rank
update (see
Low Rank Update
). The size of the array must be at least
2*
ndiff + 1, where ndiff is the number of values of A
that are different.
The values of
perm
should be:
perm = {ndiff, row_index1, column_index1, row_index2
,
column_index2, ...., row_index_ndiff, column_index_ndiff
}
where row_index_m and column_index_m
are the row and column
indices of the
m-th differing non-zero value in matrix A
. The row and
column index pairs can be in any order, but must use zero-based
indexing regardless of the value of
iparm
.
See
iparm, iparm, and iparm
for more details.
Indexing of
perm is one-based by default, but unless iparm
= 1 it can
be changed to zero-based by setting the appropriate value to the parameter

iparm.

Best Regards,

Ying 