SparseMatrixSparseCholesky

clase final pública SparseMatrixSparseCholesky

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

Calcula la descomposición de Cholesky dispersa 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 de lote "B", entonces la "permutación" debe ser de rango 2; con la misma dimensión de lote "B". No hay soporte para retransmisiones.

Además, cada vector componente de "permutación" debe tener una longitud "N", que contenga 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 definida positiva simétrica (SPD); aunque solo se lee la parte triangular inferior de la matriz. Si algún componente individual no es SPD, se genera un error de 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", el factor de Cholesky triangular inferior que satisface la siguiente identidad:

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

El parámetro `type` denota el tipo de los 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 Cholesky denso:
[[  1.  0.    0.    0.]
      [  0.  1.41  0.    0.]
      [  0.  0.70  1.58  0.]
      [  0.  0.    0.    2.]]
 
entrada: A` CSRSparseMatrix`. permutación: A `Tensor`. tipo: el tipo de `entrada`.

Métodos públicos

Salida <Objeto>
asOutput ()
Devuelve el identificador simbólico de un tensor.
static <T> SparseMatrixSparseCholesky
crear ( alcance de alcance, operando <?> entrada, operando <entero> permutación, clase <T> tipo)
Método de fábrica para crear una clase que envuelva una nueva operación SparseMatrixSparseCholesky.
Salida <?>
salida ()
La escasa descompsición de Cholesky de "input".

Métodos heredados

Métodos públicos

Salida pública <Objeto> asOutput ()

Devuelve el identificador simbólico de un 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.

public static SparseMatrixSparseCholesky create ( Scope scope, Operand <?> input, Operand <Integer> permutation, Class <T> type)

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

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

salida pública <?> salida ()

La escasa descompsición de Cholesky de "input".