OSDN Git Service

new repo
[bytom/vapor.git] / vendor / gonum.org / v1 / gonum / lapack / internal / testdata / dlasqtest / testdlasq2.f90
1 ! $CLASSHG/codes/lapack/random/randomsys1.f90
2
3 program randomsys1
4 implicit none
5 integer, parameter :: nmax=1000
6 real(kind=8), dimension(nmax) :: b, x
7 real(kind=8), dimension(nmax,nmax) :: a
8 real(kind=8) :: err
9 integer :: i, info, lda, ldb, nrhs, n,iter
10 integer, dimension(nmax) :: ipiv
11
12 real(kind=8), dimension(84) :: z
13
14 z(1:84) = (/2.3962280929192509D-01, &
15 6.4346010490580374D-01, &
16 5.4886677265274941D-01, &
17 1.8435046456575191D-01, &
18 4.2690013698472401D-01, &
19 6.2760930131666248D-01, &
20 8.7243363936287288D-02, &
21 5.3710399529030350D-01, &
22 8.4474604576675638D-01, &
23 4.0947669295022632D-01, &
24 2.0315141244999760D-01, &
25 8.2714283129979482D-01, &
26 9.6582843029739029D-01, &
27 3.7773539690481128D-01, &
28 6.4713340225873406D-01, &
29 6.7774351756798612D-01, &
30 4.4568905572928591D-01, &
31 1.7208265726837521D-01, &
32 3.5202074329011412D-01, &
33 3.2913965083413110D-01, &
34 7.4682622623737438D-01, &
35 2.7151044969605542D-01, &
36 5.6129178633962351D-01, &
37 1.3244294692867761D-01, &
38 7.9837660640147112D-01, &
39 2.0595995860196409D-01, &
40 2.6555102564257749D-02, &
41 1.9623902644848701D-01, &
42 7.8452468963715605D-03, &
43 8.2177375597112101D-01, &
44 9.4444982187044924D-01, &
45 4.6799576958310329D-01, &
46 1.1359180530395520D-01, &
47 1.6049482525711320D-01, &
48 8.4523811016138373D-01, &
49 8.5370708147160490D-01, &
50 3.0139325968162661D-01, &
51 2.5117154067021252D-01, &
52 2.0086476380364379D-01, &
53 2.6078975734443288D-01, &
54 2.5710509100784901D-01, &
55 6.2861740244633146D-01, &
56 4.7397018497236110D-01, &
57 8.6989475348440182D-01, &
58 6.4860795895959611D-01, &
59 8.8943219043019872D-01, &
60 7.9524758401855578D-01, &
61 8.8016617212154102D-01, &
62 2.1472721943810300D-01, &
63 9.5183566464760194D-01, &
64 7.1911522894148772D-01, &
65 1.1065249711733080D-01, &
66 9.5745872307341484D-01, &
67 6.4694742306793951D-01, &
68 5.8182607574435841D-01, &
69 1.2922028370755401D-02, &
70 2.7617229134380777D-01, &
71 8.0045359255855852D-01, &
72 3.2789738555900377D-01, &
73 5.7940374386642890D-01, &
74 2.3961554431041750D-02, &
75 6.6990484757537938D-01, &
76 1.8144929371280860D-01, &
77 2.8661849362222419D-01, &
78 6.5845572125062690D-01, &
79 5.8896512277754309D-01, &
80 6.3697665190607378D-02, &
81 1.3281935295985961D-01, &
82 7.4166314172628711D-01, &
83 5.0033182787066932D-01, &
84 3.1440772963953763D-02, &
85 9.9073931564031925D-01, &
86 3.4236965949145941D-03, &
87 6.9929220728508257D-01, &
88 7.5905196170645428D-01, &
89 2.5421825141163590D-01, &
90 3.3146571845550887D-01, &
91 5.7286596840196446D-01, &
92 9.9158547964144228D-01, &
93 4.8967497301052382D-01, &
94 5.6113697207961410D-01, &
95 6.0641422150435165D-01, &
96 8.5675901647669139D-02, &
97 2.5817319326781851D-01/)
98 n =  21
99 info = 0
100
101 open(unit = 2,STATUS='REPLACE', file = "gen2tests.txt")
102 open(unit = 4, STATUS='REPLACE', file = "gen4tests.txt")
103 open(unit = 3,STATUS='REPLACE', file = "gen3tests.txt")
104 open(unit = 5,STATUS='REPLACE', file = "gen5tests.txt")
105
106 write(2,*) "{"
107 write(2,'(9999(g0))',advance="no") "z: []float64{"
108 do i = 1, 4*n
109 write (2,'(99999(e24.16,a))',advance="no") z(i), ","
110 end do
111 write (2,*) "},"
112 write(2,*) "n: " ,n,","
113
114
115 call dlasq2(n, z, info)
116
117 write(2,'(9999(g0))', advance="no") "zOut: []float64{"
118 do i = 1, 4*n
119 write (2,'(99999(e24.16,a))', advance="no") z(i), ","
120 end do
121 write (2,*) "},"
122 write(2,*) "info:", info, ","
123 write(2,*) "},"
124
125 print *, "Done fixed dlasq2"
126
127 close(5)
128 close(3)
129 close(4)
130 close(2)
131
132 ! For random tests
133 n =  21
134
135 open(unit = 2, STATUS='REPLACE', file = "gen2tests.txt")
136 open(unit = 4, STATUS='REPLACE', file = "gen4tests.txt")
137 open(unit = 3, STATUS='REPLACE', file = "gen3tests.txt")
138 open(unit = 5, STATUS='REPLACE', file = "gen5tests.txt")
139
140 do iter = 1, 2
141
142 call random_number(z(1:4*n))
143
144 write(2,*) "{"
145 write(2,'(9999(g0))', advance="no") "z: []float64{"
146 do i = 1, 4*n
147 write (2,'(99999(e24.16,a))', advance="no") z(i), ","
148 end do
149 write (2,*) "},"
150 write(2,*) "n: " ,n,","
151
152 call dlasq2(n, z, info)
153
154 write(2,'(9999(g0))', advance="no") "zOut: []float64{"
155 do i = 1, 4*n
156   write (2,'(99999(e24.16,a))', advance="no") z(i), ","
157 end do
158 write (2,*) "},"
159 write(2,*) "info:", info, ","
160 write(2,*) "},"
161
162 print *, "Done with dlasq2"
163
164 end do
165
166 close(5)
167 close(3)
168 close(4)
169 close(2)
170
171 end program randomsys1