trsolve function now working properly but swap function not working properly with container_shared_ref. Added alpha as a parameter in trsm.
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
Modified default cases to be more generic