amino
Lightweight Robot Utility Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
/home/ntd/git/amino/lapack_doc.c
Go to the documentation of this file.
1 # 1 "doc/lapack_doc.c"
2 # 1 "<built-in>"
3 # 1 "<command-line>"
4 # 1 "/usr/include/stdc-predef.h" 1 3 4
5 /* Copyright (C) 1991-2014 Free Software Foundation, Inc.
6  This file is part of the GNU C Library.
7 
8  The GNU C Library is free software; you can redistribute it and/or
9  modify it under the terms of the GNU Lesser General Public
10  License as published by the Free Software Foundation; either
11  version 2.1 of the License, or (at your option) any later version.
12 
13  The GNU C Library is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  Lesser General Public License for more details.
17 
18  You should have received a copy of the GNU Lesser General Public
19  License along with the GNU C Library; if not, see
20  <http://www.gnu.org/licenses/>. */
21 
22 
23 
24 
25 /* This header is separate from features.h so that the compiler can
26  include it implicitly at the start of every compilation. It must
27  not itself include <features.h> or any other header that includes
28  <features.h> because the implicit include comes before any feature
29  test macros that may be defined in a source file before it first
30  explicitly includes a system header. GCC knows the name of this
31  header in order to preinclude it. */
32 
33 /* glibc's intent is to support the IEC 559 math functionality, real
34  and complex. If the GCC (4.9 and later) predefined macros
35  specifying compiler intent are available, use them to determine
36  whether the overall intent is to support these features; otherwise,
37  presume an older compiler has intent to support these features and
38  define these macros by default. */
39 # 52 "/usr/include/stdc-predef.h" 3 4
40 /* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /
41  Unicode 6.0. */
42 
43 
44 /* We do not support C11 <threads.h>. */
45 # 1 "<command-line>" 2
46 # 1 "doc/lapack_doc.c"
47 
48 
49 /* The file is preprocess to give Doxygen some useful input */
50 
53 # 1 "./include/amino/lapack.h" 1
54 /* -*- mode: C; c-basic-offset: 4 -*- */
55 /* ex: set shiftwidth=4 tabstop=4 expandtab: */
56 /*
57  * Copyright (c) 2008-2012, Georgia Tech Research Corporation
58  * All rights reserved.
59  *
60  * Author(s): Neil T. Dantam <ntd@gatech.edu>
61  * Georgia Tech Humanoid Robotics Lab
62  * Under Direction of Prof. Mike Stilman <mstilman@cc.gatech.edu>
63  *
64  *
65  * This file is provided under the following "BSD-style" License:
66  *
67  *
68  * Redistribution and use in source and binary forms, with or
69  * without modification, are permitted provided that the following
70  * conditions are met:
71  *
72  * * Redistributions of source code must retain the above copyright
73  * notice, this list of conditions and the following disclaimer.
74  *
75  * * Redistributions in binary form must reproduce the above
76  * copyright notice, this list of conditions and the following
77  * disclaimer in the documentation and/or other materials provided
78  * with the distribution.
79  *
80  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
81  * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
82  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
83  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
84  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
85  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
86  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
87  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
88  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
89  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
90  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
91  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
92  * POSSIBILITY OF SUCH DAMAGE.
93  *
94  */
95 
96 
97 /* FILE: lapack.h
98  * BRIEF: C prototypes to various fortran lapack routines.
99  *
100  * Since there is no official c binding to lapack as there as with
101  * BLAS, the only reasonable way to interface with lapack from C is to
102  * call the fortran methods directly.
103  *
104  * Authors:
105  * Neil T. Dantam
106  */
107 
108 
109 
110 
111 
113 
114 # 1 "./include/amino/lapack_impl.h" 1
115 /* -*- mode: C; c-basic-offset: 4 -*- */
116 /* ex: set shiftwidth=4 tabstop=4 expandtab: */
117 /*
118  * Copyright (c) 2008-2012, Georgia Tech Research Corporation
119  * All rights reserved.
120  *
121  * Author(s): Neil T. Dantam <ntd@gatech.edu>
122  * Georgia Tech Humanoid Robotics Lab
123  * Under Direction of Prof. Mike Stilman <mstilman@cc.gatech.edu>
124  *
125  *
126  * This file is provided under the following "BSD-style" License:
127  *
128  *
129  * Redistribution and use in source and binary forms, with or
130  * without modification, are permitted provided that the following
131  * conditions are met:
132  *
133  * * Redistributions of source code must retain the above copyright
134  * notice, this list of conditions and the following disclaimer.
135  *
136  * * Redistributions in binary form must reproduce the above
137  * copyright notice, this list of conditions and the following
138  * disclaimer in the documentation and/or other materials provided
139  * with the distribution.
140  *
141  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
142  * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
143  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
144  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
145  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
146  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
147  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
148  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
149  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
150  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
151  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
152  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
153  * POSSIBILITY OF SUCH DAMAGE.
154  *
155  */
156 
157 # 1 "./include/amino/def.h" 1
158 # 42 "./include/amino/def.h"
159 # 1 "./include/amino/mangle.h" 1
160 # 43 "./include/amino/def.h" 2
161 # 44 "./include/amino/lapack_impl.h" 2
162 
163 /* FILE lapack_impl.h
164  * BRIEF: C prototypes to various fortran lapack routines.
165  *
166  * Since there is no official c binding to lapack as there as with
167  * BLAS, the only reasonable way to interface with lapack from C is to
168  * call the fortran methods directly.
169  *
170  * Authors:
171  * Neil T. Dantam
172  */
173 
189 AA_API void dgetri_
190 ( const int *N, double *A, const int *LDA,
191  const int *IPIV, double *WORK, const int *LWORK, int *INFO );
192 
231 AA_API void dgetrf_
232 ( const int *M, const int *N, double *A, const int *LDA,
233  int *IPIV, int *INFO );
234 
302 AA_API void dgeqrf_
303 ( const int *M, const int *N, double *A, const int *LDA,
304  double *TAU, double *WORK, int *LWORK, int *INFO );
305 
360 AA_API void dorgqr_
361 ( const int *M, const int *N, const int *K,
362  double *A, const int *LDA, const double *TAU,
363  double *WORK, const int *LWORK, int *INFO );
364 
365 
366 AA_API void dposv_
367 ( const char UPLO[1], const int *N, const int *NRHS,
368  double *A, const int *LDA,
369  double *B, const int *LDB,
370  int *INFO );
371 
469 AA_API void dgesvd_
470 ( const char jobu[1], const char jobvt[1],
471  const int *m, const int *n,
472  double *A, const int *lda,
473  double *S, double *U,
474  const int *ldu, double *Vt, const int *ldvt,
475  double *work, const int *lwork, int *info );
476 
477 AA_API void dgesdd_
478 (const char *JOBZ, const int *M, const int *N,
479  double *A, const int *LDA,
480  double *S,
481  double *U, const int *LDU,
482  double *VT, const int * LDVT,
483  double *WORK, const int *LWORK,
484  int *IWORK, int *INFO);
485 
486 AA_API int dgeev_
487 (const char *jobvl, const char *jobvr,
488  int *n, double *a, int *lda,
489  double *wr, double *wi,
490  double *vl, int *ldvl,
491  double *vr, int *ldvr,
492  double *work, int *lwork, int *info);
493 
494 
495 
605 AA_API void dgelsd_
606 ( const int *M, const int *N, const int *NRHS,
607  double *A, const int *LDA, double *B, const int *LDB,
608  double *S, const double *RCOND, int *RANK,
609  double *WORK, int *LWORK, int *IWORK, int *INFO );
610 
611 
668 AA_API void dgebal_
669 ( const char JOB[1], int *N, double *A, const int *LDA,
670  int *ILO, int *IHI, double *SCALE, int *INFO );
671 
672 
789 AA_API void dgees_
790 ( const char JOBVS[1], const char SORT[1],
791  int (*SELECT)(const double*,const double*),
792  const int *N, double *A, const int *LDA, int *SDIM,
793  double *WR, double *WI,
794  double *VS, const int *LDVS,
795  double *WORK, const int *LWORK, int *BWORK, int *INFO );
796 
895 AA_API void dgels_
896 ( const char TRANS[1], const int *M, const int *N, const int *NRHS,
897  double *A, const int *LDA, double *B, const int *LDB, double *WORK,
898  const int *LWORK, int *INFO );
899 
900 /*
901 * DPOTRF computes the Cholesky factorization of a real symmetric
902 * positive definite matrix A.
903 *
904 * The factorization has the form
905 * \f[ A = U^T * U \f] if UPLO = 'U'
906 * or
907 * \f[ A = L * L^T \f] if UPLO = 'L'
908 *
909 * where U is an upper triangular matrix and L is lower triangular.
910 *
911 * This is the block version of the algorithm, calling Level 3 BLAS.
912 *
913 *
914 * \param[in] UPLO
915 * = 'U': Upper triangle of A is stored;
916 * = 'L': Lower triangle of A is stored.
917 *
918 * \param[in] N
919 * The order of the matrix A. N >= 0.
920 *
921 * \param[inout] A
922 * On entry, the symmetric matrix A. If UPLO = 'U', the leading
923 * N-by-N upper triangular part of A contains the upper
924 * triangular part of the matrix A, and the strictly lower
925 * triangular part of A is not referenced. If UPLO = 'L', the
926 * leading N-by-N lower triangular part of A contains the lower
927 * triangular part of the matrix A, and the strictly upper
928 * triangular part of A is not referenced.
929 * On exit, if INFO = 0, the factor U or L from the Cholesky
930 * factorization A = U**T*U or A = L*L**T.
931 *
932 * \param[in] LDA
933 * The leading dimension of the array A. LDA >= max(1,N).
934 *
935 * \param[out] INFO
936 * - = 0: successful exit
937 * - < 0: if INFO = -i, the i-th argument had an illegal value
938 * - > 0: if INFO = i, the leading minor of order i is not
939 * positive definite, and the factorization could not be
940 * completed.
941 */
942 
943 AA_API void dpotrf_
944 ( const char UPLO[1], const int *N,
945  double *A, const int *LDA,
946  int *INFO );
947 
948 AA_API void dpotrs_
949 ( const char UPLO[1], const int *N, const int *nrhs,
950  double *A, const int *LDA,
951  double *B, const int *LDB,
952  int *INFO );
953 
986 AA_API void dlacpy_
987 ( const char UPLO[1], const int *M, const int *N,
988  const double *A, const int *LDA, double *B, const int *LDB );
989 
990 
994 AA_API double dlapy2_
995 ( const double *x, const double *y );
996 
1000 AA_API double dlapy3_
1001 ( const double *x, const double *y, const double *z );
1002 
1003 
1044 AA_API void dlaruv_
1045 ( int ISEED[4], const int *N, double *X );
1046 
1074 AA_API void dlarnv_
1075 ( const int *IDIST, int ISEED[4],
1076  const int *N, double *X );
1077 
1133 AA_API void dlascl_
1134 ( const char TYPE[1], const int *KL, const int *KU,
1135  const double *CFROM, const double *CTO,
1136  const int *M, const int *N, double *A, const int *LDA,
1137  int *INFO );
1138 
1189 AA_API void dlaset_
1190 ( const char UPLO[1], const int *M, const int *N,
1191  const double *ALPHA,
1192  const double *BETA,
1193  double *A, const int *LDA );
1194 
1195 
1196 
1197 
1198 
1199 # 1 "./include/amino/undef.h" 1
1200 # 1082 "./include/amino/lapack_impl.h" 2
1201 
1202 
1233 AA_API void dlag2s_ ( const int *M, const int *N,
1234  double *A, const int *LDA,
1235  float *SA, const int *LDSA,
1236  const int *INFO );
1237 
1238 
1239 
1240 
1241 
1242 
1278 AA_API void slag2d_ ( const int *M, const int *N,
1279  float *SA, const int *LDSA,
1280  double *A, const int *LDA,
1281  const int *INFO );
1282 # 62 "./include/amino/lapack.h" 2
1283 
1284 
1286 
1287 # 1 "./include/amino/lapack_impl.h" 1
1288 /* -*- mode: C; c-basic-offset: 4 -*- */
1289 /* ex: set shiftwidth=4 tabstop=4 expandtab: */
1290 /*
1291  * Copyright (c) 2008-2012, Georgia Tech Research Corporation
1292  * All rights reserved.
1293  *
1294  * Author(s): Neil T. Dantam <ntd@gatech.edu>
1295  * Georgia Tech Humanoid Robotics Lab
1296  * Under Direction of Prof. Mike Stilman <mstilman@cc.gatech.edu>
1297  *
1298  *
1299  * This file is provided under the following "BSD-style" License:
1300  *
1301  *
1302  * Redistribution and use in source and binary forms, with or
1303  * without modification, are permitted provided that the following
1304  * conditions are met:
1305  *
1306  * * Redistributions of source code must retain the above copyright
1307  * notice, this list of conditions and the following disclaimer.
1308  *
1309  * * Redistributions in binary form must reproduce the above
1310  * copyright notice, this list of conditions and the following
1311  * disclaimer in the documentation and/or other materials provided
1312  * with the distribution.
1313  *
1314  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
1315  * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1316  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
1317  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1318  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
1319  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1320  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1321  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
1322  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
1323  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
1324  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
1325  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1326  * POSSIBILITY OF SUCH DAMAGE.
1327  *
1328  */
1329 
1330 # 1 "./include/amino/def.h" 1
1331 # 44 "./include/amino/lapack_impl.h" 2
1332 
1333 /* FILE lapack_impl.h
1334  * BRIEF: C prototypes to various fortran lapack routines.
1335  *
1336  * Since there is no official c binding to lapack as there as with
1337  * BLAS, the only reasonable way to interface with lapack from C is to
1338  * call the fortran methods directly.
1339  *
1340  * Authors:
1341  * Neil T. Dantam
1342  */
1343 
1359 AA_API void sgetri_
1360 ( const int *N, float *A, const int *LDA,
1361  const int *IPIV, float *WORK, const int *LWORK, int *INFO );
1362 
1401 AA_API void sgetrf_
1402 ( const int *M, const int *N, float *A, const int *LDA,
1403  int *IPIV, int *INFO );
1404 
1472 AA_API void sgeqrf_
1473 ( const int *M, const int *N, float *A, const int *LDA,
1474  float *TAU, float *WORK, int *LWORK, int *INFO );
1475 
1530 AA_API void sorgqr_
1531 ( const int *M, const int *N, const int *K,
1532  float *A, const int *LDA, const float *TAU,
1533  float *WORK, const int *LWORK, int *INFO );
1534 
1535 
1536 AA_API void sposv_
1537 ( const char UPLO[1], const int *N, const int *NRHS,
1538  float *A, const int *LDA,
1539  float *B, const int *LDB,
1540  int *INFO );
1541 
1639 AA_API void sgesvd_
1640 ( const char jobu[1], const char jobvt[1],
1641  const int *m, const int *n,
1642  float *A, const int *lda,
1643  float *S, float *U,
1644  const int *ldu, float *Vt, const int *ldvt,
1645  float *work, const int *lwork, int *info );
1646 
1647 AA_API void sgesdd_
1648 (const char *JOBZ, const int *M, const int *N,
1649  float *A, const int *LDA,
1650  float *S,
1651  float *U, const int *LDU,
1652  float *VT, const int * LDVT,
1653  float *WORK, const int *LWORK,
1654  int *IWORK, int *INFO);
1655 
1656 AA_API int sgeev_
1657 (const char *jobvl, const char *jobvr,
1658  int *n, float *a, int *lda,
1659  float *wr, float *wi,
1660  float *vl, int *ldvl,
1661  float *vr, int *ldvr,
1662  float *work, int *lwork, int *info);
1663 
1664 
1665 
1775 AA_API void sgelsd_
1776 ( const int *M, const int *N, const int *NRHS,
1777  float *A, const int *LDA, float *B, const int *LDB,
1778  float *S, const float *RCOND, int *RANK,
1779  float *WORK, int *LWORK, int *IWORK, int *INFO );
1780 
1781 
1838 AA_API void sgebal_
1839 ( const char JOB[1], int *N, float *A, const int *LDA,
1840  int *ILO, int *IHI, float *SCALE, int *INFO );
1841 
1842 
1959 AA_API void sgees_
1960 ( const char JOBVS[1], const char SORT[1],
1961  int (*SELECT)(const float*,const float*),
1962  const int *N, float *A, const int *LDA, int *SDIM,
1963  float *WR, float *WI,
1964  float *VS, const int *LDVS,
1965  float *WORK, const int *LWORK, int *BWORK, int *INFO );
1966 
2065 AA_API void sgels_
2066 ( const char TRANS[1], const int *M, const int *N, const int *NRHS,
2067  float *A, const int *LDA, float *B, const int *LDB, float *WORK,
2068  const int *LWORK, int *INFO );
2069 
2070 /*
2071 * DPOTRF computes the Cholesky factorization of a real symmetric
2072 * positive definite matrix A.
2073 *
2074 * The factorization has the form
2075 * \f[ A = U^T * U \f] if UPLO = 'U'
2076 * or
2077 * \f[ A = L * L^T \f] if UPLO = 'L'
2078 *
2079 * where U is an upper triangular matrix and L is lower triangular.
2080 *
2081 * This is the block version of the algorithm, calling Level 3 BLAS.
2082 *
2083 *
2084 * \param[in] UPLO
2085 * = 'U': Upper triangle of A is stored;
2086 * = 'L': Lower triangle of A is stored.
2087 *
2088 * \param[in] N
2089 * The order of the matrix A. N >= 0.
2090 *
2091 * \param[inout] A
2092 * On entry, the symmetric matrix A. If UPLO = 'U', the leading
2093 * N-by-N upper triangular part of A contains the upper
2094 * triangular part of the matrix A, and the strictly lower
2095 * triangular part of A is not referenced. If UPLO = 'L', the
2096 * leading N-by-N lower triangular part of A contains the lower
2097 * triangular part of the matrix A, and the strictly upper
2098 * triangular part of A is not referenced.
2099 * On exit, if INFO = 0, the factor U or L from the Cholesky
2100 * factorization A = U**T*U or A = L*L**T.
2101 *
2102 * \param[in] LDA
2103 * The leading dimension of the array A. LDA >= max(1,N).
2104 *
2105 * \param[out] INFO
2106 * - = 0: successful exit
2107 * - < 0: if INFO = -i, the i-th argument had an illegal value
2108 * - > 0: if INFO = i, the leading minor of order i is not
2109 * positive definite, and the factorization could not be
2110 * completed.
2111 */
2112 
2113 AA_API void spotrf_
2114 ( const char UPLO[1], const int *N,
2115  float *A, const int *LDA,
2116  int *INFO );
2117 
2118 AA_API void spotrs_
2119 ( const char UPLO[1], const int *N, const int *nrhs,
2120  float *A, const int *LDA,
2121  float *B, const int *LDB,
2122  int *INFO );
2123 
2156 AA_API void slacpy_
2157 ( const char UPLO[1], const int *M, const int *N,
2158  const float *A, const int *LDA, float *B, const int *LDB );
2159 
2160 
2164 AA_API float slapy2_
2165 ( const float *x, const float *y );
2166 
2170 AA_API float slapy3_
2171 ( const float *x, const float *y, const float *z );
2172 
2173 
2214 AA_API void slaruv_
2215 ( int ISEED[4], const int *N, float *X );
2216 
2244 AA_API void slarnv_
2245 ( const int *IDIST, int ISEED[4],
2246  const int *N, float *X );
2247 
2303 AA_API void slascl_
2304 ( const char TYPE[1], const int *KL, const int *KU,
2305  const float *CFROM, const float *CTO,
2306  const int *M, const int *N, float *A, const int *LDA,
2307  int *INFO );
2308 
2359 AA_API void slaset_
2360 ( const char UPLO[1], const int *M, const int *N,
2361  const float *ALPHA,
2362  const float *BETA,
2363  float *A, const int *LDA );
2364 
2365 
2366 
2367 
2368 
2369 # 1 "./include/amino/undef.h" 1
2370 # 1082 "./include/amino/lapack_impl.h" 2
2371 
2372 
2403 AA_API void dlag2s_ ( const int *M, const int *N,
2404  double *A, const int *LDA,
2405  float *SA, const int *LDSA,
2406  const int *INFO );
2407 
2408 
2409 
2410 
2411 
2412 
2448 AA_API void slag2d_ ( const int *M, const int *N,
2449  float *SA, const int *LDSA,
2450  double *A, const int *LDA,
2451  const int *INFO );
2452 # 67 "./include/amino/lapack.h" 2
2453 
2454 
2508 AA_API int ilaenv_( const int *ispec, const char *name, const char *opts,
2509  const int *n1, const int * n2, const int *n3, const int *n4,
2510  int name_length, int opts_length );
2511 # 7 "doc/lapack_doc.c" 2
AA_API void dgetrf_(const int *M, const int *N, double *A, const int *LDA, int *IPIV, int *INFO)
Computes an LU factorization of a general M-by-N matrix A using partial pivoting with row interchange...
AA_API void dgetri_(const int *N, double *A, const int *LDA, const int *IPIV, double *WORK, const int *LWORK, int *INFO)
type for operations
AA_API void sgels_(const char TRANS[1], const int *M, const int *N, const int *NRHS, float *A, const int *LDA, float *B, const int *LDB, float *WORK, const int *LWORK, int *INFO)
Solves overdetermined or underdetermined real linear systems involving an M-by-N matrix A...
AA_API void sgetri_(const int *N, float *A, const int *LDA, const int *IPIV, float *WORK, const int *LWORK, int *INFO)
type for operations
AA_API void slascl_(const char TYPE[1], const int *KL, const int *KU, const float *CFROM, const float *CTO, const int *M, const int *N, float *A, const int *LDA, int *INFO)
Multiplies the M by N real matrix A by the real scalar CTO/CFROM.
AA_API float slapy2_(const float *x, const float *y)
Returns sqrt(x**2+y**2), taking care not to cause unnecessary overflow.
AA_API void dlarnv_(const int *IDIST, int ISEED[4], const int *N, double *X)
Returns a vector of n random real numbers from a uniform or normal distribution.
AA_API float slapy3_(const float *x, const float *y, const float *z)
Returns sqrt(x**2+y**2+z**2), taking care not to cause unnecessary overflow.
AA_API void sgelsd_(const int *M, const int *N, const int *NRHS, float *A, const int *LDA, float *B, const int *LDB, float *S, const float *RCOND, int *RANK, float *WORK, int *LWORK, int *IWORK, int *INFO)
DGELSD computes the minimum-norm solution to a real linear least squares problem. ...
AA_API void sgetrf_(const int *M, const int *N, float *A, const int *LDA, int *IPIV, int *INFO)
Computes an LU factorization of a general M-by-N matrix A using partial pivoting with row interchange...
AA_API void dorgqr_(const int *M, const int *N, const int *K, double *A, const int *LDA, const double *TAU, double *WORK, const int *LWORK, int *INFO)
Generates an M-by-N real matrix Q with orthonormal columns, which is defined as the first N columns o...
AA_API void dlaruv_(int ISEED[4], const int *N, double *X)
Returns a vector of n random real numbers from a uniform (0,1) distribution (n <= 128)...
AA_API void dgelsd_(const int *M, const int *N, const int *NRHS, double *A, const int *LDA, double *B, const int *LDB, double *S, const double *RCOND, int *RANK, double *WORK, int *LWORK, int *IWORK, int *INFO)
DGELSD computes the minimum-norm solution to a real linear least squares problem. ...
AA_API void slag2d_(const int *M, const int *N, float *SA, const int *LDSA, double *A, const int *LDA, const int *INFO)
Converts a SINGLE PRECISION matrix, SA, to a DOUBLE PRECISION matrix, A.
AA_API int ilaenv_(const int *ispec, const char *name, const char *opts, const int *n1, const int *n2, const int *n3, const int *n4, int name_length, int opts_length)
ILAENV is called from the LAPACK routines to choose problem-dependent parameters for the local enviro...
AA_API void slaruv_(int ISEED[4], const int *N, float *X)
Returns a vector of n random real numbers from a uniform (0,1) distribution (n <= 128)...
AA_API void slarnv_(const int *IDIST, int ISEED[4], const int *N, float *X)
Returns a vector of n random real numbers from a uniform or normal distribution.
AA_API void dlaset_(const char UPLO[1], const int *M, const int *N, const double *ALPHA, const double *BETA, double *A, const int *LDA)
initializes an m-by-n matrix A to BETA on the diagonal and ALPHA on the offdiagonals.
AA_API void dgesvd_(const char jobu[1], const char jobvt[1], const int *m, const int *n, double *A, const int *lda, double *S, double *U, const int *ldu, double *Vt, const int *ldvt, double *work, const int *lwork, int *info)
Compute SVD.
AA_API void slaset_(const char UPLO[1], const int *M, const int *N, const float *ALPHA, const float *BETA, float *A, const int *LDA)
initializes an m-by-n matrix A to BETA on the diagonal and ALPHA on the offdiagonals.
AA_API void dgebal_(const char JOB[1], int *N, double *A, const int *LDA, int *ILO, int *IHI, double *SCALE, int *INFO)
Balances a general real matrix A.
AA_API void sgeqrf_(const int *M, const int *N, float *A, const int *LDA, float *TAU, float *WORK, int *LWORK, int *INFO)
DGEQRF computes a QR factorization of a real M-by-N matrix A: A = Q * R.
AA_API void dlag2s_(const int *M, const int *N, double *A, const int *LDA, float *SA, const int *LDSA, const int *INFO)
Converts a DOUBLE PRECISION matrix, SA, to a SINGLE PRECISION matrix, A.
#define AA_API
calling and name mangling convention for functions
Definition: amino.h:96
AA_API void sgees_(const char JOBVS[1], const char SORT[1], int(*SELECT)(const float *, const float *), const int *N, float *A, const int *LDA, int *SDIM, float *WR, float *WI, float *VS, const int *LDVS, float *WORK, const int *LWORK, int *BWORK, int *INFO)
Computes for an N-by-N real nonsymmetric matrix A, the eigenvalues, the real Schur form T...
AA_API void dgees_(const char JOBVS[1], const char SORT[1], int(*SELECT)(const double *, const double *), const int *N, double *A, const int *LDA, int *SDIM, double *WR, double *WI, double *VS, const int *LDVS, double *WORK, const int *LWORK, int *BWORK, int *INFO)
Computes for an N-by-N real nonsymmetric matrix A, the eigenvalues, the real Schur form T...
AA_API void dlascl_(const char TYPE[1], const int *KL, const int *KU, const double *CFROM, const double *CTO, const int *M, const int *N, double *A, const int *LDA, int *INFO)
Multiplies the M by N real matrix A by the real scalar CTO/CFROM.
AA_API void dgeqrf_(const int *M, const int *N, double *A, const int *LDA, double *TAU, double *WORK, int *LWORK, int *INFO)
DGEQRF computes a QR factorization of a real M-by-N matrix A: A = Q * R.
AA_API void sorgqr_(const int *M, const int *N, const int *K, float *A, const int *LDA, const float *TAU, float *WORK, const int *LWORK, int *INFO)
Generates an M-by-N real matrix Q with orthonormal columns, which is defined as the first N columns o...
AA_API void sgebal_(const char JOB[1], int *N, float *A, const int *LDA, int *ILO, int *IHI, float *SCALE, int *INFO)
Balances a general real matrix A.
AA_API void dgels_(const char TRANS[1], const int *M, const int *N, const int *NRHS, double *A, const int *LDA, double *B, const int *LDB, double *WORK, const int *LWORK, int *INFO)
Solves overdetermined or underdetermined real linear systems involving an M-by-N matrix A...
AA_API void slacpy_(const char UPLO[1], const int *M, const int *N, const float *A, const int *LDA, float *B, const int *LDB)
Copies all or part of a two-dimensional matrix A to another matrix B.
AA_API void dlacpy_(const char UPLO[1], const int *M, const int *N, const double *A, const int *LDA, double *B, const int *LDB)
Copies all or part of a two-dimensional matrix A to another matrix B.
AA_API void sgesvd_(const char jobu[1], const char jobvt[1], const int *m, const int *n, float *A, const int *lda, float *S, float *U, const int *ldu, float *Vt, const int *ldvt, float *work, const int *lwork, int *info)
Compute SVD.
AA_API double dlapy2_(const double *x, const double *y)
Returns sqrt(x**2+y**2), taking care not to cause unnecessary overflow.
AA_API double dlapy3_(const double *x, const double *y, const double *z)
Returns sqrt(x**2+y**2+z**2), taking care not to cause unnecessary overflow.