Functions
vnl_complexify.h File Reference

Functions to create complex vectors and matrices from real ones. More...

#include <complex>
#include <vnl/vnl_vector.h>
#include <vnl/vnl_vector_fixed.h>
#include <vnl/vnl_matrix.h>
#include <vnl/vnl_matrix_fixed.h>
#include <vnl/vnl_diag_matrix.h>
#include <vnl/vnl_diag_matrix_fixed.h>
#include <vnl/vnl_sym_matrix.h>
#include "vnl/vnl_export.h"

Go to the source code of this file.

Functions

template<class T >
VNL_EXPORT void vnl_complexify (T const *R, T const *I, std::complex< T > *C, unsigned n)
 Overwrite complex array C (of length n) with pairs from real arrays R and I. More...
 
template<class T >
VNL_EXPORT void vnl_complexify (T const *R, std::complex< T > *C, unsigned n)
 Overwrite complex array C (sz n) with complexified version of real array R. More...
 
template<class T >
VNL_EXPORT vnl_vector< std::complex< T > > vnl_complexify (vnl_vector< T > const &R)
 Return complexified version of real vector R. More...
 
template<class T , unsigned int n>
VNL_EXPORT vnl_vector_fixed< std::complex< T >, n > vnl_complexify (vnl_vector_fixed< T, n > const &R)
 Return complexified version of real fixed vector R. More...
 
template<class T , unsigned int n>
vnl_vector_fixed< std::complex< T >, n > vnl_complexify (vnl_vector_fixed< T, n > const &R)
 Return complexified version of real fixed vector R. More...
 
template<class T >
VNL_EXPORT vnl_matrix< std::complex< T > > vnl_complexify (vnl_matrix< T > const &R)
 Return complexified version of real matrix R. More...
 
template<class T , unsigned int r, unsigned int c>
VNL_EXPORT vnl_matrix_fixed< std::complex< T >, r, c > vnl_complexify (vnl_matrix_fixed< T, r, c > const &R)
 Return complexified version of real fixed matrix R. More...
 
template<class T , unsigned int r, unsigned int c>
vnl_matrix_fixed< std::complex< T >, r, c > vnl_complexify (vnl_matrix_fixed< T, r, c > const &R)
 Return complexified version of real fixed matrix R. More...
 
template<class T >
VNL_EXPORT vnl_diag_matrix< std::complex< T > > vnl_complexify (vnl_diag_matrix< T > const &R)
 Return complexified version of real diagonal matrix R. More...
 
template<class T , unsigned int n>
vnl_diag_matrix_fixed< std::complex< T >, n > vnl_complexify (vnl_diag_matrix_fixed< T, n > const &R)
 Return complexified version of real fixed diagonal matrix R. More...
 
template<class T >
VNL_EXPORT vnl_sym_matrix< std::complex< T > > vnl_complexify (vnl_sym_matrix< T > const &R)
 Return complexified version of real symmetric matrix R. More...
 
template<class T >
VNL_EXPORT vnl_vector< std::complex< T > > vnl_complexify (vnl_vector< T > const &R, vnl_vector< T > const &I)
 Return complex vector R+j*I from two real vectors R and I. More...
 
template<class T , unsigned int n>
vnl_vector_fixed< std::complex< T >, n > vnl_complexify (vnl_vector_fixed< T, n > const &R, vnl_vector_fixed< T, n > const &I)
 Return complex fixed vector R+j*I from two real fixed vectors R and I. More...
 
template<class T >
VNL_EXPORT vnl_matrix< std::complex< T > > vnl_complexify (vnl_matrix< T > const &R, vnl_matrix< T > const &I)
 Return complex matrix R+j*I from two real matrices R and I. More...
 
template<class T , unsigned int r, unsigned int c>
vnl_matrix_fixed< std::complex< T >, r, c > vnl_complexify (vnl_matrix_fixed< T, r, c > const &R, vnl_matrix_fixed< T, r, c > const &I)
 Return complex fixed matrix R+j*I from two real fixed matrices R and I. More...
 
template<class T >
VNL_EXPORT vnl_diag_matrix< std::complex< T > > vnl_complexify (vnl_diag_matrix< T > const &R, vnl_diag_matrix< T > const &I)
 Return complex diagonal matrix R+j*I from two real diagonal matrices R and I. More...
 
template<class T , unsigned int n>
vnl_diag_matrix_fixed< std::complex< T >, n > vnl_complexify (vnl_diag_matrix_fixed< T, n > const &R, vnl_diag_matrix_fixed< T, n > const &I)
 Return complex fixed diagonal matrix R+j*I from two real fixed diagonal matrices R and I. More...
 
template<class T >
VNL_EXPORT vnl_sym_matrix< std::complex< T > > vnl_complexify (vnl_sym_matrix< T > const &R, vnl_sym_matrix< T > const &I)
 Return complex diagonal matrix R+j*I from two real diagonal matrices R and I. More...
 

Detailed Description

Functions to create complex vectors and matrices from real ones.

Author
fsm
Modifications
Peter Vanroose - 2 July 2002 - part of vnl_complex_ops.h moved here

Definition in file vnl_complexify.h.

Function Documentation

◆ vnl_complexify() [1/18]

template<class T >
VNL_EXPORT void vnl_complexify ( T const *  R,
T const *  I,
std::complex< T > *  C,
unsigned  n 
)

Overwrite complex array C (of length n) with pairs from real arrays R and I.

Definition at line 31 of file vnl_complex_ops.hxx.

◆ vnl_complexify() [2/18]

template<class T >
VNL_EXPORT void vnl_complexify ( T const *  R,
std::complex< T > *  C,
unsigned  n 
)

Overwrite complex array C (sz n) with complexified version of real array R.

Definition at line 23 of file vnl_complex_ops.hxx.

◆ vnl_complexify() [3/18]

template<class T >
VNL_EXPORT vnl_vector< std::complex< T > > vnl_complexify ( vnl_vector< T > const &  R)

Return complexified version of real vector R.

Definition at line 48 of file vnl_complex_ops.hxx.

◆ vnl_complexify() [4/18]

template<class T , unsigned int n>
VNL_EXPORT vnl_vector_fixed<std::complex<T>, n> vnl_complexify ( vnl_vector_fixed< T, n > const &  R)

Return complexified version of real fixed vector R.

Definition at line 60 of file vnl_complexify.h.

◆ vnl_complexify() [5/18]

template<class T , unsigned int n>
vnl_vector_fixed< std::complex< T >, n > vnl_complexify ( vnl_vector_fixed< T, n > const &  R)

Return complexified version of real fixed vector R.

Definition at line 60 of file vnl_complexify.h.

◆ vnl_complexify() [6/18]

template<class T >
VNL_EXPORT vnl_matrix< std::complex< T > > vnl_complexify ( vnl_matrix< T > const &  R)

Return complexified version of real matrix R.

Definition at line 57 of file vnl_complex_ops.hxx.

◆ vnl_complexify() [7/18]

template<class T , unsigned int r, unsigned int c>
VNL_EXPORT vnl_matrix_fixed< std::complex< T >, r, c > vnl_complexify ( vnl_matrix_fixed< T, r, c > const &  R)

Return complexified version of real fixed matrix R.

Definition at line 81 of file vnl_complexify.h.

◆ vnl_complexify() [8/18]

template<class T , unsigned int r, unsigned int c>
vnl_matrix_fixed<std::complex<T>,r,c > vnl_complexify ( vnl_matrix_fixed< T, r, c > const &  R)

Return complexified version of real fixed matrix R.

Definition at line 81 of file vnl_complexify.h.

◆ vnl_complexify() [9/18]

template<class T >
VNL_EXPORT vnl_diag_matrix< std::complex< T > > vnl_complexify ( vnl_diag_matrix< T > const &  R)

Return complexified version of real diagonal matrix R.

Definition at line 66 of file vnl_complex_ops.hxx.

◆ vnl_complexify() [10/18]

template<class T , unsigned int n>
vnl_diag_matrix_fixed< std::complex< T >, n > vnl_complexify ( vnl_diag_matrix_fixed< T, n > const &  R)

Return complexified version of real fixed diagonal matrix R.

Definition at line 98 of file vnl_complexify.h.

◆ vnl_complexify() [11/18]

template<class T >
VNL_EXPORT vnl_sym_matrix< std::complex< T > > vnl_complexify ( vnl_sym_matrix< T > const &  R)

Return complexified version of real symmetric matrix R.

Definition at line 75 of file vnl_complex_ops.hxx.

◆ vnl_complexify() [12/18]

template<class T >
VNL_EXPORT vnl_vector< std::complex< T > > vnl_complexify ( vnl_vector< T > const &  R,
vnl_vector< T > const &  I 
)

Return complex vector R+j*I from two real vectors R and I.

Definition at line 95 of file vnl_complex_ops.hxx.

◆ vnl_complexify() [13/18]

template<class T , unsigned int n>
vnl_vector_fixed< std::complex< T >, n > vnl_complexify ( vnl_vector_fixed< T, n > const &  R,
vnl_vector_fixed< T, n > const &  I 
)

Return complex fixed vector R+j*I from two real fixed vectors R and I.

Definition at line 132 of file vnl_complexify.h.

◆ vnl_complexify() [14/18]

template<class T >
VNL_EXPORT vnl_matrix< std::complex< T > > vnl_complexify ( vnl_matrix< T > const &  R,
vnl_matrix< T > const &  I 
)

Return complex matrix R+j*I from two real matrices R and I.

Definition at line 105 of file vnl_complex_ops.hxx.

◆ vnl_complexify() [15/18]

template<class T , unsigned int r, unsigned int c>
vnl_matrix_fixed< std::complex< T >, r, c > vnl_complexify ( vnl_matrix_fixed< T, r, c > const &  R,
vnl_matrix_fixed< T, r, c > const &  I 
)

Return complex fixed matrix R+j*I from two real fixed matrices R and I.

Definition at line 149 of file vnl_complexify.h.

◆ vnl_complexify() [16/18]

template<class T >
VNL_EXPORT vnl_diag_matrix< std::complex< T > > vnl_complexify ( vnl_diag_matrix< T > const &  R,
vnl_diag_matrix< T > const &  I 
)

Return complex diagonal matrix R+j*I from two real diagonal matrices R and I.

Definition at line 116 of file vnl_complex_ops.hxx.

◆ vnl_complexify() [17/18]

template<class T , unsigned int n>
vnl_diag_matrix_fixed< std::complex< T >, n > vnl_complexify ( vnl_diag_matrix_fixed< T, n > const &  R,
vnl_diag_matrix_fixed< T, n > const &  I 
)

Return complex fixed diagonal matrix R+j*I from two real fixed diagonal matrices R and I.

Definition at line 166 of file vnl_complexify.h.

◆ vnl_complexify() [18/18]

template<class T >
VNL_EXPORT vnl_sym_matrix< std::complex< T > > vnl_complexify ( vnl_sym_matrix< T > const &  R,
vnl_sym_matrix< T > const &  I 
)

Return complex diagonal matrix R+j*I from two real diagonal matrices R and I.

Definition at line 126 of file vnl_complex_ops.hxx.