SparseMatrixSparseCholesky

SparseMatrixSparseCholesky public final class

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`, la triangular inferior factor de Cholesky satisfacer la siguiente identidad:

A = L * Lt
 
donde Lt indica la transpuesta de L (o su transpuesta conjugada, si ` type` 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)
 
`tiendas dense_cholesky_value` la densa factor de Cholesky:
[[  1.  0.    0.    0.]
      [  0.  1.41  0.    0.]
      [  0.  0.70  1.58  0.]
      [  0.  0.    0.    2.]]
 
de entrada: Un` CSRSparseMatrix`. permutación: A `Tensor`. tipo: el tipo de `entrada`.

Constantes

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

Métodos públicos

Salida < Ttype >
asOutput ()
Devuelve el identificador simbólico del tensor.
estática <T se extiende Ttype > SparseMatrixSparseCholesky
crear ( Alcance alcance, operando <?> entrada, operando < TInt32 > 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

Constantes

OP_NAME pública final static String

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

Valor constante: "SparseMatrixSparseCholesky"

Métodos públicos

pública de salida < 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.

public static SparseMatrixSparseCholesky crear ( Alcance alcance, operando <?> entrada, operando < TInt32 > permutación, Clase <T> Tipo)

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

pública de salida <?> salida ()

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