Tải bản đầy đủ (.pdf) (65 trang)

Thuật toán lll và ứng dụng trong việc phân tích đa thức

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (783.72 KB, 65 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM TP. HỒ CHÍ MINH

Nguyễn Ngọc Trân

THUẬT TỐN LLL VÀ ỨNG DỤNG TRONG VIỆC
PHÂN TÍCH ĐA THỨC

LUẬN VĂN THẠC SĨ TỐN HỌC

Thành phố Hồ Chí Minh – 2017


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM TP. HỒ CHÍ MINH

Nguyễn Ngọc Trân
THUẬT TỐN LLL VÀ ỨNG DỤNG TRONG VIỆC
PHÂN TÍCH ĐA THỨC
Chuyên ngành: Đại số và lí thuyết số
Mã số: 60 46 01 04
LUẬN VĂN THẠC SĨ TOÁN HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS. PHẠM THỊ THU THỦY

Thành phố Hồ Chí Minh – 2017


LỜI CAM ĐOAN
Tôi xin cam đoan luận văn với đề tài "Thuật tốn LLL và ứng dụng trong việc phân
tích đa thức" là do tôi thực hiện và được sự hướng dẫn khoa học của TS. Phạm Thị Thu


Thủy. Các nội dung nghiên cứu và kết quả trong đề tài này là trung thực và chưa công
bố dưới bất kỳ hình thức nào trước đây.

TP. Hồ Chí Minh, ngày 08 tháng 03 năm 2017
Học viên thực hiện

Nguyễn Ngọc Trân


LỜI CẢM ƠN
Trong thời gian thực hiện luận văn, tôi đã nhận được rất nhiều sự giúp đỡ, động viên
từ q thầy cơ, gia đình và bạn bè. Tơi xin chân thành cảm ơn TS. Phạm Thị Thu
Thủy đã tận tình giảng dạy, hướng dẫn và giúp đỡ tơi hồn thành luận văn.
Tôi cũng xin gửi lời cảm ơn sâu sắc đến TS. Trần Nguyên Thanh Hà đã dành
nhiều thời gian quý báu để đọc và đóng góp ý kiến cho luận văn, giúp tôi hiểu sâu hơn
về đề tài nghiên cứu.
Tôi xin trân trọng cảm ơn Ban lãnh đạo Khoa Tốn - Tin học, Phịng Sau Đại học đã
tạo mọi điều kiện thuận lợi cho tôi thực hiện tốt luận văn.
Tôi xin cảm ơn quý thầy cô trong Hội đồng chấm luận văn đã đọc và góp ý giúp cho
luận văn được hoàn chỉnh.
Xin chân thành cảm ơn quý thầy cơ Khoa Tốn - Tin học trường Đại học Sư phạm
thành phố Hồ Chí Minh đã truyền đạt cho tôi những kiến thức quý báu trong gần hai
năm vừa qua, cho tôi một nền tảng vững chắc để thực hiện luận văn.
Cuối cùng, tôi chân thành cảm ơn gia đình đã ln bên cạnh động viên, ủng hộ tơi
trong quá trình học tập cũng như quá trình thực hiện luận văn này.
Do thời gian nghiên cứu có hạn nên luận văn vẫn cịn nhiều hạn chế và khó tránh khỏi
một vài sai sót, kính mong nhận được sự đóng góp ý kiến của q thầy cơ và các bạn để
luận văn được hoàn thiện hơn.
Xin chân thành cảm ơn.
Học viên thực hiện


Nguyễn Ngọc Trân


MỤC LỤC

LỜI CAM ĐOAN
LỜI CẢM ƠN
MỤC LỤC
CÁC KÍ HIỆU
MỞ ĐẦU

1

1 DÀN VÀ MỘT SỐ TÍNH CHẤT CỦA DÀN

3

1.1

1.2

1.3

Giới thiệu về dàn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.1.1


Dàn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.1.2

Dàn con . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

Trực giao hóa Gram- Schmidt . . . . . . . . . . . . . . . . . . . . . . . . .

8

1.2.1

Định nghĩa và định lý . . . . . . . . . . . . . . . . . . . . . . . . .

8

1.2.2

Định thức Gram . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

Cực tiểu liên tiếp (Successive minima) . . . . . . . . . . . . . . . . . . . . 10
1.3.1

Một số định nghĩa . . . . . . . . . . . . . . . . . . . . . . . . . . . 10


1.3.2

Một số định lý . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2 THUẬT TỐN LLL
2.1

18

Thuật tốn LLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.1

Khái niệm cơ sở dàn rút gọn . . . . . . . . . . . . . . . . . . . . . . 19

2.1.2

Thuật toán LLL nguyên bản . . . . . . . . . . . . . . . . . . . . . . 19


2.2

2.1.3

Ví dụ

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.1.4


Một số tính chất của cơ sở dàn rút gọn . . . . . . . . . . . . . . . . 23

Phân tích thuật tốn LLL . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2.1

Phân tích thời gian chạy của thuật toán LLL . . . . . . . . . . . . . 26

2.2.2

Ứng dụng của thuật toán LLL . . . . . . . . . . . . . . . . . . . . . 34

3 PHÂN TÍCH ĐA THỨC THÀNH NHÂN TỬ

37

3.1

Phân tích đa thức thành nhân tử . . . . . . . . . . . . . . . . . . . . . . . 37

3.2

Mô tả thuật toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2.1

Thuật toán 1. Lin-Comb . . . . . . . . . . . . . . . . . . . . . . . . 45

3.2.2

Thuật toán 2. Lift-Factors . . . . . . . . . . . . . . . . . . . . . . . 46


3.2.3

Thuật toán 3. LLL-Subalg1 . . . . . . . . . . . . . . . . . . . . . . 47

3.2.4

Thuật toán 4. LLL-Subalg2 . . . . . . . . . . . . . . . . . . . . . . 48

3.2.5

Thuật toán 5. Factor-LLL . . . . . . . . . . . . . . . . . . . . . . . 50

KẾT LUẬN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
TÀI LIỆU THAM KHẢO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57


CÁC KÝ HIỆU
Z

Tập hợp các số nguyên

Q

Tập hợp các số hữu tỉ

R

Tập hợp các số thực

Rn


Không gian thực n chiều

Z[x]

Vành các đa thức hệ số nguyên

Zpk [x]

Vành các đa thức hệ số nguyên modulo pk

AT

Ma trận chuyển vị của ma trận A

gcd(a, b)

Ước chung lớn nhất của a và b

x

Số ngun lớn nhất khơng vượt q x (cịn được kí hiệu là [x])

x

Số nguyên nhỏ nhất không nhỏ hơn x

x

Số nguyên gần x nhất


x

Chuẩn Euclide của véctơ x

|x|

Giá trị tuyệt đối của số x

lc(f )

Hệ số bậc cao nhất của đa thức f

m
n

n (n ≤ m)
Tổ hợp chập n của m phần tử Cm

Kết thúc chứng minh


1

MỞ ĐẦU
Dàn (lattice) là một tập hợp các điểm trong khơng gian n-chiều có cấu trúc cố định.
Trong lịch sử, dàn đã được nghiên cứu từ cuối thế kỷ 18 bởi các nhà tốn học như
Lagrange, Gauss và sau đó là Minkowski. Gần đây, dàn đã trở thành một trong những
chủ đề hấp dẫn trong hoạt động nghiên cứu khoa học vì người ta đã tìm ra hàng loạt các
ứng dụng của nó trong khoa học máy tính cũng như trong nhiều lĩnh vực khác của toán

học, đặc biệt là từ khi xuất hiện thuật toán LLL. Thuật toán này được đưa ra bởi A.
K. Lenstra, H. W. Lenstra và L. Lovasz năm 1982 và tên của thuật toán được lấy dựa
theo tên ba nhà toán học này.
Thuật toán LLL là một thuật toán rút gọn cơ sở của dàn, giúp giải quyết các vấn đề
trong lý thuyết dàn như vấn đề tìm véctơ ngắn nhất (shortest vector problem (SVP)),
tìm vector gần nhất (closest vector problem (CVP)), tìm một cơ sở rút gọn của dàn, ....
Ngồi ra thuật tốn này cịn có rất nhiều ứng dụng trong tốn học như là được sử dụng
trong việc phân tích đa thức với hệ số nguyên hay số hữu tỉ thành nhân tử, xấp xỉ nghiệm
của phương trình Diophantine .... Bên cạnh đó, nó cịn là một cơng cụ hữu hiệu của giải
mã, dùng để phá vỡ hệ thống mật mã của Merkle- Hellman và hàng chục hệ thống mật
mã khóa cơng khai khác. Điều đáng chú ý là thuật toán này chạy trong thời gian đa thức,
do vậy nó có tính ứng dụng rộng rãi và được đưa vào thực thi trong rất nhiều phần mềm
như là GAP, Magma, Maple, Mathematica, Number Theory Library (NTL), PARI/GP,
Sage, ....
Luận văn trình bày lý thuyết về dàn và các tính chất, giới thiệu thuật tốn LLL
nguyên bản của ba nhà toán học A. K. Lenstra, H. W. Lenstra và L. Lovasz, chứng tỏ
thuật toán này chạy trong thời gian đa thức cũng như các ứng dụng của nó và áp dụng


2

vào việc phân tích đa thức hệ số nguyên thành các đa thức bất khả quy.
Nội dung luận văn được chia thành ba chương:
• Chương 1. Dàn và một số tính chất của dàn.
Chương này trình bày định nghĩa về dàn, một số tính chất và đại lượng đặc trưng
cơ bản của dàn.
• Chương 2. Thuật tốn LLL.
Đây là một trong hai chương chính của luận văn, chương này trình bày hai nội dung
– Một là đưa ra thuật toán LLL ngun bản, áp dụng thuật tốn này tìm một
cơ sở LLL rút gọn của một dàn cho trước.

– Hai là, phân tích thời gian chạy và nêu một số ứng dụng của thuật tốn này.
• Chương 3. Phân tích đa thức thành nhân tử.
Chương này trình bày ứng dụng của thuật tốn LLL trong việc phân tích đa thức
hệ số nguyên thành tích các đa thức bất khả quy và áp dụng phân tích một số đa
thức thành nhân tử.


3

Chương 1
DÀN VÀ MỘT SỐ TÍNH CHẤT
CỦA DÀN
1.1
1.1.1

Giới thiệu về dàn
Dàn

Định nghĩa 1.1.1.1 Cho n véctơ độc lập tuyến tính x1 , x2 , . . . , xn ∈ Rm . Dàn được sinh
bởi chúng được định nghĩa như sau

L (x1 , x2 , . . . , xn ) =

n

ai xi |ai ∈ Z .
i=1

Khi đó ta gọi x1 , x2 , . . . , xn là một cơ sở của dàn. Một cách tương đương, nếu ta gọi
X là ma trận cấp n × m với các dòng là x1 , x2 , . . . , xn thì dàn được sinh bởi X là


L(X) = L (x1 , x2 , . . . , xn ) = {aX|a ∈ Zn }.
Khi đó n là hạng, m là số chiều của L(X). Nếu n = m thì dàn được gọi là có hạng
đầy đủ.
Để thuận tiện từ đây về sau ta gọi ma trận X như vậy là cơ sở của dàn sinh bởi nó.
Ví dụ 1.1.1.1 Dàn sinh bởi cơ sở (1, 0) và (0, 1) trong R2 là Z2 (dàn tất cả các điểm
nguyên). Cơ sở này khơng duy nhất do ta có (1, 1) và (2, 1) cũng là một cơ sở của Z2 .
Tuy nhiên, (1, 1) và (2, 0) không là cơ sở của Z2 mà là cơ sở của dàn các điểm nguyên mà
có tổng các tọa độ là số chẵn. Hai dàn trên đều là dàn hạng đầy đủ. Dàn sinh bởi véctơ
(2, 1) là dàn có hạng khơng đầy đủ do có hạng là 1 trong khơng gian 2 chiều.


4
Định nghĩa 1.1.1.2 Bao tuyến tính của dàn L(X), kí hiệu span(L(X)), là không gian
véctơ được sinh ra bởi các véctơ của nó
span(L(X)) =span(X) = {bX|b ∈ Rn }.
Định nghĩa 1.1.1.3 Gọi X là một cơ sở của dàn. Hình hộp cơ sở tương ứng với X định
nghĩa như sau

P(X) = {aX|a = (a1 , . . . , an ) ∈ Rn , ∀1 ≤ i ≤ n : 0 ≤ ai < 1}.
Bổ đề 1.1.1.1 Cho Λ là một dàn hạng n và lấy x1 , x2 , . . . , xn ∈ Λ là n véctơ độc lập tuyến
tính. Khi đó x1 , x2 , . . . , xn tạo thành một cơ sở của Λ khi và chỉ khi P (x1 , x2 , . . . , xn )∩Λ =
{0}.
Chứng minh. Giả sử x1 , x2 , . . . , xn tạo thành một cơ sở của Λ.
Theo định nghĩa ta có Λ = {

ai xi |ai ∈ Z}. Mặt khác

P (x1 , x2 , . . . , xn ) =


ai xi |ai ∈ [0, 1) .

Suy ra P (x1 , x2 , . . . , xn ) ∩ Λ = {0}.
Ngược lại, giả sử P (x1 , x2 , . . . , xn )∩Λ = {0}. Do Λ là một dàn hạng n và x1 , x2 , . . . , xn
độc lập tuyến tính nên với x ∈ Λ ta có thể viết x =
một dàn là đóng dưới phép cộng nên vectơ x =

bi xi với bi ∈ R. Theo định nghĩa,

(bi − bi ) xi cũng thuộc vào Λ, trong

đó bi là số nguyên lớn nhất không vượt quá bi . Theo giả thiết ta có x = 0. Điều này suy
ra rằng mọi bi là số nguyên và do đó x là một tổ hợp nguyên của các vector x1 , x2 , . . . , xn .
Vậy nên x1 , x2 , . . . , xn tạo thành một cơ sở của Λ.
Định nghĩa 1.1.1.4 Cho X1 và X2 là hai cơ sở của dàn. Ta nói cơ cở X1 và X2 là tương
đương nếu hai cơ sở này sinh ra cùng một dàn. Ký hiệu là L(X1 ) = L(X2 ).
Định nghĩa 1.1.1.5 Một ma trận U hệ số nguyên cấp n được gọi là unimodular nếu
det U = ±1.
Bổ đề 1.1.1.2 Nếu U là ma trận unimodular thì U −1 cũng là ma trận unimodular.


5

Bổ đề 1.1.1.3 Hai cơ sở X1 , X2 (tương ứng là các ma trận hệ số thực cấp m × n) là
tương đương khi và chỉ khi X2 = BX1 , với B là một ma trận unimodular.
Chứng minh. Đầu tiên giả sử L(X1 ) = L(X2 ). Khi đó mỗi m dịng xi của X2 thì
xi ∈ L(X1 ). Suy ra tồn tại bi ∈ Rm sao cho xi = bi · X1 , tức là tồn tại một ma trận B hệ
số nguyên cấp m sao cho X2 = BX1 với B = (b1 , ..., bm ). Tương tự, tồn tại một ma trận
C hệ số nguyên cấp m sao cho X1 = CX2 . Khi đó ta có X2 = BX1 = BCX2 và ta có
X2 X2T = (BC)X2 X2T (BC)T .

Lấy định thức 2 vế ta được det X2 X2T

= (det(BC))2 det X2 X2T

và do đó det(B) ·

det(C) = ±1. Vì B và C đều là ma trận với các phần tử nguyên nên det B = ±1. Vậy B
là ma trận unimodular.
Ngược lại, giả sử X2 = BX1 với B là ma trận unimodular. Khi đó mỗi dịng của
X2 được chứa trong L(X1 ) và ta có L(X2 ) ⊆ L(X1 ). Hơn nữa X1 = B −1 X2 và do
B −1 cũng là ma trận unimodular nên tương tự ta cũng có được L(X1 ) ⊆ L(X2 ). Vậy

L(X1 ) = L(X2 ).
Từ đó suy ra X là một cơ sở của Zn khi và chỉ khi X là ma trận unimodular.
Dưới đây là một cách khác để định nghĩa hai cơ sở tương đương.
Bổ đề 1.1.1.4 Hai cơ sở là tương đương khi và chỉ khi một cơ sở được suy ra từ cơ sở
kia bằng phép biến đổi theo dòng sau đây
1. xi ← xi + kxj , với k ∈ Z (thay dòng i bởi dòng i cộng với k lần dòng j).
2. xi ↔ xj (đổi chỗ hai dòng i và j cho nhau).
3. xi ← −xi (thay dòng i bởi dòng i nhân với −1).
Định nghĩa 1.1.1.6 Cho Λ = L(X) là một dàn hạng n. Ta định nghĩa định thức của Λ,
kí hiệu là det(Λ), là thể tích n-chiều của P(X).
Nghĩa là
det(Λ) :=

det (XX T ).


6


Nếu Λ là một dàn hạng đầy đủ, tức là X là một ma trận vng, thì det(Λ) = | det(X)|.
Nhận xét 1.1.1.1 Ta có định thức của dàn được định nghĩa tốt, do không phụ thuộc vào
việc lựa chọn cơ sở X. Thật vậy, nếu X1 và X2 là 2 cơ sở của Λ khi đó theo Bổ đề 1.1.1.3
trên thì X2 = BX1 với B là ma trận unimodular. Do đó
det X2 X2T =

det BX1 X1T B =

det X1 X1T .

Nếu n = m thì
(det(Λ))2 = det(XX T ) = det(X) det(X T ) = (det(X))2 .
hay det(Λ) = | det(X)|.

1.1.2

Dàn con

Định nghĩa 1.1.2.1 Cho Λ là một dàn trong Rn với cơ sở là x1 , x2 , . . . , xn . Giả sử
y1 , y2 , . . . , yn ∈ Λ là các véctơ độc lập tuyến tính và gọi M ⊂ Rn là dàn sinh bởi các véctơ
này. Khi đó M được gọi là dàn con của Λ. Kí hiệu là M ⊆ Λ.
Nhận xét 1.1.2.1 Với mỗi i = 1, 2, . . . , n thì véctơ yi của dàn con M cũng thuộc vào
dàn Λ nên

n

yi =

cij xj ,
j=1


với cij ∈ Z với mọi i, j. Khi đó ta có đẳng thức ma trận sau
Y = CX,
trong đó C = (cij ) là ma trận vuông cấp n, hệ số nguyên, không suy biến và X (tương
ứng Y ) là ma trận vng cấp n có dịng i là tọa độ véctơ xi (tương ứng yi ). Khi đó lấy
định thức hai vế đẳng thức ma trận trên ta được
det(Y ) = det(C) det(X).
Định nghĩa 1.1.2.2 Chỉ số ρ của dàn con M trong dàn Λ được định nghĩa là
ρ = | det(C)| =

| det(Y )|
det(M )
=
.
| det(X)|
det(Λ)


7

Nhận xét 1.1.2.2 Chỉ số ρ là một số nguyên.
Định nghĩa 1.1.2.3 Cho C = (cij ) là ma trận vuông cấp n với n ≥ 2. Nếu ta bỏ đi dịng i
và cột j của C thì ta được ma trận vng cấp n−1, kí hiệu là Mij . Khi đó (−1)i+j det(Mij )
được gọi là phần bù đại số của phần tử cij . Đặt (C ∗ )ij = (−1)i+j det(Mji ) thì ma trận
C ∗ được gọi là ma trận phụ hợp của ma trận C.
Mệnh đề 1.1.2.1 Ma trận nghịch đảo của ma trận không suy biến C có thể được tính
bằng cơng thức
C −1 =

1

C ∗.
det(C)

Bổ đề 1.1.2.1 Nếu Λ là dàn và M là dàn con chỉ số ρ thì
ρΛ ⊆ M ⊆ Λ.
Chứng minh. Như nhận xét 1.1.2.1 ta có đẳng thức Y = CX nên
X = C −1 Y =

1
C ∗ Y,
det(C)

suy ra
ρX = | det(C)|X = ±C ∗ Y.
Vì C là ma trận hệ số nguyên nên ma trận C ∗ cũng là ma trận hệ số nguyên, do đó ma
trận ρX là tổ hợp tuyến tính ngun các dịng của ma trận Y . Vậy ρΛ là dàn con của M .
Ta có điều phải chứng minh.
Định lý 1.1.2.1 Cho Λ là một dàn trong Rn và M là dàn con của Λ. Nếu x1 , x2 , . . . , xn
là cơ sở của Λ thì tồn tại y1 , y2 , . . . , yn là cơ sở của M sao cho Y = CX, trong đó C là
ma trận tam giác dưới, vng cấp n và các phần tử trên đường chéo khác không. Nghĩa
là, ta có


y1 = c11 x1




y2 = c21 x1 + c22 x2
..



 .
yn = cn1 x1 + cn2 x2 + . . . + cnn xn
trong đó cij ∈ Z, cii = 0 với mọi i, j. Ngược lại, nếu y1 , y2 , . . . , yn là cơ sở bất kỳ của M
thì khi đó tồn tại y1 , y2 , . . . , yn là cơ sở của Λ thỏa điều kiện tương tự.


8

Chứng minh. Xem chi tiết chứng minh trong [2, trang 10].

1.2

Trực giao hóa Gram- Schmidt

1.2.1

Định nghĩa và định lý

Định nghĩa 1.2.1.1 Cho x1 , x2 , . . . , xn là một cơ sở của Rn . Cơ sở trực giao hóa GramSchmidt (GSO) của x1 , x2 , . . . , xn là cơ sở x∗1 , x∗2 , . . . , x∗n sau đây:
1. x∗1 = x1 .
2.

x∗i

i−1

= xi −
j=1


µij x∗j

(2 ≤ i ≤ n), với µij =

xi , x∗j
x∗j , x∗j

(1 ≤ j < i ≤ n).
i

Chú ý 1.2.1.1 - Nếu ta đặt µii = 1 với 1 ≤ i ≤ n thì ta có xi =
j=1

µij x∗j . Ta viết

xi = (xi1 , . . . , xin ) và tạo thành ma trận X = (xij ) với dòng i là véctơ xi và tương tự
X ∗ = (x∗ij ).
-Nếu ta đặt µij = 0, với 1 ≤ i < j ≤ n thì định nghĩa trên có thể viết lại như sau:
X = M X ∗ , với M = (µij ).
Do ma trận M là ma trận tam giác dưới với µii = 1, với mọi i nên ma trận M khả nghịch.
Do đó ta cũng có X ∗ = M −1 X.
n

Các độ dài dưới đây là chuẩn Euclide hay chuẩn

2

định nghĩa bởi u


2

=
i=1

u2i ,

với u = (u1 , u2 , . . . , un ). Ta thường ký hiệu đơn giản là u . Đôi khi ta cũng xét các
n

chuẩn khác như chuẩn

1

định nghĩa bởi u

1

|ui | hoặc chuẩn

=



định nghĩa bởi

i=1

u




=max{|ui |, 1 ≤ i ≤ n}.

Định lý 1.2.1.1 . Cho x1 , x2 , . . . , xn là một cơ sở của Rn và x∗1 , x∗2 , . . . , x∗n là cơ sở trực
giao hóa Gram-Schmidt. Gọi X (tương ứng X ∗ ) là ma trận vng cấp n, trong đó dòng i
là véctơ xi (tương ứng là véctơ x∗i ) với 1 ≤ i ≤ n. Khi đó ta có
(a) x∗i .x∗j = 0, với 1 ≤ i < j ≤ n.


9
(b) span(x∗1 , . . . , x∗k )=span(x1 , . . . , xk ), với 1 ≤ k ≤ n.
(c) Véctơ x∗k là hình chiếu của xk lên phần bù trực giao của span (x1 , . . . , xk−1 ), với
1 ≤ k ≤ n.
(d) x∗k ≤ xk , với 1 ≤ k ≤ n.
(e) det(X ∗ ) = det(X).
Chứng minh. Xem chi tiết chứng minh trong [2, trang 43].
Hệ quả 1.2.1.1 (Bất đẳng thức Hadamard). Cho X = (xij ) là ma trận vuông cấp
n trên R, và cho B = maxi,j |xij | là giá trị lớn nhất của giá trị tuyệt đối của các phần tử
trong X. Khi đó
| det(X)| ≤ nn/2 B n .
Chứng minh. Xem chi tiết chứng minh trong [2, trang 44].
Nhận xét 1.2.1.1 Từ quá trình chứng minh bất đẳng thức Hadamard, ta có một kết quả
yếu hơn như sau

n

| det(X)| ≤

xi ,


(1.1)

i=1

với xi = (xi1 , xi2 , . . . , xin ).

1.2.2

Định thức Gram

Định nghĩa 1.2.2.1 Cho x1 , . . . , xn là một cơ sở của Rn và X là ma trận vuông cấp n
có dịng thứ i là tọa độ của véctơ xi , 1 ≤ i ≤ n. Với 1 ≤ k ≤ n, đặt ma trận Xk là ma
trận cấp k × n lập từ k dịng đầu tiên của ma trận X. Ma trận Gram thứ k của cơ sở này
là ma trận vuông cấp k sau
Gk = Xk XkT .
Định thức Gram thứ k của cơ sở này là
dk = det(Gk ).
Ta quy ước d0 = 1.


10
Nhận xét 1.2.2.1 Nếu xi ∈ Zn , ∀i thì dk là một số nguyên, với mọi 0 ≤ k ≤ n.
Mệnh đề 1.2.2.1 Cho x1 , . . . , xn là một cơ sở của Rn và x∗1 , . . . , x∗n là cơ sở trực giao
Gram-Schmidt của nó. Khi đó

k

x∗i 2 ,


dk =

(1.2)

i=1

với 1 ≤ k ≤ n.
Chứng minh. Từ Chú ý 1.2.1.1 ta có thể diễn tả sự trực giao Gram-Schmidt bằng đẳng
thức ma trận X = M X ∗ . Đặt Mk là ma trận từ k dòng và k cột đầu tiên của ma trận M
và Xk∗ là ma trận lập từ k dịng đầu tiên của X ∗ . Khi đó, ta có đẳng thức Xk = Mk Xk∗
và det Mk = 1. Do đó
dk = det(Xk Xk∗ )
= det((Mk Xk∗ )(Mk Xk∗ )T )
= det(Mk (Xk∗ (Xk∗ )T )MkT )
= det(Mk ) det(Xk∗ (Xk∗ )T ) det(MkT )
= det(Xk∗ (Xk∗ )T ).
Vì các dịng của ma trận Xk∗ là các véctơ trực giao nên theo tính chất (a) trong Định
lý 1.2.1.1 ta thấy rằng Xk∗ (Xk∗ )T là ma trận chéo với các phần tử trên đường chéo là
x∗1 2 , . . . , x∗n

1.3

2

nên ta có điều phải chứng minh.

Cực tiểu liên tiếp (Successive minima)

Một tham số cơ sở của một dàn là độ dài của véctơ khác 0 ngắn nhất trong dàn đó (ta
chỉ nói đến các véctơ khác 0 vì véctơ 0 ln được chứa trong một dàn và độ dài của nó là

0), kí hiệu là λ1 .

1.3.1

Một số định nghĩa

Định nghĩa 1.3.1.1 Cho Λ là một dàn hạng m trong không gian Euclide n chiều Rn .
Ta định nghĩa


11

• Cực tiểu thứ nhất (The first minimum) của dàn, ký hiệu λ1 (Λ), là độ dài của véctơ
khác không ngắn nhất của Λ, λ1 (Λ) := min{ u , 0 = u ∈ Λ}.
• Cực tiểu thứ hai (The second minimum) của dàn, ký hiệu λ2 (Λ), là số thực r nhỏ
nhất sao cho tồn tại hai véctơ độc lập tuyến tính u1 , u2 ∈ Λ thỏa u1 , u2 ≤ r.
• Tổng quát, với i = 1, 2, . . . , m, cực tiểu thứ i (the i-th succcessive minimum) của
dàn, ký hiệu λi (Λ), là số thực r nhỏ nhất sao cho tồn tại i véctơ độc lập tuyến tính
u1 , u2 , . . . , ui ∈ Λ thỏa u1 , u2 , . . . , ui ≤ r.
Các số này có thể được biểu diễn chính xác hơn bằng đẳng thức sau:
λi (Λ) = minu1 ,...,ui ∈Λ max( u1 , . . . , ui ),
trong đó ta lấy min trên tất cả các tập chứa i véctơ độc lập tuyến tính trong Λ.
Từ định nghĩa trên ta dễ thấy rằng successive minima là dãy giảm yếu:
λ1 (Λ) ≤ λ2 (Λ) ≤ . . . ≤ λm (Λ).
Ví dụ 1.3.1.1 Tìm successive minima của dàn Λ = L(x1 , x2 , x3 ), trong đó x1 = (2, 0, 0),
x2 = (0, 2, 0), x3 = (1, 1, 1) đối với chuẩn

1




∞.

Giải. Lấy u ∈ Λ, u = 0 ⇒ u = a1 x1 + a2 x2 + a3 x3 , (a1 , a2 , a3 ) ∈ Z3 \ (0, 0, 0).
n

1/ Xét chuẩn

1, u

1

|ui | ⇒ u

=

1

= |2a1 + a3 | + |2a2 + a3 | + |a3 |

i=1

Trường hợp 1. a3 = 0
• a1 = 0 ⇒ |2a1 | ≥ 2, |2a2 | ≥ 0 ⇒ u

1

≥ 2.

• a2 = 0 ⇒ |2a2 | ≥ 2, |2a1 | ≥ 0 ⇒ u


1

≥ 2.

Trường hợp 2. a3 = 0
• |a3 | = 1 ⇒ a3 = ±1 ⇒ |2a1 + a3 | ≥ 1, |2a2 + a3 | ≥ 1 ⇒ u
• |a3 | ≥ 2

1

≥ 3.


12

+a1 = 0, a2 = 0 ⇒ u

1

≥ 6.

+a1 = 0, a2 = 0 ⇒ |2a1 + a2 | ≥ 0, |2a2 + a3 | ≥ 2 ⇒ u
+a1 = 0, a2 = 0 ⇒ u

1

1

≥ 4.


≥ 4.

+a1 = 0, a2 = 0 ⇒ |2a1 + a3 | ≥ 2, |2a2 + a3 | ≥ 0 ⇒ u ≥ 2.
Vậy min u

1

= 2 ⇒ λ1 (Λ) = 2.

Khi đó, tất cả các véctơ mà có độ dài bằng 2 khi và chỉ khi dấu bằng xảy ra ở các
trường hợp mà u

≥ 2. Có tất cả 6 véctơ như thế, đó là (2, 0, 0), (−2, 0, 0), (0, 2, 0),

1

(0, −2, 0), (0, 0, 2), (0, 0, −2). Trong đó, có 3 véctơ độc lập tuyến tính là (2, 0, 0), (0, 2, 0),
(0, 0, −2) nên λ1 (Λ) = λ2 (Λ) = λ3 (Λ) = 2.
2/ Xét chuẩn
⇒ u





: u




=max{|ui |, 1 ≤ i ≤ n}

=max{|2a1 + a3 |, |2a2 + a3 |, |a3 |}

Trường hợp 1. a3 = 0
• a1 = 0 ⇒ |2a1 | ≥ 2, |2a2 | ≥ 0 ⇒ u



≥ 2.

• a2 = 0 ⇒ |2a1 | ≥ 0, |2a2 | ≥ 2 ⇒ u



≥ 2.

Trường hợp 2. a3 = 0
• |a3 | = 1 ⇒ u



≥ 1.

• |a3 | ≥ 2 ⇒ u



≥ 2.


Vậy min u



= 1 ⇔ λ1 (Λ) = 1.

Khi đó, ta nhận thấy rằng |a3 | = 1 ⇔ a3 = ±1
+Nếu a3 = 1 thì a1 = a2 = 0 hoặc a1 = −1, a2 = 0.
+Nếu a3 = −1 thì a1 = a2 = 0 hoặc a1 = 0, a2 = −1.
Khi đó, ta tính tốn được tất cả các véctơ mà có độ dài bằng 1 là (1, 1, 1), (−1, −1, −1),
(−1, 1, 1), (1, −1, 1).
Khi đó, có 2 véctơ độc lập tuyến tính là (1, 1, 1) và (−1, 1, 1) có độ dài lớn nhất là 1,
nên λ2 (Λ) ≤ 1. Ta lại có λ1 (Λ) ≤ λ2 (Λ), nên λ2 (Λ) = λ1 (Λ) = 1.


13

Nhận xét thấy 3 véctơ bất kỳ trong số 4 véctơ có độ dài bằng 1 trên đều phụ thuộc
tuyến tính nên λ3 (Λ) = 1 ⇒ λ3 (Λ) ≥ 2.
Mặt khác, trong dàn Λ ta tìm được x1 , x2 , (0, 0, 2) là 3 véctơ độc lập tuyến tính, có
độ dài lớn nhất là 2 ⇒ λ3 (Λ) ≤ 2.
Vậy λ3 (Λ) = 2.
Nhận xét 1.3.1.1 Cho Λ là dàn, hạng n, với cơ sở x1 , x2 , . . . , xn và x∗1 , x∗2 , . . . , x∗n là cơ
sở trực giao Gram-schmidt. Khi đó
(a) Nhìn chung điều sau đây khơng đúng với mọi n: λn (Λ) ≥ max

x∗i , 1 ≤ i ≤ n .

(b) ∀j, λj (Λ) ≥ min{ x∗i , 1 ≤ i ≤ n}.
Thật vậy, ta có ví dụ sau đây.

(a) Ta xét phản ví dụ, cho dàn Λ sinh bởi 2 véctơ cơ sở là x1 = (5, 2); x2 = (6, 2). Khi
đó, λ2 (Λ) = 2 và với chuẩn l∞ ta tính tốn được λ1 (Λ) = 1, λ2 (Λ) = 2.
Trực giao hóa x1 , x2 ta được x∗1 = x1 = (5, 2), x∗2 =
Suy ra x∗1 = 5, x∗2 =

4 −10
29 , 29

,

10
29

Vậy max{ x∗1 , x∗2 } = 5 > λ2 (Λ).
(b) Đầu tiên ta chứng minh với bất kỳ 0 = u ∈ Λ, ta có u ≥ min{ x∗1 , · · · , x∗n }.
Thật vậy, do 0 = u ∈ Λ nên
n

ai xi , ai ∈ Z, i = 1, n.

u=
i=1

Vì u = 0 nên ai = 0, với i nào đó. Gọi k là số lớn nhất để ak = 0. Khi đó ta có
n

u=

k


ai x i =
i=1

i

k

µij x∗j

ai
i=1

j=1

i

ai µij x∗j , với µij =

=
i=1 j=1

Đảo ngược thứ tự của tổng và sử dụng µkk = 1 ta được
k

k

u=

k−1


ai µij
j=1

i=j

x∗j

=

ak x∗k

bj x∗j ,

+
j=1

xi , x∗j
x∗j , x∗j

.


14
trong đó b1 , b2 , . . . , bk−1 ∈ R. Vì x∗1 , . . . , x∗n trực giao nên
k−1
2

u

=


x∗k 2

a2k

b2j x∗j 2 .

+
j=1

Mặt khác ak là một số nguyên khác không nên a2k ≥ 1, do đó
k−1

u

2

x∗k 2



b2j x∗j 2 .

+
j=1

Ta nhận thấy tất cả các số hạng trong tổng trên là không âm nên
k−1

u


2

x∗k 2



b2j x∗j

+

2

≥ x∗k

2

≥ min

x∗1 2 , . . . , x∗n

2

.

j=1

x∗i , j ≤ i ≤ n .

Lấy căn bậc hai hai vế ta được u ≥ min


Theo định nghĩa của successive minima, rõ ràng với mỗi 1 ≤ j ≤ n thì tồn tại một
véctơ xj ∈ Λ sao cho xj = λj (Λ).
x∗i , 1 ≤ i ≤ n .

Vậy λj (Λ) ≥ min

Định nghĩa 1.3.1.2 Hằng số dàn Hermite được định nghĩa là
γm :=

λ1 (Λ)2
.
Λ, rankΛ=m (detΛ)2/m
inf

Số γm rất khó để tìm và chỉ mới được biết với 1 ≤ m ≤ 8 và m = 24. Kết quả được
biểu diễn trong Bảng 1.1.
Bảng 1.1.
m
γm

1

2

1

4 1/2
3


3
21/3

4
21/2

5

6

81/5

64 1/6
3

7 8 24
641/7

2

4

Định nghĩa 1.3.1.3 Cho S là một tập con tùy ý của không gian Euclide n chiều Rn .
Ta nói rằng,
• S là đối xứng tâm nếu x ∈ S suy ra được −x ∈ S.
• S là tập lồi nếu x, y ∈ S suy ra được αx + (1 − α)y ∈ S với 0 ≤ α ≤ 1. Nghĩa là,
nếu hai điểm x, y nằm trong S thì S chứa đoạn thẳng nối x và y.


15


1.3.2

Một số định lý

Định lý 1.3.2.1 (Định lý Blichfeld.) Cho dàn có hạng đầy đủ Λ ⊆ Rn và tập S ⊆ Rn
có vol(S) >det Λ, khi đó tồn tại hai điểm phân biệt z1 , z2 ∈ S sao cho z1 − z2 ∈ Λ.
Chứng minh. Gọi B là cơ sở của Λ. Khi đó, Λ = L(B).
Với mỗi x ∈ Λ, ta xét tập x + P(B) := {x + y| y ∈ P(B)}, khi x chạy khắp Λ thì các
tập x + P(B) tạo thành một phân hoạch của Rn .
Đặt Sx = S ∩ (x + P(B)). Khi đó, S = ∪x∈Λ Sx ⇒ vol(S) =

x∈Λ vol(Sx ).

Đặt Sx = Sx − x. Khi đó Sx ⊆ P(B) và vol Sx = vol(Sx ), ta được:
vol(Sx ) = vol(S) > vol(P(B)).

vol Sx =
x∈Λ

x∈Λ

Khi đó tồn tại x, y ∈ Λ, x = y sao cho Sx ∩ Sy = ∅ suy ra tồn tại z ∈ Sx ∩ Sy .
Thực vậy, lấy z1 = z + x ∈ Sx ⊆ S và z2 = z + y ∈ Sy ⊆ S thì z1 − z2 = x − y ∈ Λ và
chứng minh hoàn tất ở đây.
Định lý 1.3.2.2 (Định lý Minkowski’s convex body). Cho Λ là một dàn hạng đầy
đủ (hạng n). Khi đó với bất kỳ tập S lồi đối xứng tâm, nếu vol(S) > 2n detΛ thì khi đó S
chứa một điểm khác không của Λ.
1
1

S = {x : 2x ∈ S}. Khi đó, vol S = 2−n vol(S) > detΛ.
2
2
1
Áp dụng Định lý 1.3.2.1, tồn tại hai điểm z1 , z2 ∈ S sao cho z1 − z2 ∈ Λ \ {0}.
2
1
Theo định nghĩa của S, thì 2z1 , 2z2 ∈ S ⇒ −2z2 ∈ S (do S đối xứng) và do S lồi
2
1
1
nên z1 − z2 = (2z1 ) + (−2z2 ) ∈ S.
2
2
Chứng minh. Định nghĩa

Chú ý 1.3.2.1 Nếu S là tập compact và vol(S)=2n det Λ thì S cũng thỏa Định lý 1.3.2.2.
Bổ đề 1.3.2.1 Gọi B(0, r) là một hình cầu n chiều, bán kính r. Ta có
vol(B(0, r)) ≥

2r

n

n

.


16

2r
Chứng minh. Ta có một hình cầu bán kính r thì chứa khối lập phương cạnh là √ ,
n
nghĩa là
r
x ∈ Rn | ∀i, xi < √
⊆ B(0, r)
n

⇒ vol


2r

n

r
x ∈ Rn | ∀i, xi < √
n

≤ vol(B(0, r))

n

≤ vol(B(0, r)) .

Định lý 1.3.2.3 (Minkowski thứ nhất.) Cho dàn Λ hạng đầy đủ n, khi đó
λ1 (Λ) ≤



n · (det Λ)1/n .

Chứng minh. Từ định nghĩa của λ1 (Λ) thì hình cầu mở B(0, λ1 (Λ)) khơng chứa điểm
dàn khác khơng. Khi đó, theo Định lý 1.3.2.2 ta có vol(B(0, λ1 (Λ))) ≤ 2n det(Λ).
Mặt khác, theo Bổ đề 1.3.2.1 ta có
2λ1 (Λ)

n
⇒ λ1 (Λ) ≤

n

≤ vol(B(0, λ1 (Λ))) ≤ 2n det(Λ)


n · (det Λ)1/n .

Mệnh đề 1.3.2.1 Ngoài ra ta có thể phát biểu định lý Minkowski thứ nhất đối với chuẩn
1





như sau

a) x




b) x

1

≤ det(Λ)1/n .

≤ n · det(Λ)1/n .

Chứng minh.
a) Với chuẩn x



= max{|xi |, i = 1, 2, . . . , n}, ta chứng minh rằng với bất kỳ dàn

hạng đầy đủ Λ ⊂ Rn luôn chứa một véctơ x khác không thỏa x



≤ det(Λ)1/n .


17

Đặt l = min{ x



: x ∈ Λ \ {0}} và giả sử ngược lại l > det(Λ)1/n .


Đặt C = {x : x



< l} thì C là tập lồi, đối xứng, có vol(C) = (2l)n > 2n det(Λ).

Khi đó, theo Định lý 1.3.2.2 thì C chứa một véctơ x khác khơng. Lúc này theo định
nghĩa của C thì x



< l, mâu thuẫn với cách đặt l.

Vậy ta có điều phải chứng minh.
n

b) Với chuẩn x

1

|xi |, ta có

=
i=1

n

x

1


|xi | ≤ n · max{|xi |, i = 1, 2, . . . , n} ≤ n · x

=
i=1

Vậy x

1

≤ n · det(Λ)1/n .



≤ n · det(Λ)1/n .


18

Chương 2
THUẬT TỐN LLL
Chương này trình bày khái niệm cơ sở dàn rút gọn, một số tính chất cơ bản, thuật tốn
LLL ngun bản và phân tích thời gian chạy của thuật toán này.
Chúng ta bắt đầu chương này bằng một ví dụ.
Ví dụ 2.0.2.1 Cho x1 , x2 , x3 , x4 là các dòng của ma trận X cấp 4 và là một cơ sở của
dàn Λ trong R4 .






−2 7
7 −5
 3 −2 6 −1

X=
 2 −8 −9 −7 , det(X) = 632.
8 −9 6 −4
Ta có thể tìm được một cơ sở khác của dàn Λ bằng cách sử dụng ma trận unimodular C,



−13071
−20726
C=
 −2867
−14338



−5406 −9282 −2303
−8571 −14772 −3651
 , det(C) = −1.
−1186 −2043 −505 
−5936 −10216 −2525

Khi đó các dịng y1 , y2 , y3 , y4 của ma trận Y = CX, sau đây là một cơ sở khác của
dàn Λ:






−27064 14298 −54213 144947
−43013 23095 −85466 230209

Y = CX = 
 −5950 3192 −11828 31842  , det(Y ) = −632.
−29764 15959 −59188 159238


×