orgbr#
Generates the real orthogonal matrix \(Q\) or \(P^{T}\) determined by gebrd.
orgbr
supports the following precisions.
T
float
double
Description
The routine generates the whole or part of the orthogonal matrices \(Q\) and \(P^{T}\) formed by the routines gebrd. All valid combinations of arguments are described in Input parameters. In most cases you need the following:
To compute the whole \(m \times m\) matrix \(Q\):
orgbr(queue, generate::q, m, m, n, a, ...)
(note that the array a
must have at least \(m\) columns).
To form the \(n\) leading columns of \(Q\) if \(m > n\):
orgbr(queue, generate::q, m, n, n, a, ...)
To compute the whole \(n \times n\) matrix \(P^{T}\):
orgbr(queue, generate::p, n, n, m, a, ...)
(note that the array a
must have at least \(n\) rows).
To form the \(m\) leading rows of \(P^{T}\) if \(m < n\):
orgbr(queue, generate::p, m, n, m, a, ...)
orgbr (Buffer Version)#
Syntax
namespace oneapi::mkl::lapack {
void orgbr(sycl::queue &queue, oneapi::mkl::generate gen, std::int64_t m, std::int64_t n, std::int64_t k, sycl::buffer<T,1> &a, std::int64_t lda, sycl::buffer<T,1> &tau, sycl::buffer<T,1> &scratchpad, std::int64_t scratchpad_size)
}
Input Parameters
- queue
The queue where the routine should be executed.
- gen
Must be
generate::q
orgenerate::p
.If
gen = generate::q
, the routine generates the matrix \(Q\).If
gen = generate::p
, the routine generates the matrix \(P^{T}\).- m
The number of rows in the matrix \(Q\) or \(P^{T}\) to be returned \((0 \le m)\).
If
gen = generate::q
, \(m \le n \le \min(m, k)\).If
gen = generate::p
, \(n \le m \le \min(n, k)\).- n
The number of rows in the matrix \(Q\) or \(P^{T}\) to be returned \((0 \le n)\). See m for constraints.
- k
If
gen = generate::q
, the number of columns in the original \(m \times k\) matrix reduced by gebrd.If
gen = generate::p
, the number of rows in the original \(k \times n\) matrix reduced by gebrd.- a
The buffer
a
as returned by gebrd.- lda
The leading dimension of
a
.- tau
Buffer, size \(\min(m,k)\) if
gen = generate::q
, size \(\min(n,k)\) ifgen = generate::p
. Scalar factor of the elementary reflectors, as returned by gebrd in the array tauq or taup.- scratchpad_size
Size of scratchpad memory as a number of floating point elements of type
T
. Size should not be less than the value returned by orgbr_scratchpad_size function.
Output Parameters
- a
Overwritten by n leading columns of the \(m \times m\) orthogonal matrix \(Q\) or \(P^{T}\) (or the leading rows or columns thereof) as specified by
gen
,m
, andn
.- scratchpad
Buffer holding scratchpad memory to be used by routine for storing intermediate results.
orgbr (USM Version)#
Syntax
namespace oneapi::mkl::lapack {
sycl::event orgbr(sycl::queue &queue, oneapi::mkl::generate gen, std::int64_t m, std::int64_t n, std::int64_t k, T *a, std::int64_t lda, T *tau, T *scratchpad, std::int64_t scratchpad_size, const std::vector<sycl::event> &events = {})
}
Input Parameters
- queue
The queue where the routine should be executed.
- gen
Must be
generate::q
orgenerate::p
.If
gen = generate::q
, the routine generates the matrix \(Q\).If
gen = generate::p
, the routine generates the matrix \(P^{T}\).- m
The number of rows in the matrix \(Q\) or \(P^{T}\) to be returned \((0 \le m)\).
If
gen = generate::q
, \(m \le n \le \min(m, k)\).If
gen = generate::p
, \(n \le m \le \min(n, k)\).- n
The number of rows in the matrix \(Q\) or \(P^{T}\) to be returned \((0 \le n)\). See m for constraints.
- k
If
gen = generate::q
, the number of columns in the original \(m \times k\) matrix reduced by gebrd.If
gen = generate::p
, the number of rows in the original \(k \times n\) matrix reduced by gebrd.- a
Pointer to array
a
as returned by gebrd.- lda
The leading dimension of
a
.- tau
Pointer to array of size \(\min(m,k)\) if
gen = generate::q
, size \(\min(n,k)\) ifgen = generate::p
. Scalar factor of the elementary reflectors, as returned by gebrd in the array tauq or taup.- scratchpad_size
Size of scratchpad memory as a number of floating point elements of type
T
. Size should not be less than the value returned by orgbr_scratchpad_size function.- events
List of events to wait for before starting computation. Defaults to empty list.
Output Parameters
- a
Overwritten by n leading columns of the \(m \times m\) orthogonal matrix \(Q\) or \(P^{T}\) (or the leading rows or columns thereof) as specified by
gen
,m
, andn
.- scratchpad
Pointer to scratchpad memory to be used by routine for storing intermediate results.
Return Values
Output event to wait on to ensure computation is complete.
Parent topic: LAPACK Singular Value and Eigenvalue Problem Routines