SparseMatrixSparseCholesky

kelas akhir publik SparseMatrixSparseCholesky

Menghitung dekomposisi Cholesky yang jarang dari `input`.

Menghitung dekomposisi Sparse Cholesky dari matriks renggang, dengan permutasi pereduksi pengisian yang diberikan.

Matriks renggang masukan dan `permutasi` pengurang pengisian harus memiliki bentuk yang kompatibel. Jika matriks renggang mempunyai rangking 3; dengan dimensi batch `B`, maka `permutasi` harus berada pada peringkat 2; dengan dimensi batch yang sama `B`. Tidak ada dukungan untuk penyiaran.

Selanjutnya, setiap vektor komponen `permutasi` harus memiliki panjang `N`, yang memuat setiap bilangan bulat {0, 1, ..., N - 1} tepat satu kali, dengan `N` adalah jumlah baris setiap komponen dari matriks renggang.

Setiap komponen matriks renggang masukan harus mewakili matriks pasti positif simetris (SPD); meskipun hanya bagian segitiga bawah matriks yang terbaca. Jika ada komponen individual yang bukan SPD, maka kesalahan InvalidArgument akan muncul.

Matriks sparse yang dikembalikan memiliki bentuk padat yang sama dengan matriks sparse masukan. Untuk setiap komponen `A` dari matriks renggang masukan, matriks renggang keluaran yang sesuai mewakili `L`, faktor Cholesky segitiga bawah yang memenuhi identitas berikut:

A = L * Lt
 
di mana Lt menunjukkan transpos L (atau transpos konjugasinya, jika `tipe` adalah `kompleks64` atau `kompleks128`).

Parameter `type` menunjukkan jenis elemen matriks. Jenis yang didukung adalah: `float32`, `float64`, `complex64` dan `complex128`.

Contoh penggunaan:

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` menyimpan faktor Cholesky yang padat:
[[  1.  0.    0.    0.]
      [  0.  1.41  0.    0.]
      [  0.  0.70  1.58  0.]
      [  0.  0.    0.    2.]]
 
masukan: `CSRSparseMatrix`. permutasi: `Tensor`. type: Jenis `input`.

Metode Publik

Keluaran <Objek>
sebagai Keluaran ()
Mengembalikan pegangan simbolik tensor.
statis <T> SparseMatrixSparseCholesky
buat ( Lingkup lingkup , masukan Operan <?>, permutasi Operan <Bilangan Bulat>, tipe Kelas<T>)
Metode pabrik untuk membuat kelas yang membungkus operasi SparseMatrixSparseCholesky baru.
Keluaran <?>
keluaran ()
Dekomposisi `input` Cholesky yang jarang.

Metode Warisan

Metode Publik

Output publik <Objek> asOutput ()

Mengembalikan pegangan simbolik tensor.

Masukan ke operasi TensorFlow adalah keluaran dari operasi TensorFlow lainnya. Metode ini digunakan untuk mendapatkan pegangan simbolis yang mewakili perhitungan input.

pembuatan SparseMatrixSparseCholesky statis publik ( Lingkup cakupan , input Operan <?>, permutasi Operan <Integer>, tipe Kelas<T>)

Metode pabrik untuk membuat kelas yang membungkus operasi SparseMatrixSparseCholesky baru.

Parameter
cakupan ruang lingkup saat ini
masukan Sebuah `CSRSparseMatrix`.
permutasi Matriks permutasi pereduksi pengisian.
Kembali
  • contoh baru dari SparseMatrixSparseCholesky

Keluaran publik <?> keluaran ()

Dekomposisi `input` Cholesky yang jarang.