SparseMatrixSparseCholesky

สาธารณะคลาสสุดท้าย SparseMatrixSparseCholesky

คำนวณการสลายตัวของ Cholesky แบบกระจัดกระจายของ `อินพุต`

คำนวณการสลายตัวของ Sparse Cholesky ของเมทริกซ์แบบกระจัดกระจาย พร้อมการเรียงสับเปลี่ยนที่ลดการเติมที่กำหนด

เมทริกซ์กระจัดกระจายอินพุตและการเรียงลำดับการลดการเติม `การเรียงสับเปลี่ยน` จะต้องมีรูปร่างที่เข้ากันได้ หากเมทริกซ์กระจัดกระจายมีอันดับ 3; ด้วยมิติแบทช์ `B` ดังนั้น `การเรียงสับเปลี่ยน` จะต้องอยู่ในอันดับ 2 ด้วยมิติแบทช์เดียวกัน `B` ไม่มีการสนับสนุนการออกอากาศ

นอกจากนี้ เวกเตอร์ส่วนประกอบแต่ละส่วนของ "การเรียงสับเปลี่ยน" จะต้องมีความยาว "N" โดยมีจำนวนเต็มแต่ละตัว {0, 1, ..., N - 1} หนึ่งครั้ง โดยที่ "N" คือจำนวนแถวของแต่ละองค์ประกอบ ของเมทริกซ์กระจัดกระจาย

แต่ละองค์ประกอบของเมทริกซ์กระจัดกระจายอินพุตจะต้องแสดงถึงเมทริกซ์บวกแน่นอนแบบสมมาตร (SPD) แม้ว่าอ่านได้เฉพาะส่วนสามเหลี่ยมด้านล่างของเมทริกซ์ก็ตาม หากแต่ละองค์ประกอบไม่ใช่ SPD ข้อผิดพลาด InvalidArgument จะเกิดขึ้น

เมทริกซ์กระจัดกระจายที่ส่งคืนมีรูปร่างหนาแน่นเหมือนกับเมทริกซ์กระจัดกระจายอินพุต สำหรับแต่ละองค์ประกอบ `A` ของเมทริกซ์กระจัดกระจายอินพุต เมทริกซ์กระจัดกระจายเอาต์พุตที่สอดคล้องกันแสดงถึง `L` ซึ่งเป็นปัจจัย Cholesky สามเหลี่ยมล่างที่เป็นไปตามเอกลักษณ์ต่อไปนี้:

A = L * Lt
 
โดยที่ Lt แสดงถึงทรานสโพสของ L (หรือคอนจูเกตทรานสโพส ถ้า ` type` คือ `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` การเรียงสับเปลี่ยน: `เทนเซอร์` type: ประเภทของ `อินพุต`

วิธีการสาธารณะ

เอาต์พุต <วัตถุ>
เป็นเอาท์พุต ()
ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์
คงที่ <T> SparseMatrixSparseCholesky
สร้าง (ขอบเขต ขอบเขต , อินพุต Operand <?>, การเปลี่ยนลำดับ <Integer> , ประเภท Class<T>)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ SparseMatrixSparseCholesky ใหม่
เอาท์พุต <?>
เอาท์พุท ()
การสลายตัวของ Cholesky แบบกระจัดกระจายของ `อินพุต`

วิธีการสืบทอด

วิธีการสาธารณะ

เอาท์ พุท สาธารณะ <Object> asOutput ()

ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์

อินพุตสำหรับการดำเนินการ TensorFlow คือเอาต์พุตของการดำเนินการ TensorFlow อื่น วิธีการนี้ใช้เพื่อรับหมายเลขอ้างอิงสัญลักษณ์ที่แสดงถึงการคำนวณอินพุต

สร้าง SparseMatrixSparseCholesky สาธารณะแบบคงที่ (ขอบเขต ขอบเขต , อินพุต Operand <?>, การเปลี่ยนลำดับ <Integer> , ประเภท Class <T>)

วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ SparseMatrixSparseCholesky ใหม่

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
ป้อนข้อมูล `CSRSparseMatrix`
การเรียงสับเปลี่ยน เมทริกซ์การเรียงสับเปลี่ยนแบบเติมแบบเติม
การส่งคืน
  • อินสแตนซ์ใหม่ของ SparseMatrixSparseCholesky

เอาท์พุท สาธารณะ <?> เอาท์พุท ()

การสลายตัวของ Cholesky แบบกระจัดกระจายของ `อินพุต`