@@ -460,7 +460,8 @@ mod tests {
460
460
/// Test the `sorted_eigen` function
461
461
#[ test]
462
462
fn test_sorted_eigen ( ) {
463
- let matrix: Array2 < f64 > = generate:: random ( ( 10 , 10 ) ) * 10.0 ;
463
+ let mut rng = rand_pcg:: Mcg128Xsl64 :: new ( 0xcafef00dd15ea5e5 ) ;
464
+ let matrix: Array2 < f64 > = generate:: random_using ( ( 10 , 10 ) , & mut rng) * 10.0 ;
464
465
let matrix = matrix. t ( ) . dot ( & matrix) ;
465
466
466
467
// return all eigenvectors with largest first
@@ -476,7 +477,8 @@ mod tests {
476
477
/// Test the masking function
477
478
#[ test]
478
479
fn test_masking ( ) {
479
- let matrix: Array2 < f64 > = generate:: random ( ( 10 , 5 ) ) * 10.0 ;
480
+ let mut rng = rand_pcg:: Mcg128Xsl64 :: new ( 0xcafef00dd15ea5e5 ) ;
481
+ let matrix: Array2 < f64 > = generate:: random_using ( ( 10 , 5 ) , & mut rng) * 10.0 ;
480
482
let masked_matrix = ndarray_mask ( matrix. view ( ) , & [ true , true , false , true , false ] ) ;
481
483
close_l2 (
482
484
& masked_matrix. slice ( s ! [ .., 2 ] ) ,
@@ -488,7 +490,8 @@ mod tests {
488
490
/// Test orthonormalization of a random matrix
489
491
#[ test]
490
492
fn test_orthonormalize ( ) {
491
- let matrix: Array2 < f64 > = generate:: random ( ( 10 , 10 ) ) * 10.0 ;
493
+ let mut rng = rand_pcg:: Mcg128Xsl64 :: new ( 0xcafef00dd15ea5e5 ) ;
494
+ let matrix: Array2 < f64 > = generate:: random_using ( ( 10 , 10 ) , & mut rng) * 10.0 ;
492
495
493
496
let ( n, l) = orthonormalize ( matrix. clone ( ) ) . unwrap ( ) ;
494
497
@@ -509,7 +512,8 @@ mod tests {
509
512
assert_symmetric ( a) ;
510
513
511
514
let n = a. len_of ( Axis ( 0 ) ) ;
512
- let x: Array2 < f64 > = generate:: random ( ( n, num) ) ;
515
+ let mut rng = rand_pcg:: Mcg128Xsl64 :: new ( 0xcafef00dd15ea5e5 ) ;
516
+ let x: Array2 < f64 > = generate:: random_using ( ( n, num) , & mut rng) ;
513
517
514
518
let result = lobpcg ( |y| a. dot ( & y) , x, |_| { } , None , 1e-5 , n * 2 , order) ;
515
519
match result {
@@ -553,7 +557,8 @@ mod tests {
553
557
#[ test]
554
558
fn test_eigsolver_constructed ( ) {
555
559
let n = 50 ;
556
- let tmp = generate:: random ( ( n, n) ) ;
560
+ let mut rng = rand_pcg:: Mcg128Xsl64 :: new ( 0xcafef00dd15ea5e5 ) ;
561
+ let tmp = generate:: random_using ( ( n, n) , & mut rng) ;
557
562
//let (v, _) = tmp.qr_square().unwrap();
558
563
let ( v, _) = orthonormalize ( tmp) . unwrap ( ) ;
559
564
@@ -570,7 +575,8 @@ mod tests {
570
575
fn test_eigsolver_constrained ( ) {
571
576
let diag = arr1 ( & [ 1. , 2. , 3. , 4. , 5. , 6. , 7. , 8. , 9. , 10. ] ) ;
572
577
let a = Array2 :: from_diag ( & diag) ;
573
- let x: Array2 < f64 > = generate:: random ( ( 10 , 1 ) ) ;
578
+ let mut rng = rand_pcg:: Mcg128Xsl64 :: new ( 0xcafef00dd15ea5e5 ) ;
579
+ let x: Array2 < f64 > = generate:: random_using ( ( 10 , 1 ) , & mut rng) ;
574
580
let y: Array2 < f64 > = arr2 ( & [
575
581
[ 1.0 , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ] ,
576
582
[ 0. , 1.0 , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ] ,
0 commit comments