---
title: SparseMatrixStructureComplex
framework: accelerate
role: symbol
role_heading: Structure
path: accelerate/sparsematrixstructurecomplex
---

# SparseMatrixStructureComplex

A type representing the sparsity structure of a sparse complex matrix.

## Declaration

```swift
struct SparseMatrixStructureComplex
```

## Overview

Overview The sparsity structure is represented in block compressed sparse column (block CSC) format. The matrix is divided into a regular grid of rowCount x columnCount blocks each of size blockSize x blockSize, and only blocks containing a non-zero entry are stored. CSC format is used to store the locations of these blocks. For each block column, a list of block row indices for non-zero blocks are stored, and the lists for each column are stored contiguously one after the other. Hence the row indices for column j are given by rowIndices[columnStarts[j]:columnStarts[j+1]], where columnStarts[] is storing the location of the first index in each column. If the blockSize is 1, then this format is exactly equivalent to standard CSC format. CSR format data can be simulated by using a blockSize of 1 and setting the transpose attribute (strictly this is still a transposed CSC matrix, so rowCount and columnCount will be transposed compared to true CSR).

## Topics

### Initializers

- [init(rowCount:columnCount:columnStarts:rowIndices:attributes:blockSize:)](accelerate/sparsematrixstructurecomplex/init(rowcount:columncount:columnstarts:rowindices:attributes:blocksize:).md)

### Instance Properties

- [attributes](accelerate/sparsematrixstructurecomplex/attributes.md)
- [blockSize](accelerate/sparsematrixstructurecomplex/blocksize.md)
- [columnCount](accelerate/sparsematrixstructurecomplex/columncount.md)
- [columnStarts](accelerate/sparsematrixstructurecomplex/columnstarts.md)
- [rowCount](accelerate/sparsematrixstructurecomplex/rowcount.md)
- [rowIndices](accelerate/sparsematrixstructurecomplex/rowindices.md)

## See Also

### Creating sparse complex matrices

- [SparseMatrix_Complex_Double](accelerate/sparsematrix_complex_double.md)
- [SparseMatrix_Complex_Float](accelerate/sparsematrix_complex_float.md)
- [SparseAttributesComplex_t](accelerate/sparseattributescomplex_t.md)
