JWS C Library
C language utility library
lapack.h
Go to the documentation of this file.
00001 /*
00002  * This work is licensed under a Creative Commons 
00003  * Attribution-Noncommercial-Share Alike 3.0 United States License.
00004  * 
00005  *    http://creativecommons.org/licenses/by-nc-sa/3.0/us/
00006  * 
00007  * You are free:
00008  * 
00009  *    to Share - to copy, distribute, display, and perform the work
00010  *    to Remix - to make derivative works
00011  * 
00012  * Under the following conditions:
00013  * 
00014  *    Attribution. You must attribute the work in the manner specified by the
00015  *    author or licensor (but not in any way that suggests that they endorse you
00016  *    or your use of the work).
00017  * 
00018  *    Noncommercial. You may not use this work for commercial purposes.
00019  * 
00020  *    Share Alike. If you alter, transform, or build upon this work, you may
00021  *    distribute the resulting work only under the same or similar license to
00022  *    this one.
00023  * 
00024  * For any reuse or distribution, you must make clear to others the license
00025  * terms of this work. The best way to do this is by including this header.
00026  * 
00027  * Any of the above conditions can be waived if you get permission from the
00028  * copyright holder.
00029  * 
00030  * Apart from the remix rights granted under this license, nothing in this
00031  * license impairs or restricts the author's moral rights.
00032  */
00033 
00034 
00051 #ifndef LAPACK_H
00052 #define LAPACK_H
00053 
00054 
00055 #include <jwsc/config.h>
00056 
00057 #include <stdlib.h>
00058 
00059 
00060 #ifdef __cplusplus
00061 namespace jwsc {
00062 extern "C" {
00063 #endif
00064 
00065 
00070 void lapack_sgetrf
00071 (
00072     int     M, 
00073     int     N, 
00074     float*  A, 
00075     int     lda,
00076     int*    ipiv,
00077     int*    info
00078 );
00079 
00080 
00085 void lapack_dgetrf
00086 (
00087     int     M, 
00088     int     N, 
00089     double* A, 
00090     int     lda,
00091     int*    ipiv,
00092     int*    info
00093 );
00094 
00095 
00100 void lapack_sgetri
00101 (
00102     int     N, 
00103     float*  A, 
00104     int     lda,
00105     int*    ipiv,
00106     float*  work, 
00107     int     lwork,
00108     int*    info
00109 );
00110 
00111 
00116 void lapack_dgetri
00117 (
00118     int     N, 
00119     double* A, 
00120     int     lda,
00121     int*    ipiv,
00122     double* work, 
00123     int     lwork,
00124     int*    info
00125 );
00126 
00127 
00132 void lapack_sgesdd
00133 (
00134     char    JOBZ,
00135     int     M,
00136     int     N, 
00137     float*  A, 
00138     int     LDA,
00139     float*  S,
00140     float*  U,
00141     int     LDU,
00142     float*  VT,
00143     int     LDVT,
00144     float*  WORK,
00145     int     LWORK,
00146     int*    IWORK,
00147     int*    INFO
00148 );
00149 
00150 
00155 void lapack_dgesdd
00156 (
00157     char    JOBZ,
00158     int     M,
00159     int     N, 
00160     double* A, 
00161     int     LDA,
00162     double* S,
00163     double* U,
00164     int     LDU,
00165     double* VT,
00166     int     LDVT,
00167     double* WORK,
00168     int     LWORK,
00169     int*    IWORK,
00170     int*    INFO
00171 );
00172 
00173 
00178 void lapack_ssyev
00179 (
00180     char    JOBZ,
00181     char    UPLO,
00182     int     N, 
00183     float*  A, 
00184     int     LDA,
00185     float*  W,
00186     float*  WORK,
00187     int     LWORK,
00188     int*    INFO
00189 );
00190 
00191 
00196 void lapack_dsyev
00197 (
00198     char    JOBZ,
00199     char    UPLO,
00200     int     N, 
00201     double* A, 
00202     int     LDA,
00203     double* W,
00204     double* WORK,
00205     int     LWORK,
00206     int*    INFO
00207 );
00208 
00209 
00210 #ifdef __cplusplus
00211 }
00212 }
00213 #endif
00214 
00215 
00216 #endif