1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/LLL.R
\name{LLL}
\alias{LLL}
\alias{LLL.}
\title{LLL algorithm}
\usage{
LLL(mat, control = list(), code = FALSE)
LLL.(mat, control = list(), code = FALSE)
}
\arguments{
\item{mat}{a matrix (integer entries)}
\item{control}{additional arguments to pass to LLL; see examples}
\item{code}{return only the M2 code? (default: \code{FALSE})}
}
\value{
an object of class \code{m2_matrix}
}
\description{
Macaulay2's implementation of the LLL algorithm. This implementation is still
under development and is currently untested.
}
\examples{
\dontrun{ requires Macaulay2
##### basic usage
########################################
# example 1
M <- matrix(c(
1, 1, 1, 1,
2, 0, 3, 4,
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1
), nrow = 6, byrow = TRUE)
LLL(M)
# example 2 (wikipedia)
M <- matrix(c(
1, -1, 3,
1, 0, 5,
1, 2, 6
), nrow = 3, byrow = TRUE)
LLL(M)
##### control
########################################
M <- matrix(c(
1, 1, 1, 1,
2, 0, 3, 4,
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1
), nrow = 6, byrow = TRUE)
LLL(M, code = TRUE)
LLL(M, control = list(Strategy = "NTL"), code = TRUE)
LLL(M, control = list(Strategy = c("BKZ", "RealFP")), code = TRUE)
LLL(M)
LLL(M, control = list(Strategy = "NTL"))
LLL(M, control = list(Strategy = c("BKZ", "RealFP")))
LLL(M, control = list(Strategy = c("BKZ", "RealQP")))
# method timings with microbenchmark. note they are roughly the same
# for this example matrix
microbenchmark::microbenchmark(
"NTL" = LLL(M, control = list(Strategy = "NTL")),
"BKZ_RealFP" = LLL(M, control = list(Strategy = c("BKZ", "RealFP"))),
"BKZ_RealQP" = LLL(M, control = list(Strategy = c("BKZ", "RealQP"))),
"BKZ_RealRR" = LLL(M, control = list(Strategy = c("BKZ", "RealRR")))
)
##### additional examples
########################################
LLL.(M)
LLL(M, code = TRUE)
}
}
\seealso{
\code{\link[=m2_matrix]{m2_matrix()}}
}
|