GM2Calc 2.3.0
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Functions
gm2_linalg.hpp File Reference

Go to the source code of this file.

Classes

struct  gm2calc::Flip_sign< Real >
 

Namespaces

namespace  gm2calc
 

Macros

#define MAX_(i, j)   (((i) > (j)) ? (i) : (j))
 
#define MIN_(i, j)   (((i) < (j)) ? (i) : (j))
 

Functions

template<class Real , class Scalar , int M, int N>
void gm2calc::svd_eigen (const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Eigen::Matrix< Scalar, M, M > *u, Eigen::Matrix< Scalar, N, N > *vh)
 
template<class Real , class Scalar , int N>
void gm2calc::hermitian_eigen (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &w, Eigen::Matrix< Scalar, N, N > *z)
 
template<int M, int N, class Real >
void gm2calc::disna (const char &JOB, const Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &D, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &SEP, int &INFO)
 Template version of DDISNA from LAPACK.
 
template<class Real , class Scalar , int M, int N>
void gm2calc::svd_internal (const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Eigen::Matrix< Scalar, M, M > *u, Eigen::Matrix< Scalar, N, N > *vh)
 
template<class Real , class Scalar , int M, int N>
void gm2calc::svd_errbd (const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Eigen::Matrix< Scalar, M, M > *u=0, Eigen::Matrix< Scalar, N, N > *vh=0, Real *s_errbd=0, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > *u_errbd=0, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > *v_errbd=0)
 
template<class Real , class Scalar , int M, int N>
void gm2calc::svd (const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Eigen::Matrix< Scalar, M, M > &u, Eigen::Matrix< Scalar, N, N > &vh)
 Singular value decomposition of M-by-N matrix m such that.
 
template<class Real , class Scalar , int M, int N>
void gm2calc::svd (const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Eigen::Matrix< Scalar, M, M > &u, Eigen::Matrix< Scalar, N, N > &vh, Real &s_errbd)
 Same as svd(m, s, u, vh) except that an approximate error bound for the singular values is returned as well.
 
template<class Real , class Scalar , int M, int N>
void gm2calc::svd (const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Eigen::Matrix< Scalar, M, M > &u, Eigen::Matrix< Scalar, N, N > &vh, Real &s_errbd, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &u_errbd, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &v_errbd)
 Same as svd(m, s, u, vh, s_errbd) except that approximate error bounds for the singular vectors are returned as well.
 
template<class Real , class Scalar , int M, int N>
void gm2calc::svd (const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s)
 Returns singular values of M-by-N matrix m via s such that (s >= 0).all().
 
template<class Real , class Scalar , int M, int N>
void gm2calc::svd (const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Real &s_errbd)
 Same as svd(m, s) except that an approximate error bound for the singular values is returned as well.
 
template<class Real , class Scalar , int N>
void gm2calc::diagonalize_hermitian_internal (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &w, Eigen::Matrix< Scalar, N, N > *z)
 
template<class Real , class Scalar , int N>
void gm2calc::diagonalize_hermitian_errbd (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &w, Eigen::Matrix< Scalar, N, N > *z=0, Real *w_errbd=0, Eigen::Array< Real, N, 1 > *z_errbd=0)
 
template<class Real , class Scalar , int N>
void gm2calc::diagonalize_hermitian (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &w, Eigen::Matrix< Scalar, N, N > &z)
 Diagonalizes N-by-N hermitian matrix m so that.
 
template<class Real , class Scalar , int N>
void gm2calc::diagonalize_hermitian (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &w, Eigen::Matrix< Scalar, N, N > &z, Real &w_errbd)
 Same as diagonalize_hermitian(m, w, z) except that an approximate error bound for the eigenvalues is returned as well.
 
template<class Real , class Scalar , int N>
void gm2calc::diagonalize_hermitian (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &w, Eigen::Matrix< Scalar, N, N > &z, Real &w_errbd, Eigen::Array< Real, N, 1 > &z_errbd)
 Same as diagonalize_hermitian(m, w, z, w_errbd) except that approximate error bounds for the eigenvectors are returned as well.
 
template<class Real , class Scalar , int N>
void gm2calc::diagonalize_hermitian (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &w)
 Returns eigenvalues of N-by-N hermitian matrix m via w.
 
template<class Real , class Scalar , int N>
void gm2calc::diagonalize_hermitian (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &w, Real &w_errbd)
 Same as diagonalize_hermitian(m, w) except that an approximate error bound for the eigenvalues is returned as well.
 
template<class Real , int N>
void gm2calc::diagonalize_symmetric_errbd (const Eigen::Matrix< std::complex< Real >, N, N > &m, Eigen::Array< Real, N, 1 > &s, Eigen::Matrix< std::complex< Real >, N, N > *u=0, Real *s_errbd=0, Eigen::Array< Real, N, 1 > *u_errbd=0)
 
template<class Real , int N>
void gm2calc::diagonalize_symmetric (const Eigen::Matrix< std::complex< Real >, N, N > &m, Eigen::Array< Real, N, 1 > &s, Eigen::Matrix< std::complex< Real >, N, N > &u)
 Diagonalizes N-by-N complex symmetric matrix m so that.
 
template<class Real , int N>
void gm2calc::diagonalize_symmetric (const Eigen::Matrix< std::complex< Real >, N, N > &m, Eigen::Array< Real, N, 1 > &s, Eigen::Matrix< std::complex< Real >, N, N > &u, Real &s_errbd)
 Same as diagonalize_symmetric(m, s, u) except that an approximate error bound for the singular values is returned as well.
 
template<class Real , int N>
void gm2calc::diagonalize_symmetric (const Eigen::Matrix< std::complex< Real >, N, N > &m, Eigen::Array< Real, N, 1 > &s, Eigen::Matrix< std::complex< Real >, N, N > &u, Real &s_errbd, Eigen::Array< Real, N, 1 > &u_errbd)
 Same as diagonalize_symmetric(m, s, u, s_errbd) except that approximate error bounds for the singular vectors are returned as well.
 
template<class Real , int N>
void gm2calc::diagonalize_symmetric (const Eigen::Matrix< std::complex< Real >, N, N > &m, Eigen::Array< Real, N, 1 > &s)
 Returns singular values of N-by-N complex symmetric matrix m via s such that (s >= 0).all().
 
template<class Real , int N>
void gm2calc::diagonalize_symmetric (const Eigen::Matrix< std::complex< Real >, N, N > &m, Eigen::Array< Real, N, 1 > &s, Real &s_errbd)
 Same as diagonalize_symmetric(m, s) except that an approximate error bound for the singular values is returned as well.
 
template<class Real , int N>
void gm2calc::diagonalize_symmetric_errbd (const Eigen::Matrix< Real, N, N > &m, Eigen::Array< Real, N, 1 > &s, Eigen::Matrix< std::complex< Real >, N, N > *u=0, Real *s_errbd=0, Eigen::Array< Real, N, 1 > *u_errbd=0)
 
template<class Real , int N>
void gm2calc::diagonalize_symmetric (const Eigen::Matrix< Real, N, N > &m, Eigen::Array< Real, N, 1 > &s, Eigen::Matrix< std::complex< Real >, N, N > &u)
 Diagonalizes N-by-N real symmetric matrix m so that.
 
template<class Real , int N>
void gm2calc::diagonalize_symmetric (const Eigen::Matrix< Real, N, N > &m, Eigen::Array< Real, N, 1 > &s, Eigen::Matrix< std::complex< Real >, N, N > &u, Real &s_errbd)
 Same as diagonalize_symmetric(m, s, u) except that an approximate error bound for the singular values is returned as well.
 
template<class Real , int N>
void gm2calc::diagonalize_symmetric (const Eigen::Matrix< Real, N, N > &m, Eigen::Array< Real, N, 1 > &s, Eigen::Matrix< std::complex< Real >, N, N > &u, Real &s_errbd, Eigen::Array< Real, N, 1 > &u_errbd)
 Same as diagonalize_symmetric(m, s, u, s_errbd) except that approximate error bounds for the singular vectors are returned as well.
 
template<class Real , int N>
void gm2calc::diagonalize_symmetric (const Eigen::Matrix< Real, N, N > &m, Eigen::Array< Real, N, 1 > &s)
 Returns singular values of N-by-N real symmetric matrix m via s such that (s >= 0).all().
 
template<class Real , int N>
void gm2calc::diagonalize_symmetric (const Eigen::Matrix< Real, N, N > &m, Eigen::Array< Real, N, 1 > &s, Real &s_errbd)
 Same as diagonalize_symmetric(m, s) except that an approximate error bound for the singular values is returned as well.
 
template<class Real , class Scalar , int M, int N>
void gm2calc::reorder_svd_errbd (const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Eigen::Matrix< Scalar, M, M > *u=0, Eigen::Matrix< Scalar, N, N > *vh=0, Real *s_errbd=0, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > *u_errbd=0, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > *v_errbd=0)
 
template<class Real , class Scalar , int M, int N>
void gm2calc::reorder_svd (const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Eigen::Matrix< Scalar, M, M > &u, Eigen::Matrix< Scalar, N, N > &vh)
 Singular value decomposition of M-by-N matrix m such that.
 
template<class Real , class Scalar , int M, int N>
void gm2calc::reorder_svd (const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Eigen::Matrix< Scalar, M, M > &u, Eigen::Matrix< Scalar, N, N > &vh, Real &s_errbd)
 Same as reorder_svd(m, s, u, vh) except that an approximate error bound for the singular values is returned as well.
 
template<class Real , class Scalar , int M, int N>
void gm2calc::reorder_svd (const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Eigen::Matrix< Scalar, M, M > &u, Eigen::Matrix< Scalar, N, N > &vh, Real &s_errbd, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &u_errbd, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &v_errbd)
 Same as reorder_svd(m, s, u, vh, s_errbd) except that approximate error bounds for the singular vectors are returned as well.
 
template<class Real , class Scalar , int M, int N>
void gm2calc::reorder_svd (const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s)
 Returns singular values of M-by-N matrix m via s such that (s >= 0).all().
 
template<class Real , class Scalar , int M, int N>
void gm2calc::reorder_svd (const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Real &s_errbd)
 Same as reorder_svd(m, s) except that an approximate error bound for the singular values is returned as well.
 
template<class Real , int N>
void gm2calc::reorder_diagonalize_symmetric_errbd (const Eigen::Matrix< std::complex< Real >, N, N > &m, Eigen::Array< Real, N, 1 > &s, Eigen::Matrix< std::complex< Real >, N, N > *u=0, Real *s_errbd=0, Eigen::Array< Real, N, 1 > *u_errbd=0)
 
template<class Real , int N>
void gm2calc::reorder_diagonalize_symmetric_errbd (const Eigen::Matrix< Real, N, N > &m, Eigen::Array< Real, N, 1 > &s, Eigen::Matrix< std::complex< Real >, N, N > *u=0, Real *s_errbd=0, Eigen::Array< Real, N, 1 > *u_errbd=0)
 
template<class Real , class Scalar , int N>
void gm2calc::reorder_diagonalize_symmetric (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &s, Eigen::Matrix< std::complex< Real >, N, N > &u)
 Diagonalizes N-by-N symmetric matrix m so that.
 
template<class Real , class Scalar , int N>
void gm2calc::reorder_diagonalize_symmetric (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &s, Eigen::Matrix< std::complex< Real >, N, N > &u, Real &s_errbd)
 Same as reorder_diagonalize_symmetric(m, s, u) except that an approximate error bound for the singular values is returned as well.
 
template<class Real , class Scalar , int N>
void gm2calc::reorder_diagonalize_symmetric (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &s, Eigen::Matrix< std::complex< Real >, N, N > &u, Real &s_errbd, Eigen::Array< Real, N, 1 > &u_errbd)
 Same as reorder_diagonalize_symmetric(m, s, u, s_errbd) except that approximate error bounds for the singular vectors are returned as well.
 
template<class Real , class Scalar , int N>
void gm2calc::reorder_diagonalize_symmetric (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &s)
 Returns singular values of N-by-N symmetric matrix m via s such that (s >= 0).all().
 
template<class Real , class Scalar , int N>
void gm2calc::reorder_diagonalize_symmetric (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &s, Real &s_errbd)
 Same as reorder_diagonalize_symmetric(m, s) except that an approximate error bound for the singular values is returned as well.
 
template<class Real , class Scalar , int M, int N>
void gm2calc::fs_svd_errbd (const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Eigen::Matrix< Scalar, M, M > *u=0, Eigen::Matrix< Scalar, N, N > *v=0, Real *s_errbd=0, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > *u_errbd=0, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > *v_errbd=0)
 
template<class Real , class Scalar , int M, int N>
void gm2calc::fs_svd (const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Eigen::Matrix< Scalar, M, M > &u, Eigen::Matrix< Scalar, N, N > &v)
 Singular value decomposition of M-by-N matrix m such that.
 
template<class Real , class Scalar , int M, int N>
void gm2calc::fs_svd (const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Eigen::Matrix< Scalar, M, M > &u, Eigen::Matrix< Scalar, N, N > &v, Real &s_errbd)
 Same as fs_svd(m, s, u, v) except that an approximate error bound for the singular values is returned as well.
 
template<class Real , class Scalar , int M, int N>
void gm2calc::fs_svd (const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Eigen::Matrix< Scalar, M, M > &u, Eigen::Matrix< Scalar, N, N > &v, Real &s_errbd, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &u_errbd, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &v_errbd)
 Same as fs_svd(m, s, u, v, s_errbd) except that approximate error bounds for the singular vectors are returned as well.
 
template<class Real , class Scalar , int M, int N>
void gm2calc::fs_svd (const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s)
 Returns singular values of M-by-N matrix m via s such that (s >= 0).all().
 
template<class Real , class Scalar , int M, int N>
void gm2calc::fs_svd (const Eigen::Matrix< Scalar, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Real &s_errbd)
 Same as fs_svd(m, s) except that an approximate error bound for the singular values is returned as well.
 
template<class Real , int M, int N>
void gm2calc::fs_svd (const Eigen::Matrix< Real, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Eigen::Matrix< std::complex< Real >, M, M > &u, Eigen::Matrix< std::complex< Real >, N, N > &v)
 Singular value decomposition of M-by-N real matrix m such that.
 
template<class Real , int M, int N>
void gm2calc::fs_svd (const Eigen::Matrix< Real, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Eigen::Matrix< std::complex< Real >, M, M > &u, Eigen::Matrix< std::complex< Real >, N, N > &v, Real &s_errbd)
 Same as fs_svd(m, s, u, v) except that an approximate error bound for the singular values is returned as well.
 
template<class Real , int M, int N>
void gm2calc::fs_svd (const Eigen::Matrix< Real, M, N > &m, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &s, Eigen::Matrix< std::complex< Real >, M, M > &u, Eigen::Matrix< std::complex< Real >, N, N > &v, Real &s_errbd, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &u_errbd, Eigen::Array< Real,(((M)<(N)) ?(M) :(N)), 1 > &v_errbd)
 Same as fs_svd(m, s, u, v, s_errbd) except that approximate error bounds for the singular vectors are returned as well.
 
template<class Real , class Scalar , int N>
void gm2calc::fs_diagonalize_symmetric_errbd (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &s, Eigen::Matrix< std::complex< Real >, N, N > *u=0, Real *s_errbd=0, Eigen::Array< Real, N, 1 > *u_errbd=0)
 
template<class Real , class Scalar , int N>
void gm2calc::fs_diagonalize_symmetric (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &s, Eigen::Matrix< std::complex< Real >, N, N > &u)
 Diagonalizes N-by-N symmetric matrix m so that.
 
template<class Real , class Scalar , int N>
void gm2calc::fs_diagonalize_symmetric (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &s, Eigen::Matrix< std::complex< Real >, N, N > &u, Real &s_errbd)
 Same as fs_diagonalize_symmetric(m, s, u) except that an approximate error bound for the singular values is returned as well.
 
template<class Real , class Scalar , int N>
void gm2calc::fs_diagonalize_symmetric (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &s, Eigen::Matrix< std::complex< Real >, N, N > &u, Real &s_errbd, Eigen::Array< Real, N, 1 > &u_errbd)
 Same as fs_diagonalize_symmetric(m, s, u, s_errbd) except that approximate error bounds for the singular vectors are returned as well.
 
template<class Real , class Scalar , int N>
void gm2calc::fs_diagonalize_symmetric (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &s)
 Returns singular values of N-by-N symmetric matrix m via s such that (s >= 0).all().
 
template<class Real , class Scalar , int N>
void gm2calc::fs_diagonalize_symmetric (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &s, Real &s_errbd)
 Same as fs_diagonalize_symmetric(m, s) except that an approximate error bound for the singular values is returned as well.
 
template<class Real , class Scalar , int N>
void gm2calc::fs_diagonalize_hermitian_errbd (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &w, Eigen::Matrix< Scalar, N, N > *z=0, Real *w_errbd=0, Eigen::Array< Real, N, 1 > *z_errbd=0)
 
template<class Real , class Scalar , int N>
void gm2calc::fs_diagonalize_hermitian (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &w, Eigen::Matrix< Scalar, N, N > &z)
 Diagonalizes N-by-N hermitian matrix m so that.
 
template<class Real , class Scalar , int N>
void gm2calc::fs_diagonalize_hermitian (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &w, Eigen::Matrix< Scalar, N, N > &z, Real &w_errbd)
 Same as fs_diagonalize_hermitian(m, w, z) except that an approximate error bound for the eigenvalues is returned as well.
 
template<class Real , class Scalar , int N>
void gm2calc::fs_diagonalize_hermitian (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &w, Eigen::Matrix< Scalar, N, N > &z, Real &w_errbd, Eigen::Array< Real, N, 1 > &z_errbd)
 Same as fs_diagonalize_hermitian(m, w, z, w_errbd) except that approximate error bounds for the eigenvectors are returned as well.
 
template<class Real , class Scalar , int N>
void gm2calc::fs_diagonalize_hermitian (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &w)
 Returns eigenvalues of N-by-N hermitian matrix m via w.
 
template<class Real , class Scalar , int N>
void gm2calc::fs_diagonalize_hermitian (const Eigen::Matrix< Scalar, N, N > &m, Eigen::Array< Real, N, 1 > &w, Real &w_errbd)
 Same as fs_diagonalize_hermitian(m, w) except that an approximate error bound for the eigenvalues is returned as well.
 

Macro Definition Documentation

◆ MAX_

#define MAX_ (   i,
 
)    (((i) > (j)) ? (i) : (j))

Definition at line 35 of file gm2_linalg.hpp.

◆ MIN_

#define MIN_ (   i,
 
)    (((i) < (j)) ? (i) : (j))

Definition at line 36 of file gm2_linalg.hpp.