import numpy as np from .carry import Carry xy_2 = Carry([[-2,1],[1,0]]) xy_3 = Carry([[-3,1],[1,0]]) x2y_3 = Carry([[-3,2],[1,0]]) x3y_4 = Carry([[-4,3],[1,0]]) laplace = Carry([[0,1,0],[1,-4,1],[0,1,0]]) laplace3 = Carry([[0,0,0],[1,-3,1],[0,1,0]]) almost_folium = Carry([[0,0,1], [0,-2,0], [1,0,0]]) folium = Carry([ [ 0, 0,0, 1], [ 0,-2,0, 0], [ 0, 0,0, 0], [ 1, 0,0, 0] ]) folium3 = Carry([ [ 0, 0,0, 1], [ 0,-3,0, 0], [ 0, 0,0, 0], [ 1, 0,0, 0] ]) folium4 = Carry([ [ 0, 0, 0, 1, 0], [ 0, 0, 0, 0, 1], [ 0, 0,-4, 0, 0], [ 1, 0, 0, 0, 0], [ 0, 1, 0, 0, 0] ]) def triangle_spread(n): ret = np.zeros((n + 1, n + 1), dtype=np.int32) ret[0, 0] = 1 ret[1, 1] = -3 ret[n, 0] = 1 ret[0, n] = 1 return ret triangle1 = Carry(triangle_spread(1)) triangle2 = Carry(triangle_spread(2)) triangle3 = Carry(triangle_spread(3)) #factorable! triangle4 = Carry(triangle_spread(4)) tri3_rot = Carry([ [ 0, 0, 1, 0, 0], [ 0, 0,-3, 0, 0], [ 1, 0, 0, 0, 1] ]) tri3_rot_real = Carry([ [ 0, 0, 0, 1, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0,-3, 0, 0, 0], [ 1, 0, 0, 0, 0, 0, 1] ]) tri3_rot2 = Carry([ [ 0, 1, 0], [ 0,-3, 0], [ 1, 0, 1] ]) tri3_tall = Carry([ [ 0, 1, 0], [ 0, 0, 0], [ 0,-3, 0], [ 1, 0, 1] ]) tri3_tall2 = Carry([ [ 0, 1, 0], [ 0,-3, 0], [ 0, 0, 0], [ 1, 0, 1] ])