Вот решение с использованием продукта от itertools. Создание списка строк и столбцов с суммами == 0 и поиск комбинаций между ними.
from itertools import product
my_array = np.matrix([[3, 7, 0, 0],
[0, 2, 0, 0],
[0, 0, 0, 0],
[0, 0, 1, 0]])
a = np.argwhere(my_array.sum(axis = 1) == 0)[:,0]
b = np.argwhere(my_array.sum(axis = 0) == 0)[:,1]
np.array(list(product(a,b)))
Microsoft подтвердила, что это - ошибка и что она фиксируется в.NET 4.0.
Насколько я могу сказать, эта ошибка только воспроизводит, если объект, который использует DynamicResource для обращения к ресурсу прикладного уровня..., никогда не делается частью визуального дерева. Хотел бы видеть некоторое доказательство противного к этому... или дальнейшему разъяснению по поводу того, когда эта утечка действительно происходит.
Обновление: Эта ошибка была также исправлена в.NET 3.5. Посмотрите эти текущие исправления для большего количества информации.