UNPKG

1.23 kBJavaScriptView Raw
1describe('Quick start', () => {
2 var algebra = require('../index')
3
4 it('works', () => {
5 var R = algebra.Real
6
7 R.add(1, 2, 3).should.eql(6)
8
9 var x = new R(2)
10 var y = new R(-2)
11
12 var r = x.mul(y)
13 r.data.should.eql(-4)
14 x.data.should.eql(2)
15
16 x = x.add(3).mul(2).inv()
17
18 x.data.should.eql(0.1)
19
20 x.equal(0.1).should.be.ok
21 x.notEqual(Math.PI).should.be.ok
22
23 var C = algebra.Complex
24
25 var z1 = new C([1, 2])
26 var z2 = new C([3, 4])
27
28 z1 = z1.mul(z2)
29
30 z1.data.should.eql([-5, 10])
31
32 z1 = z1.conj().mul([2, 0])
33
34 z1.data.should.eql([-10, -20])
35
36 var R2 = algebra.VectorSpace(R)(2)
37
38 var v1 = new R2([0, 1])
39 var v2 = new R2([1, -2])
40
41 v1 = v1.add(v2)
42
43 v1.data.should.eql([1, -1])
44
45 var R3x2 = algebra.MatrixSpace(R)(3, 2)
46
47 var m1 = new R3x2([1, 1,
48 0, 1,
49 1, 0])
50
51 var v3 = m1.mul(v1)
52
53 v3.data.should.deepEqual([0, -1, 1])
54
55 var R2x2 = algebra.MatrixSpace(R)(2)
56
57 var m2 = new R2x2([1, 0,
58 0, 2])
59 var m3 = new R2x2([0, -1,
60 1, 0])
61
62 m2 = m2.mul(m3)
63
64 m2.data.should.deepEqual([0, -1, 2, 0])
65
66 m2.determinant.data.should.be.eql(2)
67 })
68})