-
Notifications
You must be signed in to change notification settings - Fork 0
/
tests.sage
64 lines (53 loc) · 2.55 KB
/
tests.sage
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
def sameMatrix(matrixOne, matrixTwo):
diff = matrixOne.n(digits = 5) - matrixTwo.n(digits = 5)
if diff.apply_map(lambda u:round(u,5)) == matrix(RR, [[0,0], [0,0]]):
return True
return False
# Translation Test 1
m = MIE(matrix(RR, [[1, 0], [0, 1]]), vector(RR, [10,5]).row())
m.integrate_parallel_cuts_hint(vector(RR, [0, 1]).row(), -.5, .5)
assert(m.mu == vector(RR, [10,5]).row())
assert(m.S == matrix(RR, [[1, 0], [0, .25]]))
# Translation Test 2
m = MIE(matrix(RR, [[1, 0], [0, 1]]), vector(RR, [-10,-5]).row())
m.integrate_parallel_cuts_hint(vector(RR, [0, 1]).row(), -.5, .5)
assert(m.mu == vector(RR, [-10,-5]).row())
assert(m.S == matrix(RR, [[1, 0], [0, .25]]))
# Translation Test 3
m = MIE(matrix(RR, [[1, 0], [0, 1]]), vector(RR, [-10,5]).row())
m.integrate_parallel_cuts_hint(vector(RR, [0, 1]).row(), -.5, .5)
assert(m.mu == vector(RR, [-10,5]).row())
assert(m.S == matrix(RR, [[1, 0], [0, .25]]))
# Translation Test 4
m = MIE(matrix(RR, [[1, 0], [0, 1]]), vector(RR, [10,-5]).row())
m.integrate_parallel_cuts_hint(vector(RR, [0, 1]).row(), -.5, .5)
assert(m.mu == vector(RR, [10,-5]).row())
assert(m.S == matrix(RR, [[1, 0], [0, .25]]))
# Rotation Test 1
m = MIE(matrix(RR, [[1, 0], [0, 1]]), vector(RR, [0,0]).row())
m.integrate_parallel_cuts_hint(vector(RR, [sqrt(3)/2, .5]).row(), -.5, .5)
assert(m.mu == vector(RR, [0,0]).row())
assert(sameMatrix(m.S, matrix(RR, [[ 0.43750, -0.32476],
[-0.32476, 0.81250]])))
# Rotation Test 2
m = MIE(matrix(RR, [[1, 0], [0, 1]]), vector(RR, [0,0]).row())
m.integrate_parallel_cuts_hint(vector(RR, [-.5, sqrt(3)/2]).row(), -.5, .5)
assert(m.mu == vector(RR, [0,0]).row())
assert(sameMatrix(m.S, matrix(RR, [[0.81250, 0.32476],
[0.32476, 0.43750]])))
# Rotation Test 3
m = MIE(matrix(RR, [[1, 0], [0, 1]]), vector(RR, [0,0]).row())
m.integrate_parallel_cuts_hint(vector(RR, [-sqrt(2)/2, -sqrt(2)/2]).row(), -.5, .5)
assert(m.mu == vector(RR, [0,0]).row())
assert(sameMatrix(m.S, matrix(RR, [[ 0.62500,-0.37500], [-0.37500, 0.62500]])))
# Translation and Rotation Test 1
m = MIE(matrix(RR, [[1, 0], [0, 1]]), vector(RR, [5,3]).row())
m.integrate_parallel_cuts_hint(vector(RR, [-.5, sqrt(3)/2]).row(), -.5, .5)
assert(m.mu == vector(RR, [5,3]).row())
assert(sameMatrix(m.S, matrix(RR, [[0.81250,0.32476],[0.32476, 0.43750]])))
# Translation and Rotation Test 2
m = MIE(matrix(RR, [[1, 0], [0, 1]]), vector(RR, [-1,-2]).row())
m.integrate_parallel_cuts_hint(vector(RR, [sqrt(2)/2, sqrt(2)/2]).row(), -.5, .5)
assert(m.mu == vector(RR, [-1,-2]).row())
assert(sameMatrix(m.S, matrix(RR, [[ 0.62500,-0.37500],
[-0.37500,0.62500]])))