关于给一个矩阵求子模式矩阵的编程问题
假如一个各行各列之和都相等的矩阵,如3阶的D=[3 4 2;4 4 1;2 1 6]可以这样求其子模式矩阵先找到矩阵中最小非零的元素是1,然后构造第一个子模式矩阵为T1=[1 0 0;0 0 1;0 1 0],模式矩阵要求每行每列只能有一个元素,且都为那个最小非零的元素组成.接着D=D-T1=[2 4 2;4 4 0;2 0 6],然后又对新的D求子模式矩阵为T2=[0 0 2; 0 2 0;2 0 0]接着D=D-T2=[2 4 0;4 2 0;0 0 6].然后又求T3=[2 0 0;0 2 0;0 0 2]接着D=D-T3=[0 4 0;4 0 0;0 0 4]刚好此时的D也是最后一个T4这样D都能由求出来的所有的子模式矩阵相加而成(D=T1+T2+T3+T4...)子模式矩阵最好能包括尽量多的上一步D中的最小元素(很多时候不能包括完,只能包括一部分这些元素),这样的3阶子模式矩阵只能有3个非零元素,不能多也不能少,求这样的问题的算法,举一个3阶的或者4阶的矩阵就可以了,谢谢