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])