diff --git a/lapack/testlapack/matgen.go b/lapack/testlapack/matgen.go index 5e2af95e..999fbf23 100644 --- a/lapack/testlapack/matgen.go +++ b/lapack/testlapack/matgen.go @@ -675,9 +675,6 @@ func randomOrthogonal(n int, rnd *rand.Rand) blas64.General { // Compute Q * H_j and store the result into Q. applyReflector(q, q, v) } - if !isOrthogonal(q) { - panic("Q not orthogonal") - } return q } diff --git a/lapack/testlapack/matgen_test.go b/lapack/testlapack/matgen_test.go index 08330984..e631a114 100644 --- a/lapack/testlapack/matgen_test.go +++ b/lapack/testlapack/matgen_test.go @@ -89,3 +89,13 @@ func TestDlagge(t *testing.T) { } } + +func TestRandomOrthogonal(t *testing.T) { + rnd := rand.New(rand.NewSource(1)) + for n := 1; n <= 20; n++ { + q := randomOrthogonal(n, rnd) + if !isOrthogonal(q) { + t.Errorf("Case n=%v: Q not orthogonal", n) + } + } +}