SparseMatrixOrderingAMD

public final class SparseMatrixOrderingAMD

Calcola l'ordine dei gradi minimi approssimativi (AMD) di "input".

Calcola l'ordinamento del grado minimo approssimativo (AMD) per una matrice sparsa.

La permutazione restituita può essere utilizzata per permutare le righe e le colonne della matrice sparsa data. Ciò si traduce in genere in Cholesky sparse della matrice permutata (o altre decomposizioni) con meno fill-in zero rispetto alla decomposizione della matrice originale.

La matrice sparsa di input può avere rango 2 o rango 3. Il tensore di output, che rappresenta avrebbe quindi rispettivamente rango 1 o 2, con la stessa forma batch dell'input.

Ogni componente della matrice sparsa di input deve rappresentare una matrice simmetrica quadrata; viene letta solo la parte triangolare inferiore della matrice. I valori della matrice sparsa non influiscono sulla permutazione restituita, viene utilizzato solo il modello di sparsità della matrice sparsa. Quindi, un singolo ordinamento AMD può essere riutilizzato per le decomposizioni di Cholesky di matrici sparse con lo stesso modello di sparsità ma con valori possibilmente diversi.

Ciascun componente batch della permutazione di output rappresenta una permutazione di elementi "N", in cui i componenti della matrice sparsa di input hanno ciascuno "N" righe. Cioè, il componente contiene ciascuno degli interi "{0, .. N-1}" esattamente una volta. L'elemento "i" rappresenta l'indice di riga a cui è associata la riga "i".

Esempio di utilizzo:

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 AMD Ordering for the CSR SparseMatrix.
       ordering_amd = sparse_csr_matrix_ops.sparse_matrix_ordering_amd(sparse_matrix)
 
       ordering_amd_value = sess.run(ordering_amd)
 
`ordering_amd_value` memorizza l'ordine AMD:` [1 2 3 0] `.

input: A `CSRSparseMatrix`.

Metodi pubblici

Output <Integer>
asOutput ()
Restituisce la maniglia simbolica di un tensore.
static SparseMatrixOrderingAMD
create ( ambito ambito, input operando <?>)
Metodo Factory per creare una classe che racchiude una nuova operazione SparseMatrixOrderingAMD.
Output <Integer>
uscita ()
L'ordinamento del grado minimo approssimativo (AMD) di "input".

Metodi ereditati

Metodi pubblici

output pubblico <Integer> asOutput ()

Restituisce la maniglia simbolica di un tensore.

Gli input per le operazioni TensorFlow sono output di un'altra operazione TensorFlow. Questo metodo viene utilizzato per ottenere un handle simbolico che rappresenta il calcolo dell'input.

public static SparseMatrixOrderingAMD create ( ambito ambito, input operando <?>)

Metodo Factory per creare una classe che racchiude una nuova operazione SparseMatrixOrderingAMD.

Parametri
scopo ambito attuale
ingresso Una `CSRSparseMatrix`.
ritorna
  • una nuova istanza di SparseMatrixOrderingAMD

output pubblico <Integer> output ()

L'ordinamento del grado minimo approssimativo (AMD) di "input".