Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

SPUC Namespace Reference


Classes

class  Array1D
 Templated one-dimensional, numerical array which looks like a conventional C array. More...
class  Array2D
 Templated two-dimensional, numerical array which looks like a conventional C multiarray. More...
class  Array3D
 Templated three-dimensional, numerical array which looks like a conventional C multiarray. More...
class  transpose_view
 Template class for Matrix Transpose Views. More...
class  lowerTriangularView
 lower Triangluar View for Matrices More...
class  unitlowerTriangularView
class  upperTriangularView
 upper Triangular Section More...
class  unitupperTriangularView
class  base_demod
 base class for a demodulator (not currently used?) More...
class  baud_eq_env
 Class for doing a simulation of an equalizer running at 1 sample/symbol. More...
class  BCH
 Class for binary, narrow-sense BCH codes. More...
class  bit_scrambler
 Does scrambling function on input bits. More...
class  bped
 Block Phase estimator. More...
class  bpsk_ber_test
 A Class for simulating a BPSK system. More...
class  carrier_nco
 A specialization example of a sin/cosine look-up NCO with fixed quantizations. More...
class  Convolutional_Interleaver
 Convolutional Interleaver Class. More...
class  Convolutional_Code
 Binary Convolutional rate 1/n class. More...
class  CRC_Code
 Cyclic Redundancy Check Codes. More...
class  data_conv_encoder
 Convolutional encoder for punctured encoding. More...
class  dqpsk
 Differential QPSK encoder/decoder. More...
class  dvb_conv_encoder
 DVB Convolution encode for rate 1/2. More...
class  Extended_Golay
 Extended Golay code (24,12,8). More...
class  fading_channel
 A Class for simulating a FIR channel model. More...
class  gf
 Galois Field. More...
class  gfx
 Polynomials over gf(q)[x], where q=2^m, m=1,...,14. More...
class  Hamming_Code
 Binary Hamming codes. More...
class  Block_Interleaver
 Block Interleaver Class. More...
class  Cross_Interleaver
 Cross Interleaver Class. More...
class  Sequence_Interleaver
 Sequence Interleaver Class. More...
class  Modulator_1d
 A general modulator class for 1-dimensional signal consellations. More...
class  Modulator_2d
 General modulator for 2-dimensional signal constellations. More...
class  MOD_BPSK
 BPSK Modulator Class. More...
class  MOD_PAM
 M-ary PAM modulator. More...
class  MOD_QPSK
 QPSK-modulator class. More...
class  MOD_PSK
 Mary-PSK modulator. More...
class  MOD_QAM
 Modulator class for square lattice Mary-QAM signals. More...
class  ofdm_data_encoder
 OFDM/802.11A/G Data Encoder. More...
class  Punctured_Convolutional_Code
 Binary Punctured Convolutional Code Class. More...
class  qam_conv_decoder
 QAM convolutional decoder. More...
class  qam_mod
 QAM Modulator for BPSK - 64 QAM for 802.11A Data modulation. More...
class  qam_tx
 Class for QAM transmitter using a root raised cosine transmit filter. More...
class  qpsk
 A QPSK receiver that can operate at exactly 2 samples/symbol. More...
class  qpsk_ber_test
 A Class for doing BER test on QPSK. More...
class  qpsk_discriminators
 A Class incorporating several symbol and carrier discriminators for QPSK. More...
class  quad_data
 Class for QPSK data using a root raised cosine transmit filter. More...
class  Rec_Syst_Conv_Code
 A Recursive Systematic Convolutional Encoder/Decoder class. More...
class  reed_solomon
 Reed-Solomon Codes. More...
class  LFSR
 Binary Linear Feedback Shift Register (LFSR). More...
class  Gold
 Gold Sequences. More...
class  sim_qam
 A Class for simulating a QAM system. More...
class  sim_qpsk
 A Class for simulating a QPSK system. More...
class  slicer_type
 Slicer to data decisions. More...
class  bpsk_slicer
 BPSK slicer. More...
class  qpsk_slicer
 QPSK slicer. More...
class  viterbi
 A Viterbi decoder (for DVB). More...
class  lms_dfe
 LMS Decision Feedback equalizer. More...
class  mle
 A Configurable Maximum Likelihood Sequence Estimator Class. More...
class  mlsd
 Maximum Likelihood Sequence Detection assuming binary alphabet [1,-1]. More...
class  rls
 Recursive Least Squares Algorithm. More...
class  equalizer
class  agc
 This is a simple sigma-delta type AGC for the variable rate QPSK example. More...
class  cmplx_allpass_halfband
 Complex version of allpass halfband. More...
class  qpsk_variable
 A QPSK receiver that can operate over a range of non-integer sampling rates. More...
class  resampler
 A resampling block using interpolator, halfband filter and NCO. More...
class  sim_qpsk_variable
 A Class for simulating a variable rate QPSK system. More...
class  timing_nco
 A NCO for symbol recovery in a variable rate QPSK receiver. More...
class  a_d
 An A/D conversion class. More...
class  allpass_1
 Template class for 1st order allpass filter with programmble gain and delay. More...
class  allpass_halfband
 Template Class for Allpass halfband IIR Filter. More...
class  allpass_iir
 Template Class for 1st Order Allpass IIR filter. More...
class  bin
 Binary arithmetic (boolean) class. More...
class  bit
 Binary arithmetic (boolean) class. More...
class  bool_nco
 NCO with single bit output. More...
class  butterworth
 Template Class for Butterworth iir filter. More...
class  rfir
 template class rfir FIR filter implementation with complex input and real coefficients More...
class  chebyshev
 Template Class for Chebyshev low pass iir filter. More...
class  cic
 class for CIC digital filter More...
class  circ_buffer
 Circular Buffer. More...
class  complex
 Spuc template complex class. Basically the same as STL complex class but allows easier customization. More...
class  complex_iu
 Base class for complex fixed width unsigned integers. Base class for complex fixed width unsigned integers Basically a combination of complex<long> with int_u. Needed because complex<T> template type would not also support unsigned int template type. More...
class  complex_u
 Template class for complex fixed width unsigned integers. More...
class  cordic
 Cordic rotator. More...
class  cfft
 General Purpose C++ complex FFT Transform. More...
class  delay
 Template class for Delay line. More...
class  elliptic
 Template Class for Elliptic low pass iir filter. More...
class  farrow
 Template Class for Farrow implementation of a ploynomial interpolation using a FIR filter. More...
class  fir
 Template Class for Modeling a Finite Impulse Response filter. More...
class  fir_adapt
 template class fir_adapt Based on FIR class, created to support LMS adaptive filtering More...
class  fir_decim
 template class fir_decim based on FIR class, created to support polyphase FIR decimation More...
class  fir_interp
 template class fir_decim based on FIR class, created to support polyphase FIR interpolation More...
class  fir_multi_interp
 template class fir_decim based on FIR class, created to support polyphase FIR interpolation More...
class  fir_sparse_coef
 template class fir_decim based on FIR class, created to support spare coefficients (zero padded) More...
class  iir_1st
 Template Class for 1st Order iir filter. More...
class  iir_2nd
 Template for 2nd Order IIR filter. More...
class  iir_2ndhpf
 Template Class for 2nd Order high-pass iir filter. More...
class  iir_comb
 Template for IIR comb type filter with programmable delay and gain. More...
class  iir_df
 Template Class for Modeling a Direct Form IIR. More...
class  iir_hp1
 Template for 1st Order IIR filter. More...
class  iir_hpc
 Template Class for 1st Order high pass iir filter. More...
class  iir_hpf
 Template Class for 1st Order high pass IIR filter from S-domain transformation. More...
class  iir_lpf
 Template Class for 1st Order low pass IIR filter from S-domain transformation. More...
class  iir_shelf
 Template Class for 1st Order iir filter. More...
class  lagrange
 Template Class for Lagrange interpolation using a FIR filter. More...
class  loop_filter
 Loop Filter for use in PLL circuits. More...
class  max_pn
 Maximal Length Pseudorandom sequence generator. More...
class  nco
 NCO with 32 bit accumulator. More...
class  noise
 Gaussian noise routine. More...
class  remez_fir
 template remez FIR class More...
class  running_average
 template class running average filter consisting of a delay line, adder and subtractor More...
class  running_sum
 template class running average filter consisting of a delay line, adder and subtractor More...
class  rv_stat
 a basic random Variable Statistics Class More...
class  sigma_delta
 Simple 1st order All-digital Sigma Delta converter. More...
class  sint
 Template class for signed integers (<33 bits). More...
class  sum_and_dump
 sum and dump filter More...
class  uint
 Template class for unsigned integers (<33 bits). More...
class  vco
 VCO similar to NCO but uses floating point. More...
class  Array
 General array class. More...
class  Mat
 Templated Matrix Class. More...
class  Vec
 Templated vectors. More...
class  allpass_1a
 Template class for 1st order allpass filter with programmble gain and fixed delay. More...
class  allpass_1aq1
 The filter is a "first-order" Allpass section of the form. More...
class  allpass_1aq2
 The filter is a "first-order" Allpass section of the form. More...
class  cmplx_csd_allpass_halfband
 Complex version of csd_allpass_halfband. More...
class  csd_allpass_halfband
 This filter is a combination of 2 fixed allpass filters allpass_1aq1 and allpass_1aq2. More...
class  double_allpass_iir
 Similar to a specific instantiation of allpass_iir. More...
class  fbool_nco
 Template class for a NCO based on template unsigned int class. More...
class  fnco
 Template class for a NCO based on template unsigned int class. More...
class  scic
 Registers are signed long and default number of stages is 2. More...
class  debugf
 Debug function. More...
class  debugfc
 Debug function. More...
class  Matlab_Engine
 Matlab engine interface. More...

Namespaces

namespace  SPUC

Typedefs

typedef long natural

Functions

template<class SPDMatrix, class SymmMatrix>
int Cholesky_upper_factorization (SPDMatrix &A, SymmMatrix &L)
template<class MaTRiX, class VecToRsubscript>
int LU_factor (MaTRiX &A, VecToRsubscript &indx)
template<class MaTRiX, class VecToR, class VecToRsubscripts>
int LU_solve (const MaTRiX &A, const VecToRsubscripts &indx, VecToR &b)
template<class MaTRiX, class Vector>
int QR_factor (MaTRiX &A, Vector &C, Vector &D)
template<class MaTRiX, class Vector>
int R_solve (const MaTRiX &A, Vector &D, Vector &b)
template<class MaTRiX, class Vector>
int QR_solve (const MaTRiX &A, const Vector &c, Vector &d, Vector &b)
template<class Matrix>
transpose_view< Matrix > transpose_view (const Matrix &A)
 Matrix Transpose Views.
template<class Matrix, class T>
Array1D< T > matmult (const transpose_view< Matrix > &A, const Array1D< T > &B)
template<class Matrix, class T>
Array1D< T > operator * (const transpose_view< Matrix > &A, const Array1D< T > &B)
template<class Matrix>
std::ostream & operator<< (std::ostream &s, const transpose_view< Matrix > &A)
template<class MaTRiX, class VecToR>
VecToR matmult (lowerTriangularView< MaTRiX > &A, VecToR &x)
 lower_triangular_view() algorithms
template<class MaTRiX, class VecToR>
VecToR operator * (lowerTriangularView< MaTRiX > &A, VecToR &x)
template<class MaTRiX>
lowerTriangularView< MaTRiX > lower_triangular_view (MaTRiX &A)
template<class MaTRiX>
unitlowerTriangularView< MaTRiX > unit_lower_triangular_view (MaTRiX &A)
template<class MaTRiX, class VecToR>
VecToR matmult (unitlowerTriangularView< MaTRiX > &A, VecToR &x)
template<class MaTRiX, class VecToR>
VecToR operator * (unitlowerTriangularView< MaTRiX > &A, VecToR &x)
template<class MaTRiX>
std::ostream & operator<< (std::ostream &s, const lowerTriangularView< MaTRiX > &A)
template<class MaTRiX>
std::ostream & operator<< (std::ostream &s, const unitlowerTriangularView< MaTRiX > &A)
template<class MaTRiX, class VecToR>
VecToR matmult (upperTriangularView< MaTRiX > &A, VecToR &x)
 upper_triangular_view() algorithms
template<class MaTRiX, class VecToR>
VecToR operator * (upperTriangularView< MaTRiX > &A, VecToR &x)
template<class MaTRiX>
upperTriangularView< MaTRiX > upper_triangular_view (MaTRiX &A)
template<class MaTRiX>
unitupperTriangularView< MaTRiX > unit_upper_triangular_view (MaTRiX &A)
template<class MaTRiX, class VecToR>
VecToR matmult (unitupperTriangularView< MaTRiX > &A, VecToR &x)
template<class MaTRiX, class VecToR>
VecToR operator * (unitupperTriangularView< MaTRiX > &A, VecToR &x)
template<class MaTRiX>
std::ostream & operator<< (std::ostream &s, upperTriangularView< MaTRiX > &A)
template<class MaTRiX>
std::ostream & operator<< (std::ostream &s, unitupperTriangularView< MaTRiX > &A)
template<class MaTriX, class VecToR>
VecToR lower_triangular_solve (MaTriX &A, VecToR &b)
template<class MaTriX, class VecToR>
VecToR unit_lower_triangular_solve (MaTriX &A, VecToR &b)
template<class MaTriX, class VecToR>
VecToR linear_solve (lowerTriangularView< MaTriX > &A, VecToR &b)
template<class MaTriX, class VecToR>
VecToR linear_solve (unitlowerTriangularView< MaTriX > &A, VecToR &b)
template<class MaTriX, class VecToR>
VecToR upper_triangular_solve (MaTriX &A, VecToR &b)
template<class MaTriX, class VecToR>
VecToR unit_upper_triangular_solve (MaTriX &A, VecToR &b)
template<class MaTriX, class VecToR>
VecToR linear_solve (upperTriangularView< MaTriX > &A, VecToR &b)
template<class MaTriX, class VecToR>
VecToR linear_solve (unitupperTriangularView< MaTriX > &A, VecToR &b)
template<class T>
bpsk_dd_phase (complex< T > curr, complex< T > hard_data)
 Decision directed carrier phase discriminator for BPSK.
template<class T>
bpsk_quadricorrelator (complex< T > hard_data, complex< T > prev)
 BPSK Quadricorrelator frequency discriminator.
bmat graycode (int m)
 Generate gray code of blocklength m.

The codes are contained as binary codewords {0,1} in the rows of the returned matrix. See also the gray() function in math/scalfunc.h.

int hamming_distance (const bvec &a, const bvec &b)
 Calculate the Hamming distance between a and b.
int weight (const bvec &a)
 Calculate the Hamming weight of a.
int reverse_int (int length, int in)
int weight_int (int length, int in)
int compare_spectra (llvec v1, llvec v2)
int compare_spectra (ivec v1, ivec v2, vec weight_profile)
template<class T>
cp_afc (complex< T > prev, complex< T > curr)
 Cross-Product frequency discriminator.
template<class T>
dd_symbol (complex< T > prev, complex< T > curr, complex< T > prev_hard_data, complex< T > hard_data)
 Decision directed timing discriminator (QPSK).
gfx operator * (const gf &ingf, const gfx &ingfx)
gfx operator * (const gfx &ingfx, const gf &ingf)
gfx operator/ (const gfx &ingfx, const gf &ingf)
gfx divgfx (const gfx &c, const gfx &g)
 Division of two gfx (local help function).
gfx modgfx (const gfx &a, const gfx &b)
 Modulo function of two gfx (local help function).
ostream & operator<< (ostream &os, const gf &ingf)
 Output stream for gf(q).
ostream & operator<< (ostream &os, const gfx &ingfx)
 Output stream.
template<class T>
nda_symbol (complex< T > prev, complex< T > curr)
 Non-decision aided timing discriminator (Gardiner's algorithm).
void qam_data_demap (long rate_index, complex< long > data_in, long soft_decision_level, long *viterbi_input)
 Soft-decision QAM Demapper for use with QAM_MOD class.
void bpsk_soft_decision (complex< long > data_in, long *viterbi_input)
 BPSK data demapping.
void qpsk_soft_decision (complex< long > data_in, long *viterbi_input)
 QPSK data demapping.
void qam16_soft_decision (complex< long > data_in, long soft_decision_level, long *viterbi_input)
 16-QAM data demapping
void qam64_soft_decision (complex< long > data_in, long soft_decision_level, long *viterbi_input)
 64-QAM data demapping
template<class T>
qpsk_dd_phase (complex< T > curr, complex< T > hard_data)
 Decision directed carrier phase discriminator for QPSK.
template<class T>
qpsk_quadricorrelator (complex< T > hard_data, complex< T > prev)
 QPSK Quadricorrelator frequency discriminator.
template<class T>
qpsk_rcfd (complex< T > fmf, complex< T > curr)
 QPSK Reduced complexity frequency discriminator.
void root_raised_cosine (fir< long > &rcfir, double alpha, int rate)
void root_raised_cosine (fir< complex< long > > &rcfir, double alpha, int rate, int bits=10)
void root_raised_cosine (fir< complex< long > > &rcfir, double alpha, int rate, int bits=10, double scale=1.0)
void root_raised_cosine (fir< complex< double > > &rcfir, double alpha, int rate)
void root_raised_cosine (fir_interp< complex< double > > &rcfir, double alpha, int rate)
void root_raised_cosine (fir< double > &rcfir, double alpha, int rate)
void raised_cosine (fir< long > &rcfir, double alpha, int rate)
void raised_cosine (fir< double > &rcfir, double alpha, int rate)
double raised_cosine_imp (double alpha, double xin, double rate, long num_taps)
double root_raised_cosine_imp (double alpha, double xin, double rate, long num_taps)
void root_raised_cosine (fir< complex< double > > &rcfir, double alpha, int rate, double offset)
double com_logmap (double x, double y)
 Branc metric calculation function for MAP decoding in the log-domain.
double com_logmax (double x, double y)
 Branc metric calculation function for MAP decoding in the log-domain using a MAX approximation (default).
smat wcdma_spreading_codes (int SF)
 Generates the OVSF (orthogonal variable spreading factor) spreading codes used in WCDMA.
void gaussian_fir (fir< double > &gaussf, double bt, double spb)
 calculates the sampled Gaussian filter impulse response
void butterworth_fir (fir< double > &butfir, double spb)
 calculates the sampled butterworth (max flat) filter impulse response
void create_remez_lpfir (fir< double > &remezfir, double *edge, double *fx, double *wtx)
 calculates the coefficients for lowpass FIR based on Remez constraints
void ifft (complex< double > *y, int m)
bool reduce (long x, long n)
double erfc1 (double x)
double erf1 (double x)
long round (long in, long bits)
long saturate (long in, long bits)
void swap (int *a, int *b)
void quicksort (int *v, unsigned n)
double Qfunc (double x)
 Q-function.
double erfinv (double x)
 Inverse of error function.
double gamma (double x)
 Gamma function.
double asinh (double x)
 Arcus sinhyp.
double acosh (double x)
 Arcus coshyp.
double atanh (double x)
 Arcus tanhyp.
double fact (int index)
 Calculates factorial coefficient for index <= 170.
long mod (long k, long n)
 Calculates the modulus, i.e. the signed reminder after division.
long gcd (long a, long b)
 returns the greatest common divisor (GCD) g of the elements a and b.
double integrate (double(*f)(double), double A, double B, double tol=0.001)
 Integrate over the function f from A to B with tolerance tol.
double binom (int n, int k)
 Compute the binomial coefficient "n over k" as a float.
int binom_i (int n, int k)
 Compute the binomial coefficient "n over k" as an integer.
double log_binom (int n, int k)
 Compute the base 10 logarithm of the binomial coefficient "n over k".
double log2 (double x)
double logb (double b, double x)
double sinc (double x)
 Sinc function. sinc(x) = sin(pi*x)/pi*x.
int round_i (double x)
 Round to nearest integer.
int ceil_i (double x)
 The nearest larger integer.
int floor_i (double x)
 The nearest smaller integer.
double round (double x)
 Round to nearest integer, return result in double.
bool is_int (double x)
 Return true if x is an integer.
bool is_even (int x)
 Return true if x is an even integer.
int needed_bits (int n)
 Calculate how many bits are needed to represent the integer n.
int needed_bits (double n)
 The number of bits needed to encode {n} symbols. (Yes, it is exact!).
int pow2 (int x)
 Calculate two to the power of x (2^x).
double pow2 (double x)
 Calculate two to the power of x (2^x).
double pow10 (double x)
 Calculate ten to the power of x (10^x).
double dB (double x)
 Decibel of x (10*log10(x)).
double inv_dB (double x)
 Inverse of decibel.
int gray_code (int x)
 Convert to Gray Code.
double rad_to_deg (double x)
 Convert radians to degrees.
double deg_to_rad (double x)
 Convert degrees to radians.
double sqr (double x)
 Square of x.
double rem (double x, double y)
 The reminder of the division x/y.
double sign (double x)
 The sign of x.
double sgn (double x)
 The sign of x.
signed char abs (signed char x)
 Absolute value.
short abs (short x)
 Absolute value.
double sqrt (double x)
double cos (double x)
complex< double > sqrt (complex< double > x)
complex< double > sqrt (complex< long > x)
double coshin (double x)
double arccos (double x)
double cosh (double x)
double sinh (double x)
complex< double > cos (complex< double > x)
double io (double x)
 bessel function for kaiser window
void hamming (double *w, long nf, double alpha, double beta)
 hamming window $ w(n) = alpha + beta*cos( 2*\pi*(n-1)/(nf-1) )$
void hanning (double *w, long nf)
 hanning window $ w(n) = 0.5( 1 - cos( 2*\pi*n/(nf-1) )$
void blackman (double *w, long nf)
 Blackman Window $ w[x] = 0.42 - 0.5*cos(2*\pi*x/nf) + 0.08*cos(2*\pi*x/nf)$.
void kaiser (double *w, long nf, double beta)
 kaiser window
void chebc (double nf, double dp, double df, double n, double x0)
 chebyshev window subroutine to generate chebyshev window parameters when one of the three parameters nf,dp and df is unspecified
void cheby (double *w, long nf, long n, long ieo, double dp, double df, double x0)
 dolph chebyshev window design
template<class T>
Vector< T > auto_corr (Vector< T > x)
ostream & operator<< (ostream &output, const bin &inbin)
istream & operator>> (istream &input, bin &outbin)
template<class T>
Vector< T > burg (Vector< T > &x, int P)
 AR model coefficients calculation using Burg algorithm.
complex_iu operator% (complex_iu r, natural l)
complex_iu operator+ (complex_iu r, complex_iu l)
complex_iu operator+ (complex_iu r, natural l)
complex_iu operator+ (cnatural r, complex_iu l)
complex_iu operator- (complex_iu r, complex_iu l)
complex_iu operator- (complex_iu r, cnatural l)
complex_iu operator- (cnatural r, complex_iu l)
complex_iu operator & (complex_iu r, natural l)
complex_iu operator & (natural r, complex_iu l)
complex_iu operator^ (complex_iu r, natural l)
complex_iu operator^ (natural r, complex_iu l)
complex_iu operator| (complex_iu r, natural l)
complex_iu operator| (natural r, complex_iu l)
complex_iu operator * (complex_iu r, complex_iu l)
complex_iu operator * (complex_iu r, cnatural l)
complex_iu operator * (complex_iu r, natural l)
complex_iu operator * (natural r, complex_iu l)
complex_iu operator * (cnatural r, complex_iu l)
complex_iu operator/ (complex_iu r, complex_iu l)
complex_iu operator/ (cnatural r, complex_iu l)
complex_iu operator/ (complex_iu r, cnatural l)
complex_iu operator/ (complex_iu r, natural l)
complex_iu operator<< (complex_iu r, const natural shift)
complex_iu operator>> (complex_iu r, const natural shift)
void create_remez_fir (fir< double > &remezfir, int jtype, int nbands, double *edge, double *fx, double *wtx)
template<class T>
Vector< T > Vector_taps (fir< T > f)
template<class T>
Vector< T > Vector_input (fir< T > f)
template<class T>
levdur (T *R)
int dummy_cl (complex< long > z)
 Dummy functions for library instantations.
int dummy_vf (void)
void ls_fir (fir< double > fil, double fc, double spb)
 calculates the least square filter impulse response
bin randb (void)
double randu (void)
int randi (int low, int high)
double randn (void)
double_complex randn_c (void)
void RNG_reset (unsigned long seed)
void RNG_reset ()
void RNG_randomize ()
template<double Des_function, double Weight_function>
double * remez_function (int numtaps, int numband, int r, double bands[], int type)
bool chol (const mat &X, mat &F)
 Cholesky factorisation of real symmetric and positive definite matrix.
bool chol (const cmat &X, cmat &F)
cmat chol (const cmat &X)
mat chol (const mat &X)
 Cholesky factorisation of real symmetric and positive definite matrix.
bool chol (const mat &X, int p, mat &F)
 Cholesky factorisation of an n by n band-matrix X. Bandwidth p.
mat chol (const mat &X, int p)
 Cholesky factorisation of a band matrix.
ivec to_ivec (int s)
 Specialized implementation of to_ivec for scalar.
llvec to_llvec (long_long s)
 Specialized implementation of to_llvec for scalar.
vec to_vec (double s)
 Specialized implementation of to_vec for scalar.
cvec to_cvec (double real, double imag)
 Specialized implementation of to_cvec for scalar.
bvec dec2bin (int length, int index)
bvec dec2bin (int index, bool msb_first)
void dec2bin (int index, bvec &v)
int bin2dec (const bvec &inbvec, bool msb_first)
bvec oct2bin (const ivec &octalindex, short keepzeros)
ivec bin2oct (const bvec &inbits)
ivec bin2pol (const bvec &inbvec)
bvec pol2bin (const ivec &inpol)
double det (const mat &X)
 Determinant of real square matrix.

Calculate determinant of the real matrix $\mathbf{X}$.

void sub_v_vT_m (mat &m, const vec &v)
void sub_m_v_vT (mat &m, const vec &v)
bool inv (const mat &X, mat &Y)
mat inv (const mat &X)
bool inv (const cmat &X, cmat &Y)
cmat inv (const cmat &X)
vec ls_solve (const mat &A, const vec &b)
 Solve linear equation system by LU factorisation.
mat ls_solve (const mat &A, const mat &b)
 Solve multiple linear equations by LU factorisation.
vec ls_solve_chol (const mat &A, const vec &b)
 Solve linear equation system by Cholesky factorisation.
vec ls_solve (const mat &L, const mat &U, const vec &b)
 Solve linear equation system, when LU-factorisation is given.
vec ls_solve_chol (const mat &A, int p, const vec &b)
 Solve linear (band) equation system by Cholesky factorisation.
vec ls_solve (const mat &L, int p, const mat &U, int q, const vec &b)
 Solve linear (band) equation system, when LU-factorisation is given.
vec ls_solve_od (const mat &A, const vec &b)
 Solves overdetermined linear equation systems.
mat ls_solve_od (const mat &A, const mat &B)
 Solves overdetermined linear equation systems.
vec backslash (const mat &A, const vec &b)
 A general linear equation system solver.
mat backslash (const mat &A, const mat &B)
 A general linear equation system solver.
vec forward_substitution (const mat &L, const vec &b)
 Forward substitution of square matrix.