Permalink
Browse files

Improve Wavelet POD

  • Loading branch information...
1 parent 2ad2032 commit e4b1326ed30026c9c4ba16361e1444cc64d8cd88 @leto committed Oct 13, 2011
Showing with 42 additions and 16 deletions.
  1. +42 −16 pod/Wavelet.pod
View
@@ -1,6 +1,5 @@
%perlcode %{
-
@EXPORT_OK = qw/
gsl_wavelet_alloc
gsl_wavelet_free
@@ -23,7 +22,7 @@
=head1 NAME
-Math::GSL::Wavelet - Wavelets (for 1-D real data)
+Math::GSL::Wavelet - 1-D (Real) Wavelets
=head1 SYNOPSIS
@@ -33,39 +32,63 @@ Math::GSL::Wavelet - Wavelets (for 1-D real data)
=head1 DESCRIPTION
-Here is a list of all the functions included in this module :
-
=over 1
-=item C<gsl_wavelet_alloc($T, $k)> - This function allocates and initializes a wavelet object of type $T, where $T must be one of the constants below. The parameter $k selects the specific member of the wavelet family.
+=item C<gsl_wavelet_alloc($T, $k)>
+
+This function allocates and initializes a wavelet object of type $T, where $T
+must be one of the constants below. The parameter $k selects the specific member
+of the wavelet family.
+
+=item C<gsl_wavelet_free($w)>
-=item C<gsl_wavelet_free($w)> - This function frees the wavelet object $w.
+This function frees the wavelet object $w.
=item C<gsl_wavelet_name>
-=item C<gsl_wavelet_workspace_alloc($n)> - This function allocates a workspace for the discrete wavelet transform. To perform a one-dimensional transform on $n elements, a workspace of size $n must be provided. For two-dimensional transforms of $n-by-$n matrices it is sufficient to allocate a workspace of size $n, since the transform operates on individual rows and columns.
+=item C<gsl_wavelet_workspace_alloc($n)>
-=item C<gsl_wavelet_workspace_free($work)> - This function frees the allocated workspace work.
+This function allocates a workspace for the discrete wavelet transform. To
+perform a one-dimensional transform on $n elements, a workspace of size $n must
+be provided. For two-dimensional transforms of $n-by-$n matrices it is
+sufficient to allocate a workspace of size $n, since the transform operates on
+individual rows and columns.
+
+=item C<gsl_wavelet_workspace_free($work)>
+
+This function frees the allocated workspace work.
=item C<gsl_wavelet_transform>
-=item C<gsl_wavelet_transform_forward($w, $data, $stride, $n, $work)> - This functions compute in-place forward discrete wavelet transforms of length $n with stride $stride on the array $data. The length of the transform $n is restricted to powers of two. For the forward transform, the elements of the original array are replaced by the discrete wavelet transform f_i -> w_{j,k} in a packed triangular storage layout, where j is the index of the level j = 0 ... J-1 and k is the index of the coefficient within each level, k = 0 ... (2^j)-1. The total number of levels is J = \log_2(n). The output data has the following form,
+=item C<gsl_wavelet_transform_forward($w, $data, $stride, $n, $work)>
-=over
+This functions compute in-place forward discrete wavelet transforms of length $n
+with stride $stride on the array $data. The length of the transform $n is
+restricted to powers of two. For the forward transform, the elements of the
+original array are replaced by the discrete wavelet transform f_i -> w_{j,k} in
+a packed triangular storage layout, where j is the index of the level j = 0 ...
+J-1 and k is the index of the coefficient within each level, k = 0 ... (2^j)-1.
+The total number of levels is J = \log_2(n). The output data has the following
+form,
-=item (s_{-1,0}, d_{0,0}, d_{1,0}, d_{1,1}, d_{2,0}, ...,
+=over
-=item d_{j,k}, ..., d_{J-1,2^{J-1}-1})
+ (s_{-1,0}, d_{0,0}, d_{1,0}, d_{1,1}, d_{2,0}, ..., d_{j,k}, ..., d_{J-1,2^{J-1}-1})
=back
-where the first element is the smoothing coefficient s_{-1,0}, followed by the detail coefficients d_{j,k} for each level j. The backward transform inverts these coefficients to obtain the original data. These functions return a status of $GSL_SUCCESS upon successful completion. $GSL_EINVAL is returned if $n is not an integer power of 2 or if insufficient workspace is provided.
+where the first element is the smoothing coefficient s_{-1,0}, followed by the
+detail coefficients d_{j,k} for each level j. The backward transform inverts
+these coefficients to obtain the original data. These functions return a status
+of $GSL_SUCCESS upon successful completion. $GSL_EINVAL is returned if $n is not
+an integer power of 2 or if insufficient workspace is provided.
=item C<gsl_wavelet_transform_inverse>
=back
-This module also contains the following constants with their valid k value for the gsl_wavelet_alloc function :
+This module also contains the following constants with their valid k value for
+the gsl_wavelet_alloc function :
=over 1
@@ -75,7 +98,8 @@ This module also contains the following constants with their valid k value for t
=back
-This is the Daubechies wavelet family of maximum phase with k/2 vanishing moments. The implemented wavelets are k=4, 6, ..., 20, with k even.
+This is the Daubechies wavelet family of maximum phase with k/2 vanishing
+moments. The implemented wavelets are k=4, 6, ..., 20, with k even.
=over 1
@@ -95,7 +119,9 @@ This is the Haar wavelet. The only valid choice of k for the Haar wavelet is k=2
=back
-This is the biorthogonal B-spline wavelet family of order (i,j). The implemented values of k = 100*i + j are 103, 105, 202, 204, 206, 208, 301, 303, 305 307, 309.
+This is the biorthogonal B-spline wavelet family of order (i,j). The implemented
+values of k = 100*i + j are 103, 105, 202, 204, 206, 208, 301, 303, 305 307,
+309.
=head1 AUTHORS

0 comments on commit e4b1326

Please sign in to comment.