RÖSZLER, P. Implementace algoritmu dekompozice matice a pseudoinverze na FPGA [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2018.
Diplomová práce se zabývá metodami výpočtu vlastních čísel a vlastních vektorů matice a metodami výpočtu pseudoinverze matice. Metody byly implementovány na platformě FPGA. Student prokázal schopnost porozumět složité problematice z oblastí lineární algebry a programovatelných hradlových polí. Po formální stránce je práce zpracována na dobré úrovni. Student během práce využíval pravidelné konzultace, všechny své kroky konzultoval jak s externím konzultantem, tak i se mnou. Zadané požadavky diplomové práce byly splněny a implementace na FPGA je funkční. Celkově považuji práci za velmi zdařilou, oceňuji zájem o téma a kladný přístup k práci. I přes drobnější nedostatky práci hodnotím výborně, známkou A, 90 bodů.
Diplomová práce Bc. Pavla Röszlera se zabývá problematikou výpočtu rozkladů a pseudoinverzi matic na FPGA. Práce se mi četla docela dobře, co se týče plynulosti vyjadřování autora. Čtení ale vyrušovaly překlepy (v průměru jeden na stránku), hrubky (záměny i/y), a občasné typografické prohřešky (používání pomlček a spojovníků není všude rozlišováno). Co mi dělalo větší potíže, je pojmout text práce obsahově. V Úvodu zcela chybí motivace – až na str. 39 se čtenář doví, k čemu vlastně řešená problematika bude sloužit. První část se logicky věnuje matematickému rozboru problematiky, obávám se ale, že ani na inženýrské škole je nedostatečně přesná ve vyjadřování; často se nějaké téma nakousne, ale sekce končí vzorečkem, aniž by bylo jasné, co s tím dál. Druhá část je implementační a mám pocit, že bylo hodně napsáno, ale přehlednost je slabá, a návaznost na teoretickou část je menší než by měla být. Práce je dostatečně rozsáhlá, postupy a výsledky jsou prezentovány na řadě obrázků. Text je dle mého názoru vhodně členěn na kapitoly a jejich části. Graficky je práce na dobré úrovni. Zdá se, že implementace se autorovi podařila (ačkoliv použil jen předpřipravené knihovny – množství práce, které musel diplomant odvést, nedovedu posoudit, jelikož nejsem odborník na FPGA). Následují konkrétnější komentáře: • Není definováno, co je trojúhelníková matice, co je skalární součin, řídká matice, singulární matice apod. • Důležité záležitosti jako jsou hodnost, číslo podmíněnosti matice jsou prakticky ignorovány. To může v praxi ovšem mít důležitý dopad, a to, že v určitých případech jsou vypočtené rozklady/inverze nepoužitelné. Autor nepopisuje, jaké jsou z tohoto pohledu matice, se kterými pracuje jako se svými vstupy. • Proč je na str. 17 i dále proměnná N stojatě? • Není ani naznačeno, jak se rovnice (2.8) vyřeší. • Ve (2.11) chybí inicializace V_0. • Docela často se mluví o numerické stabilitě, ale ta není ani definována, autor zůstává na povrchu. • Str. 30: „určíme počáteční odhad“ – není zmíněno jak. • V některých částech textu postrádám citace (např. část 2.5). • Str. 22: co je index r a co vyjadřuje? • Vztah (3.7) je možné použít pouze pokud A má lineárně nezávislé sloupce. Jinak inverze neexistuje. • Na Tabulku 4.3 není odkaz. • Popisky tabulek je zvykem dávat nad ně. • Na obr. 5.5 není odkaz. • Nerozumím k čemu je ukázka kódu pro template – je z toho pouze vidět, s jakými poli se pracuje. • Na str. 35 se rozebírá pipeline, ale v práci tento přístup není použit. • Str. 41: řeší se iterace, kterých bylo provedeno 5. Podle autora ovlivňují výslednou numerickou přesnost. Podle mě je korektní počet iterací předem dán rozměrem matice, jinak se jedná o aproximaci nedokončeným rozkladem – to ale není zmíněno. Proč bylo zvoleno číslo 5 není psáno. • Str. 61: Popis jak byly vektory srovnávány podle prvního prvku: Nepovažuji tento způsob za vhodný – co když nastane chyba právě a jen u tohoto prvku; pak výpočet chyby je velmi vychýlený.
eVSKP id 110060