A kotlin implemention of Matrix, support add, multipy, dot, transpose, inverse, determinant, trace, adjugate matrix and etc.
Usage 中文说明
- init
get a 3x3 matrix and initialize the value.
val mat = Mat(3, 3) {
arrayOf(
1, 2, 3,
1, 0, -1,
0, 1, 1
)
}
or, get a 3x3 identity matrix by using,
val mat = identity(3)
- get value
get the value at position (i, j)
println(mat[i, j])
or, dump the full matrix by using,
print(mat)
- set value
set the value at position (i, j)
mat[i, j] = 10.0
- transpose
println(mat.T)
- inverse
println(mat.I)
- addition
println(mat + mat2)
println(mat + 2.0)
- minus
println(mat - mat2)
println(mat - 2.0)
- element-wise product
println(mat * mat2)
println(mat * 2.0)
- dot product
println(mat.dot(mat2))
- element-wise div
println(mat / mat2)
println(mat / 2.0)
- determinant
println(mat.det())
- trace
println(mat.trace())
- adjugate matrix
println(mat.adj())