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