'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 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
'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)
[[ 1. 0. 0. 0.]
[ 0. 1.41 0. 0.]
[ 0. 0.70 1.58 0.]
[ 0. 0. 0. 2.]]
Sabitler
Sicim | OP_NAME | Bu operasyonun TensorFlow çekirdek motoru tarafından bilinen adı |
Genel Yöntemler
Çıkış < TType > | Çıkış olarak () Tensörün sembolik tutamacını döndürür. |
static <T, TType'ı genişletir > SparseMatrixSparseCholesky | |
Çıkış <?> | çıktı () 'Girdi'nin seyrek Cholesky ayrıştırması. |
Kalıtsal Yöntemler
Sabitler
genel statik son Dize OP_NAME
Bu operasyonun TensorFlow çekirdek motoru tarafından bilinen adı
Genel Yöntemler
genel Çıkış < TType > asOutput ()
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 < TInt32 > permütasyon, Class<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. |
İade
- SparseMatrixSparseCholesky'nin yeni bir örneği