Here you can download
	Matlab wrappers for LAPACK. The name of the package is for now lapwrapmw.
	
	This package enables you to have access to some cool LAPACK
	functionnalities.  Up to release 0.8.4, you have access to
	
> [V,D] = syev(A,'dc');Four algorithms available, option 'dc' is 5 times faster than eig(A) for (n=800; A=randn(n);A=A+A';Julien's laptop)
> x = gels(A,b,'y');Four algorithms available.
0) Untar lapwrapmw-0.8.4.tar (this creates lapwrapmw-0.8.2 directory) On Linux: save the file lapwrapmw-0.8.4.tar command line: tar xvf lapwrapmw-0.8.2.tar On Windows: save the file lapwrapmw-0.8.4.tar use Winrar Extract command or use Cygwin tar -xvf command line 1) Launch Matlab 2) Go in the directory lapwrapmw-0.8.4 3) Type make_windows if you are running Microsoft Windows or make_linux if you are running linux/unix. 4) You can then call the functions, or run the demos (demo_gels, demo_syev) or type 'help gels', 'help syev'
 SYEV   Eigenvalues and eigenvectors of symmetric/Hermitian matrix.
	[D] = SYEV(A) computes the eigenvalues of a symmetric/Hermitian matrix A.
	First A is reduced to tridiagonal form so that A=Q1*T*Q1' then the
	symmetric QR iteration algorithm is used on the tridiagonal matrix T to
	find D, the eigenvalues of T. D corresponds to the eigenvalues of A. This
	routine calls LAPACK routine _SYEV/_HEEV.
	[V,D] = SYEV(A) computes eigenvalues and eigenvectors of a
	symmetric/Hermitian matrix A. First A is reduced to tridiagonal form so
	that A = Q1*T*Q1' then the symmetric QR iteration algorithm is used on the
	tridiagonal matrix T to find D, the eigenvalues of T, and Q2 the
	eigenvectors of T so that T = Q2*D*Q2'. D corresponds to the eigenvalues of
	A. The eigenvectors of A are such that V = Q1*Q2.
	
	[V,D] = SYEV(A,PARAM) computes eigenvalues and eigenvectors of a
	symmetric/Hermitian matrix A. Same as [V,D] = SYEV(A) except that PARAM
	enables to choose the method used in the symmetric tridiagonal
	eigenproblem.
	PARAM controls the algorithm used:
       'dc'
             stands for "Divide and Conquer"
             calls LAPACK routine _SYEVD/_HEEVD
       'mrrr'
             stands for "Multiple Relatively Robust Representations"
             calls LAPACK routine _SYEVR/_HEEVR
       'bx'
             stands for "bisection and inverse iteration"
             calls LAPACK routine _SYEVX/_HEEVX
       'qr'
             (default)
             stands for " symmetric QR iteration"
             calls LAPACK routine _SYEV/_HEEV
    When A is symmetric/Hermitian SYEV(A,'qr') is the same as EIG(A).
    See also: EIG.
		
		
 GELS   Solves an overdetermined or underdetermined linear problem.
    [X] = GELS(A,B) same as [X] = GELS(A,B,'default') 
    [X] = GELS(A,B,PARAM) if A is m-by-n and m > n then GELS computes the solution of the
    linear least squares problem
            min || A * X - B ||_F ,
    if A is m-by-n and m < n then GELS computes the solution of the minimum norm problem
            min || X ||_F s.t. A*X = B
    PARAM controls the algorithm used:
	
       'dc'
             performs SVD factorization of A using the divide and conquer
             method then solve the undetermined or overdetermined problem.
             calls LAPACK routine _GELSD
       'svd'
             performs SVD factorization of A using QR iterations then solve the
             undetermined or overdetermined problem.
             calls LAPACK routine _GELSS
       'y'
             performs QR factorization of A then solve the undetermined or
             overdetermined problem.
             calls LAPACK routine _GELSY
       'default'
             (default)
             performs QR factorization of A without pivoting, then solve the
             undetermined or overdetermined problem.  The fact that there is no
             pivoting in the QR factorization means that A(:,1:min(size(A))
             needs to be full rank.
             calls LAPACK routine _GELS
    When A is m-by-n with m > n then [X] = GELS(A,B) is the same as X=A\B.
    When A is m-by-n with m < n  then [X] = GELS(A,B,PARAM) is _not_ the same as
    X=A\B. [X] = GELS(A,B,PARAM) solves the problem
    (*)    min_X || X ||_F s.t. AX=B
    while X=A\B solves AX=B by first performing a QR factorization of A
          [Q,R,E] = QR(A)
    then X is obtained via
          X = E(:,1:m)*(R(:,1:m)\(Q'*b))] 
	The \ method is faster than GELS, X is such that AX=B but X is not (in the
	general case) the solution of (*).
    See also: \, MLDIVIDE.