Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev1.0.4

matrix2d

Matrix 2D é um pacote para funções e manipulações matemáticas de arrays 2D em Dart, semelhante ao NumPy

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
52 mil
Curtidas
42
Pontos Pub
150

Instalar pacote

flutter pub add matrix2d

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Matrix2D é um pacote Dart projetado para operações eficientes em matrizes 2D, oferecendo funções matemáticas semelhantes ao NumPy. Permite aos desenvolvedores realizar manipulações de matriz, como adição, multiplicação, transposição e fatiamento com facilidade. Construído para desempenho e simplicidade, suporta todas as principais plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux. Ideal para computação científica, processamento de dados e aplicações gráficas que exigem operações numéricas robustas em 2D.

Casos de uso

  • Computação científica
  • Processamento de dados
  • Transformações gráficas
  • pré-processamento de aprendizado de máquina
  • Manipulação de imagem

Principais recursos

  • Operações aritméticas matriciais
  • Transposição e fatiamento
  • Suporte independente de plataforma
  • API semelhante ao NumPy
  • Alto desempenho

Indicado para

  • Aplicações matemáticas
  • Projetos de ciência de dados
  • Desenvolvimento de jogos
  • tarefas de visão computacional
  • Ferramentas educacionais

Considerações

  • Requer entendimento de matrizes 2D
  • Limitado a operações específicas de matriz
  • Não otimizado para cálculos em grande escala
  • Sem visualização embutida
  • Depende do desempenho do Dart em cargas de trabalho numéricas

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

Matrix 2D 🧮

pub version Build Status License: MIT

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);

ouput:

[2,2]

flatten

List list = [[1, 2],[1, 2]];
print(list.flatten);

ouput:

[1,2,1,2]

transpose

List list = [[1, 2],[1, 2]];
print(list.transpose);

ouput:

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

addition

List list1 = [[1, 1],[1, 1]];
List list2 = [[2, 2],[2, 2]];
var addition = m2d.addition(list1,list2);
print(addition);

ouput:

[[3,3],[3,3]]

subtraction

List list1 = [[1, 1],[1, 1]];
List list2 = [[2, 2],[2, 2]];
var subtraction = m2d.subtraction(list1,list2);
print(subtraction);

ouput:

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

division

List list1 = [[1, 1],[1, 1]];
List list2 = [[2, 2],[0, 2]];
var division = m2d.subtraction(division,list2);
print(division);

ouput:

[[0.5,Infinity],[0.5,0.5]]

dot operation

List list1 = [[1,2],[3,4]];
List list2 = [[11,12],[13,14]];
var dot = m2d.dot(division,list2);
print(dot);

ouput:

[[37, 40], [85, 92]]

arange

var arange = m2d.arange(8);
print(arange);

ouput:

[[0,1,2,3,4,5,6,7,8]]

sum

var list = [[2,2],[2,2]];
var sum = m2d.sum(list);
print(sum);

ouput:

8

reshape

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

ouput:

[[0, 1, 2, 3], [4, 5, 6, 7]]

linspace

var linspace = m2d.linspace(2, 3, 5);
print(linspace);

ouput:

[2.0, 2.25, 2.5, 2.75, 3.0]

diagonal

List list = [[1,1,1],[2,2,2],[3,3,3]];
print(list.diagonal);

ouput:

[1,2,3]

compare

var list = [[1,1,1],[2,2,2],[3,3,3]];
var compare = m2d.compare(list,'>',2);
print(compare);

ouput:

[[false, false, false], [false, false, false], [true, true, true]]

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);

ouput:

[[1, 1, 1],
[1, 1, 1],
[1, 1, 1],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0]]
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);

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]]

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);

ouput:

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

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

[['i love dart','i love dart'],['i love dart','i love dart']]

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));

ouput:

[1]

[1, 4, 7]

[1, 2, 3]

[9]

[3, 6, 9]

[7, 8, 9]

slice


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

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

ouput:

[[2, 3, 4],[7, 8, 9]]

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.

Categorias

Repositório-fonte

Projetos que usam este pacote