Exemplo n.º 1
0
    def test_qawf(self):
        def f2(x, y):
            return Numeric.sin(x) / x

        sys2 = integrate.gsl_function(f2, None)

        def f1(x, y):
            return 1 / x

        sys1 = integrate.gsl_function(f1, None)

        def f3(x, y):
            return 1 / -x

        sys3 = integrate.gsl_function(f3, None)

        pts = Numeric.array((-Numeric.pi, 0, Numeric.pi))
        flag, result1, error = integrate.qagp(sys2, pts, 1e-8, 1e-8, 100000,
                                              self.w)
        table1 = integrate.qawo_table(1, 100, integrate.SINE, 100)
        cyclew = integrate.workspace(1000000)
        flag, result2, error = integrate.qawf(sys1, Numeric.pi, 1e-8, 100,
                                              self.w, cyclew, table1)
        table2 = integrate.qawo_table(-1, 100, integrate.SINE, 100)
        flag, result3, error = integrate.qawf(sys3, Numeric.pi, 1e-8, 100,
                                              self.w, cyclew, table2)
        assert (Numeric.absolute(result1 + result2 + result3 - Numeric.pi) <
                1e-8)
Exemplo n.º 2
0
def run():
    def f2(x,y):
        return numx.sin(x) / x
    sys2 = integrate.gsl_function(f2, None)
    
    def f1(x,y):
        return 1 / x        
    sys1 = integrate.gsl_function(f1, None)
    
    def f3(x,y):
        return 1 / -x
    
    sys3 = integrate.gsl_function(f3, None)

    w = integrate.workspace(1000000)
    cyclew = integrate.workspace(1000000)
    
    table1 = integrate.qawo_table(1, 100, integrate.SINE, 100)
    table2 = integrate.qawo_table(-1, 100, integrate.SINE, 100)

    # Borders and singualrity for gagp
    pts = numx.array((-numx.pi, 0, numx.pi))
    
    flag, result1, error = integrate.qagp(sys2, pts, 1e-8, 1e-8, 100000, w)
    flag, result2, error = integrate.qawf(sys1, numx.pi, 1e-8,  100, w,
                                          cyclew, table1)
    flag, result3, error = integrate.qawf(sys3, numx.pi, 1e-8,  100, w,
                                          cyclew, table2)
    
    print "Result of integration is :", result1 + result2 + result3
Exemplo n.º 3
0
def run():
    def f2(x, y):
        return numx.sin(x) / x

    sys2 = integrate.gsl_function(f2, None)

    def f1(x, y):
        return 1 / x

    sys1 = integrate.gsl_function(f1, None)

    def f3(x, y):
        return 1 / -x

    sys3 = integrate.gsl_function(f3, None)

    w = integrate.workspace(1000000)
    cyclew = integrate.workspace(1000000)

    table1 = integrate.qawo_table(1, 100, integrate.SINE, 100)
    table2 = integrate.qawo_table(-1, 100, integrate.SINE, 100)

    # Borders and singualrity for gagp
    pts = numx.array((-numx.pi, 0, numx.pi))

    flag, result1, error = integrate.qagp(sys2, pts, 1e-8, 1e-8, 100000, w)
    flag, result2, error = integrate.qawf(sys1, numx.pi, 1e-8, 100, w, cyclew,
                                          table1)
    flag, result3, error = integrate.qawf(sys3, numx.pi, 1e-8, 100, w, cyclew,
                                          table2)

    print "Result of integration is :", result1 + result2 + result3
Exemplo n.º 4
0
 def test_qawo(self):
     def f(x,y):
         return 1
     sys = integrate.gsl_function(f, None)
     table = integrate.qawo_table(1, 2*Numeric.pi, integrate.COSINE, 100)
     flag, result, error = integrate.qawo(sys, -Numeric.pi, 1e-8,  1e-8, 100, self.w, table)
     assert(Numeric.absolute(result) < 1e-7)
     assert(Numeric.absolute(error) < 1e-7)
Exemplo n.º 5
0
 def test_qawf(self):
     def f2(x,y):
         return Numeric.sin(x) / x
     sys2 = integrate.gsl_function(f2, None)
     def f1(x,y):
         return 1 / x        
     sys1 = integrate.gsl_function(f1, None)
     def f3(x,y):
         return 1 / -x        
     sys3 = integrate.gsl_function(f3, None)
     
     pts = Numeric.array((-Numeric.pi, 0, Numeric.pi))
     flag, result1, error = integrate.qagp(sys2, pts, 1e-8, 1e-8, 100000, self.w)
     table1 = integrate.qawo_table(1, 100, integrate.SINE, 100)        
     cyclew = integrate.workspace(1000000)
     flag, result2, error = integrate.qawf(sys1, Numeric.pi, 1e-8,  100, self.w, cyclew, table1)
     table2 = integrate.qawo_table(-1, 100, integrate.SINE, 100)        
     flag, result3, error = integrate.qawf(sys3, Numeric.pi, 1e-8,  100, self.w, cyclew, table2)
     assert(Numeric.absolute(result1+result2+result3 - Numeric.pi) < 1e-8)