function inv
inv(x: number): number

Computes the inverse of a square matrix.

Returns the inverse of a square matrix. If the input is a single number, it returns the reciprocal of that number.

Examples

Inverse of a 2x2 matrix

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

assertEquals(inv([[3, 2], [5, 2]]), [[-0.5, 0.5], [1.25, -0.7499999999999999]]);

Inverse of a 3x3 matrix

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

assertEquals(inv([[1, 1, -1], [1, -2, 3], [2, 3, 1]]), [
 [0.846153846153846, 0.3076923076923077, -0.07692307692307707],
 [-0.3846153846153846, -0.23076923076923078, 0.30769230769230776],
 [-0.5384615384615384, 0.07692307692307691, 0.23076923076923078]
]);

Inverse of a number

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

assertEquals(inv(4), 0.25);

Parameters

x: number

A square matrix or a number.

Return Type

number

The inverse of the matrix or the reciprocal of the number.

Throws

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

inv(x: matrix): matrix

Computes the inverse of a square matrix.

Returns the inverse of a square matrix. If the input is a single number, it returns the reciprocal of that number.

Examples

Inverse of a 2x2 matrix

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

assertEquals(inv([[3, 2], [5, 2]]), [[-0.5, 0.5], [1.25, -0.7499999999999999]]);

Inverse of a 3x3 matrix

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

assertEquals(inv([[1, 1, -1], [1, -2, 3], [2, 3, 1]]), [
 [0.846153846153846, 0.3076923076923077, -0.07692307692307707],
 [-0.3846153846153846, -0.23076923076923078, 0.30769230769230776],
 [-0.5384615384615384, 0.07692307692307691, 0.23076923076923078]
]);

Inverse of a number

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

assertEquals(inv(4), 0.25);

Parameters

A square matrix or a number.

Return Type

The inverse of the matrix or the reciprocal of the number.

Throws

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