Ipopt 3.11.9
Loading...
Searching...
No Matches
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
14namespace 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.
Number Number Index m
Number of constraints.
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.
Number IpBlasDasum(Index size, const Number *x, Index incX)
Wrapper for BLAS function DASUM.
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.
Number IpBlasDnrm2(Index size, const Number *x, Index incX)
Wrapper for BLAS function DNRM2.
Index IpBlasIdamax(Index size, const Number *x, Index incX)
Wrapper for BLAS function IDAMAX.
int Index
Type of all indices of vectors, matrices etc.
Definition IpTypes.hpp:19
void IpBlasDcopy(Index size, const Number *x, Index incX, Number *y, Index incY)
Wrapper for BLAS subroutine DCOPY.
void IpBlasDscal(Index size, Number alpha, Number *x, Index incX)
Wrapper for BLAS subroutine DSCAL.
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 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 IpBlasDtrsm(bool trans, Index ndim, Index nrhs, Number alpha, const Number *A, Index ldA, Number *B, Index ldB)
Wrapper for BLAS subroutine DTRSM.
double Number
Type of all numbers.
Definition IpTypes.hpp:17
void IpBlasDaxpy(Index size, Number alpha, const Number *x, Index incX, Number *y, Index incY)
Wrapper for BLAS subroutine DAXPY.