Removed toolbox from path
Moved generalized lapack functions in new folder
Added Lapack functions :
- dgesvx : computes the solution of a linear system and refines it to improve the computed
solution
-dsgesv : mixed-precision solver that tries to do the most costly steps of the solve(LU) in
single-precision and then refines it up to double precision/
Addition of new lapack kernels for general matrices :
- sv : general solver with lu modified
- svx: general solver with iterative refinement
- Msv: mixed precision iterative refinement
- Lsy: Least square problem type resolution
- con: computes the reciprocal condition number
-lange : returns the value of the one-norm, frobenius norm or infinity norm
Lapack kernels for positive definite functions :
- posv : equivalent of general solver dgesv for positive definite matrices
- posvx: solver with iterative refinement
- mposv: mixed-precision solver
- pocon: optimized kernel call to compute the reciprocal condition number on positive definite matrices
Modifications of the function concrete so that it returns the the original value or the value
of the evaluated expression. Added new shapes for the solver linsolve to do a proper dispatch.
Lapack kernels for symmetric matrices :
- ysv : equivalent of the general solver dgesv for symmetric matrices
- ysvx: solver with iterative refinement
- sycon: optimized computation of the reciprocal condition number for symmetric matrices
- lansy: optimized computation of the norm of symmetric matrices
Implementation of the actual solvers disponible in Lapack for linsolve. Those functions
will be accesible with a static parameter that defines the conditioning of the
system:
-clinsolve : classic solvers (gesv,sysv,posv)
-plinsolve : iterative refinement solvers(gesvx,sysvx,posvx)
-mlinsolve : mixed-precision solvers(dsgesv, dsposv)
Inside each solver, a dispatch is done on the shape of the matrix to choose which
underlying lapack call to make.
Implementation of the new solver linsolve (called linsolv for now as the old one has not been
discarded yet). It matches the general Matlab function linsolve , but the shape of the system is
redefined as a static property that can be defined when creating an nt2 table. The conditionning of the
system has been added as an option parameter to the function to choose the most optimized
Lapack kernel call available with each situation.
The solver linsolve is independant from the underlying architecture, it will just dispatch on the
correct solvers available (clinsolve, plinsolve, mlinsolve) with the conditionning parameter and
will passing on the entry parameters.
Modfied the path of the current benchmarks by removing the toolbox and
added new benchmarks for linsolve.