Spec-Zone.ru › TensorFlow 2.3

tf.raw_ops.SparseMatrixSparseCholesky

Вычисляет разложение Холецкого разреженной матрицы input.

Просмотр псевдонимов

Псевдонимы для миграции

Дополнительные сведения см. в руководстве по миграции.

tf.compat.v1.raw_ops.SparseMatrixSparseCholesky

tf.raw_ops.SparseMatrixSparseCholesky(
    input, permutation, type, name=None
)

Вычисляет разложение Холецкого разреженной матрицы с заданной перестановкой, уменьшающей заполнение.

Вводная разреженная матрица и перестановка, уменьшающая заполнение, permutation должны иметь совместимые формы. Если разреженная матрица имеет ранг 3; с размерностью пакетной обработки B, то permutation должна иметь ранг 2; с той же размерностью пакетной обработки B. Передача не поддерживается.

Кроме того, каждый компонент вектора permutation должен иметь длину N, содержащий каждый из целых чисел {0, 1, ..., N - 1} ровно один раз, где N — число строк каждого компонента разреженной матрицы.

Каждый компонент входной разреженной матрицы должен представлять собой симметричную положительно определённую (СПД) матрицу; хотя читается только нижняя треугольная часть матрицы. Если какой-либо отдельный компонент не является СПД, то генерируется ошибка InvalidArgument.

Возвращаемая разреженная матрица имеет ту же плотную форму, что и входная разреженная матрица. Для каждого компонента A входной разреженной матрицы соответствующая выходная разреженная матрица представляет собой L, нижний треугольный фактор Холецкого, удовлетворяющий следующему тождеству:

A = L * Lt

где Lt обозначает транспонированную матрицу L (или её сопряжённую транспонированную, если type является complex64 или complex128).

Параметр type указывает тип элементов матрицы. Поддерживаемые типы: float32, float64, complex64 и complex128.

Пример использования:

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 хранит плотный фактор Холецкого:

[[  1.  0.    0.    0.]
 [  0.  1.41  0.    0.]
 [  0.  0.70  1.58  0.]
 [  0.  0.    0.    2.]]

вход: A CSRSparseMatrix. перестановка: A Tensor. тип: тип input.

Args
input A Tensor типа variant. A CSRSparseMatrix.
permutation A Tensor типа int32. Матрица перестановки, уменьшающей заполнение.
type A tf.DType из: tf.float32, tf.float64, tf.complex64, tf.complex128.
name Имя операции (необязательно).
Returns
A Tensor типа variant.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/raw_ops/SparseMatrixSparseCholesky

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API