testlapack: add isIdentity helper

This commit is contained in:
Vladimir Chalupecky
2019-01-03 23:34:53 +01:00
committed by Vladimír Chalupecký
parent 27d556d1f9
commit 87489715e5
6 changed files with 39 additions and 100 deletions

View File

@@ -1464,3 +1464,28 @@ func constructGSVPresults(n, p, m, k, l int, a, b blas64.General) (zeroA, zeroB
return zeroA, zeroB
}
// isIdentity returns whether an n×n matrix A is approximately equal to the
// identity matrix.
func isIdentity(n int, a []float64, lda int, tol float64) bool {
for i := 0; i < n; i++ {
for j := 0; j < n; j++ {
aij := a[i*lda+j]
if math.IsNaN(aij) {
return false
}
if i == j {
if math.Abs(aij-1) > tol {
fmt.Println(i, j, aij)
return false
}
} else {
if math.Abs(aij) > tol {
fmt.Println(i, j, aij)
return false
}
}
}
}
return true
}