## Developer Guide and Reference

• 2021.6
• 04/11/2022
• Public Content
Contents

# Pivoted QR Decomposition

Given the matrix of size , the problem is to compute the QR decomposition with column pivoting , where
• is an orthogonal matrix of size • is a rectangular upper triangular matrix of size • is 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.
Algorithm Input for Pivoted QR Decomposition (Batch Processing)
Input ID
Input
data
Pointer to the numeric table that represents the matrix to be factorized. The input can be an object of any class derived from
NumericTable
.
Algorithm Parameters
Pivoted QR decomposition has the following parameters:
Algorithm Parameters for Pivoted QR Decomposition (Batch Processing)
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 matrix with the information for the permutation:
• If the -th element is zero, the -th column of the input matrix is a free column and may be permuted with any other free column during the computation.
• If the -th element is non-zero, the -th column of the input matrix is moved to the beginning of XP before the computation and remains in its place during the computation.
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.
Algorithm Output for Pivoted QR Decomposition (Batch Processing)
Result ID
Result
matrixQ
Pointer to the numeric table with the matrix .
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 upper triangular matrix .
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 matrix such that if the column of the full matrix is permuted into the position in .
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*
There is no support for Java on GPU.
Batch Processing:
Python*
Batch Processing:

#### Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.