syevx_scratchpad_size

syevx_scratchpad_size#

syevx (USM バージョン) 関数に必要なスクラッチ・パッド・メモリーのサイズを計算します。このルーチンは、oneapi::mkl::lapack 名前空間に属します。

説明#

syevx (バッファーまたは USM バージョン) 関数に渡されるスクラッチパッド・メモリーが保持する T タイプの要素数を計算します。

API#

構文#

namespace oneapi::mkl::lapack { 
  template<typename T> 
  int64_t syevx_scratchpad_size(sycl::queue &queue, 
  mkl::job jobz, 
  mkl::rangev range, 
  mkl::uplo uplo, 
  int64_t n, 
  int64_t lda, 
  T vl, 
  T vu, 
  int64_t il, 
  int64_t iu, 
  T abstol, 
  int64_t ldz) 
}

入力パラメーター#

queue

syevx (バッファーまたは USM バージョン) 関数の計算が実行されるデバイスキュー。

jobz

job::novec または job::vec である必要があります。

jobz = job::novec の場合、固有値のみが計算されます。

jobz = job::vec の場合、固有値と固有ベクトルが計算されます。

range

rangev::allrangev::values または rangev::indices である必要があります。

range = rangev::all の場合、すべての固有値と固有ベクトル (jobz パラメーターによって要求された場合) が計算されます。

range = rangev::values の場合、区間 (vl, vu] 内の固有値と対応する固有ベクトル (jobz パラメーターで要求された場合) が計算されます。

range = rangev::indices の場合、il 番目から iu 番目の固有値と対応する固有ベクトル (jobz パラメーターによって要求された場合) が計算されます。

uplo

uplo::upper または uplo::lower である必要があります。

uplo = uplo::upper の場合、a は A の上三角部分を格納します。

uplo = uplo::lower の場合、a は A の下三角部分を格納します。

n

行列 A の次数 (0 n)。

lda

a の先頭次元; max(1,n) 以上である必要があります。

vl

range = rangev::values の場合、固有値を検索する間隔の下限。vlvu より小さくなければなりません。range = rangev::all または range = rangev::indices の場合は参照されません。

vu

range = rangev::values の場合、固有値を検索する間隔の上限。vlvu より小さくなければなりません。range = rangev::all または range = rangev::indices の場合は参照されません。

il

range = rangev::indices の場合、返される最小固有値の 1 ベースのインデックス。n > 0 の場合は 1 il iu n で、n = 0 の場合は il = 1 および iu = 0 でなければなりません。range = rangev::all または range = rangev::values の場合は参照されません。

iu

range = rangev::indices の場合、返される最大固有値の 1 ベースのインデックス。n > 0 の場合は 1 il iu n で、n = 0 の場合は il = 1 および iu = 0 でなければなりません。range = rangev::all または range = rangev::values の場合は参照されません。

abstol

固有値の絶対誤差許容値。近似固有値は、abstol + eps *  max( |a|,|b| ) 以下の幅の区間 [a,b] 内にあると判断されたときに収束したとみなされます。ここで、eps はマシン精度です。abstol が 0 以下の場合、代わりに eps*|T| が使用されます。ここで、|T| は、A を三角形式に縮小することによって得られる三角行列の 1 ノルムです。

ldz

z の先頭次元。max(1,n) 以上である必要があります。

例外#

例外

説明

mkl::lapack::exception

不正な引数値が指定されると、この例外がスローされます。例外オブジェクトの info() メソッドによって、不正な引数の位置を特定できます。

戻り値#

syevx (バッファーまたは USM バージョン) 関数に渡されるスクラッチパッド・メモリーが保持する T タイプの要素数。