Contents

SparseSolve(_:_:_:_:)

Solve Ax=b using the specified iterative method for complex double values.

Declaration

func SparseSolve(_ method: SparseIterativeMethod, _ ApplyOperator: @escaping (Bool, CBLAS_TRANSPOSE, DenseVector_Complex_Double, DenseVector_Complex_Double) -> Void, _ b: DenseVector_Complex_Double, _ x: DenseVector_Complex_Double) -> 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 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.

See Also

Iterative sparse solve functions for complex matrices