Fix [CDSZ]QRT17.
authorlangou <langou@users.noreply.github.com>
Mon, 22 Jun 2015 14:04:46 +0000 (14:04 +0000)
committerlangou <langou@users.noreply.github.com>
Mon, 22 Jun 2015 14:04:46 +0000 (14:04 +0000)
commit78d4e1705e62900a74b54445afbd8758461d2b04
tree2b632f776cf1f9f8510056f58011062aa3529519
parentb5dddc30091de6879e08c46eb5256049cb98ce0f
Fix [CDSZ]QRT17.

This is a routine to test DGELS which solves solves full rank overdetermined ( linear least squares ) or underdetermined (minimum norm) linear systems.

The check is, as follows,

(1) If the system is consistent, (smallresidual,) we check that
|| A^T ( b – A * x ) || / (||A||*||b||*max(M,N,NRHS)*eps)
is small (say less than 30).

(2) If the system is not consistent, (large residual,) we check that
|| A^T ( b – A * x ) || / (||A||*|| b - A*x ||*max(M,N,NRHS)*eps)
is small (say less than 30).

DQRT17 was checking in the not consistent case (large residual) that
|| A^T ( b – A * x ) || / (||A||*||x||*max(M,N,NRHS)*eps)
is small. It is a mistake and we need to change the ||x|| by a ||r||.

This fix is consistent with what the documentation says and makes more sense.
TESTING/LIN/cqrt17.f
TESTING/LIN/dqrt17.f
TESTING/LIN/sqrt17.f
TESTING/LIN/zqrt17.f