Contents

SparseMultiply(_:_:_:)

Perform the multiply operation Y = Subfactor * X for complex double values, in place.

Declaration

func SparseMultiply(_ Subfactor: SparseOpaqueSubfactor_Complex_Double, _ XY: DenseMatrix_Complex_Double, _ workspace: UnsafeMutableRawPointer)

Parameters

  • Subfactor:

    (Input) The subfactor to multiply by, as returned by SparseCreateSubfactor().

  • XY:

    (Input/Output) On input, the matrix X. On return it is overwritten with the matrix Y. If Subfactor is m x n, then XB must have dimension k x nrhs, where k = max(m, n) and nrhs is the number of right-hand side vectors. If m != n, then only the first min(m,n) entries are used for input or output as approriate.

  • workspace:

    (Scratch) A workspace of size Subfactor.workspaceRequiredStatic + nrhs * Subfactor.workspaceRequiredPerRHS * 2. This memory must be 16-byte aligned (any allocation returned by malloc() has this property).

See Also

Subfactor and dense matrix multiplication with user-defined workspace