ccgsl 2.7.2
C++wrappersforGnuScientificLibrary
eigen.hpp
Go to the documentation of this file.
1/*
2 * $Id: eigen.hpp 16 2011-12-26 12:54:57Z jdl3 $
3 * Copyright (C) 2010, 2011 John D Lamb
4 * Enum copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Gerard Jungman, Brian Gough
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or (at
9 * your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 */
20
21#ifndef CCGSL_EIGEN_HPP
22#define CCGSL_EIGEN_HPP
23
24#include"eigen_symm.hpp"
25#include"eigen_herm.hpp"
26#include"eigen_nonsymm.hpp"
27#include"eigen_gensymm.hpp"
28#include"eigen_genherm.hpp"
29#include"eigen_gen.hpp"
30
31namespace gsl {
32 namespace eigen {
36 gsl_eigen_sort_t const SORT_VAL_ASC = GSL_EIGEN_SORT_VAL_ASC;
40 gsl_eigen_sort_t const SORT_VAL_DESC = GSL_EIGEN_SORT_VAL_DESC;
44 gsl_eigen_sort_t const SORT_VAL_ABS_ASC = GSL_EIGEN_SORT_ABS_ASC;
48 gsl_eigen_sort_t const SORT_VAL_ABS_DESC = GSL_EIGEN_SORT_ABS_DESC;
56 inline int symmv_sort( vector& eval, matrix& evec, gsl_eigen_sort_t sort_type ){
57 return gsl_eigen_symmv_sort( eval.get(), evec.get(), sort_type ); }
65 inline int hermv_sort( vector& eval, matrix_complex& evec, gsl_eigen_sort_t sort_type ){
66 return gsl_eigen_hermv_sort( eval.get(), evec.get(), sort_type ); }
75 gsl_eigen_sort_t sort_type ){
76 return gsl_eigen_nonsymmv_sort( eval.get(), evec.get(), sort_type ); }
84 inline int gensymmv_sort( vector& eval, matrix& evec, gsl_eigen_sort_t sort_type ){
85 return gsl_eigen_gensymmv_sort( eval.get(), evec.get(), sort_type ); }
93 inline int genhermv_sort( vector& eval, matrix_complex& evec, gsl_eigen_sort_t sort_type ){
94 return gsl_eigen_genhermv_sort( eval.get(), evec.get(), sort_type ); }
103 inline int genv_sort( vector_complex& alpha, vector& beta, matrix_complex& evec,
104 gsl_eigen_sort_t sort_type ){
105 return gsl_eigen_genv_sort( alpha.get(), beta.get(), evec.get(), sort_type ); }
106 }
107}
108
109#endif
This class handles matrix_complex objects as shared handles.
gsl_matrix_complex * get()
Get the gsl_matrix_complex.
This class handles matrix objects as shared handles.
Definition: matrix.hpp:72
gsl_matrix * get()
Get the gsl_matrix.
Definition: matrix.hpp:1207
This class handles vector_complex objects as shared handles.
gsl_vector_complex * get()
Get the gsl_vector_complex.
This class handles vector objects as shared handles.
Definition: vector.hpp:74
int eval(double const x, vector &B, workspace &w)
C++ version of gsl_bspline_eval().
Definition: bspline.hpp:309
gsl_eigen_sort_t const SORT_VAL_ABS_ASC
Sort in ascending order by absoulte size.
Definition: eigen.hpp:44
int hermv_sort(vector &eval, matrix_complex &evec, gsl_eigen_sort_t sort_type)
C++ version of gsl_eigen_hermv_sort().
Definition: eigen.hpp:65
int symmv_sort(vector &eval, matrix &evec, gsl_eigen_sort_t sort_type)
C++ version of gsl_eigen_symmv_sort().
Definition: eigen.hpp:56
gsl_eigen_sort_t const SORT_VAL_DESC
Sort in descending order.
Definition: eigen.hpp:40
int genhermv_sort(vector &eval, matrix_complex &evec, gsl_eigen_sort_t sort_type)
C++ version of gsl_eigen_genhermv_sort().
Definition: eigen.hpp:93
int gensymmv_sort(vector &eval, matrix &evec, gsl_eigen_sort_t sort_type)
C++ version of gsl_eigen_gensymmv_sort().
Definition: eigen.hpp:84
gsl_eigen_sort_t const SORT_VAL_ASC
Sort in ascending order.
Definition: eigen.hpp:36
int genv_sort(vector_complex &alpha, vector &beta, matrix_complex &evec, gsl_eigen_sort_t sort_type)
C++ version of gsl_eigen_genv_sort().
Definition: eigen.hpp:103
gsl_eigen_sort_t const SORT_VAL_ABS_DESC
Sort in descending order by absolute size.
Definition: eigen.hpp:48
int nonsymmv_sort(vector_complex &eval, matrix_complex &evec, gsl_eigen_sort_t sort_type)
C++ version of gsl_eigen_nonsymmv_sort().
Definition: eigen.hpp:74
double beta(rng const &r, double const a, double const b)
C++ version of gsl_ran_beta().
Definition: randist.hpp:262
The gsl package creates an interface to the GNU Scientific Library for C++.
Definition: blas.hpp:34