| Home | Trees | Indices | Help |
|
|---|
|
|
ST
|
|||
|
MatMode ST matrix mode |
|||
|
Type ST types |
|||
|
|||
a new object with type S, a subtype of T |
|
||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
Inherited from Inherited from |
|||
|
|||
| ksp | |||
| mat_mode | |||
| mat_structure | |||
| shift | |||
| transform | |||
|
Inherited from Inherited from |
|||
|
|||
|
Applies the spectral transformation operator to a vector, for instance ``(A - sB)^-1 B`` in the case of the shift-and-invert tranformation and generalized eigenproblem. Parameters ---------- x: Vec The input vector. y: Vec The result vector. |
Applies the hermitian-transpose of the operator to a vector, for instance ``B^H(A - sB)^-H`` in the case of the shift-and-invert tranformation and generalized eigenproblem. Parameters ---------- x: Vec The input vector. y: Vec The result vector. |
Applies the spectral transformation operator to a matrix, for instance ``(A - sB)^-1 B`` in the case of the shift-and-invert tranformation and generalized eigenproblem. Parameters ---------- x: Mat The input matrix. y: Mat The result matrix. |
Applies the transpose of the operator to a vector, for instance ``B^T(A - sB)^-T`` in the case of the shift-and-invert tranformation and generalized eigenproblem. Parameters ---------- x: Vec The input vector. y: Vec The result vector. |
Creates the ST object.
Parameters
----------
comm: Comm, optional
MPI communicator; if not provided, it defaults to all
processes.
|
Destroys the ST object.
|
Gets the value of the anti-shift for the Cayley spectral
transformation.
Returns
-------
tau: scalar (possibly complex)
The anti-shift.
|
Gets the degree of the filter polynomial.
Returns
-------
deg: int
The polynomial degree.
|
Gets the interval containing the desired eigenvalues.
Returns
-------
inta: float
The left end of the interval.
intb: float
The right end of the interval.
|
Gets the interval containing all eigenvalues.
Returns
-------
left: float
The left end of the interval.
right: float
The right end of the interval.
|
Gets the KSP object associated with the spectral
transformation.
Returns
-------
ksp: KSP
The linear solver object.
Notes
-----
On output, the internal value of KSP can be ``NULL`` if the
combination of eigenproblem type and selected transformation
does not require to solve a linear system of equations.
|
Gets a flag that indicates how the matrix is being shifted in
the shift-and-invert and Cayley spectral transformations.
Returns
-------
mode: `ST.MatMode` enumerate
The mode flag.
|
Gets the internal Mat.Structure attribute to indicate which is
the relation of the sparsity pattern of the matrices.
Returns
-------
structure: `PETSc.Mat.Structure` enumerate
The structure flag.
|
Gets the matrices associated with the eigenvalue problem. Returns ------- operators: tuple of Mat The matrices associated with the eigensystem. |
Returns a shell matrix that represents the operator of the
spectral transformation.
Returns
-------
op: Mat
Operator matrix.
|
Gets the prefix used for searching for all ST options in the
database.
Returns
-------
prefix: string
The prefix string set for this ST object.
|
Gets the matrix previously set by setPreconditionerMat(). Returns ------- P: Mat The matrix that will be used in constructing the preconditioner. |
Gets the shift associated with the spectral transformation.
Returns
-------
shift: scalar (possibly complex)
The value of the shift.
|
Gets the flag indicating whether the transformed matrices
are computed or not.
Returns
-------
flag: bool
This flag is intended for the case of polynomial
eigenproblems solved via linearization.
If this flag is False (default) the spectral transformation
is applied to the linearization (handled by the eigensolver),
otherwise it is applied to the original problem.
|
Gets the ST type of this object.
Returns
-------
type: `ST.Type` enumerate
The spectral transformation currently being used.
|
Restore the previously seized operator matrix.
Parameters
----------
op: Mat
Operator matrix previously obtained with getOperator().
|
Sets the value of the anti-shift for the Cayley spectral
transformation.
Parameters
----------
tau: scalar (possibly complex)
The anti-shift.
Notes
-----
In the generalized Cayley transform, the operator can be
expressed as ``OP = inv(A - sigma B)*(A + tau B)``. This
function sets the value of `tau`. Use `setShift()` for
setting ``sigma``.
|
Sets the degree of the filter polynomial.
Parameters
----------
deg: int
The polynomial degree.
|
Defines the interval containing the desired eigenvalues.
Parameters
----------
inta: float
The left end of the interval.
intb: float
The right end of the interval.
Notes
-----
The filter will be configured to emphasize eigenvalues contained
in the given interval, and damp out eigenvalues outside it. If the
interval is open, then the filter is low- or high-pass, otherwise
it is mid-pass.
Common usage is to set the interval in `EPS` with `EPS.setInterval()`.
The interval must be contained within the numerical range of the
matrix, see `ST.setFilterRange()`.
|
Defines the numerical range (or field of values) of the matrix, that is,
the interval containing all eigenvalues.
Parameters
----------
left: float
The left end of the interval.
right: float
The right end of the interval.
Notes
-----
The filter will be most effective if the numerical range is tight,
that is, left and right are good approximations to the leftmost and
rightmost eigenvalues, respectively.
|
Sets ST options from the options database. This routine must be called before `setUp()` if the user is to be allowed to set the solver type. Notes ----- To see all options, run your program with the -help option.
|
Sets the KSP object associated with the spectral
transformation.
Parameters
----------
ksp: KSP
The linear solver object.
|
Sets a flag to indicate how the matrix is being shifted in the
shift-and-invert and Cayley spectral transformations.
Parameters
----------
mode: `ST.MatMode` enumerate
The mode flag.
Notes
-----
By default (`ST.MatMode.COPY`), a copy of matrix ``A`` is made
and then this copy is shifted explicitly, e.g. ``A <- (A - s
B)``.
With `ST.MatMode.INPLACE`, the original matrix ``A`` is
shifted at `setUp()` and unshifted at the end of the
computations. With respect to the previous one, this mode
avoids a copy of matrix ``A``. However, a backdraw is that the
recovered matrix might be slightly different from the original
one (due to roundoff).
With `ST.MatMode.SHELL`, the solver works with an implicit
shell matrix that represents the shifted matrix. This mode is
the most efficient in creating the shifted matrix but it
places serious limitations to the linear solves performed in
each iteration of the eigensolver (typically, only interative
solvers with Jacobi preconditioning can be used).
In the case of generalized problems, in the two first modes
the matrix ``A - s B`` has to be computed explicitly. The
efficiency of this computation can be controlled with
`setMatStructure()`.
|
Sets an internal Mat.Structure attribute to indicate which is
the relation of the sparsity pattern of the two matrices ``A``
and ``B`` constituting the generalized eigenvalue
problem. This function has no effect in the case of standard
eigenproblems.
Parameters
----------
structure: `PETSc.Mat.Structure` enumerate
Either same, different, or a subset of the non-zero
sparsity pattern.
Notes
-----
By default, the sparsity patterns are assumed to be
different. If the patterns are equal or a subset then it is
recommended to set this attribute for efficiency reasons (in
particular, for internal *AXPY()* matrix operations).
|
Sets the matrices associated with the eigenvalue problem. Parameters ---------- operators: sequence of Mat The matrices associated with the eigensystem. |
Sets the prefix used for searching for all ST options in the
database.
Parameters
----------
prefix: string
The prefix string to prepend to all ST option
requests.
Notes
-----
A hyphen (``-``) must NOT be given at the beginning of the
prefix name. The first character of all runtime options is
AUTOMATICALLY the hyphen.
|
Sets the matrix to be used to build the preconditioner. Parameters ---------- P: Mat, optional The matrix that will be used in constructing the preconditioner. |
Sets the shift associated with the spectral transformation.
Parameters
----------
shift: scalar (possibly complex)
The value of the shift.
Notes
-----
In some spectral transformations, changing the shift may have
associated a lot of work, for example recomputing a
factorization.
|
Sets a flag to indicate whether the transformed matrices
are computed or not.
Parameters
----------
flag: bool, optional
This flag is intended for the case of polynomial
eigenproblems solved via linearization.
If this flag is False (default) the spectral transformation
is applied to the linearization (handled by the eigensolver),
otherwise it is applied to the original problem.
|
Builds ST for a particular spectral transformation.
Parameters
----------
st_type: `ST.Type` enumerate
The spectral transformation to be used.
Notes
-----
See `ST.Type` for available methods. The default is
`ST.Type.SHIFT` with a zero shift. Normally, it is best to
use `setFromOptions()` and then set the ST type from the
options database rather than by using this routine. Using the
options database provides the user with maximum flexibility in
evaluating the different available methods.
|
Prints the ST data structure.
Parameters
----------
viewer: Viewer, optional
Visualization context; if not provided, the standard
output is used.
|
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Mon Oct 4 12:32:50 2021 | http://epydoc.sourceforge.net |