oILAB
Loading...
Searching...
No Matches
RLLL.h
Go to the documentation of this file.
1/* This file is part of gbLAB.
2 *
3 * gbLAB is distributed without any warranty under the MIT License.
4 */
5
6
7#ifndef gbLAB_RLLL_h_
8#define gbLAB_RLLL_h_
9
10#include <iostream>
11#include <iomanip>
12#include <cfloat> // FLT_EPSILON
13#include "Eigen/Dense"
14
15namespace oILAB {
16
17class RLLL { /* Ying Hung Gan, Cong Ling, Complex Lattice Reduction Algorithm
18 * for Low-Complexity Full-Diversity MIMO Detection IEEE
19 * TRANSACTIONS ON SIGNAL PROCESSING, VOL. 57, NO. 7, JULY 2009
20 */
21
22 typedef Eigen::MatrixXd MatrixType;
23 typedef Eigen::VectorXd VectorType;
24
26 Eigen::Matrix<long long int, Eigen::Dynamic, Eigen::Dynamic> U;
27
28 /**********************************************************************/
29 void update(VectorType &H, MatrixType &M, const int &k);
30 /**********************************************************************/
31 void size_reduce(MatrixType &M, const int &k, const int &j);
32
33public:
34 /**********************************************************************/
35 RLLL(const MatrixType &B0, const double &delta);
36
37 /**********************************************************************/
38 const MatrixType &reducedBasis() const;
39 /**********************************************************************/
40 const Eigen::Matrix<long long int, Eigen::Dynamic, Eigen::Dynamic> &
41 unimodularMatrix() const;
42
43 };
44
45 } // namespace oILAB
46#endif
47
48
const MatrixType & reducedBasis() const
Definition RLLL.cpp:185
Eigen::VectorXd VectorType
Definition RLLL.h:23
const Eigen::Matrix< long long int, Eigen::Dynamic, Eigen::Dynamic > & unimodularMatrix() const
Definition RLLL.cpp:191
Eigen::MatrixXd MatrixType
Definition RLLL.h:22
MatrixType B
Definition RLLL.h:25
Eigen::Matrix< long long int, Eigen::Dynamic, Eigen::Dynamic > U
Definition RLLL.h:26
void update(VectorType &H, MatrixType &M, const int &k)
Definition RLLL.cpp:16
void size_reduce(MatrixType &M, const int &k, const int &j)
Definition RLLL.cpp:45