1. A method of increasing at least one of efficiency and speed in executing a matrix subroutine on a computer, said method comprising: storing data contiguously for a matrix subroutine call in a computer memory in an increment block size that is based on a cache size of said computer, wherein said cache comprises a cache having a cache size CS and said block increment size comprises a block of size 2NB by NB/2, wherein NB 2 =αCS, α<1, so that said block occupies a sizeable portion of said cache, said contiguous blocks of data thereby increasing efficiency and/or speed by providing data that will remain resident in said cache and is arranged in an order expected for processing of said matrix subroutine call.