Basically I need to program large (10000 square) sparse symmetric matrices in C efficiently. Can someone point me towards some literature on this?

Could someone also provide a sample bit of code that takes an integer n and malloc's an n x n matrix? It's midday and I still haven't woken up properly!

Thanks in advance,
Matt