Ipopt  3.12.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
IpBlas.hpp
Go to the documentation of this file.
1 // Copyright (C) 2004, 2006 International Business Machines and others.
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // $Id: IpBlas.hpp 1861 2010-12-21 21:34:47Z andreasw $
6 //
7 // Authors: Carl Laird, Andreas Waechter IBM 2004-08-13
8 
9 #ifndef __IPBLAS_HPP__
10 #define __IPBLAS_HPP__
11 
12 #include "IpUtils.hpp"
13 
14 namespace Ipopt
15 {
16  // If CBLAS is not available, this is our own interface to the Fortran
17  // implementation
18 
21  Number IpBlasDdot(Index size, const Number *x, Index incX, const Number *y,
22  Index incY);
23 
25  Number IpBlasDnrm2(Index size, const Number *x, Index incX);
26 
28  Number IpBlasDasum(Index size, const Number *x, Index incX);
29 
32  Index IpBlasIdamax(Index size, const Number *x, Index incX);
33 
36  void IpBlasDcopy(Index size, const Number *x, Index incX, Number *y,
37  Index incY);
38 
41  void IpBlasDaxpy(Index size, Number alpha, const Number *x, Index incX,
42  Number *y, Index incY);
43 
46  void IpBlasDscal(Index size, Number alpha, Number *x, Index incX);
47 
50  void IpBlasDgemv(bool trans, Index nRows, Index nCols, Number alpha,
51  const Number* A, Index ldA, const Number* x,
52  Index incX, Number beta, Number* y, Index incY);
53 
56  void IpBlasDsymv(Index n, Number alpha, const Number* A, Index ldA,
57  const Number* x, Index incX, Number beta, Number* y,
58  Index incY);
59 
61  void IpBlasDgemm(bool transa, bool transb, Index m, Index n, Index k,
62  Number alpha, const Number* A, Index ldA, const Number* B,
63  Index ldB, Number beta, Number* C, Index ldC);
64 
67  void IpBlasDsyrk(bool trans, Index ndim, Index nrank,
68  Number alpha, const Number* A, Index ldA,
69  Number beta, Number* C, Index ldC);
70 
73  void IpBlasDtrsm(bool trans, Index ndim, Index nrhs, Number alpha,
74  const Number* A, Index ldA, Number* B, Index ldB);
75 
76 } // namespace Ipopt
77 
78 #endif
Number * x
Input: Starting point Output: Optimal solution.
int Index
Type for all incides.
Index IpBlasIdamax(Index size, const Number *x, Index incX)
Wrapper for BLAS function IDAMAX.
Number Number Index m
Number of constraints.
Number IpBlasDnrm2(Index size, const Number *x, Index incX)
Wrapper for BLAS function DNRM2.
void IpBlasDscal(Index size, Number alpha, Number *x, Index incX)
Wrapper for BLAS subroutine DSCAL.
void IpBlasDaxpy(Index size, Number alpha, const Number *x, Index incX, Number *y, Index incY)
Wrapper for BLAS subroutine DAXPY.
void IpBlasDsymv(Index n, Number alpha, const Number *A, Index ldA, const Number *x, Index incX, Number beta, Number *y, Index incY)
Wrapper for BLAS subroutine DSYMV.
void IpBlasDgemm(bool transa, bool transb, Index m, Index n, Index k, Number alpha, const Number *A, Index ldA, const Number *B, Index ldB, Number beta, Number *C, Index ldC)
Wrapper for BLAS subroutine DGEMM.
void IpBlasDcopy(Index size, const Number *x, Index incX, Number *y, Index incY)
Wrapper for BLAS subroutine DCOPY.
Number IpBlasDasum(Index size, const Number *x, Index incX)
Wrapper for BLAS function DASUM.
Number IpBlasDdot(Index size, const Number *x, Index incX, const Number *y, Index incY)
Wrapper for BLAS function DDOT.
void IpBlasDgemv(bool trans, Index nRows, Index nCols, Number alpha, const Number *A, Index ldA, const Number *x, Index incX, Number beta, Number *y, Index incY)
Wrapper for BLAS subroutine DGEMV.
double Number
Type for all number.
void IpBlasDsyrk(bool trans, Index ndim, Index nrank, Number alpha, const Number *A, Index ldA, Number beta, Number *C, Index ldC)
Wrapper for BLAS subroutine DSYRK.
void IpBlasDtrsm(bool trans, Index ndim, Index nrhs, Number alpha, const Number *A, Index ldA, Number *B, Index ldB)
Wrapper for BLAS subroutine DTRSM.