~ubuntu-branches/ubuntu/wily/afnix/wily

« back to all changes in this revision

Viewing changes to src/mod/mth/tst/MTH0121.als

  • Committer: Package Import Robot
  • Author(s): Nobuhiro Iwamatsu
  • Date: 2015-07-11 02:00:35 UTC
  • mfrom: (10.1.1 sid)
  • Revision ID: package-import@ubuntu.com-20150711020035-2nhpztq7s15qyc0v
Tags: 2.5.1-1
* New upstream release. (Closes: #789968)
* Update debian/control.
  - Update Standards-Version to 3.9.6.
* Add support mips64(el) and ppc64el. (Closes: #741508, #748146)
* Add patches/support-gcc-5.x.patch. (Closes: #777767)
  - Fix build with gcc-5.x.
* Add patches/Disable-NET0001.als.patch.
  - Disable test of NET0001.als.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# ---------------------------------------------------------------------------
 
2
# - MTH0121.als                                                             -
 
3
# - afnix:mth module algebra test unit                                      -
 
4
# ---------------------------------------------------------------------------
 
5
# - This program is free software;  you can redistribute it  and/or  modify -
 
6
# - it provided that this copyright notice is kept intact.                  -
 
7
# -                                                                         -
 
8
# - This program  is  distributed in  the hope  that it will be useful, but -
 
9
# - without  any  warranty;  without  even   the   implied    warranty   of -
 
10
# - merchantability or fitness for a particular purpose.  In no event shall -
 
11
# - the copyright holder be liable for any  direct, indirect, incidental or -
 
12
# - special damages arising in any way out of the use of this software.     -
 
13
# ---------------------------------------------------------------------------
 
14
# - copyright (c) 1999-2015 amaury darsch                                   -
 
15
# ---------------------------------------------------------------------------
 
16
 
 
17
# @info   qr direct solver test unit
 
18
# @author amaury darsch
 
19
 
 
20
# get the module
 
21
interp:library "afnix-mth"
 
22
# load matrix generator
 
23
interp:load "MTHXXXX"
 
24
 
 
25
# create a qr solver
 
26
const qr (afnix:mth:Qr)  
 
27
 
 
28
# check representation
 
29
assert true (afnix:mth:qr-p qr)
 
30
assert true (afnix:mth:direct-p qr)
 
31
assert true (afnix:mth:solver-p qr)
 
32
assert "Qr" (qr:repr)
 
33
 
 
34
# create 3x3 block
 
35
trans m (afnix:mth:Rblock 3)
 
36
mth-set-3x3 m
 
37
# set lhs and factorize
 
38
qr:set-lhs m
 
39
qr:factorize
 
40
# get the qr block and compare
 
41
trans qrm (qr:get-qr)
 
42
assert true (qrm:?= m)
 
43
 
 
44
# create 3x3 block
 
45
trans m (afnix:mth:Rblock 3)
 
46
mth-set-3x3 m
 
47
# create a 3x3 permutation
 
48
trans p (afnix:mth:Rpi 3)
 
49
p:set 0 2
 
50
p:set 1 0
 
51
p:set 2 1
 
52
# set lhs and factorize
 
53
qr:set-lhs m
 
54
qr:set-permutation p
 
55
qr:factorize
 
56
# get the qr block and compare
 
57
trans qrm (qr:get-qr)
 
58
assert true (qrm:?= m)
 
59
 
 
60
# create a 5x5 block
 
61
trans m (afnix:mth:Rblock 5)
 
62
mth-set-5x5 m
 
63
# set lhs and factorize
 
64
qr:set-lhs m
 
65
qr:factorize
 
66
# get the qr block and compare
 
67
trans qrm (qr:get-qr)
 
68
assert true (qrm:?= m)
 
69
 
 
70
# create a 9x9 block
 
71
trans m (afnix:mth:Rblock 9)
 
72
mth-set-9x9 m
 
73
# set lhs and factorize
 
74
qr:set-lhs m
 
75
qr:factorize
 
76
# get the qr block and compare
 
77
trans qrm (qr:get-qr)
 
78
assert true (qrm:?= m)
 
79
 
 
80
# create a random block
 
81
trans m (afnix:mth:get-random-r-block 17 100.0 true)
 
82
# set lhs and factorize
 
83
qr:set-lhs m
 
84
qr:factorize
 
85
# get the qr block and compare
 
86
trans qrm (qr:get-qr)
 
87
assert true (qrm:?= m)
 
88
 
 
89
# create a random block
 
90
trans m (afnix:mth:get-random-r-block 64 100.0 true)
 
91
# set lhs and factorize
 
92
qr:set-lhs m
 
93
qr:factorize
 
94
# get the qr block and compare
 
95
trans qrm (qr:get-qr)
 
96
assert true (qrm:?= m)
 
97
 
 
98
# create a random block
 
99
trans m (afnix:mth:get-random-r-block 128 100.0 true)
 
100
# set lhs and factorize
 
101
qr:set-lhs m
 
102
qr:factorize
 
103
# get the qr block and compare
 
104
trans qrm (qr:get-qr)
 
105
assert true (qrm:?= m)