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 (1.58 MB, 35 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
Lời đầu tiên, em xin trân trọng bày tỏ lòng biết ơn chân thành với những cá nhân, tổ chức đã giúp đỡ chúng em xun suốt q trình hồn thành bài tập lớn. Trong suốt thời gian từ khi bắt đầu quá trình học tập của chúng em tại trường, chúng em đã và đang nhận được rất nhiều sự quan tâm và nhiệt tình giúp đỡ từ các thầy cơ, các bạn và các anh chị.
Cùng với lịng biết ơn chân thành và sâu sắc nhất, chúng em xin gửi lời cảm ơn tới các thầy cô mà chúng em đã có dịp học tập tại trường Đại học Bách Khoa đã truyền đạt kiến thức cho chúng em. Đặc biệt là thầy Đặng Văn Vinh, người đã góp phần rất lớn cho việc chúng em có thể hồn thành sn sẻ đề tài trong lần làm bài tập lớn này. Trong quá trình làm việc nhóm, những gì chúng em tiếp thu được không chỉ là kiến thức đơn thuần mà còn là thái độ và cách phối hợp làm việc nhóm,
những kinh nghiệm và kiến thức này sẽ là những vốn quý cho chúng em trong quá trình phát triển và hồn thiện bản thân. Do chỉ là sinh viên năm nhất, và cũng là lần đầu tiên làm bài tập lớn, không thể tránh khỏi những sai sót do kiến thức cịn hạn chế. Rất mong nhận được những đóng góp, xây dựng từ các bạn cũng như các thầy cô để bài tập lớn chúng em được hoàn thiện hơn nữa.
Cuối cùng, một năm cũng đã sắp qua, em xin kính chúc thầy Đặng Văn Vinh thật nhiề sức khỏe, hạnh phúc và thành công hơn nữa trên công cuộc trồng người. Chúng em xin gửi lời cảm ơn sâu sắc và chân thành nhất!
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><b><small>3.Các bước tìm giá trị riêng : ... 4</small></b>
<b><small>II. Vector riêng của ma trận: ... 5 </small></b>
<b><small>1.Định nghĩa: ... 5</small></b>
<b><small>2.Các bước tìm vector riêng của ma trận A: ... 6</small></b>
<b><small>3.Tính chất của trị riêng, vector riêng: ... 7</small></b>
<b><small>III. Chéo Hóa Ma Trận: ... 10 </small></b>
Số 𝜆<sub>0</sub> <i>∈ 𝐾 được gọi là giá trị riêng (gọi tắt là trị riêng – kí hiệu </i>
<i>GTR) c</i>ủa ma trận A, nếu tồn tại một vectơ 𝑋<sub>0</sub> ≠ 0 sao cho: 𝐴𝑋<sub>0</sub> = 𝜆<sub>0</sub>𝑋<sub>0</sub>
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">Khi đó vectơ 𝑋<sub>0</sub> được gọi là vectơ riêng (VTR) của ma trận A ứng với giá trị riêng 𝜆<sub>0</sub>.
Tập hợp tất cả các giá trị riêng của A được gọi là phổ của ma trận A và kí hiệu bởi 𝛿(𝐴).
|𝐴 − 𝜆<sub>0</sub>𝐼| = 0 (được gọi là phương trình đặc trưng của ma trận A).
<b>2. Một giá trị riêng có thể có nhiều vectơ riêng. </b>
<b>3. Mỗi vectơ riêng chỉ ứng với một giá trị riêng duy nhất. </b>
<b>nó (</b><i>trong trường hợp này đa thức đặc trưng được coi là đa thức ma trận, nghĩa là biến số của nó không phải là biến số thực mà là biến ma trận) </i>
<b>5. N</b>ếu 𝜆<sub>0</sub> = 0 là giá trị riêng của ma trận A thì A khơng khả nghịch. Ngược lại, nếu mọi GTR của A đều khác không thì A khả nghịch.
<b>6. N</b>ếu 𝜆<sub>0</sub> là GTR của ma trận A thì 𝜆<sub>0</sub><sup>𝒌</sup> là giá trị riêng của ma trận 𝐴<small>𝑘</small>.
⇒Tất cả các nghiệm của phương trình là tất cả các trị riêng của
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><b>hướng λ và vector 𝑣 ≠ 0 ∈ R</b><small>nxn</small> thỏa mãn:
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">thì 𝜆 là trị riêng của 𝐴 và 𝑣 được gọi là vector riêng tương ứng
Hệ thuần nhất (1) có nghiệm khác 0 ⇔ det(𝐴 − 𝜆𝐼) = 0 (2) Trong đó, 𝜆 là một nghiệm của phương trình (2).
trưng của A.
𝑃<sub>𝐴</sub>(𝜆) = det(𝐴 − 𝜆𝐼) = 0 được gọi là đa thức ặc trưng của 𝐴.
<b>✓ Số 𝜆 là trị riêng cùa 𝐴 khi và chỉ khi 𝜆 là nghiệm của </b>
phương trình đặc trưng.
<b>✓ Vector 𝑣 là vector riêng của 𝐴 ứng với trị riêng 𝜆 khi và </b>
chỉ khi 𝑣 là một nghiệm khác 0 của hệ phương trình (1).
<b>✓ Tổng tất cả các trị riêng của 𝐴 bằng với vết của ma </b>
trận 𝐴, tức là bằng với tổng các phần tử trên đường chéo của A
<b>✓ Tích tất cả các trị riêng của 𝐴 bằng với 𝑑𝑒𝑡(𝐴) </b>
<b>✓ Tổng tất cả các bội đại số của các trị riêng bằng với cấp </b>
của 𝐴
<b>✓ Tổng tất cả các bội hình học của các trị riêng bằng với </b>
số vector độc lập tuyến tính cực dại
<b>✓ Nếu 𝜆 là trị riêng của 𝐴, thì 𝜆</b><small>𝑚</small> là trị riêng của ma trận 𝐴<sup>𝑚</sup>, 𝑚 ∈ ℕ
Giả sử 𝜆 là trị riêng của 𝐴.
Khi đó tồn tại vector 𝑣 ≠ 0, sao cho 𝐴𝑣 = 𝜆𝑣.
Suy ra 𝐴<sup>𝑚</sup>𝑣 = 𝐴<sup>𝑚−1</sup>(𝐴𝑣) = 𝐴<sup>𝑚−1</sup>𝜆𝑣 = 𝜆𝐴<sup>𝑚−1</sup>𝑣 = 𝜆𝐴<sup>𝑚−2</sup>(𝐴𝑣) = 𝜆𝐴<sup>𝑚−2</sup>𝜆𝑣 = 𝜆<sup>2</sup>𝐴<sup>𝑚−2</sup>𝑣 = ⋯ = 𝜆<sup>𝑚</sup>𝑣.
Vậy 𝐴<small>𝑚</small>𝑣 = 𝜆<sup>𝑚</sup>𝑣.
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">Suy ra 𝜆<sup>𝑚</sup> là trị riêng của 𝐴<small>𝑚</small> và 𝑣 là vector riêng của 𝐴<sup>𝑚</sup> ứng với trị riêng 𝜆<small>𝑚</small>.
Ma trận vuông 𝐴 khả nghịch khi và chỉ khi khơng có trị riêng bằng 0. Nếu 𝜆 là trị riêng của 𝐴, thì 𝜆<small>−1</small> là trị riêng của ma trận 𝐴<sup>−1</sup>.
Giả sử 0 ∈ 𝛿(𝐴).
Phương trình đặc trưng của 𝐴 là 𝑑𝑒𝑡(𝐴 − 𝜆𝐼) = 0.
Thế 𝜆 = 0 vào phương trình ta được det(𝐴 − 0. 𝐼) = 0 ⇔ 𝑑𝑒𝑡(𝐴) = 0 ⇔ 𝐴 không khả nghịch.
Giả sử 𝜆 là trị riêng của 𝐴 và 𝐴 khả nghịch. Khi đó tồn tại vector 𝑣 ≠ 0, sao cho 𝐴𝑣 = 𝜆𝑣
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><b>2) Giá tr</b>ị riêng của 𝐴<small>10</small> là 𝛽<sub>1</sub> = 2<sup>10</sup>, 𝛽<sub>2</sub> = 8<sup>10</sup>.
Vector riêng của 𝐴<small>10</small> ứng với trị riêng 𝛽<sub>1</sub>: 𝑣 = (
-Trong trường hợp đặc biệt khi B là ma trận đường chéo thì ta nói ma trận 𝐴 là ma trận chéo hóa được và P là ma trận chéo hóa ma trận 𝐴
Chéo hóa ma trận:
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">-Cho 𝐴 ∈
-Nếu ma trận A chéo hóa được nghĩa là tồn tại 1 ma trận khả nghịch P sao cho 𝑃<small>−1</small>𝐴𝑃 là 1 ma trận chéo thì chính là ma trận đổi cơ sở từ cơ sở chính tắc 𝐵 = {e<sub>1</sub> = (1,0,0. . . ,0); e<sub>2</sub> =
(0,1,0. . . ,0); . . . ; e<sub>1</sub> = (0,0,0. . . ,1)} qua một cơ sở B’ nào đó của 𝑅<small>𝑛</small> mà trong cơ sở, ma trận AXTT f là ma trận chéo
Nói đơn giản, thì khi 1 ma trận vng có thể biểu diễn dưới dạng
𝐴 = 𝑃𝐴𝑃<sup>−1</sup>thì đó là ma trận chéo hóa được và phép biến đổi trên được gọi là chéo hóa ma trận
giá trị riêng của 𝐴
riêng 𝑉𝜆
sở cho các không gian riêng nhận được ở bước 2
✓ Nếu số phần tử của B’ bằng n (tức là: 𝑑𝑖𝑚(𝑉𝜆) = 𝑛) thì 𝐴 chéo hóa được. Ma trận P chéo hóa ma trận 𝐴 chính là ma trận đổi cơ sở chính tắc từ B sang B’
✓ Nếu số phần tử của B’ nhỏ hơn n, nghĩa là ∑ 𝑑𝑖𝑚𝑉<sub>𝜆</sub> 𝜆 < 𝑛 thì a khơng chéo hóa được
<b>Bước 4: Ma trận làm chéo hóa 𝐴 cần tìm là ma trận P có các </b>
cột là các vector riêng tìm được
Với 𝐷 là 1 ma trận đường chéo
Kiểm tra thấy 𝐴<small>𝑇</small> = 𝐴.Như vậy A là ma trận đối xứng .
Các phần tử của A đối xứng với nhau qua đường chéo chính.
nếu 𝐴<small>−1</small> = 𝐴<sup>𝑇</sup>. Từ định nghĩa ta có 𝐴𝐴<small>−1</small> = 𝐴𝐴<sup>𝑇</sup> ⟺ 𝐴𝐴<sup>𝑇</sup> =
1.Như vậy nếu tích của 𝐴 và 𝐴<sup>𝑇</sup> là ma trận đơn vị I, thì 𝐴 là ma trận trực giao.
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">Cho 𝐴 là ma trận trực giao. Tức là 𝐴𝐴<sup>𝑇</sup> = 𝐼. Để ý phép nhân 2 ma trận với nhau, ta thấy: hàng i của 𝐴 nhân với cột j của ma trận𝐴<small>𝑇</small> ta được phần tử ở hàng I và cột j của ma trận đơn vị. Cột j của 𝐴<small>𝑇</small> là hàng j của 𝐴.
Ta có 𝐴<sub>𝑖∗</sub>𝐴<sub>𝑗∗</sub> = {<sup>1, 𝑛ế𝑢 𝑖 = 𝑗</sup> 0, 𝑛ế𝑢 𝑖 ≠ 𝑗
Suy ra họ vector hàng của 𝐴 là họ trực chuẩn
Hoàn toàn tương tự, khi xét 𝐴<small>𝑇</small>𝐴 = 𝐼 ta có họ vector cột của 𝐴 là họ trực chuẩn
Sử dụng mệnh đề này để tìm 1 ma trận trực giao 𝐴 cấp n tùy ý như sau
được cơ sở trực giao F
trực chuẩn Q. Tạo ma trận 𝐴 có họ vector hàng/cột là Q
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">Chia mỗi vector cho độ dài của nó, ta có họ trực chuẩn
giao được nếu 𝐴 = 𝑃𝐷𝑃<small>−1</small>là ma trận chéo và P là ma trận trực giao
Các khẳng định sau đây là đúng.
<b>2) </b>𝐴 ln chéo hóa trực giao được
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">Như vậy chỉ ma trận đối xứng thực mới chéo hóa trực giao được
riêng
Để tìm cơ sở trực chuẩn của không gian con riêng 𝐸<sub>𝜆𝑘</sub>, ta theo các bước sau
giao F<small>k</small>
chuẩn Q<small>k </small>của E<small>λk </small>
Tức la 𝐴 = 𝑃𝐷𝑃<small>𝑇</small>, trong đó ma trận chéo là các trị riêng của 𝐴, họ vector cột của ma trận trực giao P từ các vector riêng trong các cơ sở trực chuẩn ở bước 2
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">các trị riêng khác không của 𝐴𝐴<small>𝑇</small>và A<sup>T</sup>A là trùng nhau. Thật vậy, giả sử 𝜆<sub>0</sub>là một trị riêng khác 0 của 𝐴𝐴<small>𝑇</small>và 𝑋<sub>0</sub> vectơ riêng của 𝐴𝐴<small>𝑇</small>tương ứng. Khi đó
𝐴𝐴<sup>𝑇</sup>𝑋<sub>0</sub>=𝜆<sub>0</sub>𝑋<sub>0</sub>.Suy ra𝐴<sup>𝑇</sup>𝐴𝐴<sup>𝑇</sup>𝑋<sub>0</sub>=𝐴<sup>𝑇</sup>𝜆<sub>0</sub>𝑋<sub>0</sub>
Điều này tương đương với 𝐴<small>𝑇</small>𝐴(𝐴<sup>𝑇</sup>𝑋<sub>0</sub>) = (𝐴<small>𝑇</small>𝑋<sub>0</sub>), Vì 𝜆<sub>0</sub> ≠ 0 nên 𝐴<sup>𝑇</sup>𝑋<sub>0</sub> ≠ 0. suy ra 𝐴<sup>𝑇</sup>𝐴 = 𝜆<sub>0</sub><small>, </small>dễ dàng nhìn thấy 𝜆<sub>0</sub> là trị riêng của 𝐴<sup>𝑇</sup>𝐴.
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">Ma trận 𝐴𝐴<small>𝑇</small> và ma trận 𝐴<small>𝑇</small>𝐴 là hai ma trận đối xứng, nên chúng có thể chéo hóa trực giao được.
Phân tích SVD của ma trận 𝐴: Cho ma trận 𝐴 ∈
𝑀<sub>𝑚,𝑛</sub> [𝑅], 𝑟(𝐴) = 𝑟. Ma trận 𝐴 có thể phân tích thành dạng 𝐴 = 𝑄⅀𝑃<sup>𝑇</sup> , trong đó Q (Left singular vector) và P(Right singular vector) là hai ma trận đều có họ vecto cột là trực chuẩn, ⅀ = (<sup>𝐷</sup> <sup>0</sup>
0 0<sup>) là ma trận cỡ 𝑚 × 𝑛, D là ma trận chéo, có các phần tử </sup> trên dường chéo σ<sub>1</sub>; σ<sub>2</sub> ; σ<sub>3</sub>; . . . ; σ<sub>𝑟</sub> là những số thực dương và được gọi là các singular values của 𝐴.
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">Như vậy ma trận 𝐴 chỉ phụ thuộc vào r cột đầu tiên của P,Q và r phần tử khác không trên đường chéo của ⅀. Ta có phân tích gọn hơn của 𝐴 là compact SVD: 𝐴 = 𝑄<sub>𝑟</sub>𝐷𝑃<sub>𝑟</sub> , với 𝑄<sub>𝑟</sub> 𝑃<sub>𝑟</sub> là các ma trận tạo nên từ các cột cua Q và P tương ứng.
hướng, ta tính ra được ma trận của 𝑞<sub>𝑖</sub>𝑝<sub>𝑖</sub><sup>𝑇</sup>bằng cách lấy hàng đầu tiên của vectơ 𝑞<sub>𝑖</sub> nhân với các phần tử của vector 𝑝<sub>𝑖</sub>ta được hàng thứ nhất của ma trận. Tiếp tục lấy hàng thứ hai của vector 𝑞<sub>𝑖</sub> nhân với các phần tử của vector 𝑝<sub>𝑖</sub>ta thu được hàng thứ hai của ma trận. Tiếp tục đến hàng cuối cùng của 𝑞<sub>𝑖</sub>ta thu được 1 ma trận có hạng ln bằng 1 vì số độc lập tuyến tính tối
Trong lưu trữ hình ảnh, thơng thường chỉ 1 vài σ<sub>𝑚</sub> có giá trị cao và các σ<sub>𝑛</sub> cịn lại xấp xỉ bằng 0 nên có thể bỏ qua. Khi đó ta có xấp xỉ và sai số trong xấp xỉ trên được xác định bởi công thức
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">Ta có 𝐴𝐴<sup>𝑇</sup> = (<sup>17</sup> <sup>8</sup> 8 17<sup>) </sup>
Giải phương trình đặc trưng 𝑑𝑒𝑡 (𝐴 − 𝐼𝜆)
(17 − 𝜆)<sup>2</sup> = 64 ⟹ 𝜆 = 25 ℎ𝑜ặ𝑐 𝜆 = 9 Chéo hóa trực giao 𝐴𝐴<small>𝑇</small>=𝑄𝐷<sub>1</sub>𝑄<sup>𝑇</sup>
𝐷<sub>1</sub>là ma trận đường chéo chứa các trị riêng cuả 𝐴𝐴<small>𝑇</small> theo chiều giảm dần( theo định nghĩa tích phân SVD) ⇒ 𝐷<sub>1</sub> = (<sup>25</sup> <sup>0</sup>
Giải 𝑑𝑒𝑡 (𝐴 − 𝐼𝜆)𝑋 = 0 với 𝜆 = 25, 𝜆 = 9 và áp dụng Gram-Schmidt, ta thu được P=
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">Phân tích SVD của 𝐴 = 𝑄⅀𝑃<small>𝑇</small>, Với Q,P đã tìm được ở trên và
Một ứng dụng đơn giản của SVD là giảm nhiễu trong hình ảnh. Ví dụ ở đây là hình ảnh của một hình chữ nhật màu đen và trắng:
Hình ảnh được coi như một ma trận trong đó 1 là màu trắng và 0 là màu đen. Sử dụng SVD dẫn đến các singular values (các mục đường chéo của) là 14,72, 5,13 và 3,314.
Có ba singular values vì thứ hạng của ma trận là 3. Bây giờ, hãy thêm một số nhiễu ngẫu nhiên đồng nhất vào hình ảnh:
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">Xếp hạng của ma trận hình ảnh mới hiện là 15. Sử dụng SVD để tìm các singular values của ma trận hình ảnh mới cho ba singular values đầu tiên là 13,17, 3,85 và 2,52. Phần còn lại của các singular values nhỏ hơn 0,6.
Nếu chúng ta đặt tất cả các singular values nhỏ hơn 0,6 thành 0, chúng ta nhận được hình ảnh sau:
Bằng cách đặt tất cả các singular values thành 0 nhỏ hơn 0,6, chúng ta đã giảm nhiễu trong hình ảnh. Tiếng ồn vẫn có thể nhìn thấy, nhưng nó ít hơn nhiều.
Có nhiều phương pháp giúp ta đưa ra được giá trị ngưỡng nhiễu (tạm đặt là 𝜏 trong threshold), trong số đó thì phương pháp của Matan Gavish và David L.Donoho đưa ra trong bài báo của mình mang lại hiệu quả cao nhất.
Ta có :
𝑋 = 𝑋<sub>𝑡𝑟𝑢𝑒</sub> + 𝛾𝑋<sub>𝑛𝑜𝑖𝑠𝑒</sub>
Nếu như mức cường độ nhiễu 𝛾 đã biết trước, thì cơng thức của ngưỡng nhiễu 𝜏 được :
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">Nếu như mức cường độ nhiễu chưa được xác định , điều thường thấy trong những ứng dụng thực tế, ta có thể ước tính được mức cường độ nhiễu và và tỉ lệ phân phối singular values dựa trên giá trị singular value trung tâm (không phải giá trị singular value trung bình ) 𝜎<sub>𝑚𝑒𝑑</sub> .Trong trường hợp đó, khơng có một nghiêm hồn tồn chính xác cho 𝜏 được, chỉ
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">Để thuận tiện cho việc tính tốn, chúng ta có thể lấy gần đúng:
𝜔(𝛽) = 0,56𝛽<sup>3</sup> − 0,95𝛽<sup>2</sup>2 + 1,82β + 1,4
Đồ thị 𝑙𝑜𝑔(𝜎) theo r với ngưỡng nhiễu 𝜏 = 13,439335 ứng với r = 283
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28"><b>𝑟 = 700 </b>
𝑟 = 283
</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30"><small>% Replicate boundaries of noisy image </small>
</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31"><small> % neighborhood of pixel 'j' being compared with % neighbourhood of concerned pixel. </small>
<small> W2 = noisy2(r-f:r+f, s-f:s+f); % Performing svd over W2. [temp1,temp2]=size(W2); </small>
</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">Tóm lại, với sự phát triển công nghệ đặc biệt là ở lĩnh vực machine learning như hiện nay, phân tích SVD trở thành 1
thuật tốn vơ cùng quan trọng đóng vai trị khơng thể thay thiếu đối với ngành kỹ thuật máy tính nói riêng và tồn bộ ngành kỹ thuật nói chung. Nhóm chúng em đã đưa ra những cơ sở lý thuyết cơ bản cho thuật toán cũng như một trong số nhiều ứng dụng của phân tích này chính là khử nhiễu ảnh. Ngồi ứng dụng khử nhiễu ảnh được áp dụng cho nhiều ứng dụng như y tế, AI, giám sát giao thơng, etc.. thì phân tích SVD cịn có nhiều
Bên cạnh đó, ngồi SVD, ta cịn một số phương pháp khác được ứng dụng trong khử nhiễu ảnh như:
-Non-negative matrix factorization (NMF hay NNMF)
</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">-Principal component analysis (PCA) -Median Filter
-Non local mean filter -Gaussian filter
<small>1. Tsegaselassie Workalemahu , Singular Value Decomposition in Image Noise Filtering and Reconstruction, Georgia State </small>
<small>University </small>
<small>2. Steven L. Brunton, and J. Nathan Kutz , Data Driven Science & Engineering Machine Learning, Dynamical Systems, and Control , (2017) , University of Washington </small>
<small>3. Blog: </small>
<small>4. The Optimal Hard Threshold for Singular Values is, Mathan Gavish & David Donoh </small>
<small>5. The Optimal Hard Threshold for Singular Values is, Mathan Gavish & David Donoh </small>
<small>6. Báo cáo bài tập lớp nhóm 05 lớp L10 </small>
</div>