Examples for assignment 4#
The code snippet below gives the matrices \(\mathrm{A}\) and vectors \(\mathbf{b}\) used in assignment 4 for \(N=2\), \(N=3\), \(N=4\), \(N=5\).
For \(N=2\), there is only one point in the interior, so we have a 1 by 1 matrix and a vector of length 1.
For \(N=3\), there are four points in the interior, so we have a 4 by 4 matrix and a vector of length 4. In this example, we number the points like this:
\[\begin{split}
\begin{array}{cc}
2&3\\
0&1
\end{array}
\end{split}\]
For \(N=4\), there are nine points in the interior, so we have a 9 by 9 matrix and a vector of length 9. In this example, we number the points like this:
\[\begin{split}
\begin{array}{ccc}
6&7&8\\
3&4&5\\
0&1&2
\end{array}
\end{split}\]
For \(N=5\), there are 16 points in the interior, so we have a 16 by 16 matrix and a vector of length 16. In this example, we number the points like this:
\[\begin{split}
\begin{array}{cccc}
12&13&14&15\\
8&9&10&11\\
4&5&6&7\\
0&1&2&3
\end{array}
\end{split}\]
import numpy as np
# A and b for N=2
A_2 = np.array([
[-0.11111111111111116],
])
b_2 = np.array([0.2699980311833446])
# A and b for N=3
A_3 = np.array([
[1.4320987654320987, -0.6419753086419753, -0.6419753086419753, -0.4104938271604938],
[-0.6419753086419753, 1.4320987654320987, -0.4104938271604938, -0.6419753086419753],
[-0.6419753086419753, -0.4104938271604938, 1.4320987654320987, -0.6419753086419753],
[-0.4104938271604938, -0.6419753086419753, -0.6419753086419753, 1.4320987654320987],
])
b_3 = np.array([1.7251323007221917, 0.15334285313223067, -0.34843455260733003, -1.0558651156722307])
# A and b for N=4
A_4 = np.array([
[1.972222222222222, -0.5069444444444444, 0.0, -0.5069444444444444, -0.3767361111111111, 0.0, 0.0, 0.0, 0.0],
[-0.5069444444444444, 1.972222222222222, -0.5069444444444444, -0.3767361111111111, -0.5069444444444444, -0.3767361111111111, 0.0, 0.0, 0.0],
[0.0, -0.5069444444444444, 1.972222222222222, 0.0, -0.3767361111111111, -0.5069444444444444, 0.0, 0.0, 0.0],
[-0.5069444444444444, -0.3767361111111111, 0.0, 1.972222222222222, -0.5069444444444444, 0.0, -0.5069444444444444, -0.3767361111111111, 0.0],
[-0.3767361111111111, -0.5069444444444444, -0.3767361111111111, -0.5069444444444444, 1.972222222222222, -0.5069444444444444, -0.3767361111111111, -0.5069444444444444, -0.3767361111111111],
[0.0, -0.3767361111111111, -0.5069444444444444, 0.0, -0.5069444444444444, 1.972222222222222, 0.0, -0.3767361111111111, -0.5069444444444444],
[0.0, 0.0, 0.0, -0.5069444444444444, -0.3767361111111111, 0.0, 1.972222222222222, -0.5069444444444444, 0.0],
[0.0, 0.0, 0.0, -0.3767361111111111, -0.5069444444444444, -0.3767361111111111, -0.5069444444444444, 1.972222222222222, -0.5069444444444444],
[0.0, 0.0, 0.0, 0.0, -0.3767361111111111, -0.5069444444444444, 0.0, -0.5069444444444444, 1.972222222222222],
])
b_4 = np.array([1.4904895819530766, 1.055600747809247, 0.07847904705126368, 0.8311407883427149, 0.0, -0.8765020708205272, -0.6433980946818605, -0.7466392365712349, -0.538021498324083])
# A and b for N=5
A_5 = np.array([
[2.222222222222222, -0.4444444444444444, 0.0, 0.0, -0.4444444444444444, -0.3611111111111111, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[-0.4444444444444444, 2.222222222222222, -0.4444444444444444, 0.0, -0.3611111111111111, -0.4444444444444444, -0.3611111111111111, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[0.0, -0.4444444444444444, 2.222222222222222, -0.4444444444444444, 0.0, -0.3611111111111111, -0.4444444444444444, -0.3611111111111111, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[0.0, 0.0, -0.4444444444444444, 2.222222222222222, 0.0, 0.0, -0.3611111111111111, -0.4444444444444444, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[-0.4444444444444444, -0.3611111111111111, 0.0, 0.0, 2.222222222222222, -0.4444444444444444, 0.0, 0.0, -0.4444444444444444, -0.3611111111111111, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[-0.3611111111111111, -0.4444444444444444, -0.3611111111111111, 0.0, -0.4444444444444444, 2.222222222222222, -0.4444444444444444, 0.0, -0.3611111111111111, -0.4444444444444444, -0.3611111111111111, 0.0, 0.0, 0.0, 0.0, 0.0],
[0.0, -0.3611111111111111, -0.4444444444444444, -0.3611111111111111, 0.0, -0.4444444444444444, 2.222222222222222, -0.4444444444444444, 0.0, -0.3611111111111111, -0.4444444444444444, -0.3611111111111111, 0.0, 0.0, 0.0, 0.0],
[0.0, 0.0, -0.3611111111111111, -0.4444444444444444, 0.0, 0.0, -0.4444444444444444, 2.222222222222222, 0.0, 0.0, -0.3611111111111111, -0.4444444444444444, 0.0, 0.0, 0.0, 0.0],
[0.0, 0.0, 0.0, 0.0, -0.4444444444444444, -0.3611111111111111, 0.0, 0.0, 2.222222222222222, -0.4444444444444444, 0.0, 0.0, -0.4444444444444444, -0.3611111111111111, 0.0, 0.0],
[0.0, 0.0, 0.0, 0.0, -0.3611111111111111, -0.4444444444444444, -0.3611111111111111, 0.0, -0.4444444444444444, 2.222222222222222, -0.4444444444444444, 0.0, -0.3611111111111111, -0.4444444444444444, -0.3611111111111111, 0.0],
[0.0, 0.0, 0.0, 0.0, 0.0, -0.3611111111111111, -0.4444444444444444, -0.3611111111111111, 0.0, -0.4444444444444444, 2.222222222222222, -0.4444444444444444, 0.0, -0.3611111111111111, -0.4444444444444444, -0.3611111111111111],
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.3611111111111111, -0.4444444444444444, 0.0, 0.0, -0.4444444444444444, 2.222222222222222, 0.0, 0.0, -0.3611111111111111, -0.4444444444444444],
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.4444444444444444, -0.3611111111111111, 0.0, 0.0, 2.222222222222222, -0.4444444444444444, 0.0, 0.0],
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.3611111111111111, -0.4444444444444444, -0.3611111111111111, 0.0, -0.4444444444444444, 2.222222222222222, -0.4444444444444444, 0.0],
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.3611111111111111, -0.4444444444444444, -0.3611111111111111, 0.0, -0.4444444444444444, 2.222222222222222, -0.4444444444444444],
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.3611111111111111, -0.4444444444444444, 0.0, 0.0, -0.4444444444444444, 2.222222222222222],
])
b_5 = np.array([1.2673039440507343, 0.9698054647507671, 1.0133080988552785, 0.07206335813040798, 0.9472174493756345, 0.0, 0.0, -0.9416429716282946, 0.6400834406610956, 0.0, 0.0, -0.7322882523543968, -0.8159823324771336, -0.9192523853093425, -0.48342793699793585, -0.19471066818706848])