我整天都在尝试从 numba 文档中推断出这些类型是如何设置的。我已经掌握了一些方法,但现在我想创建一个函数,它返回一个一维数组和一个二维数组,并采用一堆 args,我很难再进一步:
@jit
class name(object)
@double[:,:], double[:](double[:], double, double, int64)
def solve(self, u0, a, b, n):
self.t = linspace(a, b, n+1)
dt = abs((b-a)/float(n))
u = zeros(n+1, len([u0]))
u[0] = u0
u = advance(u, t, n, dt)
return u.transpose(), t.transpose()
上面抛出了这些异常:
Traceback (most recent call last):
File "/home/marius/dev/python/inf1100/test_ODE.py", line 2, in <module>
from DE import *
File "/home/marius/dev/python/inf1100/DE.py", line 13
@double[:,:], double[:](double[:], double, double, int64)
^
SyntaxError: invalid syntax
如果你能告诉我出了什么问题会很好,但是如果你能推荐一个一劳永逸地严格解释这些语法的文档,那就更好了。
感谢您的时间。
亲切的问候,马吕斯