The numerics library, vnl is intended to provide an environment for numerical programming which combines the ease of use of packages like Mathematica and Matlab with the speed of C and the elegance of C++. It provides a C++ interface to the high-quality Fortran routines made available in the public domain by numerical analysis researchers.
Matrix and vector classes include
- vnl_vector<T> : Standard vector class
- vnl_matrix<T> : Standard matrix class
- vnl_vector_fixed<T,N> : Fixed size vector class (of length N)
- vnl_matrix_fixed<T,N,M> : Fixed size NxM matrix class
- vnl_vector_ref<T> : Wrap user-supplied memory chunk as a vector
- vnl_matrix_ref<T> : Wrap user-supplied memory chunk as a matrix
Functions to generate special matrixes:
Support for manipulating polynomials
Useful utility functions
- Common functions and constants (in vnl_math)
- vnl_random : random number generation, with normal and box distributions.
- vnl_gamma, vnl_gamma_p, vnl_gamma_q : gamma functions
- vnl_erf
Simple matrix operations
- vnl_transpose : transpose of a matrix for direct use in a multiplication
- vnl_adjugate : return the adjugate matrix
- vnl_rank, vnl_rank_row_reduce and vnl_rank_column_reduce
- vnl_trace
- vnl_cross
- vnl_det and vnl_determinant
- vnl_inverse, vnl_inverse_transpose and vnl_matrix_inverse
- vnl_orthogonal_complement
Alternative number representations
Mapping functionality
vnl_algo : Computational Numerics Library
Matrix decompositions include
Optimisation routines include
Useful utility functions
- vnl_fft_1d : 1D Fast Fourier Transform
- vnl_fft_2d : 2D Fast Fourier Transform
- vnl_convolve
- vnl_chi_squared : CDF of chi-squared distributi
Developer
Amitha Perera is responsible for co-ordinating significant changes to vnl. http://sourceforge.net/sendmessage.php?touser=237910