T.M. SoftStudio

feci quod potui, faciant meliora potentes

Программный интерфейс Sylvester API



Класс Matrix



Статические методы:

  • Matrix.create(elements) (вместо Matrix можно использовать $M) — создает матрицу из двухмерного массива:

var M = $M([

[8,3,9],

[2,0,7],

[1,9,3]

]);


  • Matrix.Diagonal(elements) — создает диагональную матрицу из одномерного массива:

var D = Matrix.Diagonal([4,3,7,1]);


4 0 0 0

0 3 0 0

0 0 7 0

0 0 0 1


  • Matrix.I(n) — создает n-размерную единичную матрицу.

  • Matrix.Random(n, m) — создает (n x m) матрицу, заполненную случайными числами от 0 до 1.

  • Matrix.Rotation(angle [, axis]) — с одним аргументом возвращает 2х2 матрицу вращения против часовой стрелки, с двумя аргументами возвращает 3х3 матрицу вращения вокруг оси, представленной 3-х мерным вектором.

  • Matrix.RotationX(angle), Matrix.RotationY(angle), Matrix.RotationZ(angle) — возвращают 3х3 матрицу вращения вокруг осей X,Y,Z.

  • Matrix.Zero(n, m) — создает (n x m) нулевую матрицу.



Методы экземпляра класса:

  • add(matrix) — складывает две матрицы.

  • augment(matrix) — сращивает две матрицы:

var M = $M([

[8,3,0],

[4,4,2],

[9,1,5]

]).augment(Matrix.I(3));


8 3 0 1 0 0

4 4 2 0 1 0

9 1 5 0 0 1


  • canMultiplyFromLeft(matrix) — возвращает true, если две матрицы могут быть перемножены.

  • col(j) — возвращает j-й столбец матрицы в виде вектора Vector.

  • сols() - возвращает число столбцов матрицы.

  • determinant() или det() - для квадратной матрицы возвращает ее определитель.

  • diagonal() - для квадратной матрицы возвращает ее диагональ в виде вектора Vector.

  • dimensions() - возвращает размеры матрицы:

var dims = Matrix.Zero(4,3).dimensions();

// dims : {rows: 4, cols: 3}


  • dup() - возвращает копию матрицы.

  • e(i, j) — возвращает элемент матрицы.

  • eql(matrix) — возвращает true, если две матрицы равны.

  • indexOf(x) — возвращает позицию элемента, равного х:

var foo = $M([

[0,9,4],

[9,5,8],

[1,5,3]

]).indexOf(9);


// foo : {row: 1, col: 2}


  • inspect() - возвращает строковое представление матрицы.

  • inverse() или inv() - для квадратной матрицы возвращает обратную матрицу.

  • isSameSizeAs(matrix) — возвращает true, если матрицы одинаковых размеров.

  • isSingular() - возвращает true, если определитель квадратной матрицы равен 0.

  • isSquare() - возвращает true, если матрица квадратная.

  • map(iterator) — связывает две матрицы:

var is_sym = (A.map(

function(x, i, j) { return (A.e(i,j) == A.e(j,i)) ? 1 : 0; }

).indexOf(0) === null);


  • max() - возвращает максимальный элемент матрицы.

  • minor(i, j, n, m) — возвращает подматрицу, начинающуюся с i, j элемента и имеющую размеры n х m.

  • multiply(object) или x(k) — перемножает на матрицу, вектор и скаляр.

  • rank() или rk() - возвращает ранг матрицы.

  • round() - округляет элементы матрицы.

  • row(i) — возвращает строку матрицы как вектор Vector.

  • rows() - возвращает количество строк матрицы.

  • setElements(elements) — устанавливает элементы матрицы из двухмерного массива.

  • snapTo(x) — устанавливает элементы, близкие к х в значение х.

  • subtract(matrix) — вычитает две матрицы.

  • toRightTriangular() или toUpperTriangular() - преобразует матрицу в треугольную матрицу.

  • trace() или tr() - для квадратной матрицы возвращает сумму элементов диагонали.

  • transpose() - заменяет строки на столбцы.