tf.raw_ops.SparseMatrixOrderingAMD
Вычисляет порядок приближённой минимальной степени (AMD) для input.
tf.raw_ops.SparseMatrixOrderingAMD(
input, name=None
)
Вычисляет порядок приближённой минимальной степени (AMD) для разреженной матрицы.
Возвращённое перестановки может быть использовано для перестановки строк и столбцов данной разреженной матрицы. Это, как правило, приводит к тому, что у перестановки разреженной матрицы разложение Холецкого (или другие разложения) будет содержать меньше заполнения нулями по сравнению с разложением исходной матрицы.
Входная разреженная матрица может иметь ранг 2 или ранг 3. Тогда выходной тензор будет иметь ранг 1 или 2 соответственно, с той же формой пакетной обработки, что и вход.
Каждый компонент входной разреженной матрицы должен представлять квадратную симметричную матрицу; читается только нижняя треугольная часть матрицы. Значения разреженной матрицы не влияют на возвращаемую перестановку, используется только структура разреженности разреженной матрицы. Следовательно, один порядок AMD можно повторно использовать для разложения Холецкого разреженных матриц с той же структурой разреженности, но, возможно, с различными значениями.
Каждый компонент выходной перестановки представляет перестановку N элементов, где каждый компонент входной разреженной матрицы имеет N строк. То есть, компонент содержит каждое целое число {0, .. N-1} ровно один раз. i-й элемент представляет индекс строки, в которую переводится i-я строка.
Пример использования:
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 хранит порядок AMD: [1 2 3 0].
Ввод: CSRSparseMatrix.
| Аргументы | |
|---|---|
input | Tensor типа variant. CSRSparseMatrix. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
Tensor типа int32. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/raw_ops/SparseMatrixOrderingAMD