Data allocation strategies for the Gauss and Jordan algorithms on a ring of processors