79 lines
1.4 KiB
Python
79 lines
1.4 KiB
Python
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]
|
|
])
|