SparseMatrixSparseCholesky

classe final pública SparseMatrixSparseCholesky

Calcula a decomposição de Cholesky esparsa de `input`.

Calcula a decomposição de Cholesky Esparsa de uma matriz esparsa, com a permutação de redução de preenchimento fornecida.

A matriz esparsa de entrada e a permutação de redução de preenchimento `permutação` devem ter formas compatíveis. Se a matriz esparsa tem posto 3; com a dimensão de lote `B`, a `permutação` deve ser de classificação 2; com a mesma dimensão de lote "B". Não há suporte para transmissão.

Além disso, cada vetor componente de `permutação` deve ter o comprimento `N`, contendo cada um dos inteiros {0, 1, ..., N - 1} exatamente uma vez, onde `N` é o número de linhas de cada componente da matriz esparsa.

Cada componente da matriz esparsa de entrada deve representar uma matriz definida positiva simétrica (SPD); embora apenas a parte triangular inferior da matriz seja lida. Se algum componente individual não for SPD, um erro InvalidArgument será lançado.

A matriz esparsa retornada tem a mesma forma densa que a matriz esparsa de entrada. Para cada componente `A` da matriz esparsa de entrada, a matriz esparsa de saída correspondente representa `L`, o fator de Cholesky triangular inferior satisfazendo a seguinte identidade:

A = L * Lt
 
onde Lt denota a transposição de L (ou sua transposição conjugada, se ` type` é `complex64` ou `complex128`).

O parâmetro `type` denota o tipo dos elementos da matriz. Os tipos suportados são: `float32`, `float64`, `complex64` e `complex128`.

Exemplo de uso:

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` armazena o fator Cholesky denso:
[[  1.  0.    0.    0.]
      [  0.  1.41  0.    0.]
      [  0.  0.70  1.58  0.]
      [  0.  0.    0.    2.]]
 
input: A `CSRSparseMatrix`. permutação: Um `Tensor`. type: O tipo de 'entrada'.

Métodos públicos

Saída <Objeto>
comoSaída ()
Retorna o identificador simbólico de um tensor.
estático <T> SparseMatrixSparseCholesky
create ( Escopo de escopo, entrada de Operando <?>, permutação de Operando <Integer>, tipo de Classe<T>)
Método de fábrica para criar uma classe que envolve uma nova operação SparseMatrixSparseCholesky.
Saída <?>
saída ()
A escassa decomposição de Cholesky de 'input'.

Métodos Herdados

Métodos públicos

Public Output <Object> asOutput ()

Retorna o identificador simbólico de um tensor.

As entradas para operações do TensorFlow são saídas de outra operação do TensorFlow. Este método é usado para obter um identificador simbólico que representa o cálculo da entrada.

public static SparseMatrixSparseCholesky create ( Escopo do escopo, entrada Operando <?>, permutação Operando <Integer>, tipo Classe<T>)

Método de fábrica para criar uma classe que envolve uma nova operação SparseMatrixSparseCholesky.

Parâmetros
alcance escopo atual
entrada Um `CSRSparseMatrix`.
permutação Uma matriz de permutação redutora de preenchimento.
Devoluções
  • uma nova instância de SparseMatrixSparseCholesky

saída pública <?> saída ()

A escassa decomposição de Cholesky de 'input'.