dersblog

Math.js

Javascript içinde matematik, lineer cebir hesapları için math.js [1]. Dahil etmek için komut satırı ortamında

var math = require('./math.js');

ve artık mesela cos hesabı için math.cos() çağrısı yapılır, ve node ile script işletilir. HTML sayfa bağlamında standard src include komutu gerekir. Yazının geri kalanı komut satırı farz edecek. Bir matris işlemi,

N = 20;
A = math.round(math.random([N,N]),5);
B = math.round(math.random([N,N]),5);

C = math.multiply(A, B);

Üstte bir lineer cebir matris çarpım işlemi yapmış olduk.

Bir vektörden tek bir sayı çıkarmak için

console.log(math.subtract([2, 3, 4], 5));
[ -3, -2, -1 ]

İki vektörü toplamak,

console.log(math.add([2, 3, 4], [4,5,4]));
[ 6, 8, 8 ]

Bir vektörü bir sayıya bölmek,

console.log(math.divide([2, 3, 4], 2));
[ 1, 1.5, 2 ]

Matris toplam işlemi

const e = m.matrix([[5, 6], [5, 6]]);

const f = m.matrix([[10, 20], [10, 20]]);

console.log(m.add(e,f));
DenseMatrix {
  _data: [ [ 15, 26 ], [ 15, 26 ] ],
  _size: [ 2, 2 ],
  _datatype: undefined }

Özdeğer, Özvektör

const H = m.matrix([[5, 3.5], [2.3, 1]]);

const res = m.eigs(H);

E = res.values;

V = res.vectors;

console.log(E);

console.log(V);
DenseMatrix {
  _data: [ -0.471310991541956, 6.471310991541956 ],
  _size: [ 2 ],
  _datatype: undefined }
DenseMatrix {
  _data: 
   [ [ 0.12599764007559078, 6.433303428263717 ],
     [ -0.19696350658683628, 2.704397155979702 ] ],
  _size: [ 2, 2 ],
  _datatype: undefined }

Devrik alma transpose ve tersine çevirme inv işlemleri de aynı kütüphane üzerinde bulunabilir.

Tersini alma,

const H = math.matrix([[2, 0], [0, 2]]);

console.log(math.inv(H));
DenseMatrix {
  _data: [ [ 0.5, -0 ], [ -0, 0.5 ] ],
  _size: [ 2, 2 ],
  _datatype: undefined }

Devrik,

const H = math.matrix([[1, 2], [3, 4]]);

console.log(math.transpose(H));
DenseMatrix {
  _data: [ [ 1, 3 ], [ 2, 4 ] ],
  _size: [ 2, 2 ],
  _datatype: undefined }

Kaynaklar

[1] https://mathjs.org/examples/index.html


Yukarı