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
namespace
oILAB
{
22
class
LLL
{
23
24
/**********************************************************************/
25
void
lll_gram_schmidt_int
(
const
int
&k);
26
27
/**********************************************************************/
28
void
lll_size_reduction_int
(
const
int
&k,
const
int
&l);
29
30
/**********************************************************************/
31
void
lll_interchange_int
(
const
int
&k,
const
int
&k_max);
32
33
Eigen::MatrixXi
B
;
34
Eigen::VectorXi
d
;
35
Eigen::MatrixXi
H
;
36
Eigen::MatrixXi
Lambda
;
37
38
public
:
39
template
<
int
m,
int
n>
LLL
(
const
Eigen::Matrix<int, m, n> &B_in);
40
};
41
42
}
// namespace oILAB
43
#endif
oILAB::LLL
Definition
LLL.h:22
oILAB::LLL::lll_interchange_int
void lll_interchange_int(const int &k, const int &k_max)
Definition
LLL.cpp:52
oILAB::LLL::lll_size_reduction_int
void lll_size_reduction_int(const int &k, const int &l)
Definition
LLL.cpp:36
oILAB::LLL::d
Eigen::VectorXi d
Definition
LLL.h:34
oILAB::LLL::B
Eigen::MatrixXi B
Definition
LLL.h:33
oILAB::LLL::Lambda
Eigen::MatrixXi Lambda
Definition
LLL.h:36
oILAB::LLL::H
Eigen::MatrixXi H
Definition
LLL.h:35
oILAB::LLL::lll_gram_schmidt_int
void lll_gram_schmidt_int(const int &k)
Definition
LLL.cpp:20
oILAB
Definition
BiCrystal.cpp:13
include
Math
LLL.h
Generated on Sat Mar 28 2026 00:15:04 for oILAB by
1.9.8