MPSMatrixSolveTriangular(3)

NAME
MPSMatrixSolveTriangular

SYNOPSIS

#import <MPSMatrixSolve.h>

Inherits MPSMatrixBinaryKernel.

  Instance Methods
(nonnull instancetype) - initWithDevice:right:upper:transpose:unit:order:numberOfRightHandSides:alpha:
(void) - encodeToCommandBuffer:sourceMatrix:rightHandSideMatrix:solutionMatrix:

  Additional Inherited Members

Detailed Description

MPSMatrixSolve.h MetalPerformanceShaders.framework

Copyright:
    Copyright (c) 2016 Apple Inc. All rights reserved. MetalPerformanceShaders filter base classes

This depends on Metal.framework.

A kernel for computing the solution of a linear system of equations using a triangular coefficient matrix.

A MPSMatrixSolveTriangular finds the solution matrix to the triangular system:

op(A) * X = alpha * B    or    X * op(A) = alpha * B

Where A is either upper or lower triangular and op(A) is A**T or A. B is the array of right hand sides for which the equations are to be solved. X is the resulting matrix of solutions.

Method Documentation

  - (void) encodeToCommandBuffer: (nonnull id< MTLCommandBuffer >) commandBuffer(MPSMatrix *__nonnull) sourceMatrix(MPSMatrix *__nonnull) rightHandSideMatrix(MPSMatrix *__nonnull) solutionMatrix
Encode a MPSMatrixSolveTriangular kernel into a command Buffer.

Parameters:
    commandBuffer A valid MTLCommandBuffer to receive the encoded filter
    sourceMatrix A valid MPSMatrix containing the source matrix.
    rightHandSideMatrix A valid MPSMatrix containing the right hand side values.
    solutionMatrix A valid MPSMatrix to contain the result.

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

rightHandSideMatrix and solutionMatrix must be large enough to hold at least order * numberOfRightHandSides values starting at secondarySourceMatrixOrigin and resultMatrixOrigin respectively.

sourceMatrix must be at least size order x order starting at primarySourceMatrixOrigin.

  - (nonnull instancetype) initWithDevice: (nonnull id< MTLDevice >) device(BOOL) right(BOOL) upper(BOOL) transpose(BOOL) unit(NSUInteger) order(NSUInteger) numberOfRightHandSides(double) alpha
Initialize an MPSMatrixSolveTriangular object on a device

Parameters:
    device The device on which the kernel will execute.
    right A boolean value which indicates if the coefficient matrix is multiplied on the left or right side of the solution. NO indicates the multiplication is on the left.
    upper A boolean value which indicates if the source is lower or upper triangular. NO indicates that the coefficient matrix is lower triangular.
    transpose A boolean value which indicates if the source matrix should be used in transposed form. NO indicates that the coefficient matrix is to be used normally.
    unit A boolean value which indicates if the source matrix is unit triangular.
    order The order of the source matrix and, if right == NO, the number of rows in the solution and right hand side matrices. If right == YES the number of columns in the solution and right hand side matrices.
    numberOfRightHandSides If right == NO, the number of columns in the solution and right hand side matrices. The number of rows otherwise.
    alpha A double precision value used to scale the right hand sides.

This function initializes a MPSMatrixSolveTriangular object. It may allocate device side memory.

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

Author

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