SparseMatrixSparseCholesky

clase final pública SparseMatrixSparseCholesky

Calcula la escasa descomposición de Cholesky de la "entrada".

Calcula la descomposición Sparse Cholesky de una matriz dispersa, con la permutación reductora de relleno dada.

La matriz dispersa de entrada y la permutación reductora de relleno "permutación" deben tener formas compatibles. Si la matriz dispersa tiene rango 3; con la dimensión del lote "B", entonces la "permutación" debe ser de rango 2; con la misma dimensión de lote "B". No hay soporte para la transmisión.

Además, cada vector componente de "permutación" debe tener una longitud "N", y contener cada uno de los números enteros {0, 1, ..., N - 1} exactamente una vez, donde "N" es el número de filas de cada componente. de la matriz dispersa.

Cada componente de la matriz dispersa de entrada debe representar una matriz simétrica definida positiva (SPD); aunque sólo se lee la parte triangular inferior de la matriz. Si algún componente individual no es SPD, se genera un error InvalidArgument.

La matriz dispersa devuelta tiene la misma forma densa que la matriz dispersa de entrada. Para cada componente "A" de la matriz dispersa de entrada, la matriz dispersa de salida correspondiente representa "L", y el factor de Cholesky triangular inferior satisface la siguiente identidad:

A = L * Lt
 
donde Lt denota la transpuesta de L (o su transpuesta conjugada, si "tipo" es "complejo64" o "complejo128").

El parámetro "tipo" denota el tipo de elementos de la matriz. Los tipos admitidos son: `float32`, `float64`, `complex64` y `complex128`.

Ejemplo 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` almacena el factor denso de Cholesky:
[[  1.  0.    0.    0.]
      [  0.  1.41  0.    0.]
      [  0.  0.70  1.58  0.]
      [  0.  0.    0.    2.]]
 
entrada: A `CSRSparseMatrix`. permutación: Un `Tensor`. tipo: El tipo de "entrada".

Constantes

Cadena OP_NOMBRE El nombre de esta operación, como lo conoce el motor central de TensorFlow.

Métodos públicos

Salida < Tipo T >
como salida ()
Devuelve el identificador simbólico del tensor.
estático <T extiende TType > SparseMatrixSparseCholesky
crear (alcance alcance , entrada Operando <?>, permutación Operando <TInt32> , tipo Clase<T>)
Método de fábrica para crear una clase que envuelve una nueva operación SparseMatrixSparseCholesky.
Salida <?>
producción ()
La escasa descomposición de Cholesky de la "entrada".

Métodos heredados

Constantes

Cadena final estática pública OP_NAME

El nombre de esta operación, como lo conoce el motor central de TensorFlow.

Valor constante: "SparseMatrixSparseCholesky"

Métodos públicos

Salida pública < TType > asOutput ()

Devuelve el identificador simbólico del tensor.

Las entradas a las operaciones de TensorFlow son salidas de otra operación de TensorFlow. Este método se utiliza para obtener un identificador simbólico que representa el cálculo de la entrada.

creación pública estática SparseMatrixSparseCholesky (alcance de alcance , entrada de operando <?>, permutación de operando <TInt32> , tipo de clase<T>)

Método de fábrica para crear una clase que envuelve una nueva operación SparseMatrixSparseCholesky.

Parámetros
alcance alcance actual
aporte Una `CSRSparseMatrix`.
permutación Una matriz de permutación reductora de relleno.
Devoluciones
  • una nueva instancia de SparseMatrixSparseCholesky

Salida pública <?> salida ()

La escasa descomposición de Cholesky de la "entrada".