How to cycle through matrix blocks?
Posted
by luiss
on Stack Overflow
See other posts from Stack Overflow
or by luiss
Published on 2009-10-08T08:08:23Z
Indexed on
2010/03/16
1:09 UTC
Read the original article
Hit count: 361
I have some matrix which I want to cycle through blocks, the matrix could be of many different sizes, but I can know the size, is there a way to fast cycle through blocks? i.e: to fast output the indexes of the blocks, suppose a matrix of 4*4 I should have:
Block1: (0,0),(0,1)(1,0)(1,1)
Block2: (0,2),(0,3)(1,2)(1,3)
Block3: (2,0),(2,1)(3,0)(3,1)
Block4: (2,2),(2,3)(3,2)(3,3)
Where the indexes are (row,col).
For blocks I mean a submatrix of size sqrt(matrixSize)* sqrt(matrixSize) where matrix is a matrix of matrixSize*matrixSize. For example a matrix of 4*4 has 4 blocks of 2*2, a 9*9 has 9 blocks of 3*3...
I'm workdeing in C, but I think that the pseudocode is useful also, I only need the loop on the indexes... Thanks
© Stack Overflow or respective owner