Contents

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_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 vector to multiply.

    y

    The vector in which to accumulate or store the result.

  • b:

    The right-hand side b to solve for. If a has dimension m x n, then b must have length m.

  • x:

    On entry, initial guess for solution, on return the solution. If A has dimension m x n, then x must have length n. 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