<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "macOS: -",
    "tvOS: -",
    "visionOS: -",
    "watchOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/SparseSymbolicFactorOptions",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Accelerate"
    ],
    "preciseIdentifier" : "c:@SA@SparseSymbolicFactorOptions"
  },
  "title" : "SparseSymbolicFactorOptions"
}
-->

# SparseSymbolicFactorOptions

A structure that contains options that affect the symbolic stage of a sparse factorization.

```
struct SparseSymbolicFactorOptions
```

## Overview

[`SparseSymbolicFactorOptions`](/documentation/Accelerate/SparseSymbolicFactorOptions) supports the following ordering algorithms:

|``doc://com.apple.accelerate/documentation/Accelerate/SparseOrderDefault``|The default ordering (``doc://com.apple.accelerate/documentation/Accelerate/SparseOrderAMD`` for symmetric and ``doc://com.apple.accelerate/documentation/Accelerate/SparseOrderCOLAMD`` for unsymmetric factorizations).|
|--------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|``doc://com.apple.accelerate/documentation/Accelerate/SparseOrderUser``   |The user-supplied ordering, or identity if ``doc://com.apple.accelerate/documentation/Accelerate/SparseSymbolicFactorOptions/order`` is `null`.                                                                          |
|``doc://com.apple.accelerate/documentation/Accelerate/SparseOrderAMD``    |Approximate minimum degree (AMD) ordering. There’s a large overhead cost if you use it for QR-based factorization due to explicit formation of *AᵀA*.                                                                    |
|``doc://com.apple.accelerate/documentation/Accelerate/SparseOrderMetis``  |METIS nested dissection ordering. There’s a large overhead cost if you use it for QR-based factorization due to explicit formation of *AᵀA*.                                                                             |
|``doc://com.apple.accelerate/documentation/Accelerate/SparseOrderCOLAMD`` |The column AMD ordering for *AᵀA*. This isn’t valid for symmetric factorizations (use ``doc://com.apple.accelerate/documentation/Accelerate/SparseOrderAMD`` instead).                                                   |

## Topics

### Creating a Symbolic Factor Options Structure

[`init(control:orderMethod:order:ignoreRowsAndColumns:malloc:free:reportError:)`](/documentation/Accelerate/SparseSymbolicFactorOptions/init(control:orderMethod:order:ignoreRowsAndColumns:malloc:free:reportError:))

Creates a new structure that contains options that affect the symbolic stage of a sparse factorization.

### Inspecting Symbolic Factor Options

[`control`](/documentation/Accelerate/SparseSymbolicFactorOptions/control)

The flags that control the computation.

[`SparseControl_t`](/documentation/Accelerate/SparseControl_t)

Options that control the computation.

[`orderMethod`](/documentation/Accelerate/SparseSymbolicFactorOptions/orderMethod)

The ordering algorithm.

[`order`](/documentation/Accelerate/SparseSymbolicFactorOptions/order)

The user-supplied array for ordering.

[`SparseOrder_t`](/documentation/Accelerate/SparseOrder_t)

Options that define which ordering algorithm to use.

[`ignoreRowsAndColumns`](/documentation/Accelerate/SparseSymbolicFactorOptions/ignoreRowsAndColumns)

An array that contains row and column indices to ignore.

[`malloc`](/documentation/Accelerate/SparseSymbolicFactorOptions/malloc)

The function for allocating any necessary storage.

[`free`](/documentation/Accelerate/SparseSymbolicFactorOptions/free)

The function for freeing allocated storage.

[`reportError`](/documentation/Accelerate/SparseSymbolicFactorOptions/reportError)

The function for reporting parameter errors.

## See Also

[`SparseOrder_t`](/documentation/Accelerate/SparseOrder_t)

Options that define which ordering algorithm to use.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)