00001
00015 #ifndef _DLR_LINEARALGEBRA_CLAPACK_H_
00016 #define _DLR_LINEARALGEBRA_CLAPACK_H_
00017
00018 #include <dlrCommon/types.h>
00019
00020 #ifdef __cplusplus
00021 extern "C" {
00022 #endif
00023
00029 void dgeev_(char* JOBVL, char* JOBVR, dlr::Int32* N,
00030 dlr::Float64* A, dlr::Int32* LDA,
00031 dlr::Float64* WR, dlr::Float64* WI,
00032 dlr::Float64* VL, dlr::Int32* LDVL,
00033 dlr::Float64* VR, dlr::Int32* LDVR,
00034 dlr::Float64* WORK, dlr::Int32* LWORK,
00035 dlr::Int32* INFO);
00036
00037
00042 void dgels_(char* TRANS, dlr::Int32* M, dlr::Int32* N, dlr::Int32* NRHS,
00043 dlr::Float64* A, dlr::Int32* LDA,
00044 dlr::Float64* B, dlr::Int32* LDB,
00045 dlr::Float64* WORK, dlr::Int32* LWORK, dlr::Int32* INFO);
00046
00047
00054 void dgesdd_(char* JOBZ, dlr::Int32* M, dlr::Int32* N,
00055 dlr::Float64* A, dlr::Int32* LDA, dlr::Float64* S,
00056 dlr::Float64* U, dlr::Int32* LDU,
00057 dlr::Float64* VT, dlr::Int32* LDVT,
00058 dlr::Float64* WORK, dlr::Int32* LWORK,
00059 dlr::Int32* IWORK, dlr::Int32* INFO);
00060
00061
00066 void dgesv_(dlr::Int32* N, dlr::Int32* NRHS,
00067 dlr::Float64 *A, dlr::Int32* LDA,
00068 dlr::Int32* IPIV,
00069 dlr::Float64* B, dlr::Int32* LDB,
00070 dlr::Int32* INFO);
00071
00072
00077 void dgeqrf_(dlr::Int32* M, dlr::Int32* N,
00078 dlr::Float64* A, dlr::Int32* LDA,
00079 dlr::Float64* TAU, dlr::Float64* WORK,
00080 dlr::Int32* LWORK, dlr::Int32* INFO);
00081
00082
00087 void dgetrf_(dlr::Int32* M, dlr::Int32* N,
00088 dlr::Float64* A, dlr::Int32* LDA,
00089 dlr::Int32* IPIV, dlr::Int32* INFO);
00090
00091
00097 void dlarnv_(dlr::Int32* IDIST, dlr::Int32* ISEED, dlr::Int32* N,
00098 dlr::Float64* X);
00099
00100
00106 void dgtsv_(dlr::Int32* N, dlr::Int32* NRHS,
00107 dlr::Float64* DL, dlr::Float64* D, dlr::Float64* DU,
00108 dlr::Float64* B, dlr::Int32* LDB, dlr::Int32* INFO);
00109
00110
00116 void dpotrf_(char* UPLO, dlr::Int32* N, dlr::Float64* A,
00117 dlr::Int32* LDA, dlr::Int32* INFO);
00118
00119
00125 void dsyev_(char* JOBZ, char* UPLO, dlr::Int32* N,
00126 dlr::Float64* A, dlr::Int32* LDA, dlr::Float64* W,
00127 dlr::Float64* WORK, dlr::Int32* LWORK, dlr::Int32* INFO);
00128
00129 #ifdef __cplusplus
00130 }
00131 #endif
00132 #endif