MPSMatrixDecompositionCholesky(3)

NAME
MPSMatrixDecompositionCholesky

SYNOPSIS

#import <MPSMatrixDecomposition.h>

Inherits MPSMatrixUnaryKernel.

  Instance Methods
(nonnull instancetype) - initWithDevice:lower:order:
(void) - encodeToCommandBuffer:sourceMatrix:resultMatrix:status:

  Additional Inherited Members

Detailed Description

This depends on Metal.framework.

A kernel for computing the Cholesky factorization of a matrix.

A MPSMatrixDecompositionLU object computes one of the following factorizations of a matrix A:

A = L * L**T
A = U**T * U

A is a symmetric positive-definite matrix for which the factorization is to be computed. L and U are lower and upper triangular matrices respectively.

Method Documentation

  - (void) encodeToCommandBuffer: (nonnull id< MTLCommandBuffer >) commandBuffer(MPSMatrix *__nonnull) sourceMatrix(MPSMatrix *__nonnull) resultMatrix(__nullable id< MTLBuffer >) status
Encode a MPSMatrixDecompositionCholesky kernel into a command Buffer.

Parameters:
    commandBuffer A valid MTLCommandBuffer to receive the encoded filter
    sourceMatrix A valid MPSMatrix containing the source data. Must have enough space to hold a order x order matrix.
    resultMatrix A valid MPSMatrix to contain the result. Must have enough space to hold a order x order matrix.
    status A MTLBuffer which indicates the resulting MPSMatrixDecompositionStatus value.

This function encodes the MPSMatrixDecompositionCholesky object to a valid command buffer.

If during the factorization a leading minor of the matrix is found to be not positive definite, MPSMatrixDecompositionNonPositiveDefinite will be returned in the provided status buffer. Previously computed pivots and the non positive pivot are written to the result, but the factorization does not complete. The data referenced by the MTLBuffer is not valid until the command buffer has completed execution. If the matrix return status is not desired NULL may be provided.

If the return status is MPSMatrixDecompositionStatusSuccess, resultMatrix contains the resulting factors in its lower or upper triangular regions respectively.

This kernel functions either in-place, if the result matrix completely aliases the source matrix, or out-of-place. If there is any partial overlap between input and output data the results are undefined.

  - (nonnull instancetype) initWithDevice: (nonnull id< MTLDevice >) device(BOOL) lower(NSUInteger) order
Initialize an MPSMatrixDecompositionCholesky object on a device

Parameters:
    device The device on which the kernel will execute.
    lower A boolean value indicating if the lower triangular part of the source matrix is stored. If lower = YES the lower triangular part will be used and the factor will be written to the lower triangular part of the result, otherwise the upper triangular part will be used and the factor will be written to the upper triangular part.
    order The number of rows and columns in the source matrix.

Returns:
    A valid MPSMatrixDecompositionCholesky object or nil, if failure.

Author

Generated automatically by Doxygen for MetalPerformanceShaders.framework from the source code.