gesvd_scratchpad_size#
gesvd (USM バージョン) 関数に必要なスクラッチ・パッド・メモリーのサイズを計算します。このルーチンは、oneapi::mkl::lapack 名前空間に属します。
説明#
gesvd (バッファーまたは USM バージョン) 関数に渡されるスクラッチパッド・メモリーが保持する T タイプの要素数を計算します。
API#
構文#
namespace oneapi::mkl::lapack {
template<typename T>
int64_t gesvd_scratchpad_size(sycl::queue &queue,
mkl::jobsvd jobu,
mkl::jobsvd jobvt,
int64_t m,
int64_t n,
int64_t lda,
int64_t ldu,
int64_t ldvt)
}入力パラメーター#
- queue
gesvd (バッファーまたは USM バージョン) 関数の計算が実行されるデバイスキュー。
- jobu
jobsvd::vectors、jobsvd::somevec、jobsvd::vectorsina、またはjobsvd::novecである必要があります。行列Uのすべてまたは一部を計算するオプションを指定します。jobu = jobsvd::vectorsの場合、Uのすべてのm列が配列 u に返されます;jobu = jobsvd::somevecの場合、Uの最初のmin(m, n)列 (左特異ベクトル) が配列 u に返されます;jobu = jobsvd::vectorsinaの場合、Uの最初のmin(m, n)列 (左特異ベクトル) が配列 u に上書きされます;jobu = jobsvd::novecの場合、Uの列 (左特異ベクトルがない) は計算されません 。- jobvt
jobsvd::vectors, jobsvd::somevec、jobsvd::vectorsina、またはjobsvd::novecである必要があります。行列 VT/VH のすべてまたは一部を計算するオプションを指定します。jobvt = jobsvd::vectorsの場合、VT/VH のすべての n 列が配列 vt に返されます;jobvt = jobsvd::somevecの場合、VT/VH (左特異ベクトル) の最初のmin(m, n)列が配列 vt に返されます;jobvt = jobsvd::vectorsinaの場合、VT/VH (左特異ベクトル) の最初のmin(m, n)列 が配列 a に上書きされます;jobvt = jobsvd::novecの場合、VT/VH (左特異ベクトルがない) の列は計算されません 。jobvt と jobu の両方を
job::overwritevecにすることはできません。- m
行列
Aの行数 (0 ≤ m)。- n
行列
Aの列数 (0 ≤ n)。- lda
a の先頭次元。
- ldu
u の先頭次元。
- ldvt
vt の先頭次元。
例外#
例外 |
説明 |
|---|---|
|
不正な引数値が指定されると、この例外がスローされます。例外オブジェクトの get_info() メソッドによって、不正な引数の位置を特定できます。 |
戻り値#
gesvd (バッファーまたは USM バージョン) 関数に渡されるスクラッチパッド・メモリーが保持する T タイプの要素数。