<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "Accelerate",
  "identifier" : "/documentation/simd/simd_double3x3",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "simd"
    ],
    "preciseIdentifier" : "c:@SA@simd_double3x3"
  },
  "title" : "simd_double3x3"
}
-->

# simd_double3x3

A matrix of three columns and three rows that contains double-precision values.

```
struct simd_double3x3
```

## Topics

### Initializers

[`init()`](/documentation/simd/simd_double3x3/init())

Creates a new matrix with uninitialized memory.

[`init(_:)`](/documentation/simd/simd_double3x3/init(_:)-6qq5k)

Creates a new matrix with the specified scalar value on the main diagonal.

[`init(diagonal:)`](/documentation/simd/simd_double3x3/init(diagonal:))

Creates a new matrix with the specified vector on the main diagonal.

[`init(_:)`](/documentation/simd/simd_double3x3/init(_:)-6kw2p)

Creates a new matrix with the specified columns.

[`init(_:)`](/documentation/simd/simd_double3x3/init(_:)-9wyb6)

Creates a new matrix from the specified quarternion.

[`init(_:_:_:)`](/documentation/simd/simd_double3x3/init(_:_:_:))

Creates a new matrix with the specified vectors as columns.

[`init(columns:)`](/documentation/simd/simd_double3x3/init(columns:))

Creates a new matrix with the specified columns.

[`init(rows:)`](/documentation/simd/simd_double3x3/init(rows:))

Creates a new matrix with the specified rows.

### Matrix Constants

[`matrix_identity_double3x3`](/documentation/simd/matrix_identity_double3x3)

A 3 x 3 identity matrix.

### Matrix Properties

[`determinant`](/documentation/simd/simd_double3x3/determinant)

The determinant of the matrix.

[`inverse`](/documentation/simd/simd_double3x3/inverse)

The inverse of the matrix.

[`transpose`](/documentation/simd/simd_double3x3/transpose)

The transpose of the matrix.

[`columns`](/documentation/simd/simd_double3x3/columns)

The columns of the matrix.

### Matrix Creation Functions

[`simd_matrix(_:_:_:)`](/documentation/simd/simd_matrix(_:_:_:)-5h0nl)

Returns a new matrix with the specified columns.

[`simd_matrix_from_rows(_:_:_:)`](/documentation/simd/simd_matrix_from_rows(_:_:_:)-48v9h)

Returns a new matrix with the specified rows.

[`matrix_from_rows(_:_:_:)`](/documentation/simd/matrix_from_rows(_:_:_:)-7a60t)

Returns a new matrix with the specified rows.

[`simd_diagonal_matrix`](/documentation/simd/simd_diagonal_matrix-2nuo5)

Returns a new matrix with the specified vector on the main diagonal.

[`simd_matrix3x3(_:)`](/documentation/simd/simd_matrix3x3(_:)-60dhx)

Returns a new matrix with the specified quarternion.

### Math Functions

[`simd_add`](/documentation/simd/simd_add-3e048)

Returns the sum of two matrices.

[`simd_sub`](/documentation/simd/simd_sub-1bye8)

Returns the difference of two matrices.

[`matrix_scale`](/documentation/simd/matrix_scale-5igd0)

Returns the product of a scalar value and a matrix.

### Matrix-Scalar Multiplication Functions

[`simd_mul`](/documentation/simd/simd_mul-6r1mg)

Returns the product of a scalar value and a 3 x 3 matrix.

### Matrix-Vector Multiplication Functions

[`simd_mul`](/documentation/simd/simd_mul-8vafd)

Returns the product of a three-element vector and a 3 x 3 matrix.

[`matrix_multiply`](/documentation/simd/matrix_multiply-rhpr)

Returns the product of a three-element vector and a 3 x 3 matrix.

[`simd_mul`](/documentation/simd/simd_mul-ulvl)

Returns the product of a 3 x 2 matrix and a three-element vector.

[`matrix_multiply`](/documentation/simd/matrix_multiply-5o7k9)

Returns the product of a 3 x 3 matrix and a three-element vector.

### Matrix-Matrix Multiplication Functions

[`simd_mul`](/documentation/simd/simd_mul-6war0)

Returns the product of a 2 x 3 matrix and a 3 x 2 matrix.

[`matrix_multiply`](/documentation/simd/matrix_multiply-9q6cz)

Returns the product of a 2 x 3 matrix and a 3 x 2 matrix.

[`simd_mul`](/documentation/simd/simd_mul-4t2wx)

Returns the product of a 3 x 3 matrix and a 3 x 3 matrix.

[`matrix_multiply`](/documentation/simd/matrix_multiply-7h3v)

Returns the product of a 3 x 3 matrix and a 3 x 3 matrix.

[`simd_mul`](/documentation/simd/simd_mul-7a0d0)

Returns the product of a 4 x 3 matrix and a 3 x 4 matrix.

[`matrix_multiply`](/documentation/simd/matrix_multiply-8gt1r)

Returns the product of a 4 x 3 matrix and a 3 x 4 matrix.

### Equality Functions

[`simd_equal`](/documentation/simd/simd_equal-77o8z)

Returns true if every element in a matrix is exactly equal to the corresponding element in a second matrix.

[`simd_almost_equal_elements`](/documentation/simd/simd_almost_equal_elements-590ch)

Returns true if every element in a matrix is within a specified tolerance to the corresponding element in a second matrix.

[`simd_almost_equal_elements_relative`](/documentation/simd/simd_almost_equal_elements_relative-1gaj5)

Returns true if every element in a matrix is within a specified double-precision relative tolerance to the corresponding element in a second matrix.

### Determinant and Inverse Functions

[`simd_determinant`](/documentation/simd/simd_determinant-3a4ma)

Returns the determinant of the specified matrix.

[`simd_inverse`](/documentation/simd/simd_inverse-3q4en)

Returns the inverse of the specified matrix.

### Linear Combination Function

[`simd_linear_combination`](/documentation/simd/simd_linear_combination-4hhnj)

Returns the linear combination of two scalar values and two matrices.

### Transpose Function

[`simd_transpose`](/documentation/simd/simd_transpose-26qy0)

Returns the transpose of a matrix.

### Element Access

[`subscript(_:)`](/documentation/simd/simd_double3x3/subscript(_:))

Accesses the column at the specified position.

[`subscript(_:_:)`](/documentation/simd/simd_double3x3/subscript(_:_:))

Accesses the element at the specified position.

### Type Aliases

[`double3x3`](/documentation/simd/double3x3)

A type alias for a double-precision 3 x 3 matrix.

[`matrix_double3x3`](/documentation/simd/matrix_double3x3)

A type alias for a double-precision 3 x 3 matrix.

### Deprecated Symbols

[`matrix_invert(_:)`](/documentation/simd/matrix_invert(_:)-2lv98)

Returns the inverse of the specified matrix.

[`matrix_from_columns(_:_:_:)`](/documentation/simd/matrix_from_columns(_:_:_:)-4bc62)

Returns a new matrix with the specified columns.

[`matrix_from_diagonal(_:)`](/documentation/simd/matrix_from_diagonal(_:)-3jtgg)

Returns a new matrix with the specified vector on the main diagonal.

[`matrix_determinant(_:)`](/documentation/simd/matrix_determinant(_:)-4bxkm)

Returns the determinant of the specified matrix.

[`matrix_equal(_:_:)`](/documentation/simd/matrix_equal(_:_:)-9tdua)

Returns true if every element in a matrix is exactly equal to the corresponding element in a second matrix, and otherwise returns false.

[`matrix_transpose(_:)`](/documentation/simd/matrix_transpose(_:)-3ectl)

Returns the transpose of a matrix.

[`init(_:)`](/documentation/simd/simd_double3x3/init(_:)-2o4jh)

Creates a new matrix with the specified matrix.

[`cmatrix`](/documentation/simd/simd_double3x3/cmatrix)

Returns the matrix as the corresponding C matrix type.



---

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)