Учитывая матрицу A, а также список индексов строк и список индексов столбцов, как эффективно извлечь квадратные подматрицы с размером k, центрированным индексами строк и столбцов?
Например:
A = array([[12, 6, 14, 8, 4, 1],
[18, 13, 8, 10, 9, 19],
[ 8, 15, 6, 5, 6, 18],
[ 3, 0, 2, 14, 13, 12],
[ 4, 4, 5, 19, 0, 14],
[16, 8, 7, 7, 11, 0],
[ 3, 11, 2, 19, 11, 5],
[ 4, 2, 1, 9, 12, 12]])
r = np.array([2, 5])
c = np.array([3, 2])
k = 3
Выходные данные должны быть A[1:4, 2:5]
и A[4:7, 1:4]
. Таким образом, в основном выходные данные представляют собой квадратные подматрицы размером kxk
и центрированы на элементах [r, c] (в данном случае A [2,3] и A [5,2])
Как это сделатьэто качественно и элегантно? Спасибо