Modified linsolve :
removed intermediary calls with shape_analysis that were not relevant
calls of type X-R = linsolve(a,b) will now use lapack routine with iterative refinement if available for rcond
Added mixed precision semi normal equations as a dipatch case
Added dispatch case for triangular matrices
Modified default cases to be more generic