Numerical routines


Files

file  bpm_nr.h
 libbpm numerical helper routines
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_ran1.c
file  nr_rangauss.c
file  nr_ranuniform.c
file  nr_realft.c
file  nr_seed.c
file  nr_select.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 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_matrixgsl_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_matrixgsl_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_vectorgsl_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_blockgsl_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_arg (complex_t z)
EXTERN complex_t c_exp (complex_t z)
EXTERN int c_isequal (complex_t z1, complex_t z2)

Variables

EXTERN long bpm_rseed


Define Documentation

#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.

Referenced by nr_trans_mat_mat_mult().

#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.

Referenced by nr_lmder(), and nr_lmder_bc().

#define LM_DIF_WORKSZ ( npar,
nmeas   ) 

see LM_DER_WORKSZ

Definition at line 75 of file bpm_nr.h.

Referenced by nr_lmdif().

#define NR_FFTFORWARD

Perform forward FFT in nr_four

Definition at line 86 of file bpm_nr.h.

Referenced by rf_butterworthhighpass(), and rf_butterworthlowpass().

#define NR_FFTBACKWARD

Perform backward FFT in nr_four

Definition at line 87 of file bpm_nr.h.

Referenced by rf_butterworthhighpass(), and rf_butterworthlowpass().

#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_EPS, GCF_FPMIN, 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(), GSER_EPS, GSER_ITMAX, 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 calibrate(), and 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 fft_waveform_double(), nr_realft(), and rf_complexFFT().

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.

References RAN1_AM, RAN1_IA, RAN1_IM, RAN1_IQ, RAN1_IR, RAN1_NDIV, RAN1_NTAB, and RAN1_RNMX.

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 add_amplnoise(), 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 add_amplnoise(), digitise(), rf_addLO(), simple_tone(), and simple_wave().

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 gsl_vector::block, gsl_matrix::block, bpm_error(), gsl_vector::data, gsl_matrix::data, NULL_VECTOR, NULL_VECTOR_VIEW, gsl_vector::owner, gsl_vector::size, gsl_matrix::size1, gsl_matrix::size2, gsl_vector::stride, gsl_matrix::tda, and _gsl_vector_view::vector.

Referenced by chase_out_intermediate_zero(), chase_out_trailing_zero(), gsl_linalg_bidiag_decomp(), gsl_linalg_householder_hm(), gsl_linalg_householder_hm1(), gsl_linalg_SV_decomp(), and qrstep().

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 gsl_matrix::block, bpm_error(), gsl_matrix::data, _gsl_matrix_view::matrix, NULL_MATRIX, NULL_MATRIX_VIEW, gsl_matrix::owner, gsl_matrix::size1, gsl_matrix::size2, and gsl_matrix::tda.

Referenced by gsl_linalg_bidiag_decomp(), gsl_linalg_bidiag_unpack(), gsl_linalg_bidiag_unpack2(), gsl_linalg_householder_hm(), gsl_linalg_householder_hm1(), gsl_linalg_householder_mh(), and gsl_linalg_SV_decomp().

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.

References gsl_matrix::data, and gsl_matrix::tda.

Referenced by chase_out_intermediate_zero(), chase_out_trailing_zero(), gsl_linalg_bidiag_unpack(), gsl_linalg_bidiag_unpack2(), gsl_linalg_householder_hm(), gsl_linalg_householder_hm1(), gsl_linalg_householder_mh(), gsl_linalg_SV_decomp(), qrstep(), and svd2().

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.

References gsl_matrix::data, and gsl_matrix::tda.

Referenced by ana_get_svd_coeffs(), chase_out_intermediate_zero(), chase_out_trailing_zero(), gsl_linalg_householder_hm(), gsl_linalg_householder_hm1(), gsl_linalg_householder_mh(), gsl_linalg_SV_decomp(), qrstep(), and svd2().

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(), gsl_matrix::data, gsl_matrix::size1, gsl_matrix::size2, and gsl_matrix::tda.

Referenced by gsl_linalg_SV_decomp(), and svd2().

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

Definition at line 8 of file gsl_vector.c.

References gsl_vector::block, bpm_error(), gsl_vector::data, NULL_VECTOR, NULL_VECTOR_VIEW, gsl_vector::owner, gsl_vector::size, gsl_vector::stride, and _gsl_vector_view::vector.

Referenced by gsl_linalg_bidiag_decomp(), gsl_linalg_householder_transform(), and gsl_linalg_SV_decomp().

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

Definition at line 61 of file gsl_vector.c.

References gsl_vector::data, and gsl_vector::stride.

Referenced by ana_get_svd_coeffs(), chase_out_intermediate_zero(), chase_out_trailing_zero(), chop_small_elements(), gsl_linalg_bidiag_unpack(), gsl_linalg_bidiag_unpack2(), gsl_linalg_householder_hm(), gsl_linalg_householder_mh(), gsl_linalg_householder_transform(), gsl_linalg_SV_decomp(), gsl_linalg_SV_solve(), qrstep(), svd2(), and trailing_eigenvalue().

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

Definition at line 70 of file gsl_vector.c.

References gsl_vector::data, and gsl_vector::stride.

Referenced by ana_get_svd_coeffs(), chase_out_intermediate_zero(), chase_out_trailing_zero(), chop_small_elements(), gsl_linalg_bidiag_decomp(), gsl_linalg_bidiag_unpack(), gsl_linalg_bidiag_unpack2(), gsl_linalg_householder_transform(), gsl_linalg_SV_decomp(), gsl_linalg_SV_solve(), qrstep(), and svd2().

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

Definition at line 8 of file gsl_linalg.c.

References gsl_matrix_column(), gsl_matrix_get(), gsl_matrix_set(), gsl_matrix_submatrix(), gsl_vector_const_subvector(), gsl_vector_get(), _gsl_matrix_view::matrix, gsl_vector::size, gsl_matrix::size1, gsl_matrix::size2, _gsl_vector_view::vector, and _gsl_vector_const_view::vector.

Referenced by gsl_linalg_bidiag_decomp(), gsl_linalg_bidiag_unpack(), and gsl_linalg_bidiag_unpack2().

EXTERN int gsl_linalg_householder_hm1 ( double  tau,
gsl_matrix A 
)

Definition at line 96 of file gsl_linalg.c.

References gsl_blas_dscal(), gsl_matrix_column(), gsl_matrix_get(), gsl_matrix_set(), gsl_matrix_submatrix(), _gsl_matrix_view::matrix, gsl_matrix::size1, gsl_matrix::size2, and _gsl_vector_view::vector.

Referenced by gsl_linalg_bidiag_unpack2().

EXTERN double gsl_linalg_householder_transform ( gsl_vector v  ) 

Definition at line 285 of file gsl_linalg.c.

References gsl_blas_dnrm2(), gsl_blas_dscal(), gsl_vector_get(), gsl_vector_set(), gsl_vector_subvector(), gsl_vector::size, and _gsl_vector_view::vector.

Referenced by gsl_linalg_bidiag_decomp().

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

Definition at line 322 of file gsl_linalg.c.

References gsl_matrix_get(), gsl_matrix_row(), gsl_matrix_set(), gsl_matrix_submatrix(), gsl_vector_const_subvector(), gsl_vector_get(), _gsl_matrix_view::matrix, gsl_vector::size, gsl_matrix::size1, gsl_matrix::size2, _gsl_vector_view::vector, and _gsl_vector_const_view::vector.

Referenced by gsl_linalg_bidiag_decomp().

EXTERN double gsl_blas_dnrm2 ( const gsl_vector X  ) 

Definition at line 8 of file gsl_blas.c.

References cblas_dnrm2(), gsl_vector::data, gsl_vector::size, and gsl_vector::stride.

Referenced by gsl_linalg_householder_transform(), and gsl_linalg_SV_decomp().

EXTERN gsl_block* gsl_block_alloc ( const size_t  n  ) 

Definition at line 8 of file gsl_block.c.

References bpm_error(), gsl_block_struct::data, and gsl_block_struct::size.

Referenced by gsl_matrix_alloc(), and gsl_vector_alloc().


Generated on Fri Nov 9 21:17:23 2007 for libbpm by  doxygen 1.5.1