OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
GSLMatrix.h File Reference
#include <cstring>
#include <stdexcept>
#include <vector>
#include "Utilities/GSLComplex.h"
Include dependency graph for GSLMatrix.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  gsl_matrix
 Dense real matrix in row-major storage. More...
 
struct  gsl_matrix_complex
 Dense complex matrix in row-major storage. More...
 
struct  gsl_vector
 Dense real vector with stride. More...
 
struct  gsl_vector_complex
 Dense complex vector with stride. More...
 

Functions

gsl_matrixgsl_matrix_alloc (size_t n1, size_t n2)
 Allocate a zero-initialized real matrix of size \(n_1 \times n_2\).
 
void gsl_matrix_free (gsl_matrix *m)
 Free a matrix allocated by gsl_matrix_alloc.
 
gsl_matrix_complexgsl_matrix_complex_alloc (size_t n1, size_t n2)
 Allocate a zero-initialized complex matrix of size \(n_1 \times n_2\).
 
void gsl_matrix_complex_free (gsl_matrix_complex *m)
 Free a matrix allocated by gsl_matrix_complex_alloc.
 
gsl_vectorgsl_vector_alloc (size_t n)
 Allocate a zero-initialized real vector of length \(n\).
 
void gsl_vector_free (gsl_vector *v)
 Free a vector allocated by gsl_vector_alloc.
 
gsl_vector_complexgsl_vector_complex_alloc (size_t n)
 Allocate a zero-initialized complex vector of length \(n\).
 
void gsl_vector_complex_free (gsl_vector_complex *v)
 Free a vector allocated by gsl_vector_complex_alloc.
 
double * gsl_matrix_ptr (gsl_matrix *m, size_t i, size_t j)
 Return pointer to element \((i,j)\) in a real matrix.
 
const double * gsl_matrix_ptr (const gsl_matrix *m, size_t i, size_t j)
 Return const pointer to element \((i,j)\) in a real matrix.
 
gsl_complexgsl_matrix_complex_ptr (gsl_matrix_complex *m, size_t i, size_t j)
 Return pointer to element \((i,j)\) in a complex matrix.
 
const gsl_complexgsl_matrix_complex_ptr (const gsl_matrix_complex *m, size_t i, size_t j)
 Return const pointer to element \((i,j)\) in a complex matrix.
 
double * gsl_vector_ptr (gsl_vector *v, size_t i)
 Return pointer to element \(i\) in a real vector.
 
const double * gsl_vector_ptr (const gsl_vector *v, size_t i)
 Return const pointer to element \(i\) in a real vector.
 
gsl_complexgsl_vector_complex_ptr (gsl_vector_complex *v, size_t i)
 Return pointer to element \(i\) in a complex vector.
 
const gsl_complexgsl_vector_complex_ptr (const gsl_vector_complex *v, size_t i)
 Return const pointer to element \(i\) in a complex vector.
 
void gsl_matrix_memcpy (gsl_matrix *dest, const gsl_matrix *src)
 Copy src into dest (real matrices).
 
void gsl_matrix_complex_memcpy (gsl_matrix_complex *dest, const gsl_matrix_complex *src)
 Copy src into dest (complex matrices).
 
void gsl_matrix_transpose_memcpy (gsl_matrix *dest, const gsl_matrix *src)
 Copy the transpose into dest.
 
void gsl_matrix_complex_transpose_memcpy (gsl_matrix_complex *dest, const gsl_matrix_complex *src)
 Copy the transpose into dest (complex).
 
void gsl_matrix_scale (gsl_matrix *m, double x)
 Scale a matrix in-place.
 
void gsl_matrix_complex_scale (gsl_matrix_complex *m, gsl_complex x)
 Scale a complex matrix in-place.
 
void gsl_matrix_add (gsl_matrix *a, const gsl_matrix *b)
 Add another matrix in-place.
 
void gsl_matrix_complex_add (gsl_matrix_complex *a, const gsl_matrix_complex *b)
 Add another complex matrix in-place.
 
void gsl_vector_memcpy (gsl_vector *dest, const gsl_vector *src)
 
void gsl_vector_complex_memcpy (gsl_vector_complex *dest, const gsl_vector_complex *src)
 Copy src into dest (complex vectors).
 
void gsl_vector_scale (gsl_vector *v, double x)
 Scale a vector in-place.
 
void gsl_vector_complex_scale (gsl_vector_complex *v, gsl_complex x)
 Scale a complex vector in-place.
 
void gsl_vector_add (gsl_vector *a, const gsl_vector *b)
 Add another vector in-place.
 
void gsl_vector_complex_add (gsl_vector_complex *a, const gsl_vector_complex *b)
 Add another complex vector in-place.
 
void gsl_matrix_set (gsl_matrix *m, size_t i, size_t j, double x)
 Set \(m_{ij} = x\).
 
double gsl_matrix_get (const gsl_matrix *m, size_t i, size_t j)
 Get \(m_{ij}\).
 
void gsl_matrix_set_all (gsl_matrix *m, double x)
 Set all entries to x.
 
void gsl_matrix_set_zero (gsl_matrix *m)
 Set all entries to zero.
 
void gsl_matrix_set_identity (gsl_matrix *m)
 Set to identity on the main diagonal.
 
void gsl_matrix_complex_set (gsl_matrix_complex *m, size_t i, size_t j, gsl_complex x)
 Set complex entry \(m_{ij} = x\).
 
gsl_complex gsl_matrix_complex_get (const gsl_matrix_complex *m, size_t i, size_t j)
 Get complex entry \(m_{ij}\).
 
void gsl_matrix_complex_set_zero (gsl_matrix_complex *m)
 Set all complex entries to zero.
 
void gsl_vector_set (gsl_vector *v, size_t i, double x)
 Set \(v_i = x\).
 
double gsl_vector_get (const gsl_vector *v, size_t i)
 Get \(v_i\).
 
void gsl_vector_set_all (gsl_vector *v, double x)
 Set all entries to x.
 
void gsl_vector_set_zero (gsl_vector *v)
 Set all entries to zero.
 
void gsl_vector_complex_set (gsl_vector_complex *v, size_t i, gsl_complex x)
 Set complex entry \(v_i = x\).
 
gsl_complex gsl_vector_complex_get (const gsl_vector_complex *v, size_t i)
 Get complex entry \(v_i\).
 
void gsl_vector_complex_set_zero (gsl_vector_complex *v)
 Set all complex entries to zero.
 

Function Documentation

◆ gsl_matrix_add()

void gsl_matrix_add ( gsl_matrix a,
const gsl_matrix b 
)
inline

Add another matrix in-place.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html

Computes \(a \leftarrow a + b\).

Parameters
aInput/Output: accumulator matrix.
bInput: matrix added to a.

Definition at line 346 of file GSLMatrix.h.

References gsl_matrix::data, gsl_matrix::size1, and gsl_matrix::size2.

◆ gsl_matrix_alloc()

gsl_matrix * gsl_matrix_alloc ( size_t  n1,
size_t  n2 
)
inline

Allocate a zero-initialized real matrix of size \(n_1 \times n_2\).

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
n1Input: number of rows.
n2Input: number of columns.
Returns
Output: pointer to newly allocated matrix (owned by caller).

Definition at line 94 of file GSLMatrix.h.

References gsl_matrix::data, gsl_matrix::owner, gsl_matrix::size1, gsl_matrix::size2, and gsl_matrix::tda.

Referenced by interpolation::MMatrix< Tmplt >::build_matrix(), interpolation::MMatrix< Tmplt >::MMatrix(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

◆ gsl_matrix_complex_add()

void gsl_matrix_complex_add ( gsl_matrix_complex a,
const gsl_matrix_complex b 
)
inline

Add another complex matrix in-place.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html

Computes \(a \leftarrow a + b\).

Parameters
aInput/Output: accumulator matrix.
bInput: matrix added to a.

Definition at line 360 of file GSLMatrix.h.

References gsl_matrix_complex::data, gsl_complex_add(), gsl_matrix_complex::size1, and gsl_matrix_complex::size2.

Here is the call graph for this function:

◆ gsl_matrix_complex_alloc()

gsl_matrix_complex * gsl_matrix_complex_alloc ( size_t  n1,
size_t  n2 
)
inline

Allocate a zero-initialized complex matrix of size \(n_1 \times n_2\).

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
n1Input: number of rows.
n2Input: number of columns.
Returns
Output: pointer to newly allocated matrix (owned by caller).

Definition at line 120 of file GSLMatrix.h.

References gsl_matrix_complex::data, gsl_matrix_complex::owner, gsl_matrix_complex::size1, gsl_matrix_complex::size2, and gsl_matrix_complex::tda.

Referenced by interpolation::MMatrix< Tmplt >::build_matrix(), interpolation::MMatrix< Tmplt >::build_matrix(), gsl_eigen_nonsymmv(), interpolation::MMatrix< Tmplt >::MMatrix(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

◆ gsl_matrix_complex_free()

void gsl_matrix_complex_free ( gsl_matrix_complex m)
inline

Free a matrix allocated by gsl_matrix_complex_alloc.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
mInput: matrix to release (can be null).

Definition at line 136 of file GSLMatrix.h.

References gsl_matrix_complex::data, and gsl_matrix_complex::owner.

Referenced by interpolation::MMatrix< Tmplt >::delete_matrix(), gsl_eigen_nonsymmv(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

◆ gsl_matrix_complex_get()

gsl_complex gsl_matrix_complex_get ( const gsl_matrix_complex m,
size_t  i,
size_t  j 
)
inline

Get complex entry \(m_{ij}\).

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
mInput: matrix.
iInput: row index.
jInput: column index.
Returns
Output: value at \((i,j)\).

Definition at line 510 of file GSLMatrix.h.

References gsl_matrix_complex_ptr().

Referenced by TEST_F(), TEST_F(), and TEST_F().

Here is the call graph for this function:

◆ gsl_matrix_complex_memcpy()

void gsl_matrix_complex_memcpy ( gsl_matrix_complex dest,
const gsl_matrix_complex src 
)
inline

Copy src into dest (complex matrices).

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
destOutput: destination matrix (must match size).
srcInput: source matrix.

Definition at line 279 of file GSLMatrix.h.

References gsl_matrix_complex::data, gsl_matrix_complex::size1, and gsl_matrix_complex::size2.

Referenced by interpolation::MMatrix< Tmplt >::MMatrix().

◆ gsl_matrix_complex_ptr() [1/2]

const gsl_complex * gsl_matrix_complex_ptr ( const gsl_matrix_complex m,
size_t  i,
size_t  j 
)
inline

Return const pointer to element \((i,j)\) in a complex matrix.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
mInput: matrix.
iInput: row index.
jInput: column index.
Returns
Output: const pointer to element \((i,j)\).

Definition at line 227 of file GSLMatrix.h.

◆ gsl_matrix_complex_ptr() [2/2]

gsl_complex * gsl_matrix_complex_ptr ( gsl_matrix_complex m,
size_t  i,
size_t  j 
)
inline

Return pointer to element \((i,j)\) in a complex matrix.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
mInput: matrix.
iInput: row index.
jInput: column index.
Returns
Output: pointer to element \((i,j)\).

Definition at line 217 of file GSLMatrix.h.

References gsl_matrix_complex::ptr().

Referenced by gsl_blas_zgemm(), gsl_blas_zgemv(), gsl_eigen_nonsymmv(), gsl_linalg_complex_LU_decomp(), gsl_linalg_complex_LU_det(), gsl_linalg_complex_LU_invert(), gsl_matrix_complex_get(), gsl_matrix_complex_set(), gsl_matrix_complex_transpose_memcpy(), interpolation::MMatrix< Tmplt >::operator()(), and interpolation::MMatrix< Tmplt >::operator()().

Here is the call graph for this function:

◆ gsl_matrix_complex_scale()

void gsl_matrix_complex_scale ( gsl_matrix_complex m,
gsl_complex  x 
)
inline

Scale a complex matrix in-place.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html

Computes \(m \leftarrow x\,m\).

Parameters
mInput/Output: matrix scaled in-place.
xInput: scale factor.

Definition at line 335 of file GSLMatrix.h.

References gsl_matrix_complex::data, gsl_complex_mul(), gsl_matrix_complex::size1, and gsl_matrix_complex::size2.

Here is the call graph for this function:

◆ gsl_matrix_complex_set()

void gsl_matrix_complex_set ( gsl_matrix_complex m,
size_t  i,
size_t  j,
gsl_complex  x 
)
inline

Set complex entry \(m_{ij} = x\).

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
mInput/Output: matrix to update.
iInput: row index.
jInput: column index.
xInput: value to assign.

Definition at line 500 of file GSLMatrix.h.

References gsl_matrix_complex_ptr().

Referenced by TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

Here is the call graph for this function:

◆ gsl_matrix_complex_set_zero()

void gsl_matrix_complex_set_zero ( gsl_matrix_complex m)
inline

Set all complex entries to zero.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
mInput/Output: matrix to clear.

Definition at line 517 of file GSLMatrix.h.

References gsl_matrix_complex::data, gsl_matrix_complex::size1, and gsl_matrix_complex::size2.

Referenced by TEST_F().

◆ gsl_matrix_complex_transpose_memcpy()

void gsl_matrix_complex_transpose_memcpy ( gsl_matrix_complex dest,
const gsl_matrix_complex src 
)
inline

Copy the transpose into dest (complex).

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html

Computes \(\mathrm{dest} = \mathrm{src}^T\) (no conjugation).

Parameters
destOutput: destination matrix of size \(n_2 \times n_1\).
srcInput: source matrix.

Definition at line 307 of file GSLMatrix.h.

References gsl_matrix_complex_ptr(), gsl_matrix_complex::size1, and gsl_matrix_complex::size2.

Referenced by interpolation::MMatrix< Tmplt >::T().

Here is the call graph for this function:

◆ gsl_matrix_free()

void gsl_matrix_free ( gsl_matrix m)
inline

Free a matrix allocated by gsl_matrix_alloc.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
mInput: matrix to release (can be null).

Definition at line 108 of file GSLMatrix.h.

References gsl_matrix::data, and gsl_matrix::owner.

Referenced by interpolation::MMatrix< Tmplt >::delete_matrix(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

◆ gsl_matrix_get()

double gsl_matrix_get ( const gsl_matrix m,
size_t  i,
size_t  j 
)
inline

Get \(m_{ij}\).

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
mInput: matrix.
iInput: row index.
jInput: column index.
Returns
Output: value at \((i,j)\).

Definition at line 463 of file GSLMatrix.h.

References gsl_matrix_ptr().

Referenced by TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

Here is the call graph for this function:

◆ gsl_matrix_memcpy()

void gsl_matrix_memcpy ( gsl_matrix dest,
const gsl_matrix src 
)
inline

Copy src into dest (real matrices).

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html

Computes \(\mathrm{dest}_{ij} = \mathrm{src}_{ij}\).

Parameters
destOutput: destination matrix (must match size).
srcInput: source matrix.

Definition at line 268 of file GSLMatrix.h.

References gsl_matrix::data, gsl_matrix::size1, and gsl_matrix::size2.

◆ gsl_matrix_ptr() [1/2]

const double * gsl_matrix_ptr ( const gsl_matrix m,
size_t  i,
size_t  j 
)
inline

Return const pointer to element \((i,j)\) in a real matrix.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
mInput: matrix.
iInput: row index.
jInput: column index.
Returns
Output: const pointer to element \((i,j)\).

Definition at line 207 of file GSLMatrix.h.

◆ gsl_matrix_ptr() [2/2]

double * gsl_matrix_ptr ( gsl_matrix m,
size_t  i,
size_t  j 
)
inline

Return pointer to element \((i,j)\) in a real matrix.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
mInput: matrix.
iInput: row index.
jInput: column index.
Returns
Output: pointer to element \((i,j)\).

Definition at line 199 of file GSLMatrix.h.

References gsl_matrix::ptr().

Referenced by gsl_blas_dgemm(), gsl_blas_dgemv(), gsl_eigen_nonsymm(), gsl_eigen_nonsymmv(), gsl_linalg_LU_decomp(), gsl_linalg_LU_det(), gsl_linalg_LU_invert(), gsl_matrix_get(), gsl_matrix_set(), gsl_matrix_transpose_memcpy(), interpolation::MMatrix< Tmplt >::operator()(), and interpolation::MMatrix< Tmplt >::operator()().

Here is the call graph for this function:

◆ gsl_matrix_scale()

void gsl_matrix_scale ( gsl_matrix m,
double  x 
)
inline

Scale a matrix in-place.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html

Computes \(m \leftarrow x\,m\).

Parameters
mInput/Output: matrix scaled in-place.
xInput: scale factor.

Definition at line 324 of file GSLMatrix.h.

References gsl_matrix::data, gsl_matrix::size1, and gsl_matrix::size2.

◆ gsl_matrix_set()

void gsl_matrix_set ( gsl_matrix m,
size_t  i,
size_t  j,
double  x 
)
inline

Set \(m_{ij} = x\).

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
mInput/Output: matrix to update.
iInput: row index.
jInput: column index.
xInput: value to assign.

Definition at line 453 of file GSLMatrix.h.

References gsl_matrix_ptr().

Referenced by gsl_matrix_set_identity(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

Here is the call graph for this function:

◆ gsl_matrix_set_all()

void gsl_matrix_set_all ( gsl_matrix m,
double  x 
)
inline

Set all entries to x.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
mInput/Output: matrix to fill.
xInput: fill value.

Definition at line 471 of file GSLMatrix.h.

References gsl_matrix::data, gsl_matrix::size1, and gsl_matrix::size2.

Referenced by gsl_matrix_set_zero(), TEST_F(), TEST_F(), and TEST_F().

◆ gsl_matrix_set_identity()

void gsl_matrix_set_identity ( gsl_matrix m)
inline

Set to identity on the main diagonal.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html

Computes \(m_{ii}=1\) and \(m_{ij}=0\) for \(i\neq j\).

Parameters
mInput/Output: matrix to set to identity.

Definition at line 486 of file GSLMatrix.h.

References gsl_matrix_set(), gsl_matrix_set_zero(), gsl_matrix::size1, and gsl_matrix::size2.

Referenced by TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

Here is the call graph for this function:

◆ gsl_matrix_set_zero()

void gsl_matrix_set_zero ( gsl_matrix m)
inline

Set all entries to zero.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
mInput/Output: matrix to clear.

Definition at line 480 of file GSLMatrix.h.

References gsl_matrix_set_all().

Referenced by gsl_matrix_set_identity(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

Here is the call graph for this function:

◆ gsl_matrix_transpose_memcpy()

void gsl_matrix_transpose_memcpy ( gsl_matrix dest,
const gsl_matrix src 
)
inline

Copy the transpose into dest.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html

Computes \(\mathrm{dest} = \mathrm{src}^T\).

Parameters
destOutput: destination matrix of size \(n_2 \times n_1\).
srcInput: source matrix.

Definition at line 291 of file GSLMatrix.h.

References gsl_matrix_ptr(), gsl_matrix::size1, and gsl_matrix::size2.

Referenced by interpolation::MMatrix< Tmplt >::T().

Here is the call graph for this function:

◆ gsl_vector_add()

void gsl_vector_add ( gsl_vector a,
const gsl_vector b 
)
inline

Add another vector in-place.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html

Computes \(a \leftarrow a + b\).

Parameters
aInput/Output: accumulator vector.
bInput: vector added to a.

Definition at line 423 of file GSLMatrix.h.

References gsl_vector_ptr(), and gsl_vector::size.

Referenced by TEST_F().

Here is the call graph for this function:

◆ gsl_vector_alloc()

gsl_vector * gsl_vector_alloc ( size_t  n)
inline

Allocate a zero-initialized real vector of length \(n\).

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
nInput: vector length.
Returns
Output: pointer to newly allocated vector (owned by caller).

Definition at line 147 of file GSLMatrix.h.

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

Referenced by interpolation::MVector< Tmplt >::build_vector(), interpolation::MVector< Tmplt >::operator=(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

◆ gsl_vector_complex_add()

void gsl_vector_complex_add ( gsl_vector_complex a,
const gsl_vector_complex b 
)
inline

Add another complex vector in-place.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html

Computes \(a \leftarrow a + b\).

Parameters
aInput/Output: accumulator vector.
bInput: vector added to a.

Definition at line 437 of file GSLMatrix.h.

References gsl_complex_add(), gsl_vector_complex_ptr(), and gsl_vector_complex::size.

Here is the call graph for this function:

◆ gsl_vector_complex_alloc()

gsl_vector_complex * gsl_vector_complex_alloc ( size_t  n)
inline

Allocate a zero-initialized complex vector of length \(n\).

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
nInput: vector length.
Returns
Output: pointer to newly allocated vector (owned by caller).

Definition at line 171 of file GSLMatrix.h.

References gsl_vector_complex::data, gsl_vector_complex::owner, gsl_vector_complex::size, and gsl_vector_complex::stride.

Referenced by interpolation::MVector< Tmplt >::build_vector(), interpolation::MVector< Tmplt >::operator=(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

◆ gsl_vector_complex_free()

void gsl_vector_complex_free ( gsl_vector_complex v)
inline

Free a vector allocated by gsl_vector_complex_alloc.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
vInput: vector to release (can be null).

Definition at line 186 of file GSLMatrix.h.

References gsl_vector_complex::data, and gsl_vector_complex::owner.

Referenced by interpolation::MVector< Tmplt >::build_vector(), interpolation::MVector< Tmplt >::delete_vector(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

◆ gsl_vector_complex_get()

gsl_complex gsl_vector_complex_get ( const gsl_vector_complex v,
size_t  i 
)
inline

Get complex entry \(v_i\).

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
vInput: vector.
iInput: element index.
Returns
Output: value at \(i\).

Definition at line 566 of file GSLMatrix.h.

References gsl_vector_complex_ptr().

Referenced by TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

Here is the call graph for this function:

◆ gsl_vector_complex_memcpy()

void gsl_vector_complex_memcpy ( gsl_vector_complex dest,
const gsl_vector_complex src 
)
inline

Copy src into dest (complex vectors).

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
destOutput: destination vector (must match size).
srcInput: source vector.

Definition at line 387 of file GSLMatrix.h.

References gsl_vector_complex_ptr(), and gsl_vector_complex::size.

Referenced by interpolation::MVector< Tmplt >::operator=().

Here is the call graph for this function:

◆ gsl_vector_complex_ptr() [1/2]

const gsl_complex * gsl_vector_complex_ptr ( const gsl_vector_complex v,
size_t  i 
)
inline

Return const pointer to element \(i\) in a complex vector.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
vInput: vector.
iInput: element index.
Returns
Output: const pointer to element \(i\).

Definition at line 259 of file GSLMatrix.h.

◆ gsl_vector_complex_ptr() [2/2]

gsl_complex * gsl_vector_complex_ptr ( gsl_vector_complex v,
size_t  i 
)
inline

Return pointer to element \(i\) in a complex vector.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
vInput: vector.
iInput: element index.
Returns
Output: pointer to element \(i\).

Definition at line 252 of file GSLMatrix.h.

References gsl_vector_complex::ptr().

Referenced by gsl_blas_zgemv(), gsl_eigen_nonsymm(), gsl_eigen_nonsymmv(), gsl_vector_complex_add(), gsl_vector_complex_get(), gsl_vector_complex_memcpy(), gsl_vector_complex_scale(), gsl_vector_complex_set(), gsl_vector_complex_set_zero(), interpolation::MVector< Tmplt >::operator()(), and interpolation::MVector< Tmplt >::operator()().

Here is the call graph for this function:

◆ gsl_vector_complex_scale()

void gsl_vector_complex_scale ( gsl_vector_complex v,
gsl_complex  x 
)
inline

Scale a complex vector in-place.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html

Computes \(v \leftarrow x\,v\).

Parameters
vInput/Output: vector scaled in-place.
xInput: scale factor.

Definition at line 412 of file GSLMatrix.h.

References gsl_complex_mul(), gsl_vector_complex_ptr(), and gsl_vector_complex::size.

Referenced by TEST_F().

Here is the call graph for this function:

◆ gsl_vector_complex_set()

void gsl_vector_complex_set ( gsl_vector_complex v,
size_t  i,
gsl_complex  x 
)
inline

Set complex entry \(v_i = x\).

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
vInput/Output: vector to update.
iInput: element index.
xInput: value to assign.

Definition at line 557 of file GSLMatrix.h.

References gsl_vector_complex_ptr().

Referenced by TEST_F().

Here is the call graph for this function:

◆ gsl_vector_complex_set_zero()

void gsl_vector_complex_set_zero ( gsl_vector_complex v)
inline

Set all complex entries to zero.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
vInput/Output: vector to clear.

Definition at line 573 of file GSLMatrix.h.

References gsl_vector_complex_ptr(), and gsl_vector_complex::size.

Here is the call graph for this function:

◆ gsl_vector_free()

void gsl_vector_free ( gsl_vector v)
inline

Free a vector allocated by gsl_vector_alloc.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
vInput: vector to release (can be null).

Definition at line 160 of file GSLMatrix.h.

References gsl_vector::data, and gsl_vector::owner.

Referenced by interpolation::MVector< Tmplt >::build_vector(), interpolation::MVector< Tmplt >::delete_vector(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

◆ gsl_vector_get()

double gsl_vector_get ( const gsl_vector v,
size_t  i 
)
inline

Get \(v_i\).

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
vInput: vector.
iInput: element index.
Returns
Output: value at \(i\).

Definition at line 535 of file GSLMatrix.h.

References gsl_vector_ptr().

Referenced by TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

Here is the call graph for this function:

◆ gsl_vector_memcpy()

void gsl_vector_memcpy ( gsl_vector dest,
const gsl_vector src 
)
inline
See also
https://www.gnu.org/software/gsl/doc/html/vectors.html

Computes \(\mathrm{dest}_i = \mathrm{src}_i\).

Parameters
destOutput: destination vector (must match size).
srcInput: source vector.

Definition at line 374 of file GSLMatrix.h.

References gsl_vector_ptr(), and gsl_vector::size.

Referenced by interpolation::MVector< Tmplt >::operator=().

Here is the call graph for this function:

◆ gsl_vector_ptr() [1/2]

const double * gsl_vector_ptr ( const gsl_vector v,
size_t  i 
)
inline

Return const pointer to element \(i\) in a real vector.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
vInput: vector.
iInput: element index.
Returns
Output: const pointer to element \(i\).

Definition at line 243 of file GSLMatrix.h.

◆ gsl_vector_ptr() [2/2]

double * gsl_vector_ptr ( gsl_vector v,
size_t  i 
)
inline

Return pointer to element \(i\) in a real vector.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
vInput: vector.
iInput: element index.
Returns
Output: pointer to element \(i\).

Definition at line 236 of file GSLMatrix.h.

References gsl_vector::ptr().

Referenced by gsl_blas_dgemv(), gsl_vector_add(), gsl_vector_get(), gsl_vector_memcpy(), gsl_vector_scale(), gsl_vector_set(), gsl_vector_set_all(), interpolation::MVector< Tmplt >::operator()(), and interpolation::MVector< Tmplt >::operator()().

Here is the call graph for this function:

◆ gsl_vector_scale()

void gsl_vector_scale ( gsl_vector v,
double  x 
)
inline

Scale a vector in-place.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html

Computes \(v \leftarrow x\,v\).

Parameters
vInput/Output: vector scaled in-place.
xInput: scale factor.

Definition at line 401 of file GSLMatrix.h.

References gsl_vector_ptr(), and gsl_vector::size.

Referenced by TEST_F().

Here is the call graph for this function:

◆ gsl_vector_set()

void gsl_vector_set ( gsl_vector v,
size_t  i,
double  x 
)
inline

Set \(v_i = x\).

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
vInput/Output: vector to update.
iInput: element index.
xInput: value to assign.

Definition at line 528 of file GSLMatrix.h.

References gsl_vector_ptr().

Referenced by TEST_F(), TEST_F(), and TEST_F().

Here is the call graph for this function:

◆ gsl_vector_set_all()

void gsl_vector_set_all ( gsl_vector v,
double  x 
)
inline

Set all entries to x.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
vInput/Output: vector to fill.
xInput: fill value.

Definition at line 541 of file GSLMatrix.h.

References gsl_vector_ptr(), and gsl_vector::size.

Referenced by gsl_vector_set_zero(), TEST_F(), and TEST_F().

Here is the call graph for this function:

◆ gsl_vector_set_zero()

void gsl_vector_set_zero ( gsl_vector v)
inline

Set all entries to zero.

See also
https://www.gnu.org/software/gsl/doc/html/vectors.html
Parameters
vInput/Output: vector to clear.

Definition at line 550 of file GSLMatrix.h.

References gsl_vector_set_all().

Here is the call graph for this function: