In [1]:
# input matrix A
A = matrix([
[3, 1],
[2, -2]
])
#
In [2]:
m, n = A.dimensions()
assert m == n, "A must be n x n"
Mittelpunkte der Kreisscheiben sind die Werte $a_{i,i}$ der Hauptdiagonale.
In [3]:
show([A[i,i] for i in range(n)])
Radien der Kreisscheiben:
$$ r_i = - a_{i,i} + \sum_{j = 1}^{n} a_{i,j} $$$$ c_i = - a_{i,i} + \sum_{j = 1}^{n} a_{j,i} $$
In [4]:
Rs = [] # row sums
Cs = [] # column sums
for i in range(n):
r = sum([A[i, j] for j in range(n) if i != j])
Rs.append(r)
c = sum([A[j, i] for j in range(n) if i != j])
Cs.append(c)
show(Rs)
In [5]:
show(Cs)
Kreisscheibe
$$ R_i = \{ z \in \mathbb{C} \mid |z - a_{i,i}| \leq r_i \} $$
In [6]:
center_points = [[A[i,i], 0] for i in range(n)]
scatter_plot(center_points) + sum([ circle(cp, Rs[i]) for i, cp in enumerate(center_points) ])
Out[6]:
Kreisscheibe
$$ C_i = \{ z \in \mathbb{C} \mid |z - a_{i,i}| \leq c_i \} $$
In [7]:
scatter_plot(center_points) + sum([ circle(cp, Cs[i]) for i, cp in enumerate(center_points) ])
Out[7]:
In [ ]: