- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# /home/coin/SVN-release/Ipopt-3.5.1/Ipopt/src/LinAlg/IpBlas.hpp

Go to the documentation of this file.

    00001 // Copyright (C) 2004, 2006 International Business Machines and others.
    00002 // All Rights Reserved.
    00003 // This code is published under the Common Public License.
    00004 //
    00005 // $Id: IpBlas.hpp 1102 2007-09-29 14:28:11Z andreasw $
    00006 //
    00007 // Authors:  Carl Laird, Andreas Waechter     IBM    2004-08-13
    00008
    00009 #ifndef __IPBLAS_HPP__
    00010 #define __IPBLAS_HPP__
    00011
    00012 #include "IpUtils.hpp"
    00013
    00014 namespace Ipopt
    00015 {
    00016   // If CBLAS is not available, this is our own interface to the Fortran
    00017   // implementation
    00018
    00021   Number IpBlasDdot(Index size, const Number *x, Index incX, const Number *y,
    00022                     Index incY);
    00023
    00025   Number IpBlasDnrm2(Index size, const Number *x, Index incX);
    00026
    00028   Number IpBlasDasum(Index size, const Number *x, Index incX);
    00029
    00032   Index IpBlasIdamax(Index size, const Number *x, Index incX);
    00033
    00036   void IpBlasDcopy(Index size, const Number *x, Index incX, Number *y,
    00037                    Index incY);
    00038
    00041   void IpBlasDaxpy(Index size, Number alpha, const Number *x, Index incX,
    00042                    Number *y, Index incY);
    00043
    00046   void IpBlasDscal(Index size, Number alpha, Number *x, Index incX);
    00047
    00050   void IpBlasDgemv(bool trans, Index nRows, Index nCols, Number alpha,
    00051                    const Number* A, Index ldA, const Number* x,
    00052                    Index incX, Number beta, Number* y, Index incY);
    00053
    00056   void IpBlasDsymv(Index n, Number alpha, const Number* A, Index ldA,
    00057                    const Number* x, Index incX, Number beta, Number* y,
    00058                    Index incY);
    00059
    00061   void IpBlasDgemm(bool transa, bool transb, Index m, Index n, Index k,
    00062                    Number alpha, const Number* A, Index ldA, const Number* B,
    00063                    Index ldB, Number beta, Number* C, Index ldC);
    00064
    00067   void IpBlasDsyrk(bool trans, Index ndim, Index nrank,
    00068                    Number alpha, const Number* A, Index ldA,
    00069                    Number beta, Number* C, Index ldC);
    00070
    00073   void IpBlasDtrsm(bool trans, Index ndim, Index nrhs, Number alpha,
    00074                    const Number* A, Index ldA, Number* B, Index ldB);
    00075
    00076 } // namespace Ipopt
    00077
    00078 #endif