Certifying shortest vector in a lattice

In summary, the conversation discusses the problem of finding the shortest vector in an n dimensional integer lattice and the possibility of certifying a vector as the shortest one in polynomial time. It also mentions Gauss' basis reduction algorithm and its ability to find the shortest vector in 2 dimensions, but its limitations in higher dimensions. The conversation also mentions an algorithm that can solve the problem exactly in 2^O(n) time. However, there is no clear solution to the problem and more research is needed.
  • #1
Dragonfall
1,030
4
Given an n dimensional integer lattice, is it possible to certify a vector as being a shortest one in time polynomial in n?

If we then fix the dimension n, is it possible to certify the shortest-ness in time strictly less than O(k^n) where k is the length of the largest basics vector?
 
Mathematics news on Phys.org
  • #2
Typo: basics = basis
 
  • #3
The first half seems to be a difficult problem. In a general case of a non-integer lattice, all that is known is that the problem of finding the shortest vector is NP-hard, so, it is not currently known whether there's a method to verify a solution in polynomial time. And, unless you place a limit the length of basis vectors, there's no reason to expect that "integerness" would let you reduce complexity.
 
  • #4
What about the second part? In 2 dimensions, Gauss' basis reduction runs in linear time (I think), and finds the shortest vector. In higher dimensions I've yet to see something similar.
 
  • #5
I would be surprised if the algorithm time relied on the length of the longest basis vector. Otherwise you could just scale your lattice by a factor of a thousand, run your algorithm super fast, then multiply the resulting vector by 1000. Unless I'm missing something
 
  • #6
Since we're talking about integer lattices, you can't scale arbitrarily. Even if we're talking about rational lattices, scaling does not change the amount of bits necessary to represent a vector. Unless I misunderstood you.
 
  • #7
Dragonfall said:
What about the second part? In 2 dimensions, Gauss' basis reduction runs in linear time (I think), and finds the shortest vector. In higher dimensions I've yet to see something similar.

There is an algorithm to solve the whole problem exactly in 2^O(n) time: M. Ajtai, R. Kumar, and D. Sivakumar. A sieve algorithm for the shortest lattice vector problem, 2001. 2^O(n) is strictly less than O(k^n), if I'm not mistaken.

Edit: less for large enough k. The original paper by Ajtai & co. does not quantify the multiplier in O(n).

I don't understand any of the proofs or algorithms nearly well enough to adopt them to the specific task at hand... I wonder what it would mean to solve the problem rigorously as originally posited in the thread? Probably at least a publishable paper; not enough for a PhD thesis...
 
Last edited:
  • #8
Dragonfall said:
Since we're talking about integer lattices, you can't scale arbitrarily. Even if we're talking about rational lattices, scaling does not change the amount of bits necessary to represent a vector. Unless I misunderstood you.

Somehow I missed the integer part
 
  • #9

1. What is a lattice and how does it relate to shortest vector certification?

A lattice is a mathematical structure consisting of a set of points in n-dimensional space that are regularly spaced and arranged in a repeating pattern. The shortest vector in a lattice is the shortest distance between any two points in the structure. Certifying the shortest vector involves proving that a given vector is indeed the shortest one in the lattice.

2. Why is certifying shortest vector in a lattice important?

Certifying shortest vector in a lattice is important in various fields such as cryptography, coding theory, and optimization. It allows for efficient and secure solutions to problems involving lattices, such as finding the shortest distance between two points in a lattice, or finding the closest lattice point to a given point. It also has applications in error-correcting codes and in creating hard mathematical problems for encryption.

3. What are the methods used for certifying shortest vector in a lattice?

There are several methods used for certifying shortest vector in a lattice, including LLL (Lenstra-Lenstra-Lovász) algorithm, BKZ (Block Korkine-Zolotarev) algorithm, and enumeration methods. These methods use mathematical techniques to find the shortest vector or prove its existence in a lattice.

4. What are the challenges in certifying shortest vector in a lattice?

One of the main challenges in certifying shortest vector in a lattice is the high computational complexity involved. The problem is known to be NP-hard, meaning that the time required to solve it increases exponentially with the size of the lattice. Another challenge is finding efficient and reliable algorithms that can handle large and complex lattice structures.

5. Can certifying shortest vector in a lattice be used for real-world applications?

Yes, certifying shortest vector in a lattice has various real-world applications, such as in cryptography for creating secure encryption schemes, in coding theory for efficient error correction, and in optimization for finding the best solutions to complex problems. It is also used in the design of communication systems, network design, and in the analysis of algorithms.

Similar threads

  • Linear and Abstract Algebra
Replies
13
Views
1K
  • General Math
Replies
4
Views
1K
Replies
3
Views
253
Replies
3
Views
3K
  • Advanced Physics Homework Help
Replies
0
Views
520
  • General Math
Replies
11
Views
1K
Replies
6
Views
1K
Replies
4
Views
400
  • Precalculus Mathematics Homework Help
Replies
11
Views
3K
Replies
2
Views
2K
Back
Top