Como vectorizar a diagonalização em linha de uma matriz
Eu tenho uma matriz n-por-m que eu quero converter em uma matriz de mn por m, com cada bloco m-by-m do resultado contendo a diagonal de cada linha.
Por exemplo, se a entrada for:
[1 2; 3 4; 5 6]
a saída deve ser:
[1 0; 0 2; 3 0; 0 4; 5 0; 0 6]
Claro, eu não quero montar a matriz passo a passo eu mesmo com umfor
loop.
Existe uma maneira vetorizada e simples de conseguir isso?