sagen, dass ich mehrere Arrays haben, möglicherweise in verschiedenen Größen:Deklarieren einer Liste/Vektor/Array von numpy Arrays in Cython
A0 = rand(3,3)
A1 = rand(4,4)
In Cython ich ihre Typen erklären kann schnell Artikel Zugang zu bekommen:
cdef np.ndarray[double, ndim=2] A0
cdef np.ndarray[double, ndim=2] A1
jedoch sagen, dass ich sie durch den Index zugreifen möchten:
A = (A0,A1)
A[0][2,1] += A[1][1,0]
Doch jetzt Cython kennt nicht die Art von 01.237.und A[1]
, wodurch der Zugriff langsam wird. Ich glaube nicht, dass Cython das Konzept eines "typisierten Tupels" hat. Also, wie kann ich A
(oder ein ähnliches Objekt) deklarieren, so dass ich immer noch schnellen Objektzugriff im obigen Ausdruck bekomme?
Ich vermute, dass der beste Weg, um sie in einen 3D-Array verketten und Null (oder nan) die Orte, Pad, wo die Größen nicht übereinstimmen. Ich kann mir keinen offensichtlich besseren Weg vorstellen (aber das bedeutet nicht, dass es nicht existiert!) – DavidW