matrix_utils 0.0.1
matrix_utils: ^0.0.1 copied to clipboard
A Dart library that provides an easy-to-use Matrix class for performing various matrix operations.
example/example.dart
import 'package:matrix_utils/matrix_utils.dart';
void main() {
Matrix m = Matrix([
[1, 2],
[1, 2]
]);
// Shape
print(m.shape);
// flatten
print(m.flatten());
// transpose
print(m.transpose());
// addition
var add = Matrix([
[1, 1],
[1, 1]
]) +
Matrix([
[2, 2],
[2, 2]
]);
print(add);
// subtration
var sub = [
[1, 1],
[1, 1]
].toMatrix() -
[
[2, 2],
[2, 2]
].toMatrix();
print(sub);
// division
var div = Matrix([
[1, 1],
[1, 1]
]).elementDivide(Matrix([
[2, 0],
[2, 2]
]));
print(div);
// dot operation
var dot = [
[1, 2],
[3, 4]
].toMatrix().dot([
[11, 12],
[13, 14]
].toMatrix());
print(dot);
// arange
var arange = Matrix.range(10);
print(arange);
// zeros
var zeros = Matrix.zeros(2, 2);
print(zeros);
//ones
var ones = Matrix.ones(3, 3);
print(ones);
//sum
var sum = [
[2, 2],
[2, 2]
];
print(sum.sum);
// reshape
var array = [
[0, 1, 2, 3, 4, 5, 6, 7]
];
print(array.reshape(4, 2));
// linspace
var linspace = Matrix.linspace(2, 3, 5);
print(linspace);
// diagonal
var arr = [
[1, 1, 1],
[2, 2, 2],
[3, 3, 3]
];
print(arr.diagonal);
//fill
var fill = Matrix.fill(3, 3, 'matrix');
print(fill);
// compare object
var compare = Matrix.compare(m, '>=', 2);
print(compare);
// concatenate
// axis 0
var l1 = Matrix([
[1, 1, 1],
[1, 1, 1],
[1, 1, 1]
]);
var l2 = Matrix([
[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
]);
var l3 = Matrix().concatenate([l1, l2]);
print(l3);
// axis 1
var a1 = Matrix([
[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]
]);
var a2 = Matrix([
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
]);
var a3 = Matrix().concatenate([a2, a1], axis: 1);
print(a3);
a3 = a2.concatenate([a1], axis: 1);
print(a3);
// slice
var sliceArray = Matrix([
[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10],
[6, 7, 8, 9, 10]
]);
var newArray = sliceArray.slice(0, 2, 1, 4);
print(" sliced array: ${newArray}");
// min max
var numbers = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
print(numbers.min());
print(numbers.min(axis: 1));
print(numbers.min(axis: 0));
print(numbers.max());
print(numbers.max(axis: 1));
print(numbers.max(axis: 0));
}