SparseMatrixSparseCholesky

halka açık final dersi SparseMatrixSparseCholesky

'Girdi'nin seyrek Cholesky ayrıştırmasını hesaplar.

Verilen doldurma azaltıcı permütasyonla bir seyrek matrisin Seyrek Cholesky ayrışmasını hesaplar.

Girdi seyrek matrisi ve doldurmayı azaltan permütasyon 'permütasyonu' uyumlu şekillere sahip olmalıdır. Seyrek matrisin derecesi 3 ise; parti boyutu 'B' ise, bu durumda 'permütasyon'un sıralaması 2 olmalıdır; aynı parti boyutu "B" ile. Yayın desteği yoktur.

Ayrıca, "permütasyon"un her bileşen vektörü "N" uzunluğunda olmalı ve {0, 1, ..., N - 1} tamsayılarının her birini tam olarak bir kez içermelidir; burada "N", her bileşenin satır sayısıdır. seyrek matrisin.

Giriş seyrek matrisinin her bileşeni, simetrik pozitif tanımlı (SPD) bir matrisi temsil etmelidir; matrisin yalnızca alt üçgen kısmı okunmasına rağmen. Herhangi bir bileşen SPD değilse InvalidArgument hatası oluşturulur.

Döndürülen seyrek matris, giriş seyrek matrisiyle aynı yoğun şekle sahiptir. Giriş seyrek matrisinin her bir bileşeni 'A' için, karşılık gelen çıktı seyrek matrisi, aşağıdaki özdeşliği karşılayan alt üçgensel Cholesky faktörü olan 'L'yi temsil eder:

A = L * Lt
 
burada Lt, L'nin devriğini belirtir (veya eğer '' ise eşlenik devriğini belirtir). tür', 'karmaşık64' veya 'karmaşık128'dir).

'type' parametresi matris elemanlarının tipini belirtir. Desteklenen türler şunlardır: 'float32', 'float64', 'complex64' ve 'complex128'.

Kullanım örneğ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 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` yoğun Cholesky faktörünü saklar:
[[  1.  0.    0.    0.]
      [  0.  1.41  0.    0.]
      [  0.  0.70  1.58  0.]
      [  0.  0.    0.    2.]]
 
girişi: Bir `CSRSparseMatrix`. permütasyon: Bir 'Tensör'. type: 'Giriş'in türü.

Genel Yöntemler

Çıkış <Nesne>
Çıkış olarak ()
Bir tensörün sembolik tutamacını döndürür.
statik <T> SparseMatrixSparseCholesky
create ( Kapsam kapsamı, İşlenen <?> girişi, İşlenen <Tamsayı> permütasyonu, Sınıf<T> türü)
Yeni bir SparseMatrixSparseCholesky işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.
Çıkış <?>
çıktı ()
'Girdi'nin seyrek Cholesky ayrıştırması.

Kalıtsal Yöntemler

Genel Yöntemler

public Output <Object> asOutput ()

Bir tensörün sembolik tutamacını döndürür.

TensorFlow işlemlerinin girdileri, başka bir TensorFlow işleminin çıktılarıdır. Bu yöntem, girişin hesaplanmasını temsil eden sembolik bir tanıtıcı elde etmek için kullanılır.

public static SparseMatrixSparseCholesky create ( Kapsam kapsamı , İşlenen <?> girişi, İşlenen <Tamsayı> permütasyonu, Sınıf<T> türü)

Yeni bir SparseMatrixSparseCholesky işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.

Parametreler
kapsam mevcut kapsam
giriş Bir 'CSRS Ayrıştırma Matrisi'.
permütasyon Doldurma azaltıcı permütasyon matrisi.
İadeler
  • SparseMatrixSparseCholesky'nin yeni bir örneği

genel Çıkış <?> çıkış ()

'Girdi'nin seyrek Cholesky ayrıştırması.