---
title: "SparseMultiply(_:_:_:_:)"
framework: accelerate
role: symbol
role_heading: Function
path: "accelerate/sparsemultiply(_:_:_:_:)-9v0nu"
---

# SparseMultiply(_:_:_:_:)

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

## Declaration

```swift
func SparseMultiply(_ Subfactor: SparseOpaqueSubfactor_Complex_Double, _ X: DenseMatrix_Complex_Double, _ Y: DenseMatrix_Complex_Double, _ workspace: UnsafeMutableRawPointer)
```

## Parameters

- `Subfactor`: (Input) The subfactor to multiply by, as returned by SparseCreateSubfactor().
- `X`: (Input) The right-hand side vectors X. If Subfactor is m x n, then X must have dimension n x nrhs, where nrhs is the number of right-hand side vectors.
- `Y`: (Output) The result vectors Y. If Subfactor is m x n, and X is m x nrhs, then Y must have dimension m x nrhs.
- `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 vector multiplication with user-defined workspace

- [SparseMultiply(_:_:_:)](accelerate/sparsemultiply(_:_:_:)-9tahm.md)
- [SparseMultiply(_:_:_:)](accelerate/sparsemultiply(_:_:_:)-4u1y3.md)
- [SparseMultiply(_:_:_:_:)](accelerate/sparsemultiply(_:_:_:_:)-1ooyi.md)
- [SparseMultiply(_:_:_:_:)](accelerate/sparsemultiply(_:_:_:_:)-3l60d.md)
- [SparseMultiply(_:_:_:)](accelerate/sparsemultiply(_:_:_:)-5etjg.md)
- [SparseMultiply(_:_:_:)](accelerate/sparsemultiply(_:_:_:)-5kh07.md)
- [SparseMultiply(_:_:_:_:)](accelerate/sparsemultiply(_:_:_:_:)-4xr8.md)
- [SparseMultiply(_:_:_:_:)](accelerate/sparsemultiply(_:_:_:_:)-7xipz.md)
