Я ищу быстрое выполнение для следующего, я назову его Position2D
из-за отсутствия лучшего термина:
Position2D[ matrix, sub_matrix ]
который находит расположение sub_matrix
внутри matrix
и возвращает верхнюю левую и нижнюю правую строку/столбец совпадения.
Например, это:
Position2D[{
{0, 1, 2, 3},
{1, 2, 3, 4},
{2, 3, 4, 5},
{3, 4, 5, 6}
}, {
{2, 3},
{3, 4}
}]
должен вернуть это:
{
{{1, 3}, {2, 4}},
{{2, 2}, {3, 3}},
{{3, 1}, {4, 2}}
}
Он должен быть достаточно быстрым, чтобы быстро работать с матрицами 3000x2000
с субматрицами 100x100
. Для простоты достаточно рассматривать только целые матрицы.