Contents

SparseSolve(_:_:_:_:_:)

Solve AX=B using the specified iterative method for complex float values.

Declaration

func SparseSolve(_ method: SparseIterativeMethod, _ ApplyOperator: @escaping (Bool, CBLAS_TRANSPOSE, DenseMatrix_Complex_Float, DenseMatrix_Complex_Float) -> Void, _ B: DenseMatrix_Complex_Float, _ X: DenseMatrix_Complex_Float, _ Preconditioner: SparseOpaquePreconditioner_Complex_Float) -> SparseIterativeStatus_t

Parameters

  • method:

    (Input) Iterative method specification, eg return value of SparseConjugateGradient().

  • ApplyOperator:

    ApplyOperator(accumulate, trans, X, Y) should perform the operation Y = op(A)X if accumulate is false, or Y += op(A)X if accumulate is true.

    accumulate

    (input) Indicates whether to perform Y += op(A)X (if true) or Y = op(A)X (if false).

    trans

    (input) Indicates whether op(A) is the application of A (trans=CblasNoTrans) or A^T (trans=CblasTrans).

    X

    The matrix to multiply.

    Y

    The matrix in which to accumulate or store the result.

  • B:

    The right-hand sides B to solve for. If A has dimension m x n, then B must have dimension m x nrhs, where nrhs is the number of right-hand sides to find solutions for.

  • X:

    On entry, initial guess for solution, on return the solution. If A has dimension m x n, and B has dimension m x nrhs, then X must have dimension n x nrhs. If no good initial estimate is available, user should set the initial guess to be the zero vector.

  • Preconditioner:

    (Input) The preconditioner to use.

See Also

Iterative sparse solve functions for complex matrices