lucid  0.0.1
Lifting-based Uncertain Control Invariant Dynamics
Loading...
Searching...
No Matches
eigen_extension.h File Reference
#include <Eigen/Core>

Namespaces

namespace  lucid
 Root namespace for the lucid library.
 
namespace  lucid::internal
 Internal implementation details for Eigen extensions.
 

Typedefs

template<class ArgType>
using lucid::internal::PadtOp = Eigen::CwiseNullaryOp<pad_functor<ArgType>, typename pad_helper<ArgType>::MatrixType>
 Type alias for pad operation.
 
template<class ArgType>
using lucid::internal::ShiftOp = Eigen::CwiseNullaryOp<shift_functor<ArgType>, typename shift_helper<ArgType>::MatrixType>
 Type alias for shift operation.
 
template<class ArgType>
using lucid::internal::CirculantOp = Eigen::CwiseNullaryOp<circulant_functor<ArgType>, typename circulant_helper<ArgType>::MatrixType>
 Type alias for circulant operation.
 

Functions

template<class ArgType>
internal::CirculantOp< ArgType > lucid::circulant (const Eigen::MatrixBase< ArgType > &arg)
 Create a circulant matrix from a vector arg.
 
template<class ArgType>
internal::ShiftOp< ArgType > lucid::shift (const Eigen::MatrixBase< ArgType > &x, const Eigen::Index shift_rows, const Eigen::Index shift_cols)
 Shift the rows and columns of a matrix or vector x by shift_rows and shift_cols respectively.
 
template<class ArgType>
internal::ShiftOp< ArgType > lucid::fftshift (const Eigen::MatrixBase< ArgType > &x)
 Rearrange a Fourier transform x by shifting the zero-frequency component to the center of the array.
 
template<class ArgType>
internal::ShiftOp< ArgType > lucid::ifftshift (const Eigen::MatrixBase< ArgType > &x)
 Rearranges a zero-frequency-shifted Fourier transform x back to the original transform output.
 
template<class ArgType>
internal::PadtOp< ArgType > lucid::pad (const Eigen::MatrixBase< ArgType > &x, const Eigen::Index pad_top, const Eigen::Index pad_bottom, const Eigen::Index pad_left, const Eigen::Index pad_right, const typename ArgType::Scalar &value)
 Pad a matrix or vector x with pad_top, pad_bottom, pad_left, and pad_right rows and columns respectively.
 
template<class ArgType>
internal::PadtOp< ArgType > lucid::pad (const Eigen::MatrixBase< ArgType > &x, const Eigen::Index pad_size, const typename ArgType::Scalar &value)
 Pad a matrix or vector x with pad_size rows and columns in all directions, effectively adding 2 * pad_size rows and columns to the input.
 
template<class ArgType>
internal::PadtOp< ArgType > lucid::pad (const Eigen::MatrixBase< ArgType > &x, const Eigen::Index pad_rows, const Eigen::Index pad_cols, const typename ArgType::Scalar &value)
 Pad a matrix or vector x with pad_rows rows and pad_cols columns in both directions, effectively adding 2 * pad_rows rows and 2 * pad_cols columns to the input.
 

Detailed Description

Author
Room 6.030
Licence:
BSD 3-Clause License

Eigen extensions and expressions.