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 |