tpsv#

係数が三角形のパック行列になっている線形方程式系を解きます。

説明#

tpsv ルーチンは、係数が三角形のパック行列にある線形方程式系を解きます。操作はのように定義されています。

\[op(A)*x = b\]

説明:

  • op(A) は、op(A) = A、op(A) = AT、または op(A) = AH のいずれかです

  • An x n の単位または非単位の上三角帯行列または下三角帯行列で、パック形式で提供されます

  • bx は長さ n のベクトルです

tpsv は次の精度をサポートします。

T

float

double

std::complex<float>

std::complex<double>

tpsv (バッファーバージョン)#

構文#

namespace oneapi::mkl::blas::column_major { 
    void tpsv(sycl::queue &queue, 
              oneapi::mkl::uplo upper_lower, 
              oneapi::mkl::transpose trans, 
              oneapi::mkl::diag unit_diag, 
              std::int64_t n, 
              std::int64_t k, 
              sycl::buffer<T,1> &a, 
              sycl::buffer<T,1> &x, 
              std::int64_t incx) 
}
namespace oneapi::mkl::blas::row_major { 
    void tpsv(sycl::queue &queue, 
              oneapi::mkl::uplo upper_lower, 
              oneapi::mkl::transpose trans, 
              oneapi::mkl::diag unit_diag, 
              std::int64_t n, 
              std::int64_t k, 
              sycl::buffer<T,1> &a, 
              sycl::buffer<T,1> &x, 
              std::int64_t incx) 
}

入力パラメーター#

queue

ルーチンを実行するキュー。

upper_lower

行列 A が上三角行列か下三角行列であるかを指定します。詳細はデータタイプを参照してください。

trans

行列 A に適用される転置演算 op(A) を指定します。詳細はデータタイプを参照してください。

unit_diag

行列 A が単位三角行列であるかどうかを指定します。詳細はデータタイプを参照してください。

n

行列 A の行数と列数。最小値は 0 です。

a

入力行列 A を保持するバッファー。バッファーのサイズは(n*(n+1))/2 以上である必要があります。行列ストレージを参照してください。

x

n 要素の右辺ベクトル b を保持するバッファー。バッファーのサイズは (1 + (n - 1)*abs(incx) 以上である必要があります。行列ストレージを参照してください。

incx

ベクトル x のストライド。ゼロであってはなりません。

出力パラメーター#

x

解ベクトル x を保持するバッファー。

tpsv (USM バージョン)#

構文#

namespace oneapi::mkl::blas::column_major { 
    sycl::event tpsv(sycl::queue &queue, 
                     oneapi::mkl::uplo upper_lower, 
                     oneapi::mkl::transpose trans, 
                     oneapi::mkl::diag unit_diag, 
                     std::int64_t n, 
                     std::int64_t k, 
                     const T *a, 
                     T *x, 
                     std::int64_t incx, 
                     const std::vector<sycl::event> &dependencies = {}) 
}
namespace oneapi::mkl::blas::row_major { 
    sycl::event tpsv(sycl::queue &queue, 
                     oneapi::mkl::uplo upper_lower, 
                     oneapi::mkl::transpose trans, 
                     oneapi::mkl::diag unit_diag, 
                     std::int64_t n, 
                     std::int64_t k, 
                     const T *a, 
                     T *x, 
                     std::int64_t incx, 
                     const std::vector<sycl::event> &dependencies = {}) 
}

入力パラメーター#

queue

ルーチンを実行するキュー。

upper_lower

行列 A が上三角行列か下三角行列であるかを指定します。詳細はデータタイプを参照してください。

trans

行列 A に適用される転置演算 op(A) を指定します。詳細はデータタイプを参照してください。

unit_diag

行列 A が単位三角行列であるかどうかを指定します。詳細はデータタイプを参照してください。

n

行列 A の行数と列数。最小値は 0 です。

a

入力行列 A へのポインター。入力行列 A を保持する配列のサイズは、(n*(n+1))/2 以上である必要があります。行列ストレージを参照してください。

x

n 要素の右辺ベクトル b へのポインター。n 要素の右辺ベクトル b を保持する配列のサイズは、(1 + (n - 1)*abs(incx)) 以上である必要があります。行列ストレージを参照してください。

incx

ベクトル x のストライド。ゼロであってはなりません。

dependencies

計算を開始する前に待機するイベントのリスト (存在する場合)。省略した場合、依存関係はデフォルトでなくなります。

出力パラメーター#

x

解ベクトル x へのポインター。

戻り値#

計算が完了したことを確認するために待機する出力イベント。