np.ndarray com condições de limite periódico
Problema
Obrigarnp.ndarray
condições de contorno periódicas, conforme estabelecido abaixo
np.ndarray
em torno dos limites emn
-dimensõesEssa é uma condição de contorno periódica que forma umn
tridimensionalInvólucrosó ocorre no caso em que o valor retornado éescalar (um único ponto).Fatias será tratado como normal e seránão ser embrulhadoUm exemplo e um contra-exemplo são dados abaixo:
a = np.arange(27).reshape(3,3,3)
b = Periodic_Lattice(a) # A theoretical class
# example: returning a scalar that shouldn't be accessible
print b[3,3,3] == b[0,0,0] # returns a scalar so invokes wrapping condition
try: a[3,3,3] # the value is out of bounds in the original np.ndarray
except: print 'error'
# counter example: returning a slice
try: b[3,3] # this returns a slice and so shouldn't invoke the wrap
except: print 'error'
que deve dar a saída:
True
error
error
Prevejo que eu deveria estar sobrecarregando__getitem__
e__setitem__
dentronp.ndarray
mas como proceder com isso não está totalmente claro e há muitas implementações no SO que falham em muitos casos de teste.