public API
(
switch to internal
)
-
revision 3.6.7
casadi
interfaces
sqic
wsqic.hpp
1
/*
2
* This file is part of CasADi.
3
*
4
* CasADi -- A symbolic framework for dynamic optimization.
5
* Copyright (C) 2010-2023 Joel Andersson, Joris Gillis, Moritz Diehl,
6
* KU Leuven. All rights reserved.
7
* Copyright (C) 2011-2014 Greg Horn
8
*
9
* CasADi is free software; you can redistribute it and/or
10
* modify it under the terms of the GNU Lesser General Public
11
* License as published by the Free Software Foundation; either
12
* version 3 of the License, or (at your option) any later version.
13
*
14
* CasADi is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
* Lesser General Public License for more details.
18
*
19
* You should have received a copy of the GNU Lesser General Public
20
* License along with CasADi; if not, write to the Free Software
21
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22
*
23
*/
24
26
27
extern
"C"
{
28
29
extern
void
sqic(
30
const
casadi_int *m,
// Number of constraints + 1 (for the objective)
31
const
casadi_int* n,
// Number of decision variables
32
const
casadi_int* nnzA,
// Number of nonzeros in objective-augmented linear constraint matrix A
33
const
casadi_int *indA,
// colind of Compressed Column Storage A , length: nnzA
34
const
casadi_int *locA,
// row of Compressed Column Storage A, length n + 1
35
const
double
*valA,
// Values of A
36
const
double
* bl,
// Lower bounds to decision variables + objective
37
const
double
* bu,
// Upper bounds to decision variables + objective
38
const
casadi_int *hEtype,
// ?
39
const
casadi_int *hs,
// ?
40
double
*x,
// Decision variables + evaluated linear constraints ((initial + optimal), length n+m
41
double
*pi,
// ?
42
double
*rc,
// Multipliers (initial + optimal), length n+m
43
const
casadi_int* nnzH,
// Number of nonzeros in full hessian H
44
const
casadi_int* indH,
// colind of Compressed Column Storage H , length: nnzH
45
const
casadi_int* locH,
// row of Compressed Column Storage H, length n + 1
46
double
* valH);
47
48
extern
void
sqicSolve(
49
double
* Obj);
// Output: hessian part of the resulting objective
50
51
extern
void
sqicSolveStabilized(
52
double
* Obj,
// Output: hessian part of the resulting objective
53
double
*mu,
54
casadi_int *lenpi,
55
double
* piE);
56
57
extern
void
sqicDestroy();
58
}