naginterfaces.library.sparse.real_​symm_​matvec

naginterfaces.library.sparse.real_symm_matvec(a, irow, icol, x, check='N')[source]

real_symm_matvec computes a matrix-vector product involving a real sparse symmetric matrix stored in symmetric coordinate storage format.

For full information please refer to the NAG Library document for f11xe

https://support.nag.com/numeric/nl/nagdoc_30.3/flhtml/f11/f11xef.html

Parameters
afloat, array-like, shape

The nonzero elements in the lower triangular part of the matrix , ordered by increasing row index, and by increasing column index within each row. Multiple entries for the same row and column indices are not permitted. The function real_symm_sort() may be used to order the elements in this way.

irowint, array-like, shape

The row indices of the nonzero elements supplied in array .

icolint, array-like, shape

The column indices of the nonzero elements supplied in array .

xfloat, array-like, shape

The vector .

checkstr, length 1, optional

Specifies whether or not the SCS representation of the matrix , values of , , and should be checked.

Checks are carried out on the values of , , and .

None of these checks are carried out.

See also Further Comments.

Returns
yfloat, ndarray, shape

The vector .

Raises
NagValueError
(errno )

On entry, .

Constraint: or .

(errno )

On entry, and .

Constraint: .

(errno )

On entry, .

Constraint: .

(errno )

On entry, .

Constraint: .

(errno )

On entry, the location () is a duplicate: .

(errno )

On entry, is out of order: .

(errno )

On entry, , and .

Constraint: and .

(errno )

On entry, , and .

Constraint: and .

Notes

real_symm_matvec computes the matrix-vector product

where is an symmetric sparse matrix, of arbitrary sparsity pattern, stored in symmetric coordinate storage (SCS) format (see the F11 Introduction). The array stores all nonzero elements in the lower triangular part of , while arrays and store the corresponding row and column indices respectively.

It is envisaged that a common use of real_symm_matvec will be to compute the matrix-vector product required in the application of real_symm_basic_solver() to sparse symmetric linear systems. An illustration of this usage appears in real_symm_precon_ssor_solve().