mxnet
Classes | Namespaces | Enumerations | Functions
complex.h File Reference

support for complex operations More...

#include <algorithm>
#include "../extension.h"
Include dependency graph for complex.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mshadow::op::complex::mul
 
struct  mshadow::op::complex::div
 
struct  mshadow::op::complex::conjugate
 
struct  mshadow::op::complex::exchange
 
struct  mshadow::op::complex::pad_imag
 
struct  mshadow::op::complex::toreal
 
struct  mshadow::op::complex::abs_square
 
struct  mshadow::op::complex::sum_real_imag
 
struct  mshadow::expr::ComplexBinaryMapExp< calctype, OP, TA, TB, DType, etype >
 binary map expression lhs [op] rhs where lhs and rhs are complex tensors More...
 
struct  mshadow::expr::ComplexUnitaryExp< calctype, OP, TA, DType, etype >
 compute conj(src) where src is a complex tensor More...
 
struct  mshadow::expr::ShapeCheck< dim, ComplexBinaryMapExp< calctype, OP, TA, TB, DType, etype > >
 
struct  mshadow::expr::ShapeCheck< dim, ComplexUnitaryExp< calctype, OP, TA, DType, etype > >
 
class  mshadow::expr::Plan< ComplexBinaryMapExp< op::complex::kBinaryCC, OP, TA, TB, DType, etype >, DType >
 
class  mshadow::expr::Plan< ComplexBinaryMapExp< op::complex::kBinaryCR, OP, TA, TB, DType, etype >, DType >
 
class  mshadow::expr::Plan< ComplexBinaryMapExp< op::complex::kBinaryRC, OP, TA, TB, DType, etype >, DType >
 
class  mshadow::expr::Plan< ComplexUnitaryExp< op::complex::kUnitaryC2C, OP, TA, DType, etype >, DType >
 
class  mshadow::expr::Plan< ComplexUnitaryExp< op::complex::kUnitaryR2C, OP, TA, DType, etype >, DType >
 
class  mshadow::expr::Plan< ComplexUnitaryExp< op::complex::kUnitaryC2R, OP, TA, DType, etype >, DType >
 
struct  mshadow::expr::ExpInfo< ComplexBinaryMapExp< calctype, OP, TA, TB, DType, etype > >
 
struct  mshadow::expr::ExpInfo< ComplexUnitaryExp< calctype, OP, TA, DType, etype > >
 

Namespaces

 mshadow
 namespace for mshadow
 
 mshadow::op
 namespace for operators
 
 mshadow::op::complex
 
 mshadow::expr
 namespace for abstract expressions and expressions template, have no dependency on tensor.h, These data structure takes no charge in computations, they are only used to define operations and represent expression in a symbolic way
 

Enumerations

enum  mshadow::op::complex::BinaryCalculationType { mshadow::op::complex::kBinaryCC, mshadow::op::complex::kBinaryCR, mshadow::op::complex::kBinaryRC }
 
enum  mshadow::op::complex::UnitaryCalculationType { mshadow::op::complex::kUnitaryC2R, mshadow::op::complex::kUnitaryC2C, mshadow::op::complex::kUnitaryR2C }
 

Functions

template<int calctype, typename OP , typename TA , typename TB , typename DType , int ta, int tb>
ComplexBinaryMapExp< calctype, OP, TA, TB, DType,(ta|tb|type::kMapper)> mshadow::expr::ComplexF (const Exp< TA, DType, ta > &lhs, const Exp< TB, DType, tb > &rhs)
 
template<int calctype, typename OP , typename SrcExp , typename DType , int e1>
ComplexUnitaryExp< calctype, OP, SrcExp, DType,(e1|type::kMapper)> mshadow::expr::ComplexF (const Exp< SrcExp, DType, e1 > &src)
 conj Negation the imaginary part of A where A is a complex tensor More...
 
template<typename TA , typename TB , typename DType , int ta, int tb>
ComplexBinaryMapExp< op::complex::kBinaryCC, op::complex::mul, TA, TB, DType,(ta|tb|type::kMapper)> mshadow::expr::complex_mul_cc (const Exp< TA, DType, ta > &lhs, const Exp< TB, DType, tb > &rhs)
 complex_mul_cc Complex multipilication two complex tensors, A * B More...
 
template<typename TA , typename TB , typename DType , int ta, int tb>
ComplexBinaryMapExp< op::complex::kBinaryCR, op::complex::mul, TA, TB, DType,(ta|tb|type::kMapper)> mshadow::expr::complex_mul_cr (const Exp< TA, DType, ta > &lhs, const Exp< TB, DType, tb > &rhs)
 complex_mul_cr Complex multipilication a complex tensor A and a real tensor B More...
 
template<typename TA , typename TB , typename DType , int ta, int tb>
ComplexBinaryMapExp< op::complex::kBinaryRC, op::complex::mul, TA, TB, DType,(ta|tb|type::kMapper)> mshadow::expr::complex_mul_rc (const Exp< TA, DType, ta > &lhs, const Exp< TB, DType, tb > &rhs)
 complex_mul_rc Complex multipilication of a real tensor B and a complex tensor A More...
 
template<typename TA , typename TB , typename DType , int ta, int tb>
ComplexBinaryMapExp< op::complex::kBinaryCC, op::complex::div, TA, TB, DType,(ta|tb|type::kMapper)> mshadow::expr::complex_div_cc (const Exp< TA, DType, ta > &lhs, const Exp< TB, DType, tb > &rhs)
 complex_mul_cc Complex multipilication two complex tensors, A * B More...
 
template<typename TA , typename TB , typename DType , int ta, int tb>
ComplexBinaryMapExp< op::complex::kBinaryCR, op::complex::div, TA, TB, DType,(ta|tb|type::kMapper)> mshadow::expr::complex_div_cr (const Exp< TA, DType, ta > &lhs, const Exp< TB, DType, tb > &rhs)
 complex_mul_cr Complex multipilication a complex tensor A and a real tensor B More...
 
template<typename TA , typename TB , typename DType , int ta, int tb>
ComplexBinaryMapExp< op::complex::kBinaryRC, op::complex::div, TA, TB, DType,(ta|tb|type::kMapper)> mshadow::expr::complex_div_rc (const Exp< TA, DType, ta > &lhs, const Exp< TB, DType, tb > &rhs)
 complex_mul_rc Complex multipilication of a real tensor A and a complex tensor B More...
 
template<typename SrcExp , typename DType , int e1>
ComplexUnitaryExp< op::complex::kUnitaryC2C, op::complex::conjugate, SrcExp, DType,(e1|type::kMapper)> mshadow::expr::conj (const Exp< SrcExp, DType, e1 > &src)
 conj Negation the imaginary part of A where A is a complex tensor More...
 
template<typename SrcExp , typename DType , int e1>
ComplexUnitaryExp< op::complex::kUnitaryC2C, op::complex::exchange, SrcExp, DType,(e1|type::kMapper)> mshadow::expr::complex_exchange (const Exp< SrcExp, DType, e1 > &src)
 complex_exchange Exchange the real and imaginary part of A where A is a complex tensor More...
 
template<typename SrcExp , typename DType , int e1>
ComplexUnitaryExp< op::complex::kUnitaryR2C, op::complex::pad_imag, SrcExp, DType,(e1|type::kMapper)> mshadow::expr::complex_pad_imag (const Exp< SrcExp, DType, e1 > &src)
 complex_pad_imag Transform real matrix into complex matrix More...
 
template<typename SrcExp , typename DType , int e1>
ComplexUnitaryExp< op::complex::kUnitaryC2R, op::complex::toreal, SrcExp, DType,(e1|type::kMapper)> mshadow::expr::complex_toreal (const Exp< SrcExp, DType, e1 > &src)
 complex_toreal convert complex matrix to real matrix, keep only real part More...
 
template<typename SrcExp , typename DType , int e1>
ComplexUnitaryExp< op::complex::kUnitaryC2R, op::complex::abs_square, SrcExp, DType,(e1|type::kMapper)> mshadow::expr::complex_abs_square (const Exp< SrcExp, DType, e1 > &src)
 complex_abs_square calculate the square of the modulus of A where A is a complex tensor More...
 
template<typename SrcExp , typename DType , int e1>
ComplexUnitaryExp< op::complex::kUnitaryC2R, op::complex::sum_real_imag, SrcExp, DType,(e1|type::kMapper)> mshadow::expr::complex_sum_real_imag (const Exp< SrcExp, DType, e1 > &src)
 
template<int calctype, typename OP , typename TA , typename TB , typename DType , int etype>
Plan< ComplexBinaryMapExp< calctype, OP, TA, TB, DType, etype >, DType > mshadow::expr::MakePlan (const ComplexBinaryMapExp< calctype, OP, TA, TB, DType, etype > &e)
 
template<int calctype, typename OP , typename TA , typename DType , int etype>
Plan< ComplexUnitaryExp< calctype, OP, TA, DType, etype >, DType > mshadow::expr::MakePlan (const ComplexUnitaryExp< calctype, OP, TA, DType, etype > &e)
 

Detailed Description

support for complex operations

Copyright (c) 2016 by Contributors

Author
Xingjian Shi