emel v0.3.0 Emel.Math.Algebra View Source
Link to this section Summary
Functions
The solution of a system of linear equations by using Cramer’s formula
A value that can be computed from the elements of a square matrix
.
Geometrically, it can be viewed as the scaling factor of the linear transformation described by the matrix
The first_minor
of a matrix
obtained by removing just the i
-row and the j
-column from the matrix
.
It is required for calculating cofactors, which in turn are useful for computing both the determinant
and inverse of square matrices. i
and j
are zero based
A matrix whose rows are the columns of the original
Link to this section Functions
The solution of a system of linear equations by using Cramer’s formula.
Examples
iex> Emel.Math.Algebra.cramer_solution([[2.0, 3.0],
...> [4.0, 9.0]],
...> [6.0, 15.0])
{:ok, [1.5, 1.0]}
iex> Emel.Math.Algebra.cramer_solution([[1.0, 3.0,-2.0],
...> [3.0, 5.0, 6.0],
...> [2.0, 4.0, 3.0]],
...> [5.0, 7.0, 8.0])
{:ok, [-15.0, 8.0, 2.0]}
iex> Emel.Math.Algebra.cramer_solution([[0.0, 0.0],
...> [3.0, 5.0]],
...> [0.0, 12.0])
{:error, :no_unique_solution}
A value that can be computed from the elements of a square matrix
.
Geometrically, it can be viewed as the scaling factor of the linear transformation described by the matrix
.
Examples
iex> Emel.Math.Algebra.determinant([[3.0, 8.0],
...> [4.0, 6.0]])
-14.0
iex> Emel.Math.Algebra.determinant([[6.0, 1.0, 1.0],
...> [4.0,-2.0, 5.0],
...> [2.0, 8.0, 7.0]])
-306.0
iex> Emel.Math.Algebra.determinant([[4.0, 3.0, 2.0, 2.0],
...> [0.0, 1.0,-3.0, 3.0],
...> [0.0,-1.0, 3.0, 3.0],
...> [0.0, 3.0, 1.0, 1.0]])
-240.0
The first_minor
of a matrix
obtained by removing just the i
-row and the j
-column from the matrix
.
It is required for calculating cofactors, which in turn are useful for computing both the determinant
and inverse of square matrices. i
and j
are zero based.
Examples
iex> Emel.Math.Algebra.first_minor([[ 1.0, 4.0, 7.0],
...> [ 3.0, 0.0, 5.0],
...> [-1.0, 9.0,11.0]],
...> 1,
...> 2)
[[ 1.0, 4.0],
[-1.0, 9.0]]
iex> Emel.Math.Algebra.first_minor([[6.0, 1.0, 1.0],
...> [4.0,-2.0, 5.0],
...> [2.0, 8.0, 7.0]],
...> 0,
...> 0)
[[-2.0, 5.0],
[ 8.0, 7.0]]
iex> Emel.Math.Algebra.first_minor([[ 5.0,-7.0, 2.0, 2.0],
...> [ 0.0, 3.0, 0.0,-4.0],
...> [-5.0,-8.0, 0.0, 3.0],
...> [ 0.0, 5.0, 0.0,-6.0]],
...> 0,
...> 2)
[[ 0.0, 3.0,-4.0],
[-5.0,-8.0, 3.0],
[ 0.0, 5.0,-6.0]]