Toggle navigation
Documentation
Big picture
The finite element method
The data structure
Not-so-quick guide
Optimisation
Order of action functions
Example codes and tutorials
List of example codes and tutorials
Meshing
Solvers
MPI parallel processing
Post-processing/visualisation
Other
Change log
Creating documentation
Coding conventions
Index
FAQ
Installation
Installation guide
Copyright
About
People
Contact/Get involved
Publications
Acknowledgements
Picture show
Go
src
generic
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-2024 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)
49
PROTOCCALLSFSUB17
( DGGEV, dggev,
STRING
,
STRING
,
INT
,
DOUBLEV
,
INT
,
DOUBLEV
,
INT
,
DOUBLEV
,
DOUBLEV
,
DOUBLEV
,
DOUBLEV
,
INT
,
DOUBLEV
,
INT
,
DOUBLEV
,
INT
,
PINT
)
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)
54
PROTOCCALLSFSUB17
( ZGGEV,
zggev
,
STRING
,
STRING
,
INT
,
DOUBLEV
,
INT
,
DOUBLEV
,
INT
,
DOUBLEV
,
DOUBLEV
,
DOUBLEV
,
INT
,
DOUBLEV
,
INT
,
DOUBLEV
,
INT
,
DOUBLEV
,
PINT
)
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
PINT
Definition:
frontal.h:31
INT
INT
Definition:
lapack_qz.h:54
PROTOCCALLSFSUB17
PROTOCCALLSFSUB17(DGGEV, dggev, STRING, STRING, INT, DOUBLEV, INT, DOUBLEV, INT, DOUBLEV, DOUBLEV, DOUBLEV, DOUBLEV, INT, DOUBLEV, INT, DOUBLEV, INT, PINT) PROTOCCALLSFSUB17(ZGGEV
zggev
zggev
Definition:
lapack_qz.h:54
STRING
STRING
Definition:
lapack_qz.h:54
DOUBLEV
DOUBLEV
Definition:
lapack_qz.h:54