SparseMatrixOrderingAMD

publiczna klasa końcowa SparseMatrixOrderingAMD

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)
 
`ordering_amd_value` przechowuje kolejność AMD: `[1 2 3 0]`.

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
utwórz (zakres zakresu , wejście argumentu <?>)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację 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

Wartość stała: „SparseMatrixOrderingAMD”

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

publiczne wyjście < TInt32 > wyjście ()

Przybliżony stopień minimalny (AMD) w kolejności „wejść”.