ルー

公開最終クラスルー

1 つ以上の正方行列の LU 分解を計算します。

入力は、最も内側の 2 次元が正方行列を形成する形状 `[..., M, M]` のテンソルです。

入力は反転可能である必要があります。

出力は、すべての入力部分行列 `[..., :, :]` の LU 分解を含む 2 つのテンソル LU および P で構成されます。 LU は、下三角因子と上三角因子をエンコードします。

形状 `[M, M]` の各入力部分行列について、L は、単位対角をもつ形状 `[M, M]` の下三角行列であり、そのエントリは LU の厳密に下三角部分に対応します。 U は、形状 '[M, M]' の上三角行列で、そのエントリは LU の対角を含む上三角部分に対応します。

P は、「0」から「M-1」までのインデックスのリストとしてエンコードされた置換行列を表します。 P_mat が P に対応する置換行列を表す場合、L、U、および P は P_mat * input = L * U を満たします。

パブリックメソッド

static <T, U extends Number> Lu <T, U>
create (スコープscope、オペランド<T>入力、クラス<U>出力IdxType)
新しい Lu オペレーションをラップするクラスを作成するファクトリ メソッド。
静的 <T> Lu <T, 整数>
create (スコープscope、オペランド<T>入力)
デフォルトの出力タイプを使用して新しい Lu オペレーションをラップするクラスを作成するファクトリ メソッド。
出力<T>
()
形状 `[..., M, M]` のテンソル。厳密に下三角部分は単位対角を持つ下三角因子 'L' を表し、上三角部分は上三角因子 'U' を表します。
出力<U>
()
`0..M-1` のインデックスのリストとしてエンコードされた行の順列。

継承されたメソッド

パブリックメソッド

public static Lu <T, U> create (スコープscope、オペランド<T>入力、クラス<U>出力IdxType)

新しい Lu オペレーションをラップするクラスを作成するファクトリ メソッド。

パラメーター
範囲現在のスコープ
入力最も内側の 2 次元がサイズ `[M, M]` の行列を形成する形状 `[..., M, M]` のテンソル。
戻り値
  • Lu の新しいインスタンス

public static Lu <T, Integer> create (スコープscope, Operand <T> input)

デフォルトの出力タイプを使用して新しい Lu オペレーションをラップするクラスを作成するファクトリ メソッド。

パラメーター
範囲現在のスコープ
入力最も内側の 2 次元がサイズ `[M, M]` の行列を形成する形状 `[..., M, M]` のテンソル。
戻り値
  • Lu の新しいインスタンス

public出力<T> lu ()

形状 `[..., M, M]` のテンソル。厳密に下三角部分は単位対角を持つ下三角因子 'L' を表し、上三角部分は上三角因子 'U' を表します。

public出力<U> p ()

`0..M-1` のインデックスのリストとしてエンコードされた行の順列。形状は「[..., M]」です。