SparseMatrixSparseCholesky

classe finale publique SparseMatrixSparseCholesky

Calcule la décomposition clairsemée de Cholesky de « input ».

Calcule la décomposition Sparse Cholesky d'une matrice clairsemée, avec la permutation réductrice de remplissage donnée.

La matrice clairsemée d'entrée et la permutation réductrice de remplissage doivent avoir des formes compatibles. Si la matrice clairsemée a le rang 3 ; avec la dimension du lot 'B', alors la 'permutation' doit être de rang 2 ; avec la même dimension de lot « B ». Il n'y a aucun support pour la diffusion.

De plus, chaque vecteur composant de « permutation » doit être de longueur « N », contenant chacun des entiers {0, 1, ..., N - 1} exactement une fois, où « N » est le nombre de lignes de chaque composant. de la matrice clairsemée.

Chaque composant de la matrice clairsemée d'entrée doit représenter une matrice symétrique définie positive (SPD) ; bien que seule la partie triangulaire inférieure de la matrice soit lue. Si un composant individuel n'est pas SPD, une erreur InvalidArgument est générée.

La matrice clairsemée renvoyée a la même forme dense que la matrice clairsemée d'entrée. Pour chaque composante « A » de la matrice clairsemée d'entrée, la matrice clairsemée de sortie correspondante représente « L », le facteur de Cholesky triangulaire inférieur satisfaisant l'identité suivante :

A = L * Lt
 
où Lt désigne la transposée de L (ou sa transposée conjuguée, si « type » est « complexe64 » ou « complexe128 »).

Le paramètre `type` désigne le type des éléments de la matrice. Les types pris en charge sont : `float32`, `float64`, `complex64` et `complex128`.

Exemple d'utilisation :

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` stocke le facteur Cholesky dense :
[[  1.  0.    0.    0.]
      [  0.  1.41  0.    0.]
      [  0.  0.70  1.58  0.]
      [  0.  0.    0.    2.]]
 
entrée : Un `CSRSparseMatrix`. permutation : Un `Tenseur`. type : Le type d’« entrée ».

Constantes

Chaîne OP_NAME Le nom de cette opération, tel que connu par le moteur principal TensorFlow

Méthodes publiques

Sortie < TType >
comme Sortie ()
Renvoie le handle symbolique du tenseur.
statique <T étend TType > SparseMatrixSparseCholesky
créer (portée de portée , entrée opérande <?>, permutation opérande < TInt32 >, type Class<T>)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération SparseMatrixSparseCholesky.
Sortie <?>
sortir ()
La décompression clairsemée de Cholesky de « input ».

Méthodes héritées

org.tensorflow.op.RawOp
booléen final
est égal à (Obj objet)
entier final
Opération
op ()
Renvoie cette unité de calcul sous la forme d'une seule Operation .
Chaîne finale
booléen
est égal à (Objet arg0)
Classe finale<?>
obtenirClasse ()
int
Code de hachage ()
vide final
notifier ()
vide final
notifierTous ()
Chaîne
àChaîne ()
vide final
attendre (long arg0, int arg1)
vide final
attendez (long arg0)
vide final
attendez ()
org.tensorflow.op.Op
résuméExécutionEnvironnement
env ()
Renvoie l'environnement d'exécution dans lequel cette opération a été créée.
opération abstraite
op ()
Renvoie cette unité de calcul sous la forme d'une seule Operation .
org.tensorflow.Operand
sortie abstraite < TType >
comme Sortie ()
Renvoie le handle symbolique du tenseur.
TType abstrait
asTensor ()
Renvoie le tenseur à cet opérande.
Forme abstraite
forme ()
Renvoie la forme (éventuellement partiellement connue) du tenseur auquel fait référence la Output de cet opérande.
Classe abstraite < TType >
taper ()
Renvoie le type de tenseur de cet opérande
org.tensorflow.ndarray.Shaped
abstrait entier
rang ()
Forme abstraite
forme ()
abstrait long
taille ()
Calcule et renvoie la taille totale de ce conteneur, en nombre de valeurs.

Constantes

chaîne finale statique publique OP_NAME

Le nom de cette opération, tel que connu par le moteur principal TensorFlow

Valeur constante : "SparseMatrixSparseCholesky"

Méthodes publiques

sortie publique < TType > asOutput ()

Renvoie le handle symbolique du tenseur.

Les entrées des opérations TensorFlow sont les sorties d'une autre opération TensorFlow. Cette méthode est utilisée pour obtenir un handle symbolique qui représente le calcul de l’entrée.

public static SparseMatrixSparseCholesky créer (portée de portée , entrée opérande <?>, permutation opérande <TInt32> , type Class<T>)

Méthode d'usine pour créer une classe encapsulant une nouvelle opération SparseMatrixSparseCholesky.

Paramètres
portée portée actuelle
saisir Un `CSRSparseMatrix`.
permutation Une matrice de permutation réductrice de remplissage.
Retours
  • une nouvelle instance de SparseMatrixSparseCholesky

sortie publique <?> sortie ()

La décompression clairsemée de Cholesky de « input ».