Skip to content

Commit d65a64d

Browse files
committed
Move test into tests/ dir
1 parent 3bb181a commit d65a64d

File tree

3 files changed

+63
-36
lines changed

3 files changed

+63
-36
lines changed

src/krylov/arnoldi.rs

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -130,39 +130,3 @@ where
130130
let mgs = MGS::new(v.len(), tol);
131131
Arnoldi::new(mul_mat(a), v, mgs).complete()
132132
}
133-
134-
#[cfg(test)]
135-
mod tests {
136-
use super::*;
137-
use crate::{assert::*, generate::*};
138-
139-
#[test]
140-
fn aq_qh_mgs() {
141-
let a: Array2<f64> = random((5, 5));
142-
let v: Array1<f64> = random(5);
143-
let (q, h) = arnoldi_mgs(a.clone(), v, 1e-9);
144-
println!("A = \n{:?}", &a);
145-
println!("Q = \n{:?}", &q);
146-
println!("H = \n{:?}", &h);
147-
let aq = a.dot(&q);
148-
let qh = q.dot(&h);
149-
println!("AQ = \n{:?}", &aq);
150-
println!("QH = \n{:?}", &qh);
151-
close_l2(&aq, &qh, 1e-9);
152-
}
153-
154-
#[test]
155-
fn aq_qh_householder() {
156-
let a: Array2<f64> = random((5, 5));
157-
let v: Array1<f64> = random(5);
158-
let (q, h) = arnoldi_mgs(a.clone(), v, 1e-9);
159-
println!("A = \n{:?}", &a);
160-
println!("Q = \n{:?}", &q);
161-
println!("H = \n{:?}", &h);
162-
let aq = a.dot(&q);
163-
let qh = q.dot(&h);
164-
println!("AQ = \n{:?}", &aq);
165-
println!("QH = \n{:?}", &qh);
166-
close_l2(&aq, &qh, 1e-9);
167-
}
168-
}

src/krylov/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ pub mod arnoldi;
77
pub mod householder;
88
pub mod mgs;
99

10+
pub use arnoldi::{arnoldi_householder, arnoldi_mgs, Arnoldi};
1011
pub use householder::{householder, Householder};
1112
pub use mgs::{mgs, MGS};
1213

tests/arnoldi.rs

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
use ndarray::*;
2+
use ndarray_linalg::{krylov::*, *};
3+
4+
#[test]
5+
fn aq_qh_mgs() {
6+
let a: Array2<f64> = random((5, 5));
7+
let v: Array1<f64> = random(5);
8+
let (q, h) = arnoldi_mgs(a.clone(), v, 1e-9);
9+
println!("A = \n{:?}", &a);
10+
println!("Q = \n{:?}", &q);
11+
println!("H = \n{:?}", &h);
12+
let aq = a.dot(&q);
13+
let qh = q.dot(&h);
14+
println!("AQ = \n{:?}", &aq);
15+
println!("QH = \n{:?}", &qh);
16+
close_l2(&aq, &qh, 1e-9);
17+
}
18+
19+
#[test]
20+
fn aq_qh_householder() {
21+
let a: Array2<f64> = random((5, 5));
22+
let v: Array1<f64> = random(5);
23+
let (q, h) = arnoldi_mgs(a.clone(), v, 1e-9);
24+
println!("A = \n{:?}", &a);
25+
println!("Q = \n{:?}", &q);
26+
println!("H = \n{:?}", &h);
27+
let aq = a.dot(&q);
28+
let qh = q.dot(&h);
29+
println!("AQ = \n{:?}", &aq);
30+
println!("QH = \n{:?}", &qh);
31+
close_l2(&aq, &qh, 1e-9);
32+
}
33+
34+
#[test]
35+
fn aq_qh_mgs_complex() {
36+
let a: Array2<c64> = random((5, 5));
37+
let v: Array1<c64> = random(5);
38+
let (q, h) = arnoldi_mgs(a.clone(), v, 1e-9);
39+
println!("A = \n{:?}", &a);
40+
println!("Q = \n{:?}", &q);
41+
println!("H = \n{:?}", &h);
42+
let aq = a.dot(&q);
43+
let qh = q.dot(&h);
44+
println!("AQ = \n{:?}", &aq);
45+
println!("QH = \n{:?}", &qh);
46+
close_l2(&aq, &qh, 1e-9);
47+
}
48+
49+
#[test]
50+
fn aq_qh_householder_complex() {
51+
let a: Array2<c64> = random((5, 5));
52+
let v: Array1<c64> = random(5);
53+
let (q, h) = arnoldi_mgs(a.clone(), v, 1e-9);
54+
println!("A = \n{:?}", &a);
55+
println!("Q = \n{:?}", &q);
56+
println!("H = \n{:?}", &h);
57+
let aq = a.dot(&q);
58+
let qh = q.dot(&h);
59+
println!("AQ = \n{:?}", &aq);
60+
println!("QH = \n{:?}", &qh);
61+
close_l2(&aq, &qh, 1e-9);
62+
}

0 commit comments

Comments
 (0)