def test_reginv(self):
     # make sure the fancy code is equal to the more literal, but slow way
     k = self.ref_kernel[10, 20].copy()
     lm = 8.
     x = slow_inv(k, lm)
     k = self.ref_kernel[10, 20].copy()
     xf = GU.regularized_inverse(k, lm)
     assert_array_almost_equal(x, xf)
 def test_reginv(self):
     # make sure the fancy code is equal to the more literal, but slow way
     k = self.ref_kernel[10,20].copy()
     lm = 8.
     x = slow_inv(k, lm)
     k = self.ref_kernel[10,20].copy()        
     xf = GU.regularized_inverse(k, lm)
     assert_array_almost_equal(x, xf)
    def test_getkernel(self):
        (ns, M2, M1) = self.fmap.shape
        N2 = M2
        fmap = np.swapaxes(self.fmap, -1, -2)
        chi = np.swapaxes(self.chi, -1, -2)
        b = np.arange(M2) - M2 / 2
        n2 = np.arange(M2) - M2 / 2
        Tl = 0.000742

        K = GU.get_kernel(M2, Tl, b, n2, fmap, chi)
        assert_array_almost_equal(K, self.ref_kernel)
 def test_getkernel(self):
     (ns, M2, M1) = self.fmap.shape
     N2 = M2
     fmap = np.swapaxes(self.fmap, -1, -2)
     chi = np.swapaxes(self.chi, -1, -2)
     b = np.arange(M2)-M2/2
     n2 = np.arange(M2)-M2/2
     Tl = 0.000742
     
     K = GU.get_kernel(M2, Tl, b, n2, fmap, chi)
     assert_array_almost_equal(K, self.ref_kernel)
    def test_invspeed(self):
        nsl, nfe = self.ref_kernel.shape[:2]
        lm = 8.0
        slcs = range(nsl)
        cols = range(nfe)
        t0_slow = time.time()
        for s in slcs:
            for fe in cols:
                ik = slow_inv(self.ref_kernel[s, fe], lm)
        tf_slow = time.time()

        t0_fast = time.time()
        for s in slcs:
            for fe in cols:
                ik = GU.regularized_inverse(self.ref_kernel[s, fe], lm)
        tf_fast = time.time()
        print "literal numpy solution for %d inverses: %2.4fs" % (
            nsl * nfe, tf_slow - t0_slow)
        print "slick solution for %d inverses: %2.4fs" % (nsl * nfe,
                                                          tf_fast - t0_fast)
        print "speedup:", (tf_slow - t0_slow) / (tf_fast - t0_fast)
 def test_invspeed(self):
     nsl, nfe = self.ref_kernel.shape[:2]
     lm = 8.0
     slcs = range(nsl)
     cols = range(nfe)
     t0_slow = time.time()
     for s in slcs:
         for fe in cols:
             ik = slow_inv(self.ref_kernel[s,fe], lm)
     tf_slow = time.time()
     
     t0_fast = time.time()
     for s in slcs:
         for fe in cols:
             ik = GU.regularized_inverse(self.ref_kernel[s,fe], lm)
     tf_fast = time.time()
     print "literal numpy solution for %d inverses: %2.4fs"%(nsl*nfe,
                                                             tf_slow-t0_slow)
     print "slick solution for %d inverses: %2.4fs"%(nsl*nfe,
                                                           tf_fast-t0_fast)
     print "speedup:", (tf_slow-t0_slow)/(tf_fast-t0_fast)