SparseSolve(_:_:_:_:_:)
Solve Ax=b using the specified iterative method for complex float values.
Declaration
func SparseSolve(_ method: SparseIterativeMethod, _ ApplyOperator: @escaping (Bool, CBLAS_TRANSPOSE, DenseVector_Complex_Float, DenseVector_Complex_Float) -> Void, _ b: DenseVector_Complex_Float, _ x: DenseVector_Complex_Float, _ Preconditioner: SparseOpaquePreconditioner_Complex_Float) -> SparseIterativeStatus_tParameters
- method:
(Input) Iterative method specification, eg return value of
SparseConjugateGradient(). - ApplyOperator:
ApplyOperator(accumulate, trans, X, Y)should perform the operationY = op(A)Xifaccumulateisfalse, orY += op(A)Xifaccumulateistrue.accumulate(input) Indicates whether to perform
Y += op(A)X(if true) orY = op(A)X(if false).trans(input) Indicates whether
op(A)is the application ofA(trans=CblasNoTrans) orA^T(trans=CblasTrans).xThe vector to multiply.
yThe vector in which to accumulate or store the result.
- b:
The right-hand side
bto solve for. Ifahas dimensionm x n, thenbmust have lengthm. - x:
On entry, initial guess for solution, on return the solution. If
Ahas dimensionm x n, thenxmust have lengthn. If no good initial estimate is available, user should set the initial guess to be the zero vector. - Preconditioner:
(Input) The preconditioner to use.