mirror of
https://github.com/gonum/gonum.git
synced 2025-10-05 15:16:59 +08:00
lapack/testlapack: add implementation comments to Dlange test
This commit is contained in:

committed by
Vladimír Chalupecký

parent
8ebfea9f67
commit
f5caaf507d
@@ -34,16 +34,23 @@ func DlangeTest(t *testing.T, impl Dlanger) {
|
|||||||
if lda == 0 {
|
if lda == 0 {
|
||||||
lda = n
|
lda = n
|
||||||
}
|
}
|
||||||
|
// Allocate m×n matrix A and fill it with random numbers from [-0.5, 0.5).
|
||||||
a := make([]float64, m*lda)
|
a := make([]float64, m*lda)
|
||||||
for i := range a {
|
for i := range a {
|
||||||
a[i] = rnd.Float64() - 0.5
|
a[i] = rnd.Float64() - 0.5
|
||||||
}
|
}
|
||||||
|
// Store a copy of A for later comparison.
|
||||||
|
aCopy := make([]float64, len(a))
|
||||||
|
copy(aCopy, a)
|
||||||
|
|
||||||
|
// Allocate workspace slice.
|
||||||
work := make([]float64, n)
|
work := make([]float64, n)
|
||||||
for i := range work {
|
for i := range work {
|
||||||
work[i] = rnd.Float64()
|
work[i] = rnd.Float64()
|
||||||
}
|
}
|
||||||
aCopy := make([]float64, len(a))
|
|
||||||
copy(aCopy, a)
|
// Test various norms by comparing the result from Dlange with
|
||||||
|
// explicit calculation.
|
||||||
|
|
||||||
// Test MaxAbs norm.
|
// Test MaxAbs norm.
|
||||||
norm := impl.Dlange(lapack.MaxAbs, m, n, a, lda, work)
|
norm := impl.Dlange(lapack.MaxAbs, m, n, a, lda, work)
|
||||||
@@ -79,7 +86,7 @@ func DlangeTest(t *testing.T, impl Dlanger) {
|
|||||||
t.Errorf("MaxRowSum mismatch. Want %v, got %v.", ans, norm)
|
t.Errorf("MaxRowSum mismatch. Want %v, got %v.", ans, norm)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test Frobenius norm
|
// Test Frobenius norm.
|
||||||
norm = impl.Dlange(lapack.Frobenius, m, n, a, lda, work)
|
norm = impl.Dlange(lapack.Frobenius, m, n, a, lda, work)
|
||||||
ans = 0
|
ans = 0
|
||||||
for i := 0; i < m; i++ {
|
for i := 0; i < m; i++ {
|
||||||
|
Reference in New Issue
Block a user