UNPKG

750 BJavaScriptView Raw
1var assert = require('chai').assert;
2var M = require("../rlab").M;
3
4describe('Matrix', function() {
5 var A = [[1,2,3],[4,5,6],[7,3,9]];
6 var I = M.identity(3);
7 describe('test tr(), eq(), all()', function () {
8 it('A=A.tr().tr()', function () {
9 assert.equal(true, A.tr().tr().eq(A).all());
10 });
11 });
12 describe('test inv(), dot(), sub(), lt()', function () {
13 it('A-1*A=I', function () {
14 assert.isTrue(A.inv().dot(A).sub(I).abs().sumM()<0.001);
15 });
16 });
17 describe('test eig()', function () {
18 it('E,λ=A.eig(); E*λ.diag()-A=0', function () {
19 var Eλ = M.eigR(A);
20 var E = Eλ.E, λ=Eλ.lambda;
21 assert.isTrue(E.dot(λ.diag()).dot(E.inv()).sub(A).abs().sumM()<0.001);
22 });
23 });
24});