matrix2d

Creator: coderz1093

Last updated:

Add to Cart

Description:

matrix2d

Matrix 2D 🧮 #



With Matrix 2D, you can perform matrix operations such as addition, subtraction, and multiplication in Dart. It is a simple and easy-to-use library inspired by Python's NumPy library.
Operations #


addition(listA,listB) returns array of sums of corresponding elements of listA and listB of any dimensions.


subtraction(listA,listB) returns array of differences of corresponding elements of listA and listB of any dimensions.


division(listA,listB) divides listA by listB and returns new array


dot(listA,listB) Function returns the dot product of two arrays. For 2-D vectors, it is the equivalent to matrix multiplication. For 1-D arrays, it is the inner product of the vectors. For N-dimensional arrays, it is a sum product over the last axis of a and the second-last axis of b.


shape(list) returns dimensions of input array if the array is uniform or error otherwise.


flatten(list) returns 1-D representation of any shape and any levels of nesting of list array.


transpose(list) Reverse the axes of an array and returns the modified array


arange(start, stop, steps) returns evenly spaced values within the half-open interval [start, stop) with optional steps argument.


zeros(row,cols) Return a new array of given shape and type, with zeros


ones(row,cols) Return a new array of given shape and type, with ones


sum(list) Function returns the sum of array elements


reshape(list)Reshaping means changing the shape of an array.


diagonal(list) To find a diagonal element from a given matrix and gives output as one dimensional matrix.


fill(row,cols,object) Just like zeros() and ones this function will return a new array of given shape, with given object(anything btw strings too)




compareobject(list,operation,obj) compare values inside an array with given object and operations. function will return a new boolen array (this function is deprecated in favor of compare)


concatenate(listA,listB,{axis}) Concatenation refers to joining. This function is used to join two arrays of the same shape along a specified axis. The function takes the following parameters.Axis along which arrays have to be joined. Default is 0


min(list,{axis}) Functions, used to find the minimum value for any given array


max(list,{axis}) Functions, used to find the maximum value for any given array


slice(list (List<List>), row_index [start, stop*], column_index [start, stop*]*) Function used to slice two-dimensional arrays . (column_index and stop not required )


reverse(list,{axis}) Function used to reverse the array along the given axis. The function takes the following parameters.Axis along which the array is to be flipped. Default is 0


Examples #
shape
List list = [[1, 2],[1, 2]];
print(list.shape);
copied to clipboard
ouput:
[2,2]
copied to clipboard

flatten
List list = [[1, 2],[1, 2]];
print(list.flatten);
copied to clipboard
ouput:
[1,2,1,2]
copied to clipboard

transpose
List list = [[1, 2],[1, 2]];
print(list.transpose);
copied to clipboard
ouput:
[[1,1],[2,2]]
copied to clipboard

addition
List list1 = [[1, 1],[1, 1]];
List list2 = [[2, 2],[2, 2]];
var addition = m2d.addition(list1,list2);
print(addition);
copied to clipboard
ouput:
[[3,3],[3,3]]
copied to clipboard

subtraction
List list1 = [[1, 1],[1, 1]];
List list2 = [[2, 2],[2, 2]];
var subtraction = m2d.subtraction(list1,list2);
print(subtraction);
copied to clipboard
ouput:
[[-1,-1],[-1,-1]]
copied to clipboard

division
List list1 = [[1, 1],[1, 1]];
List list2 = [[2, 2],[0, 2]];
var division = m2d.subtraction(division,list2);
print(division);
copied to clipboard
ouput:
[[0.5,Infinity],[0.5,0.5]]
copied to clipboard

dot operation
List list1 = [[1,2],[3,4]];
List list2 = [[11,12],[13,14]];
var dot = m2d.dot(division,list2);
print(dot);
copied to clipboard
ouput:
[[37, 40], [85, 92]]
copied to clipboard

arange
var arange = m2d.arange(8);
print(arange);
copied to clipboard
ouput:
[[0,1,2,3,4,5,6,7,8]]
copied to clipboard

sum
var list = [[2,2],[2,2]];
var sum = m2d.sum(list);
print(sum);
copied to clipboard
ouput:
8
copied to clipboard

reshape
List list = [[0, 1, 2, 3, 4, 5, 6, 7]];
list = list.reshape(2,4);
print(list);
copied to clipboard
ouput:
[[0, 1, 2, 3], [4, 5, 6, 7]]
copied to clipboard

linspace
var linspace = m2d.linspace(2, 3, 5);
print(linspace);
copied to clipboard
ouput:
[2.0, 2.25, 2.5, 2.75, 3.0]
copied to clipboard

diagonal
List list = [[1,1,1],[2,2,2],[3,3,3]];
print(list.diagonal);
copied to clipboard
ouput:
[1,2,3]
copied to clipboard

compare
var list = [[1,1,1],[2,2,2],[3,3,3]];
var compare = m2d.compare(list,'>',2);
print(compare);
copied to clipboard
ouput:
[[false, false, false], [false, false, false], [true, true, true]]
copied to clipboard

concatenate
axis 0
final l1 = [
[1, 1, 1],
[1, 1, 1],
[1, 1, 1]
];
final l2 = [
[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
];
final l3 = m2d.concatenate(l1, l2);
print(l3);
copied to clipboard
ouput:
[[1, 1, 1],
[1, 1, 1],
[1, 1, 1],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0]]
copied to clipboard
axis 1
final a1 = [
[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]
];
final a2 = [
[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]
];

final a3 = m2d.concatenate(a2, a1, axis: 1);
print(a3);
copied to clipboard
ouput:
[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1]]
copied to clipboard

zeros,ones and fill
var zeros = m2d.zeros(2,2);
print(zeros);

var ones = m2d.ones(2,2);
print(ones);

var anything = m2d.fill(2,2,'i love dart');
print(anything);
copied to clipboard
ouput:
[[0,0],[1,1]]

[[1,1],[1,1]]

[['i love dart','i love dart'],['i love dart','i love dart']]
copied to clipboard

min max
final 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));
copied to clipboard
ouput:
[1]

[1, 4, 7]

[1, 2, 3]

[9]

[3, 6, 9]

[7, 8, 9]
copied to clipboard
slice

var sliceArray = [
[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10]
];

var newArray = m2d.slice(sliceArray, [0, 2], [1, 4]);
print(newArray);

copied to clipboard
ouput:
[[2, 3, 4],[7, 8, 9]]
copied to clipboard
Contribution #
If you want to contribute to this project, you are always welcome! Just make a pull request and I will review it as soon as possible.
Features and bugs #
If you have any problems or suggestions, please open an issue here.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.