lapack_qz.h
Go to the documentation of this file.
1//LIC// ====================================================================
2//LIC// This file forms part of oomph-lib, the object-oriented,
3//LIC// multi-physics finite-element library, available
4//LIC// at http://www.oomph-lib.org.
5//LIC//
6//LIC// Copyright (C) 2006-2025 Matthias Heil and Andrew Hazel
7//LIC//
8//LIC// This library is free software; you can redistribute it and/or
9//LIC// modify it under the terms of the GNU Lesser General Public
10//LIC// License as published by the Free Software Foundation; either
11//LIC// version 2.1 of the License, or (at your option) any later version.
12//LIC//
13//LIC// This library is distributed in the hope that it will be useful,
14//LIC// but WITHOUT ANY WARRANTY; without even the implied warranty of
15//LIC// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16//LIC// Lesser General Public License for more details.
17//LIC//
18//LIC// You should have received a copy of the GNU Lesser General Public
19//LIC// License along with this library; if not, write to the Free Software
20//LIC// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21//LIC// 02110-1301 USA.
22//LIC//
23//LIC// The authors may be contacted at oomph-lib@maths.man.ac.uk.
24//LIC//
25//LIC//====================================================================
26//QZ-ehader
27/// The BLAS DOUBLE dot-product
28/// Fortran interface : FUNCTION DDOT(N,X,INCX,Y,INCY)
29//PROTOCCALLSFFUN5( DOUBLE, DDOT, ddot, INT, DOUBLEV, INT, DOUBLEV, INT )
30//#define BLAS_DDOT(N,X,INCX,Y,INCY) CCALLSFFUN5(DDOT,ddot,INT,DOUBLEV,INT,DOUBLEV,INT,N,X,INCX,Y,INCY)
31
32// The BLAS DOUBLE matrix multiplier
33// Fortran interface : SUBROUTINE DGEMM(TRANSA,TRANSB,M,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
34//PROTOCCALLSFSUB13( DGEMM, dgemm, STRING, STRING, INT, INT, INT, DOUBLE, DOUBLEV, INT, DOUBLEV, INT, DOUBLE, DOUBLEV, INT )
35//#define BLAS_DGEMM(TRANSA,TRANSB,M,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC) CCALLSFSUB13(DGEMM,dgemm,STRING,STRING,INT,INT,INT,DOUBLE,DOUBLEV,INT,DOUBLEV,INT,DOUBLE,DOUBLEV,INT,TRANSA,TRANSB,M,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
36
37// The LAPACK LU solver for a DOUBLE DENSE matrix
38// Fortran interface : SUBROUTINE DGESV(N,NRHS,A,LDA,IPIV,B,LDB,INFO )
39//PROTOCCALLSFSUB8( DGESV, dgesv, INT, INT, DOUBLEV, INT, INTV, DOUBLEV, INT, PINT )
40//#define LAPACK_DGESV(N,NRHS,A,LDA,IPIV,B,LDB,INFO) CCALLSFSUB8(DGESV,dgesv,INT,INT,DOUBLEV,INT,INTV,DOUBLEV,INT,PINT,N,NRHS,A,LDA,IPIV,B,LDB,INFO)
41
42// The LAPACK LU solver for a DOUBLE BANDED matrix
43// Fortran interface : SUBROUTINE DGBSV(N,KL,KU,NRHS,AB,LDAB,IPIV,B,LDB,INFO)
44//PROTOCCALLSFSUB10( DGBSV, dgbsv, INT, INT, INT, INT, DOUBLEV, INT, INTV, DOUBLEV, INT, PINT )
45//#define LAPACK_DGBSV(N,KL,KU,NRHS,AB,LDAB,IPIV,B,LDB,INFO) CCALLSFSUB10(DGBSV,dgbsv,INT,INT,INT,INT,DOUBLEV,INT,INTV,DOUBLEV,INT,PINT,N,KL,KU,NRHS,AB,LDAB,IPIV,B,LDB,INFO)
46
47// The LAPACK DOUBLE GENERALISED eigenvalue solver
48// Fortran interface : SUBROUTINE DGGEV(JOBVL,JOBVR,N,A,LDA,B,LDB,ALPHAR,ALPHAI,BETA,VL,LDVL,VR,LDVR,WORK,LWORK,INFO)
50#define LAPACK_DGGEV(JOBVL,JOBVR,N,A,LDA,B,LDB,ALPHAR,ALPHAI,BETA,VL,LDVL,VR,LDVR,WORK,LWORK,INFO) CCALLSFSUB17(DGGEV,dggev,STRING,STRING,INT,DOUBLEV,INT,DOUBLEV,INT,DOUBLEV,DOUBLEV,DOUBLEV,DOUBLEV,INT,DOUBLEV,INT,DOUBLEV,INT,PINT,JOBVL,JOBVR,N,A,LDA,B,LDB,ALPHAR,ALPHAI,BETA,VL,LDVL,VR,LDVR,WORK,LWORK,INFO)
51
52// The LAPACK COMPLEX GENERALISE eigenvalue solver
53// Fortran interface : SUBROUTINE ZGGEV(JOBVL,JOBVR,N,A,LDA,B,LDB,ALPHA,BETA,VL,LDVL,VR,LDVR,WORK,LWORK,RWORK,INFO)
55// jobvl jobvr n a lda b ldb alpha beta vl ldvl vr ldvr work lwork rwork info
56#define LAPACK_ZGGEV(JOBVL,JOBVR,N,A,LDA,B,LDB,ALPHA,BETA,VL,LDVL,VR,LDVR,WORK,LWORK,RWORK,INFO) CCALLSFSUB17(ZGGEV,zggev,STRING,STRING,INT,DOUBLEV,INT,DOUBLEV,INT,DOUBLEV,DOUBLEV,DOUBLEV,INT,DOUBLEV,INT,DOUBLEV,INT,DOUBLEV,PINT,JOBVL,JOBVR,N,A,LDA,B,LDB,ALPHA,BETA,VL,LDVL,VR,LDVR,WORK,LWORK,RWORK,INFO)
PINT
Definition frontal.h:31
INT
Definition lapack_qz.h:54
PROTOCCALLSFSUB17(DGGEV, dggev, STRING, STRING, INT, DOUBLEV, INT, DOUBLEV, INT, DOUBLEV, DOUBLEV, DOUBLEV, DOUBLEV, INT, DOUBLEV, INT, DOUBLEV, INT, PINT) PROTOCCALLSFSUB17(ZGGEV
The BLAS DOUBLE dot-product Fortran interface : FUNCTION DDOT(N,X,INCX,Y,INCY)
zggev
Definition lapack_qz.h:54
STRING
Definition lapack_qz.h:54
DOUBLEV
Definition lapack_qz.h:54