The topic is quite extensive, there are a number of widely used storage schemes and many solution algorithms depending on specific goals. There are many literatures, but it will take a year to sort everything out, or even more than one. What is needed is speed optimization for a rather specific type of matrices and very limited actions with them. Maybe someone from here present understands this topic not by hearsay and can help navigate?
There are large matrices, sparse (less than 1% of non-zero elements), with a main diagonal, symmetrical, contain only 0 and 1, all very similar, images of examples: http://imgur.com/a/rYjIq
These are small, will be up to 150,000 orders. Similar to tapes, the solution of which comes down to seconds, but there is rubbish around, I don’t know if they can be brought to tape ones or is there no point and there are other methods for this problem? I need to come up with an algorithm for the program to solve them. So far, he has implemented solutions of the SLAE by the Gauss method, optimized for 64bit taking into account boolean variables (storage in the form of bits for faster multiplication and addition operations). The result is 50.041 x 50.041, which has 0.73% of non-zero elements, is solved in about 10 minutes, which is not correct and it is clear that you need to change the logic, and not optimize further. They told about sparse matrices and this topic is very suitable for my case, but I can not decide which algorithm is most suitable for my task in order not to try everything.