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 const *__nonnull) sourceMatrix(MPSMatrix const
*__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.
Version MetalPerformanceShaders-Thu2Jul 13 2017 MPSMatrixSolveTriangular(3)
Mac OS X 10.12.6 - Generated Tue Oct 31 07:23:53 CDT 2017