Commit 038fe855 authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Use soft value truncation for SVD inversion

parent 215ea3ac
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -234,9 +234,7 @@ void magma_zinvert(dcomplex **mat, np_int n, int &jer, int device_id, const Runt
    double eps_mach = 2.22e-18;
    double threshold = h_s[0] * m * eps_mach; 
    for (magma_int_t i = 0; i < m; i++) {
      magmaDoubleComplex inv_s = (h_s[i] > threshold) ? 
	MAGMA_Z_MAKE(1.0 / h_s[i], 0.0) : 
	MAGMA_Z_MAKE(0.0, 0.0);
      magmaDoubleComplex inv_s = MAGMA_Z_MAKE(h_s[i] / (h_s[i] * h_s[i] + threshold * threshold), 0.0);
      magma_zscal(m, inv_s, d_Vt + i, m, queue);
    }
    delete[] h_s;