Oblicza przybliżoną minimalną kolejność (AMD) „wejść”.
Oblicza porządek przybliżonego minimalnego stopnia (AMD) dla macierzy rzadkiej.
Zwróconą permutację można wykorzystać do permutacji wierszy i kolumn danej macierzy rzadkiej. Zwykle powoduje to, że permutowana rzadka macierz Cholesky'ego (lub inne rozkłady) ma mniej wypełnienia zerami w porównaniu z rozkładem oryginalnej macierzy.
Wejściowa macierz rzadka może mieć rangę 2 lub rangę 3. Reprezentujący tensor wyjściowy miałby wówczas odpowiednio rangę 1 lub 2, z tym samym kształtem partii co wejście.
Każdy składnik wejściowej macierzy rzadkiej musi reprezentować kwadratową macierz symetryczną; odczytywana jest tylko dolna trójkątna część matrycy. Wartości macierzy rzadkiej nie wpływają na zwracaną permutację, używany jest jedynie wzór rzadkości macierzy rzadkiej. W związku z tym pojedyncze uporządkowanie AMD można ponownie wykorzystać do rozkładów Cholesky'ego rzadkich macierzy o tym samym wzorze rzadkości, ale o prawdopodobnie różnych wartościach.
Każdy składnik wsadowy permutacji wyjściowej reprezentuje permutację „N” elementów, przy czym każdy z wejściowych składników macierzy rzadkiej ma „N” wierszy. Oznacza to, że składnik zawiera każdą z liczb całkowitych `{0, .. N-1}` dokładnie raz. „i” element reprezentuje indeks wiersza, na który odwzorowuje „i” wiersz.
Przykład użycia:
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)
dane wejściowe: `CSRSparseMatrix`.
Stałe
Smyczkowy | OP_NAME | Nazwa tej operacji znana silnikowi rdzenia TensorFlow |
Metody publiczne
Dane wyjściowe <TInt32> | jako wyjście () Zwraca symboliczny uchwyt tensora. |
statyczny SparseMatrixOrderingAMD | |
Dane wyjściowe <TInt32> | wyjście () Przybliżona kolejność minimalna (AMD) „wejść”. |
Metody dziedziczone
Stałe
publiczny statyczny końcowy ciąg znaków OP_NAME
Nazwa tej operacji znana silnikowi rdzenia TensorFlow
Metody publiczne
publiczne wyjście < TInt32 > asOutput ()
Zwraca symboliczny uchwyt tensora.
Dane wejściowe operacji TensorFlow są wynikami innej operacji TensorFlow. Ta metoda służy do uzyskania symbolicznego uchwytu reprezentującego obliczenia danych wejściowych.
public static SparseMatrixOrderingAMD create (zakres zakresu , wejście argumentu <?>)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację SparseMatrixOrderingAMD.
Parametry
zakres | aktualny zakres |
---|---|
wejście | `CSRSparseMatrix`. |
Powroty
- nowa instancja SparseMatrixOrderingAMD