Structure

# simd_double4x4

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

## Topics

### Initializers

init()

Creates a new matrix.

init(Double)

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

init(diagonal: SIMD4<Double>)

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

init([SIMD4<Double>])

Creates a new matrix from an array.

init(simd_quatd)

Creates a new matrix from the specified quarternion.

init(SCNMatrix4)

Creates a new matrix from the specified SceneKit matrix.

init(SCNMatrix4)

Creates a new matrix from the specified SceneKit matrix.

init(SIMD4<Double>, SIMD4<Double>, SIMD4<Double>, SIMD4<Double>)

Creates a new matrix with the specified vectors as columns.

init(columns: (simd_double4, simd_double4, simd_double4, simd_double4))

Creates a new matrix with the specified columns.

init(rows: [SIMD4<Double>])

Creates a new matrix with the specified rows.

### Matrix Properties

var determinant: Double

The determinant of the matrix.

var inverse: simd_double4x4

The inverse of the matrix.

var transpose: double4x4

The transpose of the matrix.

var debugDescription: String

A representation of the matrix that is suitable for debugging.

### Equality Functions

func simd_equal(simd_double4x4, simd_double4x4) -> simd_bool

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

func simd_almost_equal_elements(simd_double4x4, simd_double4x4, Double) -> simd_bool

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

func simd_almost_equal_elements_relative(simd_double4x4, simd_double4x4, Double) -> simd_bool

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

### Linear Combination Function

func simd_linear_combination(Double, simd_double4x4, Double, simd_double4x4) -> simd_double4x4

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

### Element Access

subscript(Int) -> SIMD4<Double>

Accesses the column at the specified position.

subscript(Int, Int) -> Double

Accesses the element at the specified position.

## Relationships

### Matrices: Double-Precision Values

struct simd_double2x2

A matrix of two columns and two rows containing double-precision values.

struct simd_double3x2

A matrix of three columns and two rows containing double-precision values.

struct simd_double4x2

A matrix of four columns and two rows containing double-precision values.

struct simd_double2x3

A matrix of two columns and three rows containing double-precision values.

struct simd_double3x3

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

struct simd_double4x3

A matrix of four columns and three rows containing double-precision values.

struct simd_double2x4

A matrix of two columns and four rows containing double-precision values.

struct simd_double3x4

A matrix of three columns and four rows containing double-precision values.