Numerical routines


Detailed Description


Files

file  bpm_nr.h
 libbpm numerical helper routines
file  dround.c
file  gsl_blas.c
file  gsl_block.c
file  gsl_eigen.c
file  gsl_linalg.c
file  gsl_matrix.c
file  gsl_vector.c
file  nr_checks.c
file  nr_complex.c
file  nr_fit.c
file  nr_four1.c
file  nr_gammln.c
file  nr_gammq.c
file  nr_gcf.c
file  nr_gser.c
file  nr_levmar.c
file  nr_median.c
file  nr_quadinterpol.c
file  nr_ran1.c
file  nr_rangauss.c
file  nr_ranuniform.c
file  nr_realft.c
file  nr_seed.c
file  nr_select.c
file  nr_sinc.c

Data Structures

struct  lm_fstate
struct  gsl_block_struct
struct  gsl_matrix
struct  _gsl_matrix_view
struct  gsl_vector
struct  _gsl_vector_view
struct  _gsl_vector_const_view
struct  complex_t

Defines

#define GCF_ITMAX
#define GCF_FPMIN
#define GCF_EPS
#define GSER_EPS
#define GSER_ITMAX
#define RAN1_IA
#define RAN1_IM
#define RAN1_AM
#define RAN1_IQ
#define RAN1_IR
#define RAN1_NTAB
#define RAN1_NDIV
#define RAN1_EPS
#define RAN1_RNMX
#define __LM_BLOCKSZ__
#define __LM_BLOCKSZ__SQ
#define LINSOLVERS_RETAIN_MEMORY
#define __LM_STATIC__
#define FABS(x)
#define CNST(x)
#define _LM_POW_
#define LM_DER_WORKSZ(npar, nmeas)
#define LM_DIF_WORKSZ(npar, nmeas)
#define LM_EPSILON
#define LM_ONE_THIRD
#define LM_OPTS_SZ
#define LM_INFO_SZ
#define LM_INIT_MU
#define LM_STOP_THRESH
#define LM_DIFF_DELTA
#define NR_FFTFORWARD
#define NR_FFTBACKWARD
#define __LM_MEDIAN3(a, b, c)
#define NULL_VECTOR
#define NULL_VECTOR_VIEW
#define NULL_MATRIX
#define NULL_MATRIX_VIEW
#define GSL_DBL_EPSILON
#define OFFSET(N, incX)
#define GSL_MIN(a, b)

Typedefs

typedef enum CBLAS_TRANSPOSE CBLAS_TRANSPOSE_t
typedef struct gsl_block_struct gsl_block
typedef _gsl_matrix_view gsl_matrix_view
typedef _gsl_vector_view gsl_vector_view
typedef const
_gsl_vector_const_view 
gsl_vector_const_view

Enumerations

enum  CBLAS_TRANSPOSE { CblasNoTrans, CblasTrans, CblasConjTrans }
enum  CBLAS_ORDER { CblasRowMajor, CblasColMajor }

Functions

EXTERN double nr_gammln (double xx)
EXTERN double nr_gammq (double a, double x)
EXTERN int nr_gcf (double *gammcf, double a, double x, double *gln)
EXTERN int nr_gser (double *gamser, double a, double x, double *gln)
EXTERN int nr_fit (double *x, double y[], int ndata, double sig[], int mwt, double *a, double *b, double *siga, double *sigb, double *chi2, double *q)
EXTERN int nr_is_pow2 (unsigned long n)
EXTERN int nr_four1 (double data[], unsigned long nn, int isign)
EXTERN int nr_realft (double data[], unsigned long n, int isign)
EXTERN double nr_ran1 (long *idum)
EXTERN int nr_seed (long seed)
EXTERN double nr_ranuniform (double lower, double upper)
EXTERN double nr_rangauss (double mean, double std_dev)
EXTERN int nr_lmder (void(*func)(double *p, double *hx, int m, int n, void *adata), void(*jacf)(double *p, double *j, int m, int n, void *adata), double *p, double *x, int m, int n, int itmax, double *opts, double *info, double *work, double *covar, void *adata)
EXTERN int nr_lmdif (void(*func)(double *p, double *hx, int m, int n, void *adata), double *p, double *x, int m, int n, int itmax, double *opts, double *info, double *work, double *covar, void *adata)
EXTERN int nr_lmder_bc (void(*func)(double *p, double *hx, int m, int n, void *adata), void(*jacf)(double *p, double *j, int m, int n, void *adata), double *p, double *x, int m, int n, double *lb, double *ub, int itmax, double *opts, double *info, double *work, double *covar, void *adata)
EXTERN int nr_lmdif_bc (void(*func)(double *p, double *hx, int m, int n, void *adata), double *p, double *x, int m, int n, double *lb, double *ub, int itmax, double *opts, double *info, double *work, double *covar, void *adata)
EXTERN void nr_lmchkjac (void(*func)(double *p, double *hx, int m, int n, void *adata), void(*jacf)(double *p, double *j, int m, int n, void *adata), double *p, int m, int n, void *adata, double *err)
EXTERN int nr_lmcovar (double *JtJ, double *C, double sumsq, int m, int n)
EXTERN int nr_ax_eq_b_LU (double *A, double *B, double *x, int n)
EXTERN void nr_trans_mat_mat_mult (double *a, double *b, int n, int m)
EXTERN void nr_fdif_forw_jac_approx (void(*func)(double *p, double *hx, int m, int n, void *adata), double *p, double *hx, double *hxx, double delta, double *jac, int m, int n, void *adata)
EXTERN void nr_fdif_cent_jac_approx (void(*func)(double *p, double *hx, int m, int n, void *adata), double *p, double *hxm, double *hxp, double delta, double *jac, int m, int n, void *adata)
EXTERN double nr_median (int n, double *arr)
EXTERN double nr_select (int k, int n, double *org_arr)
EXTERN gsl_matrix * gsl_matrix_calloc (const size_t n1, const size_t n2)
EXTERN _gsl_vector_view gsl_matrix_column (gsl_matrix *m, const size_t i)
EXTERN _gsl_matrix_view gsl_matrix_submatrix (gsl_matrix *m, const size_t i, const size_t j, const size_t n1, const size_t n2)
EXTERN double gsl_matrix_get (const gsl_matrix *m, const size_t i, const size_t j)
EXTERN void gsl_matrix_set (gsl_matrix *m, const size_t i, const size_t j, const double x)
EXTERN int gsl_matrix_swap_columns (gsl_matrix *m, const size_t i, const size_t j)
EXTERN gsl_matrix * gsl_matrix_alloc (const size_t n1, const size_t n2)
EXTERN _gsl_vector_const_view gsl_matrix_const_row (const gsl_matrix *m, const size_t i)
EXTERN _gsl_vector_view gsl_matrix_row (gsl_matrix *m, const size_t i)
EXTERN _gsl_vector_const_view gsl_matrix_const_column (const gsl_matrix *m, const size_t j)
EXTERN void gsl_matrix_set_identity (gsl_matrix *m)
EXTERN gsl_vector * gsl_vector_calloc (const size_t n)
EXTERN _gsl_vector_view gsl_vector_subvector (gsl_vector *v, size_t offset, size_t n)
EXTERN double gsl_vector_get (const gsl_vector *v, const size_t i)
EXTERN void gsl_vector_set (gsl_vector *v, const size_t i, double x)
EXTERN int gsl_vector_swap_elements (gsl_vector *v, const size_t i, const size_t j)
EXTERN _gsl_vector_const_view gsl_vector_const_subvector (const gsl_vector *v, size_t i, size_t n)
EXTERN void gsl_vector_free (gsl_vector *v)
EXTERN int gsl_linalg_SV_solve (const gsl_matrix *U, const gsl_matrix *Q, const gsl_vector *S, const gsl_vector *b, gsl_vector *x)
EXTERN int gsl_linalg_bidiag_unpack (const gsl_matrix *A, const gsl_vector *tau_U, gsl_matrix *U, const gsl_vector *tau_V, gsl_matrix *V, gsl_vector *diag, gsl_vector *superdiag)
EXTERN int gsl_linalg_householder_hm (double tau, const gsl_vector *v, gsl_matrix *A)
EXTERN int gsl_linalg_bidiag_unpack2 (gsl_matrix *A, gsl_vector *tau_U, gsl_vector *tau_V, gsl_matrix *V)
EXTERN int gsl_linalg_householder_hm1 (double tau, gsl_matrix *A)
EXTERN void create_givens (const double a, const double b, double *c, double *s)
EXTERN double gsl_linalg_householder_transform (gsl_vector *v)
EXTERN int gsl_linalg_householder_mh (double tau, const gsl_vector *v, gsl_matrix *A)
EXTERN void chop_small_elements (gsl_vector *d, gsl_vector *f)
EXTERN void qrstep (gsl_vector *d, gsl_vector *f, gsl_matrix *U, gsl_matrix *V)
EXTERN double trailing_eigenvalue (const gsl_vector *d, const gsl_vector *f)
EXTERN void create_schur (double d0, double f0, double d1, double *c, double *s)
EXTERN void svd2 (gsl_vector *d, gsl_vector *f, gsl_matrix *U, gsl_matrix *V)
EXTERN void chase_out_intermediate_zero (gsl_vector *d, gsl_vector *f, gsl_matrix *U, size_t k0)
EXTERN void chase_out_trailing_zero (gsl_vector *d, gsl_vector *f, gsl_matrix *V)
EXTERN int gsl_isnan (const double x)
EXTERN double gsl_blas_dnrm2 (const gsl_vector *X)
EXTERN double cblas_dnrm2 (const int N, const double *X, const int incX)
EXTERN void gsl_blas_dscal (double alpha, gsl_vector *X)
EXTERN void cblas_dscal (const int N, const double alpha, double *X, const int incX)
EXTERN void cblas_dgemv (const enum CBLAS_ORDER order, const enum CBLAS_TRANSPOSE TransA, const int M, const int N, const double alpha, const double *A, const int lda, const double *X, const int incX, const double beta, double *Y, const int incY)
EXTERN gsl_block * gsl_block_alloc (const size_t n)
EXTERN void gsl_block_free (gsl_block *b)
EXTERN complex_t complex (double re, double im)
EXTERN double c_real (complex_t z)
EXTERN double c_imag (complex_t z)
EXTERN complex_t c_conj (complex_t z)
EXTERN complex_t c_neg (complex_t z)
EXTERN complex_t c_sum (complex_t z1, complex_t z2)
EXTERN complex_t c_diff (complex_t z1, complex_t z2)
EXTERN complex_t c_mult (complex_t z1, complex_t z2)
EXTERN complex_t c_div (complex_t z1, complex_t z2)
EXTERN complex_t c_scale (double r, complex_t z)
EXTERN complex_t c_sqr (complex_t z)
EXTERN complex_t c_sqrt (complex_t z)
EXTERN double c_norm2 (complex_t z)
EXTERN double c_abs (complex_t z)
EXTERN double c_abs2 (complex_t z)
EXTERN double c_arg (complex_t z)
EXTERN complex_t c_exp (complex_t z)
EXTERN int c_isequal (complex_t z1, complex_t z2)
EXTERN double nr_quadinterpol (double x, double x1, double x2, double x3, double y1, double y2, double y3)
EXTERN double sinc (double x)
EXTERN double lanczos (double x, int a)
EXTERN double dround (double x)

Variables

EXTERN long bpm_rseed


Define Documentation

#define GCF_ITMAX

Definition at line 30 of file bpm_nr.h.

Referenced by nr_gcf().

#define __LM_BLOCKSZ__

Block size for cache-friendly matrix-matrix multiply. It should be such that __BLOCKSZ__^2*sizeof(LM_REAL) is smaller than the CPU (L1) data cache size. Notice that a value of 32 when LM_REAL=double assumes an 8Kb L1 data cache (32*32*8=8K). This is a concervative choice since newer Pentium 4s have a L1 data cache of size 16K, capable of holding up to 45x45 double blocks.

Definition at line 55 of file bpm_nr.h.

#define LM_DER_WORKSZ ( npar,
nmeas   ) 

Work array size for LM with & without jacobian, should be multiplied by sizeof(double) or sizeof(float) to be converted to bytes

Definition at line 73 of file bpm_nr.h.

#define LM_DIF_WORKSZ ( npar,
nmeas   ) 

see LM_DER_WORKSZ

Definition at line 75 of file bpm_nr.h.

#define NR_FFTFORWARD

Perform forward FFT in nr_four

Definition at line 86 of file bpm_nr.h.

#define NR_FFTBACKWARD

Perform backward FFT in nr_four

Definition at line 87 of file bpm_nr.h.

#define __LM_MEDIAN3 ( a,
b,
 ) 

find the median of 3 numbers

Definition at line 90 of file bpm_nr.h.


Function Documentation

EXTERN double nr_gammln ( double  xx  ) 

Calculates the logaritm of the gamma function ln[gamma(xx)]. NR C6.1, p 214 supposed to be correct to double precision

Parameters:
xx the argument
Returns:
the value of ln[gamma(xx)]

Definition at line 16 of file nr_gammln.c.

References bpm_error(), and nr_is_int().

Referenced by nr_gcf(), and nr_gser().

EXTERN double nr_gammq ( double  a,
double  x 
)

Returns the incomplete gamma function. From numerical recipes, C6.2, p218

Returns:
-DBL_MAX upon failure

Definition at line 14 of file nr_gammq.c.

References bpm_error(), nr_gcf(), and nr_gser().

Referenced by nr_fit().

EXTERN int nr_gcf ( double *  gammcf,
double  a,
double  x,
double *  gln 
)

Returns the incomplete gamma function NR C6.2, p219

Definition at line 11 of file nr_gcf.c.

References bpm_error(), bpm_warning(), GCF_ITMAX, and nr_gammln().

Referenced by nr_gammq().

EXTERN int nr_gser ( double *  gamser,
double  a,
double  x,
double *  gln 
)

Returns incomplete gamma function. NR 6.2, 218

Definition at line 11 of file nr_gser.c.

References bpm_error(), bpm_warning(), and nr_gammln().

Referenced by nr_gammq().

EXTERN int nr_fit ( double *  x,
double  y[],
int  ndata,
double  sig[],
int  mwt,
double *  a,
double *  b,
double *  siga,
double *  sigb,
double *  chi2,
double *  q 
)

Fit data to a straight line. Nicked from numerical recipes, C15.2, p665 See: http://www.library.cornell.edu/nr/cbookcpdf.html

Parameters:
x array with x values
y array with corresponding y values
ndata number of datapoints
sig array with errors on y datapoints
mwt used weighted (so including errors on datapoints ?)
a fitted slope
b fitted intercept
siga error on fitted slope
sigb error on fitted intercept
chi2 chi2 of fit
q quality factor of fit
Returns:
BPM_FAILURE upon failure, BPM_SUCCESS upon success

Definition at line 27 of file nr_fit.c.

References bpm_error(), and nr_gammq().

Referenced by get_t0().

EXTERN int nr_is_pow2 ( unsigned long  n  ) 

Checks whether the input argument is an integer power of 2, like 256, 1024 etc...

Parameters:
n given unsigend long argument for which to check this
Returns:
FALSE if not a power of 2. The routine returns the precise power ( > 1 ) if the integer is indeed a power of 2

Definition at line 39 of file nr_checks.c.

Referenced by nr_four1(), and nr_realft().

EXTERN int nr_four1 ( double  data[],
unsigned long  nn,
int  isign 
)

Replaces data[1..2*nn] by its discrete Fourier transform, if isign is input as 1, or replaces data[1..2*nn] by nn times its inverse discrete Fourier transform if isign is input as -1.

data is a complex arry of length nn, or equivalently a real array of length 2*nn. nn MUST !!! be an integer power of 2, this is not checked for...

BM. 15.08.2005... added this check ;-))

Perform an FFT, NR S12.2 pg507 See: http://www.library.cornell.edu/nr/cbookcpdf.html

Parameters:
data array with data
nn number of data points, note that the array length has to be at least twice this number
isign sign of transform
Returns:
BPM_FAILURE upon failure, BPM_SUCCESS upon success

Definition at line 32 of file nr_four1.c.

References bpm_error(), and nr_is_pow2().

Referenced by nr_realft().

EXTERN int nr_realft ( double  data[],
unsigned long  n,
int  isign 
)

Calculates the Fourier transform on a set of n real valued datapoints replaces this data (array data[1..n] by the positive frequency half of its complex Fourier transform. The real valued first and last components of the complex tranform are returned as elements data[1] and data[2] respectively, n MUST be a power of 2. This routines calculates the inverse transform of a complex data array if it is the transform of real data, result in this case must be multiplied with 2/n

BM. 15.08.2006: added the 2^n check on n Compute the FFT of a real function. NR 12.3 pg513

Parameters:
data the array with the data, which gets replaced by fft
n length of the data, must be power of 2
isign sign of the transform
Returns:
BPM_FAILURE upon failure, BPM_SUCCESS upon success

Definition at line 27 of file nr_realft.c.

References bpm_error(), nr_four1(), and nr_is_pow2().

EXTERN double nr_ran1 ( long *  idum  ) 

Random number generator as nicked from numerical recipes, c7.1, p280

Parameters:
idum random seed, note that the global seed is set by bpm_rseed
Returns:
random number between 0 and 1

Definition at line 13 of file nr_ran1.c.

Referenced by nr_rangauss(), and nr_ranuniform().

EXTERN int nr_seed ( long  seed  ) 

Set the random seed 'idum' to enable other random functions to work

Parameters:
seed a random seed
Returns:
BPM_SUCCESS upon success, BPM_FAILURE upon failure

Definition at line 19 of file nr_seed.c.

References bpm_error(), and bpm_rseed.

EXTERN double nr_ranuniform ( double  lower,
double  upper 
)

Sample from a uniform distribution between (and exluding) the upper and lower values.

Parameters:
lower the lower range for the generation
upper the upper range for the generation
Returns:
the value of the uniform deviate, returns -DBL_MAX if the seed was not set correctly before

Definition at line 18 of file nr_ranuniform.c.

References bpm_rseed, and nr_ran1().

Referenced by complexwf_add_noise(), and rf_addLO().

EXTERN double nr_rangauss ( double  mean,
double  std_dev 
)

Sample a given Gaussian distribution using ran1 as the source of the uniform deviate between 0 and 1. Nicked from numerical recipes, C7.2, p289

Parameters:
mean the mean of the gaussian
std_dev the standard deviation of the gaussian
Returns:
a gaussian deviate, returns -DBL_MAX if the random seed is not set properly before

Definition at line 19 of file nr_rangauss.c.

References bpm_rseed, and nr_ran1().

Referenced by complexwf_add_ampnoise(), complexwf_add_cwtone(), complexwf_add_dcywave(), complexwf_add_noise(), complexwf_add_phasenoise(), digitise(), doublewf_add_ampnoise(), doublewf_add_cwtone(), doublewf_add_dcywave(), intwf_add_ampnoise(), intwf_add_cwtone(), and intwf_add_dcywave().

EXTERN double nr_median ( int  n,
double *  arr 
)

Find the median value of the given array. Basically a wrapper for nr_select

Returns:
The value of the median element

Definition at line 13 of file nr_median.c.

References bpm_error(), and nr_select().

EXTERN double nr_select ( int  k,
int  n,
double *  org_arr 
)

Find the kth largest element of the array after sorting. Nicked from numerical recipes, C8.5, p342 See: http://www.library.cornell.edu/nr/cbookcpdf.html

Returns:
The value of the median element

Definition at line 14 of file nr_select.c.

References bpm_error().

Referenced by nr_median().

EXTERN _gsl_vector_view gsl_matrix_column ( gsl_matrix *  m,
const size_t  j 
)

Retrieve a column of a matrix

Parameters:
m The matrix
j index of the column
Returns:
BPM_SUCCESS if everything was OK, BPM_FAILURE if not

Definition at line 90 of file gsl_matrix.c.

References bpm_error().

Referenced by gsl_linalg_householder_hm(), and gsl_linalg_householder_hm1().

EXTERN _gsl_matrix_view gsl_matrix_submatrix ( gsl_matrix *  m,
const size_t  i,
const size_t  j,
const size_t  n1,
const size_t  n2 
)

Retrieve a submatrix of the given matrix

Definition at line 152 of file gsl_matrix.c.

References bpm_error().

Referenced by gsl_linalg_householder_hm(), gsl_linalg_householder_hm1(), and gsl_linalg_householder_mh().

EXTERN double gsl_matrix_get ( const gsl_matrix *  m,
const size_t  i,
const size_t  j 
)

Get the matrix value associated with the given row and column

Parameters:
m The matrix
i The row number
j The column number
Returns:
The value of the matrix element

Definition at line 124 of file gsl_matrix.c.

Referenced by gsl_linalg_householder_hm(), gsl_linalg_householder_hm1(), and gsl_linalg_householder_mh().

EXTERN void gsl_matrix_set ( gsl_matrix *  m,
const size_t  i,
const size_t  j,
const double  x 
)

Set the matrix value associated with the given row and column

Parameters:
m The matrix
i The row number
j The column number
x the value to set

Definition at line 141 of file gsl_matrix.c.

Referenced by ana_get_svd_coeffs(), gsl_linalg_householder_hm(), gsl_linalg_householder_hm1(), and gsl_linalg_householder_mh().

EXTERN int gsl_matrix_swap_columns ( gsl_matrix *  m,
const size_t  i,
const size_t  j 
)

Swap two matrix columns

Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004 Gerard Jungman, Brian Gough

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Parameters:
m The matrix
i index of column one
j index of column two
Returns:
BPM_SUCCESS if everything was OK, BPM_FAILURE if not

Definition at line 35 of file gsl_matrix.c.

References bpm_error().

EXTERN _gsl_vector_view gsl_vector_subvector ( gsl_vector *  v,
size_t  offset,
size_t  n 
)

Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004 Gerard Jungman, Brian Gough

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Definition at line 8 of file gsl_vector.c.

References bpm_error().

Referenced by gsl_linalg_householder_transform().

EXTERN double gsl_vector_get ( const gsl_vector *  v,
const size_t  i 
)

The following line is a generalization of return v->data[i]

Definition at line 61 of file gsl_vector.c.

Referenced by ana_get_svd_coeffs(), gsl_linalg_householder_hm(), gsl_linalg_householder_mh(), and gsl_linalg_householder_transform().

EXTERN void gsl_vector_set ( gsl_vector *  v,
const size_t  i,
double  x 
)

The following line is a generalization of v->data[i] = x

Definition at line 70 of file gsl_vector.c.

Referenced by ana_get_svd_coeffs(), and gsl_linalg_householder_transform().

EXTERN int gsl_linalg_householder_hm ( double  tau,
const gsl_vector *  v,
gsl_matrix *  A 
)

applies a householder transformation v,tau to matrix m

Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004 Gerard Jungman, Brian Gough

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Definition at line 8 of file gsl_linalg.c.

References gsl_matrix_column(), gsl_matrix_get(), gsl_matrix_set(), gsl_matrix_submatrix(), and gsl_vector_get().

EXTERN int gsl_linalg_householder_hm1 ( double  tau,
gsl_matrix *  A 
)

applies a householder transformation v,tau to a matrix being build up from the identity matrix, using the first column of A as a householder vector

Definition at line 96 of file gsl_linalg.c.

References gsl_matrix_column(), gsl_matrix_get(), gsl_matrix_set(), and gsl_matrix_submatrix().

EXTERN double gsl_linalg_householder_transform ( gsl_vector *  v  ) 

replace v[0:n-1] with a householder vector (v[0:n-1]) and coefficient tau that annihilate v[1:n-1]

Definition at line 285 of file gsl_linalg.c.

References gsl_blas_dnrm2(), gsl_vector_get(), gsl_vector_set(), and gsl_vector_subvector().

EXTERN int gsl_linalg_householder_mh ( double  tau,
const gsl_vector *  v,
gsl_matrix *  A 
)

applies a householder transformation v,tau to matrix m from the right hand side in order to zero out rows

Definition at line 322 of file gsl_linalg.c.

References gsl_matrix_get(), gsl_matrix_set(), gsl_matrix_submatrix(), and gsl_vector_get().

EXTERN double gsl_blas_dnrm2 ( const gsl_vector *  X  ) 

Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Definition at line 8 of file gsl_blas.c.

Referenced by gsl_linalg_householder_transform().

EXTERN gsl_block* gsl_block_alloc ( const size_t  n  ) 

Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004 Gerard Jungman, Brian Gough

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Definition at line 8 of file gsl_block.c.

References bpm_error().

EXTERN double nr_quadinterpol ( double  x,
double  x1,
double  x2,
double  x3,
double  y1,
double  y2,
double  y3 
)

Parabolic (quadratic) interpolation routine, give 3 points (x1,y1), (x2,y2) and (x3,y3) and a value x which needs to be interpolated. The function returns y, which is the value of a parabola at point x defined by the 3 points given

Definition at line 8 of file nr_quadinterpol.c.

Referenced by doublewf_getvalue().

EXTERN double sinc ( double  x  ) 

The normalised sinc(x) function

Definition at line 8 of file nr_sinc.c.

Referenced by doublewf_getvalue(), and lanczos().

EXTERN double lanczos ( double  x,
int  a 
)

The Lanczos kernel

Definition at line 13 of file nr_sinc.c.

References sinc().

Referenced by doublewf_getvalue().

EXTERN double dround ( double  x  ) 

Rounds a value to nearest integers, voids the need for -std=c99 in the compilation

Definition at line 6 of file dround.c.

Referenced by gaussian_filter_coeffs(), intwf_add_ampnoise(), intwf_add_cwtone(), intwf_add_dcywave(), intwf_cast(), intwf_cast_new(), intwf_derive(), intwf_getvalue(), intwf_integrate(), and intwf_resample().


Generated on Wed Jun 25 17:32:49 2008 for libbpm by  doxygen 1.5.6