Namespaces | Macros | Functions | Variables
lapack.h File Reference

Header definitions for the standard LAPACK library. More...

#include "simple.h"
#include "def_internal.h"

Namespaces

 PLMD
 
 PLMD::lapack
 

Macros

#define _GMX_LAPACK_H_
 
#define __PLUMED_LAPACK_RETURNS_FLOAT   float
 

Functions

void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dbdsdc, DBDSDC)(const char *uplo
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dgetf2, DGETF2)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlamrg, DLAMRG)(int *n1
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlarnv, DLARNV)(int *idist
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasd0, DLASD0)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasda, DLASDA)(int *icompq
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasq6, DLASQ6)(int *i0
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dorgl2, DORGL2)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dbdsqr, DBDSQR)(const char *uplo
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dgetrf, DGETRF)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dgetri, DGETRI)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dgetrs, DGETRS)(const char *trans
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (dtrtri, DTRTRI)("Upper"
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dtrti2, DTRTI2)(const char *uplo
 
double PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlange, DLANGE)(const char *norm
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlarrbx, DLARRBX)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasd1, DLASD1)(int *nl
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasdq, DLASDQ)(const char *uplo
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasr, DLASR)(const char *side
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dorglq, DORGLQ)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dormtr, DORMTR)(const char *side
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dgebd2, DGEBD2)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlabrd, DLABRD)(int *m
 
double PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlanst, DLANST)(const char *norm
 
double PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlansy, DLANSY)(const char *norm
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlarrex, DLARREX)(const char *range
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasd2, DLASD2)(nl
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasdt, DLASDT)(n
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasrt, DLASRT)("D"
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasrt2, DLASRT2)(const char *id
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (ilasrt2, ILASRT2)(const char *id
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dorgqr, DORGQR)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dstebz, DSTEBZ)(const char *range
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dsteqr, DSTEQR)(const char *compz
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dgebrd, DGEBRD)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlacpy, DLACPY)(const char *uplo
 
double PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlapy2, DLAPY2)(double *x
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlarrfx, DLARRFX)(int *n
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasd3, DLASD3)(nl
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlaset, DLASET)("Full" = rho
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlassq, DLASSQ)(n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dorm2l, DORM2L)(const char *side
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dstegr, DSTEGR)(const char *jobz
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (ssteqr, SSTEQR)(const char *compz
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dgelq2, DGELQ2)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlae2, DLAE2)(double *a
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlaev2, DLAEV2)(double *a
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlar1vx, DLAR1VX)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlarrvx, DLARRVX)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasd4, DLASD4)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasq1, DLASQ1)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasv2, DLASV2)(double *f
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dorm2r, DORM2R)(const char *side
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dstein, DSTEIN)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dgelqf, DGELQF)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlaebz, DLAEBZ)(int *ijob
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlarf, DLARF)(const char *side
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlartg, DLARTG)(double *f
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasd5, DLASD5)(int *i__
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasq2, DLASQ2)(n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasq3, DLASQ3)(int *i0
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlaswp, DLASWP)(nrhs
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dormbr, DORMBR)(const char *vect
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dsterf, DSTERF)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dgeqr2, DGEQR2)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlaed6, DLAED6)(int *kniter
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlarfb, DLARFB)(const char *side
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlaruv, DLARUV)(int *iseed
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasd6, DLASD6)(int *icompq
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlatrd, DLATRD)(const char *uplo
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dorml2, DORML2)(const char *side
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dstevr, DSTEVR)(const char *jobz
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (dsytrd, DSYTRD)(uplo
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dsyevr, DSYEVR)(const char *jobz
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dormql, DORMQL)(const char *side
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dormqr, DORMQR)(const char *side
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dorgbr, DORGBR)(const char *vect
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasq5, DLASQ5)(int *i0
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasd8, DLASD8)(icompq
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlascl, DLASCL)("G"
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlarft, DLARFT)(const char *direct
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlagts, DLAGTS)(int *job
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dgesdd, DGESDD)(const char *jobz
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dsytd2, DSYTD2)(const char *uplo
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dormlq, DORMLQ)(const char *side
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dorg2r, DORG2R)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasq4, DLASQ4)(int *i0
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlasd7, DLASD7)(icompq
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlas2, DLAS2)(double *f
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlarfg, DLARFG)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dlagtf, DLAGTF)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (dgeqrf, DGEQRF)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sbdsdc, SBDSDC)(const char *uplo
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sgetf2, SGETF2)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slamrg, SLAMRG)(int *n1
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slarnv, SLARNV)(int *idist
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasd0, SLASD0)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasda, SLASDA)(int *icompq
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasq6, SLASQ6)(int *i0
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sorgl2, SORGL2)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sbdsqr, SBDSQR)(const char *uplo
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sgetrf, SGETRF)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sgetri, SGETRI)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sgetrs, SGETRS)(const char *trans
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (strtri, STRTRI)("Upper"
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (strti2, STRTI2)(const char *uplo
 
float PLMD::lapack::PLUMED_BLAS_F77_FUNC (slange, SLANGE)(const char *norm
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slarrbx, SLARRBX)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasd1, SLASD1)(int *nl
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasdq, SLASDQ)(const char *uplo
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasr, SLASR)(const char *side
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sorglq, SORGLQ)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sormtr, SORMTR)(const char *side
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sgebd2, SGEBD2)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slabrd, SLABRD)(int *m
 
float PLMD::lapack::PLUMED_BLAS_F77_FUNC (slanst, SLANST)(const char *norm
 
float PLMD::lapack::PLUMED_BLAS_F77_FUNC (slansy, SLANSY)(const char *norm
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slarrex, SLARREX)(const char *range
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasd2, SLASD2)(nl
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasdt, SLASDT)(n
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasrt, SLASRT)("D"
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasrt2, SLASRT2)(const char *id
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sorgqr, SORGQR)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sstebz, SSTEBZ)(const char *range
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sgebrd, SGEBRD)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slacpy, SLACPY)(const char *uplo
 
float PLMD::lapack::PLUMED_BLAS_F77_FUNC (slapy2, SLAPY2)(float *x
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slarrfx, SLARRFX)(int *n
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasd3, SLASD3)(nl
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (slaset, SLASET)("Full" = rho
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (slassq, SLASSQ)(n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sorm2l, SORM2L)(const char *side
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sstegr, SSTEGR)(const char *jobz
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sgelq2, SGELQ2)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slae2, SLAE2)(float *a
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slaev2, SLAEV2)(float *a
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slar1vx, SLAR1VX)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slarrvx, SLARRVX)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasd4, SLASD4)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasq1, SLASQ1)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasv2, SLASV2)(float *f
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sorm2r, SORM2R)(const char *side
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sstein, SSTEIN)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sgelqf, SGELQF)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slaebz, SLAEBZ)(int *ijob
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slarf, SLARF)(const char *side
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slartg, SLARTG)(float *f
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasd5, SLASD5)(int *i__
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasq2, SLASQ2)(n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasq3, SLASQ3)(int *i0
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (slaswp, SLASWP)(nrhs
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sormbr, SORMBR)(const char *vect
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (ssterf, SSTERF)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sgeqr2, SGEQR2)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slaed6, SLAED6)(int *kniter
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slarfb, SLARFB)(const char *side
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slaruv, SLARUV)(int *iseed
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasd6, SLASD6)(int *icompq
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slatrd, SLATRD)(const char *uplo
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sorml2, SORML2)(const char *side
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sstevr, SSTEVR)(const char *jobz
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (ssytrd, SSYTRD)(uplo
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (ssyevr, SSYEVR)(const char *jobz
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sormql, SORMQL)(const char *side
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sormqr, SORMQR)(const char *side
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sorgbr, SORGBR)(const char *vect
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasq5, SLASQ5)(int *i0
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasd8, SLASD8)(icompq
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (slascl, SLASCL)("G"
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slarft, SLARFT)(const char *direct
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slagts, SLAGTS)(int *job
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sgesdd, SGESDD)(const char *jobz
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (ssytd2, SSYTD2)(const char *uplo
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sormlq, SORMLQ)(const char *side
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sorg2r, SORG2R)(int *m
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasq4, SLASQ4)(int *i0
 
 PLMD::lapack::PLUMED_BLAS_F77_FUNC (slasd7, SLASD7)(icompq
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slas2, SLAS2)(float *f
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slarfg, SLARFG)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (slagtf, SLAGTF)(int *n
 
void PLMD::lapack::PLUMED_BLAS_F77_FUNC (sgeqrf, SGEQRF)(int *m
 

Variables

void int double int double * PLMD::lapack::dmin
 
void double double double double double double * PLMD::lapack::cs2
 

Detailed Description

Header definitions for the standard LAPACK library.

This is the subset of LAPACK routines used for the linear algebra operations in Gromacs. Most of the execution time will be spent in the BLAS routines, which you hopefully have an optimized version of. Gromacs includes reference implementations of both BLAS and LAPACK so it compiles everywhere, but you should really try to find a vendor or otherwise optimized version at least of BLAS for better performance.

Do NOT use this code for other purposes - we only provide this as a simple fallback/reference implementation when no optimized BLAS is present. If you need an implementation for your own code there are several much faster versions out there.

All routines are compatible with the LAPACK/BLAS reference implementations, meaning they assume fortran-style matrix row/column organization.

There is plenty of documentation for these routines available at http://www.netlib.org/lapack , so there is no point in repeating it here.

Macro Definition Documentation

◆ __PLUMED_LAPACK_RETURNS_FLOAT

#define __PLUMED_LAPACK_RETURNS_FLOAT   float

◆ _GMX_LAPACK_H_

#define _GMX_LAPACK_H_