SparseMatrixSparseCholesky

publiczna klasa końcowa SparseMatrixSparseColesky

Oblicza rzadki rozkład Choleskiego „wejściowych”.

Oblicza rozkład rzadkiego Choleskiego macierzy rzadkiej przy danej permutacji redukującej wypełnienie.

Wejściowa macierz rzadka i „permutacja” redukująca wypełnienie muszą mieć kompatybilne kształty. Jeśli macierz rzadka ma rangę 3; przy wymiarze partii „B”, wówczas „permutacja” musi mieć rangę 2; z tym samym wymiarem partii „B”. Nie ma wsparcia dla nadawania.

Ponadto każdy wektor składowy „permutacji” musi mieć długość „N” i zawierać każdą z liczb całkowitych {0, 1, ..., N - 1} dokładnie raz, gdzie „N” to liczba wierszy każdego składnika rzadkiej macierzy.

Każdy składnik wejściowej macierzy rzadkiej musi reprezentować symetryczną macierz dodatnio określoną (SPD); chociaż odczytywana jest tylko dolna trójkątna część matrycy. Jeśli jakikolwiek pojedynczy komponent nie jest SPD, zgłaszany jest błąd InvalidArgument.

Zwrócona macierz rzadka ma taki sam gęsty kształt jak wejściowa macierz rzadka. Dla każdego składnika „A” wejściowej macierzy rzadkiej odpowiadająca wyjściowa macierz rzadka reprezentuje „L”, dolny trójkątny współczynnik Choleskiego spełniający następującą tożsamość:

A = L * Lt
 
gdzie Lt oznacza transpozycję L (lub jego transpozycję sprzężoną, jeśli „typ” to „złożony64” lub „złożony128”).

Parametr `type` określa typ elementów macierzy. Obsługiwane typy to: `float32`, `float64`, `complex64` i `complex128`.

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 Sparse Cholesky factor using AMD Ordering for reducing zero
       # fill-in (number of structural non-zeros in the sparse Cholesky factor).
       ordering_amd = sparse_csr_matrix_ops.sparse_matrix_ordering_amd(sparse_matrix)
       cholesky_sparse_matrices = (
           sparse_csr_matrix_ops.sparse_matrix_sparse_cholesky(
               sparse_matrix, ordering_amd, type=tf.float32))
 
       # Convert the CSRSparseMatrix Cholesky factor to a dense Tensor
       dense_cholesky = sparse_csr_matrix_ops.csr_sparse_matrix_to_dense(
           cholesky_sparse_matrices, tf.float32)
 
       # Evaluate the dense Tensor value.
       dense_cholesky_value = sess.run(dense_cholesky)
 
`dense_cholesky_value` przechowuje gęsty współczynnik Cholesky'ego:
[[  1.  0.    0.    0.]
      [  0.  1.41  0.    0.]
      [  0.  0.70  1.58  0.]
      [  0.  0.    0.    2.]]
 
dane wejściowe: `CSRSparseMatrix`. permutacja: „Tensor”. typ: typ „wejściowego”.

Stałe

Smyczkowy OP_NAME Nazwa tej operacji znana silnikowi rdzenia TensorFlow

Metody publiczne

Wyjście < Typ T >
jako wyjście ()
Zwraca symboliczny uchwyt tensora.
statyczny <T rozszerza TType > SparseMatrixSparseCholesky
utwórz (Zakres zakresu , Argument <?> wejście, Operand < TInt32 > permutacja, Typ Class<T>)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację SparseMatrixSparseCholesky.
Wyjście <?>
wyjście ()
Rzadki rozkład Choleskiego „wejściowego”.

Metody dziedziczone

Stałe

publiczny statyczny końcowy ciąg znaków OP_NAME

Nazwa tej operacji znana silnikowi rdzenia TensorFlow

Wartość stała: „SparseMatrixSparseColesky”

Metody publiczne

publiczne wyjście < TType > 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 SparseMatrixSparseCholesky create (zakres zakresu , argument wejściowy <?>, permutacja operandu <TInt32> , typ Class<T>)

Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację SparseMatrixSparseCholesky.

Parametry
zakres aktualny zakres
wejście `CSRSparseMatrix`.
permutacja Macierz permutacji redukującej wypełnienie.
Powroty
  • nowa instancja SparseMatrixSparseCholesky

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

Rzadki rozkład Choleskiego „wejściowego”.