Calcula a ordem do Grau Mínimo Aproximado (AMD) da `entrada`.
Calcula a ordenação do Grau Mínimo Aproximado (AMD) para uma matriz esparsa.
A permutação retornada pode ser usada para permutar as linhas e colunas de uma determinada matriz esparsa. Isso normalmente resulta em Cholesky esparso da matriz esparsa permutada (ou outras decomposições) com menos preenchimento de zero em comparação com a decomposição da matriz original.
A matriz esparsa de entrada pode ter classificação 2 ou classificação 3. O tensor de saída, representando, teria então classificação 1 ou 2, respectivamente, com o mesmo formato de lote da entrada.
Cada componente da matriz esparsa de entrada deve representar uma matriz quadrada simétrica; apenas a parte triangular inferior da matriz é lida. Os valores da matriz esparsa não afetam a permutação retornada, apenas o padrão de dispersão da matriz esparsa é usado. Portanto, uma única ordenação AMD pode ser reutilizada para as decomposições de Cholesky de matrizes esparsas com o mesmo padrão de dispersão, mas com valores possivelmente diferentes.
Cada componente de lote da permutação de saída representa uma permutação de `N` elementos, onde cada um dos componentes da matriz esparsa de entrada tem `N` linhas. Ou seja, o componente contém cada um dos inteiros `{0, .. N-1}` exatamente uma vez. O `i`ésimo elemento representa o índice de linha para o qual a `i`ésima linha é mapeada.
Exemplo 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 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` armazena a ordem AMD: `[1 2 3 0]`.entrada: Um `CSRSparseMatrix`.
Constantes
Corda | OP_NAME | O nome desta operação, conforme conhecido pelo mecanismo principal do TensorFlow |
Métodos Públicos
Saída < TInt32 > | asOutput () Retorna o identificador simbólico do tensor. |
estática SparseMatrixOrderingAMD | |
Saída < TInt32 > | saída () A ordem do Grau Mínimo Aproximado (AMD) de `entrada`. |
Métodos herdados
Constantes
String final estática pública OP_NAME
O nome desta operação, conforme conhecido pelo mecanismo principal do TensorFlow
Métodos Públicos
Saída pública < TInt32 > asOutput ()
Retorna o identificador simbólico do tensor.
As entradas para operações do TensorFlow são saídas de outra operação do TensorFlow. Este método é usado para obter um identificador simbólico que representa o cálculo da entrada.
public static SparseMatrixOrderingAMD create (escopo do escopo , entrada Operand <?>)
Método de fábrica para criar uma classe que envolve uma nova operação SparseMatrixOrderingAMD.
Parâmetros
escopo | escopo atual |
---|---|
entrada | Um `CSRSparseMatrix`. |
Devoluções
- uma nova instância de SparseMatrixOrderingAMD