naginterfaces.library.lapackeig.dtpqrt¶
- naginterfaces.library.lapackeig.dtpqrt(l, nb, a, b)[source]¶
dtpqrt
computes the factorization of a real triangular-pentagonal matrix.For full information please refer to the NAG Library document for f08bb
https://support.nag.com/numeric/nl/nagdoc_30.3/flhtml/f08/f08bbf.html
- Parameters
- lint
, the number of rows of the trapezoidal part of (i.e., ).
- nbint
The explicitly chosen block-size to be used in the algorithm for computing the factorization. See Further Comments for details.
- afloat, array-like, shape
The upper triangular matrix .
- bfloat, array-like, shape
The pentagonal matrix composed of an rectangular matrix above an upper trapezoidal matrix .
- Returns
- afloat, ndarray, shape
The upper triangle is overwritten by the corresponding elements of the upper triangular matrix .
- bfloat, ndarray, shape
Details of the orthogonal matrix .
- tfloat, ndarray, shape
Further details of the orthogonal matrix . The number of blocks is , where and each block is of order except for the last block, which is of order . For each of the blocks, an upper triangular block reflector factor is computed: . These are stored in the matrix as .
- Raises
- NagValueError
- (errno )
On entry, error in parameter .
Constraint: .
- (errno )
On entry, error in parameter .
Constraint: .
- (errno )
On entry, error in parameter .
Constraint: .
- (errno )
On entry, error in parameter .
Constraint: .
- (errno )
On entry, error in parameter .
Constraint: .
- Notes
dtpqrt
forms the factorization of a real triangular-pentagonal matrix ,where is an upper triangular matrix and is an pentagonal matrix consisting of an rectangular matrix on top of an upper trapezoidal matrix :
The upper trapezoidal matrix consists of the first rows of an upper triangular matrix, where . If , is rectangular; if and , is upper triangular.
A recursive, explicitly blocked, factorization (see
dgeqrt()
) is performed on the matrix . The upper triangular matrix , details of the orthogonal matrix , and further details (the block reflector factors) of are returned.Typically the matrix or contains the matrix from the factorization of a subproblem and
dtpqrt
performs the update operation from the inclusion of matrix .For example, consider the factorization of an matrix with : , , where is upper triangular and is rectangular (this can be performed by
dgeqrt()
). Given an initial least squares problem where and are matrices, we have .Now, adding an additional rows to the original system gives the augmented least squares problem
where is an matrix formed by adding rows on top of and is an matrix formed by adding rows on top of .
dtpqrt
can then be used to perform the factorization of the pentagonal matrix ; the matrix will be zero on input and contain on output.In the case where is , , is upper triangular (forming ) on top of rows of zeros (forming first rows of ). Augmentation is then performed by adding rows to the bottom of with .
- References
Elmroth, E and Gustavson, F, 2000, Applying Recursion to Serial and Parallel Factorization Leads to Better Performance, IBM Journal of Research and Development. (Volume 44) (4), 605–624
Golub, G H and Van Loan, C F, 2012, Matrix Computations, (4th Edition), Johns Hopkins University Press, Baltimore