Variable storage conjugate gradient methods