SparseMatrixSparseCholesky

classe final pública SparseMatrixSparseCholesky

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

Calcula a decomposição esparsa de Cholesky de uma matriz esparsa, com o preenchimento fornecido reduzindo a permutação.

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 tiver classificação 3; com a dimensão de lote `B`, então 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 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á gerado.

A matriz esparsa retornada tem o mesmo formato denso da 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 que satisfaz a seguinte identidade:

A = L * Lt
 
onde Lt denota a transposta de L (ou sua transposta conjugada, se `type` for `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.]]
 
entrada: Um `CSRSparseMatrix`. permutação: Um `Tensor`. type: O tipo de `entrada`.

Constantes

Corda OP_NAME O nome desta operação, conforme conhecido pelo mecanismo principal do TensorFlow

Métodos Públicos

Saída <TType>
asOutput ()
Retorna o identificador simbólico do tensor.
estático <T estende TType > SparseMatrixSparseCholesky
create (escopo do escopo , entrada do operando <?>, permutação do operando <TInt32> , tipo Class<T>)
Método de fábrica para criar uma classe que envolve uma nova operação SparseMatrixSparseCholesky.
Saída <?>
saída ()
A esparsa descompressão de Cholesky de `input`.

Métodos herdados

org.tensorflow.op.RawOp
booleano final
é igual (objeto obj)
int final
Operação
op ()
Retorne esta unidade de cálculo como uma única Operation .
sequência final
booleano
é igual (objeto arg0)
aula final<?>
getClass ()
interno
código hash ()
vazio final
notificar ()
vazio final
notificar todos ()
Corda
toString ()
vazio final
espere (long arg0, int arg1)
vazio final
espere (arg0 longo)
vazio final
espere ()
org.tensorflow.op.Op
ambiente de execução abstrato
env ()
Retorne o ambiente de execução em que esta operação foi criada.
operação abstrata
op ()
Retorne esta unidade de cálculo como uma única Operation .
org.tensorflow.Operand
Saída abstrata <TType>
asOutput ()
Retorna o identificador simbólico do tensor.
TType abstrato
comoTensor ()
Retorna o tensor neste operando.
forma abstrata
forma ()
Retorna a forma (possivelmente parcialmente conhecida) do tensor referido pela Output deste operando.
Classe abstrata <TType>
tipo ()
Retorna o tipo de tensor deste operando
org.tensorflow.ndarray.Shaped
abstrato int
forma abstrata
forma ()
abstrato longo
tamanho ()
Calcula e retorna o tamanho total deste contêiner, em número de valores.

Constantes

String final estática pública OP_NAME

O nome desta operação, conforme conhecido pelo mecanismo principal do TensorFlow

Valor constante: "SparseMatrixSparseCholesky"

Métodos Públicos

saída pública < TType > asOutput ()

Retorna o identificador simbólico do 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 do operando <?>, permutação do operando <TInt32> , tipo Class<T>)

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

Parâmetros
escopo 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 esparsa descompressão de Cholesky de `input`.