SparseMatrixSparseCholesky

الطبقة النهائية العامة SparseMatrixSparseCholesky

يحسب تحليل 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.]]
 
: A `CSRSparseMatrix`. التقليب: "الموتر". النوع: نوع "الإدخال".

الأساليب العامة

الإخراج <كائن>
كإخراج ()
إرجاع المقبض الرمزي للموتر.
ثابت <T> SparseMatrixSparseCholesky
إنشاء (نطاق النطاق ، إدخال المعامل <؟>، تبديل المعامل <عدد صحيح>، نوع الفئة <T>)
طريقة المصنع لإنشاء فئة تغلف عملية SparseMatrixSparseCholesky جديدة.
الإخراج <؟>
انتاج ()
تحليل تشوليسكي المتناثر لـ "المدخلات".

الطرق الموروثة

الأساليب العامة

الإخراج العام <Object> asOutput ()

إرجاع المقبض الرمزي للموتر.

المدخلات إلى عمليات TensorFlow هي مخرجات عملية TensorFlow أخرى. يتم استخدام هذه الطريقة للحصول على مقبض رمزي يمثل حساب الإدخال.

إنشاء SparseMatrixSparseCholesky ثابت عام ( نطاق النطاق ، إدخال المعامل <؟>، تبديل المعامل <Integer>، نوع الفئة <T>)

طريقة المصنع لإنشاء فئة تغلف عملية SparseMatrixSparseCholesky جديدة.

حدود
نِطَاق النطاق الحالي
مدخل "CSRSparseMatrix".
التقليب ملء في الحد من مصفوفة التقليب.
عائدات
  • مثيل جديد من SparseMatrixSparseCholesky

الإخراج العام <؟> الإخراج ()

تحليل تشوليسكي المتناثر لـ "المدخلات".