SparseMatrixSparseCholesky

공개 최종 클래스 SparseMatrixSparseCholesky

'입력'의 희소 Cholesky 분해를 계산합니다.

지정된 채우기 감소 순열을 사용하여 희소 행렬의 희소 촐레스키 분해를 계산합니다.

입력 희소 행렬과 필인 감소 순열 '순열'은 호환되는 모양을 가져야 합니다. 희소 행렬의 순위가 3인 경우; 배치 차원 'B'를 사용하는 경우 '순열'은 순위 2여야 합니다. 동일한 배치 차원 'B'를 사용합니다. 방송은 지원되지 않습니다.

또한 '순열'의 각 구성 요소 벡터는 길이가 'N'이어야 하며 각 정수 {0, 1, ..., N - 1}을 정확히 한 번 포함해야 합니다. 여기서 'N'은 각 구성 요소의 행 수입니다. 희소 행렬의

입력 희소 행렬의 각 구성요소는 SPD(양의 정부호 대칭) 행렬을 나타내야 합니다. 하지만 행렬의 하부 삼각형 부분만 읽혀집니다. 개별 구성 요소가 SPD가 아닌 경우 InvalidArgument 오류가 발생합니다.

반환된 희소 행렬은 입력 희소 행렬과 동일한 조밀한 모양을 갖습니다. 입력 희소 행렬의 각 구성요소 'A'에 대해 해당 출력 희소 행렬은 다음 항등식을 충족하는 하부 삼각 촐레스키 인수인 'L'을 나타냅니다.

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.]]
 
입력: 'CSRSparseMatrix'. 순열: 'Tensor'. 유형: `입력` 유형입니다.

상수

OP_NAME TensorFlow 핵심 엔진에서 알려진 이 작업의 이름

공개 방법

출력 < T유형 >
출력 ()
텐서의 기호 핸들을 반환합니다.
static <T는 TType을 확장합니다. > SparseMatrixSparseCholesky
생성 ( 범위 범위, 피연산자 <?> 입력, 피연산자 < TInt32 > 순열, Class<T> 유형)
새로운 SparseMatrixSparseCholesky 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.
출력 <?>
출력 ()
'입력'의 희소 Cholesky 분해.

상속된 메서드

상수

공개 정적 최종 문자열 OP_NAME

TensorFlow 핵심 엔진에서 알려진 이 작업의 이름

상수 값: "SparseMatrixSparseCholesky"

공개 방법

공개 출력 < TType > asOutput ()

텐서의 기호 핸들을 반환합니다.

TensorFlow 작업에 대한 입력은 다른 TensorFlow 작업의 출력입니다. 이 메서드는 입력 계산을 나타내는 기호 핸들을 얻는 데 사용됩니다.

public static SparseMatrixSparseCholesky create ( 범위 범위, 피연산자 <?> 입력, 피연산자 < TInt32 > 순열, Class<T> 유형)

새로운 SparseMatrixSparseCholesky 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.

매개변수
범위 현재 범위
입력 'CSRSparseMatrix'.
순열 채우기 감소 순열 행렬.
보고
  • SparseMatrixSparseCholesky의 새로운 인스턴스

공개 출력 <?> 출력 ()

'입력'의 희소 Cholesky 분해.