`input`のおおよその最小度(AMD)の順序を計算します。
スパース行列の近似最小次数(AMD)の順序を計算します。
返された順列は、指定されたスパース行列の行と列を並べ替えるために使用できます。これにより、通常、元の行列の分解と比較して、ゼロフィルインが少なくなり、並べ替えられたスパース行列のスパースコレスキー(または他の分解)が発生します。
入力スパース行列は、ランク2またはランク3の場合があります。を表す出力テンソルは、入力と同じバッチ形状で、それぞれランク1または2になります。
入力スパース行列の各コンポーネントは、正方対称行列を表す必要があります。行列の下三角部分のみが読み取られます。スパース行列の値は、返される順列に影響を与えません。スパース行列のスパースパターンのみが使用されます。したがって、単一のAMD順序付けは、同じスパースパターンを持つが値が異なる可能性のあるスパース行列のコレスキー分解に再利用できます。
出力順列の各バッチコンポーネントは、 `N`要素の順列を表します。ここで、入力スパース行列コンポーネントには、それぞれ` N`行があります。つまり、コンポーネントには各整数 `{0、.. N-1}`が1回だけ含まれます。 `i`番目の要素は、` i`番目の行がマップされる行インデックスを表します。
使用例:
from tensorflow.python.ops.linalg.sparse import sparse_csr_matrix_ops
a_indices = np.array([[0, 0], [1, 1], [2, 1], [2, 2], [3, 3]])
a_values = np.array([1.0, 2.0, 1.0, 3.0, 4.0], np.float32)
a_dense_shape = [4, 4]
with tf.Session() as sess:
# Define (COO format) SparseTensor over Numpy array.
a_st = tf.sparse.SparseTensor(a_indices, a_values, a_dense_shape)
# Convert SparseTensors to CSR SparseMatrix.
a_sm = sparse_csr_matrix_ops.sparse_tensor_to_csr_sparse_matrix(
a_st.indices, a_st.values, a_st.dense_shape)
# Obtain the AMD Ordering for the CSR SparseMatrix.
ordering_amd = sparse_csr_matrix_ops.sparse_matrix_ordering_amd(sparse_matrix)
ordering_amd_value = sess.run(ordering_amd)
`ordering_amd_value`格納AMD順序:` [1 2 3 0] `。入力: `CSRSparseMatrix`。
パブリックメソッド
出力<整数> | asOutput () テンソルのシンボリックハンドルを返します。 |
静的SparseMatrixOrderingAMD | |
出力<整数> | 出力() `input`のおおよその最小度(AMD)の順序。 |
継承されたメソッド
パブリックメソッド
公共の出力<整数> asOutput()
テンソルのシンボリックハンドルを返します。
TensorFlow操作への入力は、別のTensorFlow操作の出力です。このメソッドは、入力の計算を表すシンボリックハンドルを取得するために使用されます。
パブリック静的はSparseMatrixOrderingAMD作成(スコープスコープ、オペランド<?>入力)
新しいSparseMatrixOrderingAMD操作をラップするクラスを作成するファクトリメソッド。
パラメーター
範囲 | 現在のスコープ |
---|---|
入力 | `CSRSparseMatrix`。 |
戻り値
- SparseMatrixOrderingAMDの新しいインスタンス