spr2#
対称パック行列のランク 2 更新を計算します。
説明
spr2 ルーチンは 2 つのスカラー - ベクトル - ベクトル積を計算し、それらを対称パック行列に加算します。操作はのように定義されています。
説明:
alphaはスカラーですAはnxn対称行列であり、パック形式で提供されますxとyは長さnのベクトルです
spr2 は次の精度をサポートします。
T |
|---|
|
|
spr2 (バッファーバージョン)#
構文#
namespace oneapi::mkl::blas::column_major {
void spr2(sycl::queue &queue,
oneapi::mkl::uplo upper_lower,
std::int64_t n,
T alpha,
sycl::buffer<T,1> &x,
std::int64_t incx,
sycl::buffer<T,1> &y,
std::int64_t incy,
sycl::buffer<T,1> &a)
}namespace oneapi::mkl::blas::row_major {
void spr2(sycl::queue &queue,
oneapi::mkl::uplo upper_lower,
std::int64_t n,
T alpha,
sycl::buffer<T,1> &x,
std::int64_t incx,
sycl::buffer<T,1> &y,
std::int64_t incy,
sycl::buffer<T,1> &a)
}入力パラメーター#
- queue
ルーチンを実行するキュー。
- upper_lower
行列
Aが上三角行列か下三角行列であるかを指定します。詳細はデータタイプを参照してください。- n
行列
Aの行数と列数。最小値は 0 です。- alpha
行列 - ベクトル積のスケーリング係数。
- x
入力ベクトル
xを保持するバッファー。バッファーのサイズは (1 + (n- 1)*abs(incx) 以上である必要があります。行列ストレージを参照してください。- incx
ベクトル
xのストライド。ゼロであってはなりません。- y
入力/出力ベクトル
yを保持するバッファー。バッファーのサイズは (1 + (n- 1)*abs(incy) 以上である必要があります。行列ストレージを参照してください。- incy
ベクトル
yのストライド。ゼロであってはなりません。- a
入力行列
Aを保持するバッファー。バッファーのサイズは (n*(n-1))/2 以上である必要があります。行列ストレージを参照してください。
出力パラメーター#
- a
upper_lower=upperの場合は対称行列Aの更新された上三角部分を保持するバッファー、upper_lower=lowerの場合は対称行列Aの更新された下三角部分を保持するバッファー。
spr2 (USM バージョン)#
構文#
namespace oneapi::mkl::blas::column_major {
sycl::event spr2(sycl::queue &queue,
oneapi::mkl::uplo upper_lower,
std::int64_t n,
oneapi::mkl::value_or_pointer<T> alpha,
const T *x,
std::int64_t incx,
const T *y,
std::int64_t incy,
T *a,
const std::vector<sycl::event> &dependencies = {})
}namespace oneapi::mkl::blas::row_major {
sycl::event spr2(sycl::queue &queue,
oneapi::mkl::uplo upper_lower,
std::int64_t n,
oneapi::mkl::value_or_pointer<T> alpha,
const T *x,
std::int64_t incx,
const T *y,
std::int64_t incy,
T *a,
const std::vector<sycl::event> &dependencies = {})
}入力パラメーター#
- queue
ルーチンを実行するキュー。
- upper_lower
行列
Aが上三角行列か下三角行列であるかを指定します。詳細はデータタイプを参照してください。- n
行列
Aの行数と列数。最小値は 0 です。- alpha
行列 - ベクトル積のスケーリング係数。
value_or_pointerデータタイプの詳細については、スカラー引数を参照してください。- x
入力ベクトル
xへのポインター。入力ベクトルxを保持する配列のサイズは、(1 + (n- 1)*abs(incx)) 以上である必要があります。行列ストレージを参照してください。- incx
ベクトル
xのストライド。ゼロであってはなりません。- y
入力/出力ベクトル
yへのポインター。入力/出力ベクトルyを保持する配列のサイズは、(1 + (n- 1)*abs(incy)) 以上である必要があります。行列ストレージを参照してください。- incy
ベクトル
yのストライド。ゼロであってはなりません。- a
入力行列
Aへのポインター。入力行列Aを保持する配列のサイズは、(n*(n-1))/2 以上である必要があります。行列ストレージを参照してください。- dependencies
計算を開始する前に待機するイベントのリスト (存在する場合)。省略した場合、依存関係はデフォルトでなくなります。
出力パラメーター#
- a
upper_lower=upperの場合は対称行列Aの更新された上三角部分へのポインター、upper_lower=lowerの場合は対称行列Aの更新された下三角部分へのポインター。
戻り値#
計算が完了したことを確認するために待機する出力イベント。