SCIP-SDP  3.2.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-2020 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-2020 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  int n,
69  SCIP_Real* A,
70  SCIP_Real* eigenvalues,
71  SCIP_Real* eigenvectors
72  );
73 
75 SCIP_EXPORT
76 SCIP_RETCODE SCIPlapackMatrixVectorMult(
77  int nrows,
78  int ncols,
79  SCIP_Real* matrix,
80  SCIP_Real* vector,
81  SCIP_Real* result
82  );
83 
85 SCIP_EXPORT
86 SCIP_RETCODE SCIPlapackMatrixMatrixMult(
87  int nrowsA,
88  int ncolsA,
89  SCIP_Real* matrixA,
90  SCIP_Bool transposeA,
91  int nrowsB,
92  int ncolsB,
93  SCIP_Real* matrixB,
94  SCIP_Bool transposeB,
95  SCIP_Real* result
96  );
97 
100 SCIP_RETCODE SCIPlapackLinearSolve(
101  BMS_BUFMEM* bufmem,
102  int m,
103  int n,
104  SCIP_Real* A,
105  SCIP_Real* b,
106  SCIP_Real* x
107  );
108 
109 #ifdef __cplusplus
110 }
111 #endif
112 
113 #endif
SCIP_EXPORT SCIP_RETCODE SCIPlapackMatrixVectorMult(int nrows, int ncols, SCIP_Real *matrix, SCIP_Real *vector, SCIP_Real *result)
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)