matrix_operation v0.1.1 MatrixOperation
Documentation for Matrix operation library.
Link to this section Summary
Functions
Matrix addition
A matrix is multiplied by a constant.
A matrix is multiplied by a constant.
Cramer's rule
A row of a matrix is deleted.
A determinant of a n×n square matrix is got.
eigenvalue [R^2/R^3 matrix]
A m×n matrix having even-elements is got.
A column of a matrix is got.
A element of a matrix is got.
A row of a matrix is got.
Hadamard division
Hadamard power
Hadamard product
Inverse Matrix
Linear equations are solved.
Power iteration method (maximum eigen value and eigen vector)
Matrix product
Numbers of row and column of a matrix are got.
Matrix subtraction
Tensor product
Trace of a matrix
Transpose of a matrix
A n-th unit matrix is got.
A variance-covariance matrix is generated
Link to this section Functions
add(a, b)
Matrix addition
Examples
iex> MatrixOperation.add([[3, 2, 3], [2, 1, 2]], [[2, 3, 1], [3, 2, 2]])
[[5, 5, 4], [5, 3, 4]]
atan(x)
atan_sub(x, z, s)
const_addition(const, a)
A matrix is multiplied by a constant.
Examples
iex> MatrixOperation.const_addition(1, [1.0, 2.0, 3.0])
[2.0, 3.0, 4.0]
const_multiple(const, a)
A matrix is multiplied by a constant.
Examples
iex> MatrixOperation.const_multiple(-1, [1.0, 2.0, 3.0])
[-1.0, -2.0, -3.0]
iex> MatrixOperation.const_multiple(2, [[1, 2, 3], [2, 2, 2], [3, 8, 9]])
[[2, 4, 6], [4, 4, 4], [6, 16, 18]]
cramer(a, vertical_vec, select_index)
Cramer's rule
Examples
iex> MatrixOperation.cramer([[1, 0, 0], [0, 1, 0], [0, 0, 1]], [[1], [0], [0]], 0)
1.0
csqrt(list, n)
cubic_formula(a, b, c, d)
cubic_formula_sub(x)
delete_one_row(matrix, delete_index)
A row of a matrix is deleted.
Examples
iex> MatrixOperation.delete_one_row([[1, 2, 3], [4, 5, 6], [7, 8, 9]], 3)
[[1, 2, 3], [4, 5, 6]]
determinant(a)
A determinant of a n×n square matrix is got.
Examples
iex> MatrixOperation.determinant([[1, 2, 1], [2, 1, 0], [1, 1, 2]])
-5
iex> MatrixOperation.determinant([[1, 2, 1, 1], [2, 1, 0, 1], [1, 1, 2, 1], [1, 2, 3, 4]])
-13
iex> MatrixOperation.determinant([ [3,1,1,2,1], [5,1,3,4,1], [2,0,1,0,1], [1,3,2,1,1], [1,1,1,1,1] ])
-14
eigenvalue(arg1)
eigenvalue [R^2/R^3 matrix]
Examples
iex> MatrixOperation.eigenvalue([[3, 1], [2, 2]]) [4.0, 1.0] iex> MatrixOperation.eigenvalue([[6, -3], [4, -1]]) [3.0, 2.0] iex> MatrixOperation.eigenvalue([[1, 1, 1], [1, 2, 1], [1, 2, 3]]) [4.561552806429505, 0.43844714673139706, 1.0000000468390973] iex> MatrixOperation.eigenvalue([[1, 2, 3], [2, 1, 3], [3, 2, 1]]) [5.999999995559568, -2.000000031083018, -0.99999996447655]
even_matrix(m, n, s)
A m×n matrix having even-elements is got.
Examples
iex> MatrixOperation.even_matrix(2, 3, 0) [[0, 0, 0], [0, 0, 0]] iex> MatrixOperation.even_matrix(3, 2, 1) [[1, 1], [1, 1], [1, 1]]
get_one_column(matrix, column_index)
A column of a matrix is got.
Examples
iex> MatrixOperation.get_one_column([[1, 2, 3], [4, 5, 6], [7, 8, 9] ], 1)
[1, 4, 7]
get_one_element(matrix, list)
A element of a matrix is got.
Examples
iex> MatrixOperation.get_one_element([[1, 2, 3], [4, 5, 6], [7, 8, 9] ], [1, 1]) 1
get_one_row(matrix, row_index)
A row of a matrix is got.
Examples
iex> MatrixOperation.get_one_row([[1, 2, 3], [4, 5, 6], [7, 8, 9] ], 1) [1, 2, 3]
hadamard_division(a, b)
Hadamard division
Examples
iex> MatrixOperation.hadamard_division([[3, 2, 3], [2, 1, 2]], [[2, 3, 1], [3, 2, 2]])
[[1.5, 0.6666666666666666, 3.0], [0.6666666666666666, 0.5, 1.0]]
hadamard_power(a, n)
Hadamard power
Examples
iex> MatrixOperation.hadamard_power([[3, 2, 3], [2, 1, 2]], 2)
[[9.0, 4.0, 9.0], [4.0, 1.0, 4.0]]
hadamard_product(a, b)
Hadamard product
Examples
iex> MatrixOperation.hadamard_product([[3, 2, 3], [2, 1, 2]], [[2, 3, 1], [3, 2, 2]])
[[6, 6, 3], [6, 2, 4]]
inverse_matrix(a)
Inverse Matrix
Examples
iex> MatrixOperation.inverse_matrix([[1, 1, -1], [-2, -1, 1], [-1, -2, 1]])
[[-1.0, -1.0, 0.0], [-1.0, 0.0, -1.0], [-3.0, -1.0, -1.0]]
linear_equations(a, vertical_vec)
Linear equations are solved.
Examples
iex> MatrixOperation.linear_equations([[1, 0, 0], [0, 1, 0], [0, 0, 1]], [[1], [0], [0]])
[1.0, 0.0, 0.0]
iex> MatrixOperation.linear_equations([[0, -2, 1], [-1, 1, -4], [3, 3, 1]], [[3], [-7], [4]])
[2.0, -1.0, 1.0]
power_iteration(a, max_k)
Power iteration method (maximum eigen value and eigen vector)
Examples
iex> MatrixOperation.power_iteration([[3, 1], [2, 2]], 100) [4.0, [2.8284271247461903, 2.8284271247461903]] iex> MatrixOperation.power_iteration([[1, 1, 2], [0, 2, -1], [0, 0, 3]], 100) [3.0, [1.0, -2.0, 2.0]]
product(a, b)
Matrix product
Examples
iex> MatrixOperation.product([[3, 2, 3], [2, 1, 2]], [[2, 3], [2, 1], [3, 5]])
[[19, 26], [12, 17]]
row_column_matrix(a)
Numbers of row and column of a matrix are got.
Examples
iex> MatrixOperation.row_column_matrix([[3, 2, 3], [2, 1, 2]]) [2, 3]
subtract(a, b)
Matrix subtraction
Examples
iex> MatrixOperation.subtract([[3, 2, 3], [2, 1, 2]], [[2, 3, 1], [3, 2, 2]])
[[1, -1, 2], [-1, -1, 0]]
tensor_product(a, b)
Tensor product
Examples
iex> MatrixOperation.tensor_product([[3, 2, 3], [2, 1, 2]], [[2, 3, 1], [2, 1, 2], [3, 5, 3]])
[
[
[[6, 9, 3], [6, 3, 6], [9, 15, 9]],
[[4, 6, 2], [4, 2, 4], [6, 10, 6]],
[[6, 9, 3], [6, 3, 6], [9, 15, 9]]
],
[
[[4, 6, 2], [4, 2, 4], [6, 10, 6]],
[[2, 3, 1], [2, 1, 2], [3, 5, 3]],
[[4, 6, 2], [4, 2, 4], [6, 10, 6]]
]
]
trace(a)
Trace of a matrix
Examples
iex> MatrixOperation.trace([[1.0, 2.0], [3.0, 4.0]])
5.0
transpose(a)
Transpose of a matrix
Examples
iex> MatrixOperation.transpose([[1.0, 2.0], [3.0, 4.0]])
[[1.0, 3.0], [2.0, 4.0]]
unit_matrix(n)
A n-th unit matrix is got.
Examples
iex> MatrixOperation.unit_matrix(3) [[1, 0, 0], [0, 1, 0], [0, 0, 1]]
variance_covariance_matrix(data)
A variance-covariance matrix is generated
Examples
iex> MatrixOperation.variance_covariance_matrix([[40, 80], [80, 90], [90, 100]]) [
[466.66666666666663, 166.66666666666666],
[166.66666666666666, 66.66666666666666]
]