oILAB
Loading...
Searching...
No Matches
LLL.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_LLL_h_
8#define gbLAB_LLL_h_
9
10#include <cmath>
11#include <algorithm> // std::max
12#include <utility> // std::swap
13#include "Eigen/Dense"
14#include <iostream>
15// http://www.arageli.org/download
16// https://www.mathworks.com/matlabcentral/fileexchange/49457-lattice-reduction-mimo?focused=3859922&tab=function
17
18
19namespace gbLAB
20{
24 class LLL
25 {
26
27
28
29 /**********************************************************************/
30 void lll_gram_schmidt_int(const int& k);
31
32 /**********************************************************************/
33 void lll_size_reduction_int(const int& k,
34 const int& l);
35
36 /**********************************************************************/
37 void lll_interchange_int(const int& k,
38 const int& k_max);
39
40 Eigen::MatrixXi B;
41 Eigen::VectorXi d;
42 Eigen::MatrixXi H;
43 Eigen::MatrixXi Lambda;
44
45
46 public:
47
48 template<int m,int n>
49 LLL(const Eigen::Matrix<int,m,n>& B_in) ;
50 };
51
52} // end namespace
53#endif
void lll_gram_schmidt_int(const int &k)
Definition LLL.cpp:21
void lll_size_reduction_int(const int &k, const int &l)
Definition LLL.cpp:43
Eigen::MatrixXi Lambda
Definition LLL.h:43
Eigen::MatrixXi B
Definition LLL.h:40
void lll_interchange_int(const int &k, const int &k_max)
Definition LLL.cpp:59
Eigen::MatrixXi H
Definition LLL.h:42
Eigen::VectorXi d
Definition LLL.h:41