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

الثوابت

خيط OP_NAME اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي

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

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

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

الثوابت

السلسلة النهائية الثابتة العامة OP_NAME

اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي

القيمة الثابتة: "SparseMatrixSparseCholesky"

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

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

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

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

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

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

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

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

التحليل المتناثر لـ "المدخلات".