SparseMatrixSparseCholesky

lớp cuối cùng công khai SparseMatrixSparseCholesky

Tính toán phân tách Cholesky thưa thớt của `input`.

Tính toán phân rã Cholesky thưa thớt của một ma trận thưa thớt, với hoán vị rút gọn phần điền đã cho.

Ma trận thưa đầu vào và hoán vị rút gọn điền vào `hoán vị` phải có hình dạng tương thích. Nếu ma trận thưa có hạng 3; với thứ nguyên lô `B` thì `hoán vị` phải thuộc hạng 2; với cùng kích thước lô `B`. Không có hỗ trợ cho việc phát sóng.

Hơn nữa, mỗi vectơ thành phần của `hoán vị` phải có độ dài `N`, chứa mỗi số nguyên {0, 1, ..., N - 1} đúng một lần, trong đó `N` là số hàng của mỗi thành phần của ma trận thưa thớt.

Mỗi thành phần của ma trận thưa đầu vào phải biểu diễn một ma trận xác định dương đối xứng (SPD); mặc dù chỉ có phần tam giác phía dưới của ma trận được đọc. Nếu bất kỳ thành phần riêng lẻ nào không phải là SPD thì sẽ xảy ra lỗi InvalidArgument.

Ma trận thưa thớt được trả về có hình dạng dày đặc giống như ma trận thưa thớt đầu vào. Đối với mỗi thành phần `A` của ma trận thưa đầu vào, ma trận thưa đầu ra tương ứng đại diện cho `L`, hệ số Cholesky tam giác dưới thỏa mãn đồng dạng sau:

A = L * Lt
 
trong đó Lt biểu thị chuyển vị của L (hoặc chuyển vị liên hợp của nó, nếu ` loại` là `complex64` hoặc `complex128`).

Tham số `type` biểu thị loại phần tử ma trận. Các loại được hỗ trợ là: `float32`, `float64`, `complex64` và `complex128`.

Ví dụ sử dụng:

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` lưu trữ hệ số Cholesky dày đặc:
[[  1.  0.    0.    0.]
      [  0.  1.41  0.    0.]
      [  0.  0.70  1.58  0.]
      [  0.  0.    0.    2.]]
 
đầu vào: A `CSRSparseMatrix`. hoán vị: Một `Tensor`. loại: Loại `đầu vào`.

Phương pháp công khai

Đầu ra <Đối tượng>
asOutput ()
Trả về phần điều khiển tượng trưng của một tenxơ.
tĩnh <T> SparseMatrixSparseCholesky
tạo (Phạm vi phạm vi, đầu vào Toán hạng <?>, hoán vị Toán tử <Số nguyên>, Loại Lớp<T>)
Phương thức xuất xưởng để tạo một lớp bao bọc một thao tác SparseMatrixSparseCholesky mới.
Đầu ra <?>
đầu ra ()
Sự phân tách Cholesky thưa thớt của `đầu vào`.

Phương pháp kế thừa

Phương pháp công khai

Đầu ra công khai <Object> asOutput ()

Trả về phần điều khiển tượng trưng của một tenxơ.

Đầu vào của các hoạt động TensorFlow là đầu ra của một hoạt động TensorFlow khác. Phương pháp này được sử dụng để thu được một thẻ điều khiển mang tính biểu tượng đại diện cho việc tính toán đầu vào.

public static SparseMatrixSparseCholesky tạo (Phạm vi phạm vi , đầu vào Toán hạng <?>, hoán vị Toán hạng <Số nguyên>, Loại Lớp<T>)

Phương thức xuất xưởng để tạo một lớp bao bọc một thao tác SparseMatrixSparseCholesky mới.

Thông số
phạm vi phạm vi hiện tại
đầu vào Một `CSRSparseMatrix`.
hoán vị Một ma trận hoán vị giảm điền vào.
Trả lại
  • một phiên bản mới của SparseMatrixSparseCholesky

Đầu ra công khai <?> đầu ra ()

Sự phân tách Cholesky thưa thớt của `đầu vào`.