function det
det(x: matrix): number

Matrix determinant.

Computes the determinant of a square matrix using LU decomposition.

Examples

Determinant of a 2x2 matrix

import { assertEquals } from "jsr:@std/assert";

assertEquals(det([[1, 5], [6, 2]]), -28);

Determinant of another 2x2 matrix

import { assertEquals } from "jsr:@std/assert";

assertEquals(det([[2, 2], [2, 3]]), 2);

Determinant of a 3x3 matrix

import { assertEquals } from "jsr:@std/assert";

assertEquals(det([[1, 2, 3], [0, 4, 5], [1, 0, 6]]), 22);

Determinant of a 3x3 matrix with zeros

import { assertEquals } from "jsr:@std/assert";

assertEquals(det([[0, 2, 3], [0, 4, 5], [1, 0, 6]]), -2);

Determinant of an identity matrix

import { assertEquals } from "jsr:@std/assert";

assertEquals(det([[1, 0], [0, 1]]), 1);

Determinant of a 4x4 matrix (should be 0 due to linear dependence)

import { assertEquals } from "jsr:@std/assert";

assertEquals(det([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]), 0);

Determinant of a larger matrix

import { assertEquals } from "jsr:@std/assert";

assertEquals(det([[4, 8, 2], [4, 6, 8], [4, 2, 8]]), 96);

Determinant of a matrix with fractional values

import { assertEquals } from "jsr:@std/assert";

assertEquals(det([[-40.54, 34.02], [91.81, 57.47]]), -5453.21);

Parameters

A square matrix.

Return Type

number

The determinant of the matrix.

Throws

If no input is provided, or if the input is not a square matrix.