Self Adapting Linear Algebra Algorithms and Software