function issingular
issingular(x: unknown): boolean

Checks if a matrix is singular (non-invertible).

Returns true if the input is a singular matrix. A matrix is singular if it is square and its determinant is zero, which occurs when any of the diagonal elements is zero.

Examples

Non-singular square matrix

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

assertEquals(issingular([[2, 6], [1, 3]]), false);

Singular square matrix (diagonal element is zero)

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

assertEquals(issingular([[0, 6], [1, 3]]), true);

Not a matrix (single number input)

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

assertThrows(() => { issingular(5) }, Error, 'input must be a matrix');

Non-square matrix

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

assertThrows(() => { issingular([[1, 2, 3], [4, 5, 6]]) }, Error, 'input must be a square matrix');

Parameters

x: unknown

The matrix to check.

Return Type

boolean

Returns true if the matrix is singular, otherwise false.

Throws

Throws an error if the input is not a matrix or not a square matrix.