<!--
{
  "availability" : [

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

# simd_double4x4

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

```
struct simd_double4x4
```

## Topics

### Initializers

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

Creates a new matrix with uninitialized memory.

[`init(_:)`](/documentation/simd/simd_double4x4/init(_:)-184ad)

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

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

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

[`init(_:)`](/documentation/simd/simd_double4x4/init(_:)-ahnn)

Creates a new matrix with the specified columns.

[`init(_:)`](/documentation/simd/simd_double4x4/init(_:)-43z8y)

Creates a new matrix from the specified quaternion.

[`init(_:)`](/documentation/simd/simd_double4x4/init(_:)-45usb)

Creates a new matrix from the specified SceneKit matrix.

[`init(_:)`](/documentation/simd/simd_double4x4/init(_:)-vm0p)

Creates a new matrix from the specified SceneKit matrix.

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

Creates a new matrix with the specified vectors as columns.

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

Creates a new matrix with the specified columns.

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

Creates a new matrix with the specified rows.

### Matrix Constants

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

A 4 x 4 identity matrix.

### Matrix Properties

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

The determinant of the matrix.

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

The inverse of the matrix.

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

The transpose of the matrix.

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

The columns of the matrix.

### Matrix Creation Functions

[`simd_matrix(_:_:_:_:)`](/documentation/simd/simd_matrix(_:_:_:_:)-28at0)

Returns a new matrix with the specified columns.

[`simd_matrix_from_rows(_:_:_:_:)`](/documentation/simd/simd_matrix_from_rows(_:_:_:_:)-898tw)

Returns a new matrix with the specified rows.

[`matrix_from_rows(_:_:_:_:)`](/documentation/simd/matrix_from_rows(_:_:_:_:)-37t0w)

Returns a new matrix with the specified rows.

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

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

[`simd_matrix4x4(_:)`](/documentation/simd/simd_matrix4x4(_:)-20mdz)

Returns a new matrix with the specified quarternion.

### Math Functions

[`simd_add`](/documentation/simd/simd_add-1xlxx)

Returns the sum of two matrices.

[`simd_sub`](/documentation/simd/simd_sub-7jlkw)

Returns the difference of two matrices.

[`matrix_scale`](/documentation/simd/matrix_scale-4tq7w)

Returns the product of a scalar value and a matrix.

### Matrix-Scalar Multiplication Functions

[`simd_mul`](/documentation/simd/simd_mul-9tjap)

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

### Matrix-Vector Multiplication Functions

[`simd_mul`](/documentation/simd/simd_mul-196yv)

Returns the product of a four-element vector and a 4 x 4 matrix.

[`matrix_multiply`](/documentation/simd/matrix_multiply-4oa35)

Returns the product of a four-element vector and a 4 x 4 matrix.

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

Returns the product of a 4 x 4 matrix and a four-element vector.

[`matrix_multiply`](/documentation/simd/matrix_multiply-15q9b)

Returns the product of a 4 x 4 matrix and a four-element vector.

### Matrix-Matrix Multiplication Functions

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

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

[`matrix_multiply`](/documentation/simd/matrix_multiply-1tn9l)

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

[`simd_mul`](/documentation/simd/simd_mul-3whrl)

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

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

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

[`simd_mul`](/documentation/simd/simd_mul-2qe27)

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

[`matrix_multiply`](/documentation/simd/matrix_multiply-1f372)

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

### Equality Functions

[`simd_equal`](/documentation/simd/simd_equal-d0so)

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-322rr)

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-51nhs)

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-9g8zm)

Returns the determinant of the specified matrix.

[`simd_inverse`](/documentation/simd/simd_inverse-9nllu)

Returns the inverse of the specified matrix.

### Linear Combination Function

[`simd_linear_combination`](/documentation/simd/simd_linear_combination-9sqyx)

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

### Transpose Function

[`simd_transpose`](/documentation/simd/simd_transpose-xovu)

Returns the transpose of a matrix.

### Element Access

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

Accesses the column at the specified position.

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

Accesses the element at the specified position.

### Type Aliases

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

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

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

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

### Deprecated Symbols

[`matrix_invert(_:)`](/documentation/simd/matrix_invert(_:)-84fxh)

Returns the inverse of the specified matrix.

[`matrix_from_columns(_:_:_:_:)`](/documentation/simd/matrix_from_columns(_:_:_:_:)-61q4l)

Returns a new matrix with the specified columns.

[`matrix_from_diagonal(_:)`](/documentation/simd/matrix_from_diagonal(_:)-2r6tr)

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

[`matrix_determinant(_:)`](/documentation/simd/matrix_determinant(_:)-2n34p)

Returns the determinant of the specified matrix.

[`matrix_equal(_:_:)`](/documentation/simd/matrix_equal(_:_:)-3jmfe)

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(_:)-66ecl)

Returns the transpose of a matrix.

[`init(_:)`](/documentation/simd/simd_double4x4/init(_:)-4fie3)

Creates a new matrix with the specified matrix.

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

Creates a new matrix with the specified matrix.



---

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)