1 | var assert = require('chai').assert;
|
2 | var M = require("../rlab").M;
|
3 |
|
4 | describe('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 | });
|