rotmg#
修正されたギブンズ回転のパラメーターを計算します。
説明#
入力ベクトルの直交座標 (x1, y1) が与えられると、rotmg ルーチンは、結果のベクトルの y 成分をゼロにする修正ギブンズ変換行列 H の成分を計算します。
rotmg は次の精度をサポートします。
T |
|---|
|
|
rotmg (バッファーバージョン)#
構文#
namespace oneapi::mkl::blas::column_major {
void rotmg(sycl::queue &queue,
sycl::buffer<T,1> &d1,
sycl::buffer<T,1> &d2,
sycl::buffer<T,1> &x1,
sycl::buffer<T,1> y1,
sycl::buffer<T,1> ¶m)
}namespace oneapi::mkl::blas::row_major {
void rotmg(sycl::queue &queue,
sycl::buffer<T,1> &d1,
sycl::buffer<T,1> &d2,
sycl::buffer<T,1> &x1,
sycl::buffer<T,1> y1,
sycl::buffer<T,1> ¶m)
}入力パラメーター#
- queue
ルーチンを実行するキュー。
- d1
入力ベクトルの
x座標のスケーリング係数を保持するバッファー。- d2
入力ベクトルの
y座標のスケーリング係数を保持するバッファー。- x1
入力ベクトルの
x座標を保持するバッファー。- y1
入力ベクトルの
y座標を指定するスカラー。
出力パラメーター#
- d1
更新された行列の最初の対角要素を保持するバッファー。
- d2
更新された行列の 2 番目の対角要素を保持するバッファー。
- x1
スケーリング前に回転ベクトルの
x座標を保持するバッファー- param
サイズ 5 の配列を保持するバッファー。
param配列の要素は次のとおりです:param[0]にはスイッチ、flagが含まれます。他の配列要素param[1-4]には、配列Hの要素 h11、h21、h12、および h22 がそれぞれ格納されます。flagの値に応じて、Hのコンポーネントは次のように設定されます。flag = -1.0:\[\begin{split}H = \left[ \begin{array}{ccc} h_{11} & h_{12} \\ h_{21} & h_{22} \end{array} \right]\end{split}\]flag = 0.0:\[\begin{split}H = \left[ \begin{array}{ccc} 1.0 & h_{12} \\ h_{21} & 1.0 \end{array} \right]\end{split}\]flag = 1.0:\[\begin{split}H = \left[ \begin{array}{ccc} h_{11} & 1.0 \\ -1.9 & h_{22} \end{array} \right]\end{split}\]flag = -2.0:\[\begin{split}H = \left[ \begin{array}{ccc} 1.0 & 0.0 \\ 0.0 & 1.0 \end{array} \right]\end{split}\]最後の 3 つのケースでは、
flagの値に基づいて 1.0、-1.0、0.0 の行列エントリーが想定されており、paramベクトルで設定する必要はありません。
rotmg (USM バージョン)#
構文#
namespace oneapi::mkl::blas::column_major {
sycl::event rotmg(sycl::queue &queue,
T *d1,
T *d2,
T *x1,
oneapi::mkl::value_or_pointer<T> y1,
T *param,
const std::vector<sycl::event> &dependencies = {})
}namespace oneapi::mkl::blas::row_major {
sycl::event rotmg(sycl::queue &queue,
T *d1,
T *d2,
T *x1,
oneapi::mkl::value_or_pointer<T> y1,
T *param,
const std::vector<sycl::event> &dependencies = {})
}入力パラメーター#
- queue
ルーチンを実行するキュー。
- d1
入力ベクトルの
x座標のスケーリング係数へのポインター。- d2
入力ベクトルの
y座標のスケーリング係数へのポインター。- x1
入力ベクトルの
x座標へのポインター。- y1
入力ベクトルの
y座標を指定するスカラー。value_or_pointerデータタイプの詳細については、スカラー引数を参照してください。- dependencies
計算を開始する前に待機するイベントのリスト (存在する場合)。省略した場合、依存関係はデフォルトでなくなります。
出力パラメーター#
- d1
更新された行列の最初の対角要素へのポインター。
- d2
更新された行列の 2 番目の対角要素へのポインター。
- x1
スケーリング前の回転ベクトル
x座標へのポインター- param
サイズ 5 の配列へのポインター。
param配列の要素は次のとおりです:param[0]にはスイッチ、flagが含まれます。他の配列要素param[1-4]には、配列Hの要素 h11、h21、h12、および h22 がそれぞれ格納されます。flagの値に応じて、Hのコンポーネントは次のように設定されます。flag = -1.0:\[\begin{split}H = \left[ \begin{array}{ccc} h_{11} & h_{12} \\ h_{21} & h_{22} \end{array} \right]\end{split}\]flag = 0.0:\[\begin{split}H = \left[ \begin{array}{ccc} 1.0 & h_{12} \\ h_{21} & 1.0 \end{array} \right]\end{split}\]flag = 1.0:\[\begin{split}H = \left[ \begin{array}{ccc} h_{11} & 1.0 \\ -1.0 & h_{22} \end{array} \right]\end{split}\]flag = -2.0:\[\begin{split}H = \left[ \begin{array}{ccc} 1.0 & 0.0 \\ 0.0 & 1.0 \end{array} \right]\end{split}\]最後の 3 つのケースでは、
flagの値に基づいて 1.0、-1.0、0.0 の行列エントリーが想定されており、paramベクトルで設定する必要はありません。
戻り値#
計算が完了したことを確認するために待機する出力イベント。