يحسب تحليل Cholesky المتناثر لـ "المدخلات".
يحسب تحليل Cholesky المتفرق لمصفوفة متفرقة، مع تقليب تقليل الملء المحدد.
يجب أن تحتوي مصفوفة الإدخال المتفرقة وتبديل تقليل التعبئة ``التبديل`` على أشكال متوافقة. إذا كانت المصفوفة المتفرقة لها المرتبة 3؛ مع بُعد الدُفعة `B`، فيجب أن يكون `التبديل` من المرتبة 2؛ بنفس بُعد الدُفعة `B`. لا يوجد دعم للبث.
علاوة على ذلك، يجب أن يكون طول كل متجه مكون من "التبديل" `N`، ويحتوي على كل من الأعداد الصحيحة {0، 1، ...، N - 1} مرة واحدة بالضبط، حيث `N` هو عدد صفوف كل مكون من المصفوفة المتفرقة.
يجب أن يمثل كل مكون من مصفوفة الإدخال المتفرقة مصفوفة متماثلة إيجابية محددة (SPD)؛ على الرغم من قراءة الجزء المثلث السفلي فقط من المصفوفة. إذا لم يكن أي مكون فردي SPD، فسيتم ظهور خطأ InvalidArgument.
المصفوفة المتفرقة التي تم إرجاعها لها نفس الشكل الكثيف مثل مصفوفة الإدخال المتفرقة. بالنسبة لكل مكون `A` من مصفوفة الإدخال المتفرقة، تمثل مصفوفة الإخراج المتفرقة المقابلة `L`، وهو عامل Cholesky المثلث السفلي الذي يلبي الهوية التالية:
A = L * Lt
تشير المعلمة "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)
[[ 1. 0. 0. 0.]
[ 0. 1.41 0. 0.]
[ 0. 0.70 1.58 0.]
[ 0. 0. 0. 2.]]
الثوابت
خيط | OP_NAME | اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي |
الأساليب العامة
الإخراج < نوع > | كإخراج () إرجاع المقبض الرمزي للموتر. |
ثابت <T يمتد TType > SparseMatrixSparseCholesky | |
الإخراج <؟> | الإخراج () التحليل المتناثر لـ "المدخلات". |
الطرق الموروثة
الثوابت
السلسلة النهائية الثابتة العامة OP_NAME
اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي
الأساليب العامة
الإخراج العام <TType> asOutput ()
إرجاع المقبض الرمزي للموتر.
المدخلات إلى عمليات TensorFlow هي مخرجات عملية TensorFlow أخرى. يتم استخدام هذه الطريقة للحصول على مقبض رمزي يمثل حساب الإدخال.
إنشاء SparseMatrixSparseCholesky ثابت عام (نطاق النطاق ، إدخال المعامل <؟>، تبديل المعامل < TInt32 >، نوع الفئة <T>)
طريقة المصنع لإنشاء فئة تغلف عملية SparseMatrixSparseCholesky جديدة.
حدود
نِطَاق | النطاق الحالي |
---|---|
مدخل | "CSRSparseMatrix". |
التقليب | ملء في الحد من مصفوفة التقليب. |
المرتجعات
- مثيل جديد من SparseMatrixSparseCholesky