MPSMatrixSolveTriangular(3) MetalPerformanceShaders.framework MPSMatrixSolveTriangular(3)

MPSMatrixSolveTriangular

#import <MPSMatrixSolve.h>

Inherits MPSMatrixBinaryKernel.


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

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.

- (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.

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

Mon Jul 9 2018 Version MetalPerformanceShaders-119.3