Si va a hacer cálculos matriciales, use LAPACK. Este es un código muy bien probado. Las personas muy inteligentes han estado trabajando en ello durante décadas. Han pensado profundamente en asuntos que los no iniciados nunca pensarían.
En general, recomendaría dos tipos de pruebas: sistemáticas y aleatorias. Por sistemática me refiero a explorar casos extremos, etc. Ayuda si puedes leer el código fuente. A menudo, los algoritmos tienen puntos de ramificación: calcule de esta manera los números en este rango, esta otra manera para los números en otro rango, etc. Pruebe valores cercanos a los puntos de ramificación en cualquier lado porque es donde el error de aproximación suele ser mayor.
Los valores de entrada aleatorios también son importantes. Si selecciona racionalmente todos los casos de prueba, puede evitar sistemáticamente algo de lo que no se da cuenta es un problema.A veces puede hacer un buen uso de los valores de entrada aleatorios, incluso si no tiene los valores exactos para contrastar. Por ejemplo, si tiene un código para calcular una función y su inversa, puede generar 1000 valores aleatorios y ver si al aplicar la función y su inversa lo colocan cerca de donde comenzó.