Pivoted QR Decomposition
Given the matrix
, the problem is to compute the QR decomposition
with column pivoting
, where
X
of size
- Qis an orthogonal matrix of size
- Ris a rectangular upper triangular matrix of size
- Pis a permutation matrix of size
The library requires
. In this case:
where the matrix
has the size
and
has the size
.
Batch Processing
Algorithm Input
Pivoted QR decomposition accepts the input described below.
Pass the
Input ID
as a parameter to the methods that provide input for your algorithm.
For more details, see Algorithms.Input ID | Input |
---|---|
data | Pointer to the numeric table that represents the
X to be factorized.
The input can be an object of any class derived from NumericTable . |
Algorithm Parameters
Pivoted QR decomposition has the following parameters:
Parameter | Default Value | Description |
---|---|---|
algorithmFPType | float | The floating-point type that the algorithm uses for intermediate computations. Can be float or double . |
method | defaultDense | Performance-oriented computation method, the only method supported by the algorithm. |
permutedColumns | Not applicable | Pointer to the numeric table with the
By default, this parameter is an object of the HomogenNumericTable class, filled by zeros.
However, you can define this parameter as an object of any class derived from NumericTable
except the PackedSymmetricMatrix class, CSRNumericTable class, and PackedTriangularMatrix class
with the lowerPackedTriangularMatrix layout. |
Algorithm Output
Pivoted QR decomposition calculates the results described below.
Pass the
Result ID
as a parameter to the methods that access the results of your algorithm.
For more details, see Algorithms.Result ID | Result |
---|---|
matrixQ | Pointer to the numeric table with the
By default, this result is an object of the HomogenNumericTable class, but you can define the result as an object of any class
derived from NumericTable except PackedSymmetricMatrix , PackedTriangularMatrix , and CSRNumericTable . |
matrixR | Pointer to the numeric table with the
By default, this result is an object of the HomogenNumericTable class, but you can define the result as an object of any class
derived from NumericTable except the PackedSymmetricMatrix class, CSRNumericTable class,
and PackedTriangularMatrix class with the lowerPackedTriangularMatrix layout. |
permutationMatrix | Pointer to the numeric table with the
k of the full matrix X is permuted into the position i in XP .By default, this result is an object of the HomogenNumericTable class, but you can define the result as an object of any class
derived from NumericTable except the PackedSymmetricMatrix class, CSRNumericTable class,
and PackedTriangularMatrix class with the lowerPackedTriangularMatrix layout. |
Examples
C++ (CPU)
Batch Processing:
Java*
Python*
Batch Processing: