SparseMatrixSparseCholesky

classe finale pubblica SparseMatrixSparseCholesky

Calcola la scomposizione sparsa di Cholesky di "input".

Calcola la scomposizione di Cholesky sparsa di una matrice sparsa, con la permutazione di riduzione del riempimento data.

La matrice sparsa di input e la "permutazione" di riduzione del riempimento devono avere forme compatibili. Se la matrice sparsa ha rango 3; con la dimensione batch "B", allora la "permutazione" deve essere di rango 2; con la stessa dimensione del lotto "B". Non c'è supporto per la trasmissione.

Inoltre, ciascun vettore componente di `permutazione` deve essere di lunghezza `N`, contenente ciascuno degli interi {0, 1, ..., N - 1} esattamente una volta, dove `N` è il numero di righe di ciascun componente della matrice sparsa.

Ciascun componente della matrice sparsa di input deve rappresentare una matrice definita positiva simmetrica (SPD); sebbene venga letta solo la parte triangolare inferiore della matrice. Se un singolo componente non è SPD, viene generato un errore InvalidArgument.

La matrice sparsa restituita ha la stessa forma densa della matrice sparsa di input. Per ciascun componente "A" della matrice sparsa di input, la corrispondente matrice sparsa di output rappresenta "L", il fattore di Cholesky triangolare inferiore che soddisfa la seguente identità:

A = L * Lt
 
dove Lt indica la trasposizione di L (o la sua trasposizione coniugata, se "tipo" è "complesso64" o "complesso128").

Il parametro "tipo" denota il tipo degli elementi della matrice. I tipi supportati sono: `float32`, `float64`, `complex64` e `complex128`.

Esempio di utilizzo:

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` memorizza il fattore Cholesky denso:
[[  1.  0.    0.    0.]
      [  0.  1.41  0.    0.]
      [  0.  0.70  1.58  0.]
      [  0.  0.    0.    2.]]
 
input: un `CSRSparseMatrix`. permutazione: Un `Tensore`. type: il tipo di "input".

Costanti

Corda OP_NAME Il nome di questa operazione, come noto al motore principale di TensorFlow

Metodi pubblici

Uscita < TType >
comeuscita ()
Restituisce l'handle simbolico del tensore.
statico <T estende TType > SparseMatrixSparseCholesky
create (ambito ambito , input operando <?>, permutazione operando < TInt32 >, tipo Classe<T>)
Metodo factory per creare una classe che racchiude una nuova operazione SparseMatrixSparseCholesky.
Uscita <?>
produzione ()
La scomposizione sparsa di Cholesky di "input".

Metodi ereditati

Costanti

Stringa finale statica pubblica OP_NAME

Il nome di questa operazione, come noto al motore principale di TensorFlow

Valore costante: "SparseMatrixSparseCholesky"

Metodi pubblici

Uscita pubblica < TType > asOutput ()

Restituisce l'handle simbolico del tensore.

Gli input per le operazioni TensorFlow sono output di un'altra operazione TensorFlow. Questo metodo viene utilizzato per ottenere un handle simbolico che rappresenta il calcolo dell'input.

creazione statica pubblica SparseMatrixSparseCholesky (ambito ambito , input operando <?>, permutazione operando < TInt32 >, tipo Classe <T>)

Metodo factory per creare una classe che racchiude una nuova operazione SparseMatrixSparseCholesky.

Parametri
ambito ambito attuale
ingresso Una "CSRSparseMatrix".
permutazione Una matrice di permutazione riducente da riempire.
Ritorni
  • una nuova istanza di SparseMatrixSparseCholesky

Uscita pubblica <?> uscita ()

La scomposizione sparsa di Cholesky di "input".