slepc-main 2024-11-09
BVCreateTensor
Creates a tensor BV that is represented in compact form as V = (I otimes U) S, where U has orthonormal columns.
Synopsis
#include "slepcbv.h"
PetscErrorCode BVCreateTensor(BV U,PetscInt d,BV *V)
Collective
Input Parameters
| U | - a basis vectors object
|
| d | - the number of blocks (degree) of the tensor BV
|
Output Parameter
| V | - the new basis vectors context
|
Notes
The new basis vectors object is V = (I otimes U) S, where otimes denotes
the Kronecker product, I is the identity matrix of order d, and S is a
sequential matrix allocated internally. This compact representation is
used e.g. to represent the Krylov basis generated with the linearization
of a matrix polynomial of degree d.
The size of V (number of rows) is equal to d times n, where n is the size
of U. The dimensions of S are d times m rows and m-d+1 columns, where m is
the number of columns of U, so m should be at least d.
The communicator of V will be the same as U.
On input, the content of U is irrelevant. Alternatively, it may contain
some nonzero columns that will be used by BVTensorBuildFirstColumn().
See Also
BVTensorGetDegree(), BVTensorGetFactors(), BVTensorBuildFirstColumn()
Level
advanced
Location
src/sys/classes/bv/impls/tensor/bvtensor.c
Index of all BV routines
Table of Contents for all manual pages
Index of all manual pages