使ndarrays可调用

时间:2014-09-05 07:37:00

标签: python numpy

假设我有一组标准正交基函数,表示为Python callables

class Basis(object):

    def __init__(self,i,j):
        self.i=i
        self.j=j

    def __call__(self,x,y):
        return f(self.i,self.j,x,y)

我想将这些存储在numpy.array中,以便basis_functions[i,j]=Basis(i,j)

我也希望数组可以调用,以便basis_functions(x,y)为范围内的所有basis_functions[i,j](x,y)返回包含i,j的数组。

我已经看过关于子类化ndarray的文档,但是没有发现它特别有帮助。任何人都可以给我任何指示,从哪里开始?

附录

我希望使用类似这样的东西

class SytheticFunction(object):
    basis=callable_array([[Basis(i,j) for j in xrange(COLUMNS)]
                          for i in xrange(ROWS)])

    def __init__(self,weights):
        self.weights=weights

    def __call__(self,x,y):
        return (self.weights*SyntheticFunction.basis(x,y)).sum()

0 个答案:

没有答案