SCIP-SDP  4.0.0
lapack_interface.h
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2 /* */
3 /* This file is part of SCIPSDP - a solving framework for mixed-integer */
4 /* semidefinite programs based on SCIP. */
5 /* */
6 /* Copyright (C) 2011-2013 Discrete Optimization, TU Darmstadt */
7 /* EDOM, FAU Erlangen-Nürnberg */
8 /* 2014-2021 Discrete Optimization, TU Darmstadt */
9 /* */
10 /* */
11 /* This program is free software; you can redistribute it and/or */
12 /* modify it under the terms of the GNU Lesser General Public License */
13 /* as published by the Free Software Foundation; either version 3 */
14 /* of the License, or (at your option) any later version. */
15 /* */
16 /* This program is distributed in the hope that it will be useful, */
17 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
18 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
19 /* GNU Lesser General Public License for more details. */
20 /* */
21 /* You should have received a copy of the GNU Lesser General Public License */
22 /* along with this program; if not, write to the Free Software */
23 /* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.*/
24 /* */
25 /* */
26 /* Based on SCIP - Solving Constraint Integer Programs */
27 /* Copyright (C) 2002-2021 Zuse Institute Berlin */
28 /* SCIP is distributed under the terms of the SCIP Academic Licence, */
29 /* see file COPYING in the SCIP distribution. */
30 /* */
31 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
32 
39 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
40 
41 #ifndef __SCIP_LAPACK_INTERFACE_H__
42 #define __SCIP_LAPACK_INTERFACE_H__
43 
44 #include "scip/def.h"
45 #include "blockmemshell/memory.h"
46 #include "scip/type_retcode.h"
47 
48 #ifdef __cplusplus
49 extern "C" {
50 #endif
51 
53 SCIP_EXPORT
55  BMS_BUFMEM* bufmem,
56  SCIP_Bool geteigenvectors,
57  int n,
58  SCIP_Real* A,
59  int i,
60  SCIP_Real* eigenvalue,
61  SCIP_Real* eigenvector
62  );
63 
65 SCIP_EXPORT
67  BMS_BUFMEM* bufmem,
68  SCIP_Bool geteigenvectors,
69  int n,
70  SCIP_Real* A,
71  int i,
72  SCIP_Real* eigenvalue,
73  SCIP_Real* eigenvector
74  );
75 
77 SCIP_EXPORT
79  BMS_BUFMEM* bufmem,
80  int n,
81  SCIP_Real* A,
82  SCIP_Real tol,
83  int* neigenvalues,
84  SCIP_Real* eigenvalues,
85  SCIP_Real* eigenvectors
86  );
87 
89 SCIP_EXPORT
91  BMS_BUFMEM* bufmem,
92  int n,
93  SCIP_Real* A,
94  SCIP_Real* eigenvalues,
95  SCIP_Real* eigenvectors
96  );
97 
99 SCIP_EXPORT
100 SCIP_RETCODE SCIPlapackMatrixVectorMult(
101  int nrows,
102  int ncols,
103  SCIP_Real* matrix,
104  SCIP_Real* vector,
105  SCIP_Real* result
106  );
107 
109 SCIP_EXPORT
110 SCIP_RETCODE SCIPlapackMatrixMatrixMult(
111  int nrowsA,
112  int ncolsA,
113  SCIP_Real* matrixA,
114  SCIP_Bool transposeA,
115  int nrowsB,
116  int ncolsB,
117  SCIP_Real* matrixB,
118  SCIP_Bool transposeB,
119  SCIP_Real* result
120  );
121 
124 SCIP_RETCODE SCIPlapackLinearSolve(
125  BMS_BUFMEM* bufmem,
126  int m,
127  int n,
128  SCIP_Real* A,
129  SCIP_Real* b,
130  SCIP_Real* x
131  );
132 
133 #ifdef __cplusplus
134 }
135 #endif
136 
137 #endif
SCIP_EXPORT SCIP_RETCODE SCIPlapackMatrixVectorMult(int nrows, int ncols, SCIP_Real *matrix, SCIP_Real *vector, SCIP_Real *result)
SCIP_EXPORT SCIP_RETCODE SCIPlapackComputeEigenvectorsNegative(BMS_BUFMEM *bufmem, int n, SCIP_Real *A, SCIP_Real tol, int *neigenvalues, SCIP_Real *eigenvalues, SCIP_Real *eigenvectors)
SCIP_EXPORT SCIP_RETCODE SCIPlapackMatrixMatrixMult(int nrowsA, int ncolsA, SCIP_Real *matrixA, SCIP_Bool transposeA, int nrowsB, int ncolsB, SCIP_Real *matrixB, SCIP_Bool transposeB, SCIP_Real *result)
SCIP_RETCODE SCIPlapackLinearSolve(BMS_BUFMEM *bufmem, int m, int n, SCIP_Real *A, SCIP_Real *b, SCIP_Real *x)
SCIP_EXPORT SCIP_RETCODE SCIPlapackComputeEigenvectorDecomposition(BMS_BUFMEM *bufmem, int n, SCIP_Real *A, SCIP_Real *eigenvalues, SCIP_Real *eigenvectors)
SCIP_EXPORT SCIP_RETCODE SCIPlapackComputeIthEigenvalue(BMS_BUFMEM *bufmem, SCIP_Bool geteigenvectors, int n, SCIP_Real *A, int i, SCIP_Real *eigenvalue, SCIP_Real *eigenvector)
SCIP_EXPORT SCIP_RETCODE SCIPlapackComputeIthEigenvalueAlternative(BMS_BUFMEM *bufmem, SCIP_Bool geteigenvectors, int n, SCIP_Real *A, int i, SCIP_Real *eigenvalue, SCIP_Real *eigenvector)