- Description: Solves a system of equations with a square upper or lower triangular invertible matrix A and multiple right-hand sides b.
- Formula:
is an upper triangular matrix (or a lower triangular matrix if upper=false) and does not have zeros on the main diagonal. can be two-dimensional matrices or batches of two-dimensional matrices. If the inputs are batches, then returns batched outputs X. If the main diagonal of contains
[object Object]or elements close to[object Object], and[object Object]is[object Object], the output result may contain .
Each operator has calls. First, [object Object] is called to obtain the workspace size required for computation and the executor that contains the operator computation process. Then, [object Object] is called to perform computation.
[object Object][object Object]
Parameters
[object Object](aclTensor*, compute input): in the formula. The data type can be FLOAT, DOUBLE, COMPLEX64, or COMPLEX128, and must be the same as that of[object Object]. The shape supports 2 to 8 dimensions. are supported. The supports ND. self[-2]=A[-2]. The dimensions (except the last two dimensions) of[object Object]and[object Object]must meet the .[object Object](aclTensor*, compute input): in the formula. The data type can be FLOAT, DOUBLE, COMPLEX64, or COMPLEX128, and must be the same as that of[object Object]. The shape supports 2 to 8 dimensions. are supported. The supports ND. The last two axes are equal. The dimensions (except the last two dimensions) of[object Object]and[object Object]must meet the .[object Object](bool, compute input): computation attribute. The default value is[object Object], indicating that[object Object]is an upper triangular matrix. When[object Object]is set to[object Object],[object Object]is a lower triangular matrix.[object Object](bool, compute input): computation attribute. The default value is[object Object]. When[object Object]is[object Object], is computed.[object Object](bool, compute input): computation attribute. The default value is[object Object]. When[object Object]is set to[object Object], the elements on the main diagonal of[object Object]are considered as 1 instead of being referenced from[object Object]. When[object Object]is set to[object Object], the data types of the inputs[object Object]and[object Object]and the outputs[object Object]and[object Object]support only FLOAT.[object Object](aclTensor *, compute output): in the formula. The data type can be FLOAT, DOUBLE, COMPLEX64, or COMPLEX128, and must be the same as that of[object Object]. are supported. The supports ND. The shapes of[object Object]and broadcasted[object Object],[object Object]must meet the constraint. The shapes of[object Object]and[object Object]meet the broadcast relationship. The last axis dim=self[-1].[object Object](aclTensor *, compute output): copy of the upper triangle (lower triangle) of[object Object]after broadcasting. The data type can be FLOAT, DOUBLE, COMPLEX64, or COMPLEX128, and must be the same as that of[object Object]. are supported. The supports ND. The shapes of[object Object]and[object Object]meet the broadcast relationship. The last axis dim=A[-1].[object Object](uint64_t*, output): size of the workspace to be allocated on the device.[object Object](aclOpExecutor **, output): operator executor, containing the operator computation process.
Returns
Parameters
[object Object](void *, input): address of the workspace to be allocated on the device.[object Object](uint64_t, input): size of the workspace to be allocated on the device, which is obtained by calling the first-phase API[object Object].[object Object](aclOpExecutor *, input): operator executor, containing the operator computation process.[object Object](aclrtStream, input): stream for executing the task.
Returns
- Deterministic computation:
[object Object]defaults to a deterministic implementation.
The following example is for reference only. For details, see .