项目作者: ludydoo

项目描述 :
N-Dimensional matrices
高级语言: C#
项目地址: git://github.com/ludydoo/Patronus.git
创建时间: 2018-10-08T16:01:54Z
项目社区:https://github.com/ludydoo/Patronus

开源协议:MIT License

下载


Build Status

Patronus

N-Dimensional matrix operations

Usage

  1. // Empty matrix
  2. var matrix = Patronus.Matrix();
  3. // Create a 1 dimension matrix from data
  4. var matrix = Patronus.From(1, 2, 3, 4, 5, ..., n);
  5. // Create a 3x3 shaped matrix
  6. var matrix = Patronus.Matrix(3, 3, 3)
  7. // Create a 2x2 matrix from data
  8. var matrix = Patronus.From(1, 2, 3, 4).Reshape(2, 2);
  9. var matrix = Patronus.Matrix(2, 2, new int[]{1, 2, 3, 4});

Sequence

Creates a matrix with sequenced data

  1. // Creates a 2x2 matrix starting from 1 to 8
  2. var matrix = Patronus.Matrix(2, 2).Sequence(1).Print()
  3. var matrix = Patronus.Sequence(1, 2, 2);
  4. matrix.Print()
  5. // Output
  6. //
  7. // ++++++++
  8. // + 1 2 +
  9. // + 3 4 +
  10. // ++++++++

Randomize

Creates a matrix with random data

  1. // Creates a 2x2 matrix with random data between -5 and 5
  2. var matrix = Patronus.Matrix(2, 2).Randomize(-5, 5).Print()
  3. var matrix = Patronus.Random(-5, 5, 2, 2)
  4. matrix.Print();
  5. // Output
  6. //
  7. // ++++++++++
  8. // + -1 5 +
  9. // + 3 9 +
  10. // ++++++++++

Padding

Adds padding

  1. var matrix = new Matrix(2, 2).Sequence(1).Pad(0)
  2. var matrix = Patronus.Sequence(1, 2, 2).Pad(0)
  3. matrix.Print();
  4. // Output
  5. //
  6. // +++++++++++++++++++
  7. // + 0 0 0 0 +
  8. // + 0 1 2 0 +
  9. // + 0 3 4 0 +
  10. // + 0 0 0 0 +
  11. // +++++++++++++++++++