---
title: "SparseConvertFromOpaque(_:)"
framework: accelerate
role: symbol
role_heading: Function
path: "accelerate/sparseconvertfromopaque(_:)-4u519"
---

# SparseConvertFromOpaque(_:)

Returns a sparse matrix of single-precision, floating-point values from a BLAS opaque matrix.

## Declaration

```swift
func SparseConvertFromOpaque(_ matrix: sparse_matrix_float) -> SparseMatrix_Float
```

## Parameters

- `matrix`: The opaque matrix to convert.

## Return Value

Return Value A new SparseMatrix_Float.

## Discussion

Discussion The following code shows an example of creating a SparseMatrix_Double structure from a BLAS opaque matrix and multiplying it by a vector: guard let blasMatrix = sparse_matrix_create_float(4, 4) else {     return }

sparse_insert_entry_float(blasMatrix, 1.0, 0, 0) sparse_insert_entry_float(blasMatrix, 4.0, 3, 0) sparse_insert_entry_float(blasMatrix, 13.0, 0, 3) sparse_insert_entry_float(blasMatrix, 16.0, 3, 3)

let A: SparseMatrix_Float = SparseConvertFromOpaque(blasMatrix)

defer {     SparseCleanup(A) }

/// The values for _x_ in _y=Ax_. var xValues: [Float] = [10.0, -1.0, -1.0, 10.0]

/// The values for _y_ in _y=Ax_. let yValues = [Float](unsafeUninitializedCapacity: xValues.count) {     resultBuffer, count in          xValues.withUnsafeMutableBufferPointer { xValuesPtr in         /// The _x_ in _y=Ax_.         let x = DenseVector_Float(count: 4,                                   data: xValuesPtr.baseAddress!)                  /// The _y_ in _y=Ax_.         let y = DenseVector_Float(count: 4,                                   data: resultBuffer.baseAddress!)                  SparseMultiply(A, x, y)     }          count = xValues.count } On return, yValues contains the values [140.0, 0.0, 0.0, 200.0].

## See Also

### BLAS support

- [SparseConvertFromOpaque(_:)](accelerate/sparseconvertfromopaque(_:)-6n7rw.md)
- [SparseConvertFromOpaque(_:)](accelerate/sparseconvertfromopaque(_:)-9ll2d.md)
- [SparseConvertFromOpaque(_:)](accelerate/sparseconvertfromopaque(_:)-9xju4.md)
