インテル® DAAL プログラミング・ガイド

バッチ処理

アルゴリズムの入力

ピボット選択付き QR 分解の入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

入力 ID

入力

data

因数分解される n x p 行列 X を表す数値テーブルのポインター。入力は、NumericTable の派生クラスのオブジェクトです。

アルゴリズムのパラメーター

ピボット選択付き QR 分解のパラメーターは次のとおりです。

パラメーター

デフォルト値

説明

algorithmFPType

double

アルゴリズムが中間計算に使用する浮動小数点の型。float または double を指定できます。

method

defaultDense

パフォーマンス指向の計算メソッド。アルゴリズムでサポートされている唯一のメソッドです。

permutedColumns

NULL

1 x p 行列と置換の情報を含む数値テーブルのポインター。

  • i 番目の要素がゼロの場合、入力行列の i 番目の列はフリー列で、計算中にほかのフリー列と置換できます。

  • i 番目の要素が非ゼロの場合、入力行列の i 番目の列は計算の前に XP の最初に移動され、計算中は移動しません。

デフォルトでは、このパラメーターは HomogenNumericTable クラスのオブジェクトで、ゼロが書き込まれます。このパラメーターは、(PackedSymmetricMatrix クラス、CSRNumericTable クラス、lowerPackedTriangularMatrix レイアウトの PackedTriangularMatrix クラスを除く) NumericTable の派生クラスのオブジェクトとして定義できます。

アルゴリズムの出力

ピボット選択付き QR 分解は次の結果を計算します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

結果 ID

結果

matrixQ

n x p 行列 Q1 を含む数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrixPackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

matrixR

n x p 上三角行列 R1 を含む数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrix クラス、CSRNumericTable クラス、および lowerPackedTriangularMatrix レイアウトの PackedTriangularMatrix クラスを除く) NumericTable の派生クラスのオブジェクトとして定義できます。

permutationMatrix

フル行列 X の列 kXP の位置 i に置換された場合に permutationMatrix(i) = k となる 1 x p 行列を含む数値テーブルのポインター。

デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrix クラス、CSRNumericTable クラス、および lowerPackedTriangularMatrix レイアウトの PackedTriangularMatrix クラスを除く) NumericTable の派生クラスのオブジェクトとして定義できます。

サンプル

インテル® DAAL ディレクトリーの次のサンプルを参照してください。

C++: ./examples/cpp/source/pivoted_qr/pivoted_qr_batch.cpp

Java*: ./examples/java/source/com/intel/daal/examples/pivoted_qr/PivotedQRBatch.java