Adding matrix_complex functions to the Matrix subsystem and adding gsl_eigen_herm...
[Math-GSL.git] / Linalg.i
blob6687856d5d3a187eac29a32e76325c443edd862c
1 %module Linalg
2 %apply int *OUTPUT { int *signum };
4 %{
5 #include "/usr/local/include/gsl/gsl_linalg.h"
6 %}
8 %include "/usr/local/include/gsl/gsl_linalg.h"
10 %perlcode %{
11 @EXPORT_OK = qw/$GSL_LINALG_MOD_NONE $GSL_LINALG_MOD_TRANSPOSE $GSL_LINALG_MOD_CONJUGATE
12 gsl_linalg_matmult gsl_linalg_matmult_mod
13 gsl_linalg_exponential_ss
14 gsl_linalg_householder_transform
15 gsl_linalg_complex_householder_transform
16 gsl_linalg_householder_hm
17 gsl_linalg_householder_mh
18 gsl_linalg_householder_hv
19 gsl_linalg_householder_hm1
20 gsl_linalg_complex_householder_hm
21 gsl_linalg_complex_householder_mh
22 gsl_linalg_complex_householder_hv
23 gsl_linalg_hessenberg_decomp
24 gsl_linalg_hessenberg_unpack
25 gsl_linalg_hessenberg_unpack_accum
26 gsl_linalg_hessenberg_set_zero
27 gsl_linalg_hessenberg_submatrix
28 gsl_linalg_hessenberg
29 gsl_linalg_hesstri_decomp
30 gsl_linalg_SV_decomp
31 gsl_linalg_SV_decomp_mod
32 gsl_linalg_SV_decomp_jacobi
33 gsl_linalg_SV_solve
34 gsl_linalg_LU_decomp
35 gsl_linalg_LU_solve
36 gsl_linalg_LU_svx
37 gsl_linalg_LU_refine
38 gsl_linalg_LU_invert
39 gsl_linalg_LU_det
40 gsl_linalg_LU_lndet
41 gsl_linalg_LU_sgndet
42 gsl_linalg_complex_LU_decomp
43 gsl_linalg_complex_LU_solve
44 gsl_linalg_complex_LU_svx
45 gsl_linalg_complex_LU_refine
46 gsl_linalg_complex_LU_invert
47 gsl_linalg_complex_LU_det
48 gsl_linalg_complex_LU_lndet
49 gsl_linalg_complex_LU_sgndet
50 gsl_linalg_QR_decomp
51 gsl_linalg_QR_solve
52 gsl_linalg_QR_svx
53 gsl_linalg_QR_lssolve
54 gsl_linalg_QR_QRsolve
55 gsl_linalg_QR_Rsolve
56 gsl_linalg_QR_Rsvx
57 gsl_linalg_QR_update
58 gsl_linalg_QR_QTvec
59 gsl_linalg_QR_Qvec
60 gsl_linalg_QR_QTmat
61 gsl_linalg_QR_unpack
62 gsl_linalg_R_solve
63 gsl_linalg_R_svx
64 gsl_linalg_QRPT_decomp
65 gsl_linalg_QRPT_decomp2
66 gsl_linalg_QRPT_solve
67 gsl_linalg_QRPT_svx
68 gsl_linalg_QRPT_QRsolve
69 gsl_linalg_QRPT_Rsolve
70 gsl_linalg_QRPT_Rsvx
71 gsl_linalg_QRPT_update
72 gsl_linalg_LQ_decomp
73 gsl_linalg_LQ_solve_T
74 gsl_linalg_LQ_svx_T
75 gsl_linalg_LQ_lssolve_T
76 gsl_linalg_LQ_Lsolve_T
77 gsl_linalg_LQ_Lsvx_T
78 gsl_linalg_L_solve_T
79 gsl_linalg_LQ_vecQ
80 gsl_linalg_LQ_vecQT
81 gsl_linalg_LQ_unpack
82 gsl_linalg_LQ_update
83 gsl_linalg_LQ_LQsolve
84 gsl_linalg_PTLQ_decomp
85 gsl_linalg_PTLQ_decomp2
86 gsl_linalg_PTLQ_solve_T
87 gsl_linalg_PTLQ_svx_T
88 gsl_linalg_PTLQ_LQsolve_T
89 gsl_linalg_PTLQ_Lsolve_T
90 gsl_linalg_PTLQ_Lsvx_T
91 gsl_linalg_PTLQ_update
92 gsl_linalg_cholesky_decomp
93 gsl_linalg_cholesky_solve
94 gsl_linalg_cholesky_svx
95 gsl_linalg_cholesky_decomp_unit
96 gsl_linalg_complex_cholesky_decomp
97 gsl_linalg_complex_cholesky_solve
98 gsl_linalg_complex_cholesky_svx
99 gsl_linalg_symmtd_decomp
100 gsl_linalg_symmtd_unpack
101 gsl_linalg_symmtd_unpack_T
102 gsl_linalg_hermtd_decomp
103 gsl_linalg_hermtd_unpack
104 gsl_linalg_hermtd_unpack_T
105 gsl_linalg_HH_solve
106 gsl_linalg_HH_svx
107 gsl_linalg_solve_symm_tridiag
108 gsl_linalg_solve_tridiag
109 gsl_linalg_solve_symm_cyc_tridiag
110 gsl_linalg_solve_cyc_tridiag
111 gsl_linalg_bidiag_decomp
112 gsl_linalg_bidiag_unpack
113 gsl_linalg_bidiag_unpack2
114 gsl_linalg_bidiag_unpack_B
115 gsl_linalg_balance_matrix
116 gsl_linalg_balance_accum
117 gsl_linalg_balance_columns
119 %EXPORT_TAGS = ( all =>[ @EXPORT_OK ] );
121 __END__
123 =head1 NAME
125 Math::GSL::Linalg - Functions for solving linear systems
127 =head1 SYPNOPSIS
129 use Math::GSL::Linalg qw/:all/;
131 =head1 DESCRIPTION
134 Here is a list of all the functions included in this module :
135 gsl_linalg_matmult gsl_linalg_matmult_mod
136 gsl_linalg_exponential_ss
137 gsl_linalg_householder_transform
138 gsl_linalg_complex_householder_transform
139 gsl_linalg_householder_hm
140 gsl_linalg_householder_mh
141 gsl_linalg_householder_hv
142 gsl_linalg_householder_hm1
143 gsl_linalg_complex_householder_hm
144 gsl_linalg_complex_householder_mh
145 gsl_linalg_complex_householder_hv
146 gsl_linalg_hessenberg_decomp
147 gsl_linalg_hessenberg_unpack
148 gsl_linalg_hessenberg_unpack_accum
149 gsl_linalg_hessenberg_set_zero
150 gsl_linalg_hessenberg_submatrix
151 gsl_linalg_hessenberg
152 gsl_linalg_hesstri_decomp
153 gsl_linalg_SV_decomp
154 gsl_linalg_SV_decomp_mod
155 gsl_linalg_SV_decomp_jacobi
156 gsl_linalg_SV_solve
157 gsl_linalg_LU_decomp
158 gsl_linalg_LU_solve
159 gsl_linalg_LU_svx
160 gsl_linalg_LU_refine
161 gsl_linalg_LU_invert
162 gsl_linalg_LU_det
163 gsl_linalg_LU_lndet
164 gsl_linalg_LU_sgndet
165 gsl_linalg_complex_LU_decomp
166 gsl_linalg_complex_LU_solve
167 gsl_linalg_complex_LU_svx
168 gsl_linalg_complex_LU_refine
169 gsl_linalg_complex_LU_invert
170 gsl_linalg_complex_LU_det
171 gsl_linalg_complex_LU_lndet
172 gsl_linalg_complex_LU_sgndet
173 gsl_linalg_QR_decomp
174 gsl_linalg_QR_solve
175 gsl_linalg_QR_svx
176 gsl_linalg_QR_lssolve
177 gsl_linalg_QR_QRsolve
178 gsl_linalg_QR_Rsolve
179 gsl_linalg_QR_Rsvx
180 gsl_linalg_QR_update
181 gsl_linalg_QR_QTvec
182 gsl_linalg_QR_Qvec
183 gsl_linalg_QR_QTmat
184 gsl_linalg_QR_unpack
185 gsl_linalg_R_solve
186 gsl_linalg_R_svx
187 gsl_linalg_QRPT_decomp
188 gsl_linalg_QRPT_decomp2
189 gsl_linalg_QRPT_solve
190 gsl_linalg_QRPT_svx
191 gsl_linalg_QRPT_QRsolve
192 gsl_linalg_QRPT_Rsolve
193 gsl_linalg_QRPT_Rsvx
194 gsl_linalg_QRPT_update
195 gsl_linalg_LQ_decomp
196 gsl_linalg_LQ_solve_T
197 gsl_linalg_LQ_svx_T
198 gsl_linalg_LQ_lssolve_T
199 gsl_linalg_LQ_Lsolve_T
200 gsl_linalg_LQ_Lsvx_T
201 gsl_linalg_L_solve_T
202 gsl_linalg_LQ_vecQ
203 gsl_linalg_LQ_vecQT
204 gsl_linalg_LQ_unpack
205 gsl_linalg_LQ_update
206 gsl_linalg_LQ_LQsolve
207 gsl_linalg_PTLQ_decomp
208 gsl_linalg_PTLQ_decomp2
209 gsl_linalg_PTLQ_solve_T
210 gsl_linalg_PTLQ_svx_T
211 gsl_linalg_PTLQ_LQsolve_T
212 gsl_linalg_PTLQ_Lsolve_T
213 gsl_linalg_PTLQ_Lsvx_T
214 gsl_linalg_PTLQ_update
215 gsl_linalg_cholesky_decomp
216 gsl_linalg_cholesky_solve
217 gsl_linalg_cholesky_svx
218 gsl_linalg_cholesky_decomp_unit
219 gsl_linalg_complex_cholesky_decomp
220 gsl_linalg_complex_cholesky_solve
221 gsl_linalg_complex_cholesky_svx
222 gsl_linalg_symmtd_decomp
223 gsl_linalg_symmtd_unpack
224 gsl_linalg_symmtd_unpack_T
225 gsl_linalg_hermtd_decomp
226 gsl_linalg_hermtd_unpack
227 gsl_linalg_hermtd_unpack_T
228 gsl_linalg_HH_solve
229 gsl_linalg_HH_svx
230 gsl_linalg_solve_symm_tridiag
231 gsl_linalg_solve_tridiag
232 gsl_linalg_solve_symm_cyc_tridiag
233 gsl_linalg_solve_cyc_tridiag
234 gsl_linalg_bidiag_decomp
235 gsl_linalg_bidiag_unpack
236 gsl_linalg_bidiag_unpack2
237 gsl_linalg_bidiag_unpack_B
238 gsl_linalg_balance_matrix
239 gsl_linalg_balance_accum
240 gsl_linalg_balance_columns
242 You have to add the functions you want to use inside the qw /put_funtion_here / with spaces between each function. You can also write use Math::GSL::Complex qw/:all/ to use all avaible functions of the module.
244 For more informations on the functions, we refer you to the GSL offcial documentation: L<http://www.gnu.org/software/gsl/manual/html_node/>
245 Tip : search on google: site:http://www.gnu.org/software/gsl/manual/html_node/ name_of_the_function_you_want
247 =head1 EXAMPLES
250 =head1 AUTHOR
252 Jonathan Leto <jonathan@leto.net> and Thierry Moisan <thierry.moisan@gmail.com>
254 =head1 COPYRIGHT AND LICENSE
256 Copyright (C) 2008 Jonathan Leto and Thierry Moisan
258 This program is free software; you can redistribute it and/or modify it
259 under the same terms as Perl itself.
261 =cut