Autor práce: Petr Michna Katedra:

Transkript

Autor práce: Petr Michna Katedra:
Posudek vedoucího bakalářské práce
Název
práce:
práce:
Návrh knihovny pro řešení soustav lineárních rovnic v prostředí
.NET
Petr Michna
Autor
Vedoucí práce: Mgr. Petr Kubera
Škota, fakulta: Českévysoké učenítechnické
Fakulta jaderná a fuzikálně inženýrská
Studiiníobor: Inžen;irskáinformatika
Katedra:
Katedra softwarového inžen;ýrstvív ekonomii
Práce se zab;ivá návrhem a vývojem knihovny pro řešení linearních rovnic v
prostředí .NET. Text práce je rozdělen do čtyř kapitol a závěru
V první kapitole autor stručně popisuje v současnosti existujícíprodukty. Popis
je spíšeobecný a autor neuvádí praktické zkušenosti získanépoužíváním
popisovaných knihoven.
Druhá kapitola je věnována popisu metod pro řešenísoustav lineárních rovnic.
Autor popsal poměrně rozsáhlou část metod, obsahujícíjak metody elementární, tak i
pokročilémoderní metody, jako je např. Arnoldiho metoda.
fietí kapitola představuje vlastní náwh knihovny. Je zde popsán jak objektový
model, tak některé autorovy přístupy. Autor se v textu věnuje popisu podružných
o§ektů jako jsou vektor a matice, vlastní třídy pro řešení rovnic však detailněji
popsány nejsou. Popis má být suplován yygenerovanou dokumentací na CD, která je
však slabá. Je to způsobeno nedostatečným používánímXI\{L komentářů v kódu.
V kapitole čtvrtéje ukázáno použitíknihovny. fimto je částečněnahrazena výše
zmíněná dokumentace. Dále pak se autor zabývá testováním a zhodnocením knihovny.
Autor zde provádí na vybraných úlohách celou řadu testů a ilustruje chování
jednotlivých metod. Postrádátm zde porovnání nawženéknihovny s již existujícími
produkty.
Nedostatky práce:
.
o
o
.
o
Rešeršníčást zabyvající se popisem současnésituace je poměrně krátká. Autor
mohl otestovat některé volně dostupné knihovny a detailrrě je popsat, např.
vlastní uživatelsképostřehy.
pro matice a vektory by bylo pro zvýšeníefektivity dobré mít dva druhy
aritmetických operací. Jedny, které vytvoří novou entitu a jedny, které
modifikují již existující, např. sečtení(c=a+b) a přičtení(a=a+b).
Místo dvou metod pro výpočet různých norem rezidua ve třídě ALES by bylo
výhodnější(flexibilrrější) použítjednu s předávaným lambda výrazem.
pro řídkématice by bylo vhodné mít vlastní speciální třídu, založenou na
vektoru (ušetření místa v paměti).
v části věnované numerickým experimentům postrádám podrobnější zhodnocení
efektivity implementace, např. vliv řádu matice a volby konkrétnínumerické
metody na volnou paměť počítače.
.
o
o
Autor se poměrně často opakuje, hlavně zdůrazňování aktuálnosti problematiky
a důraz na velké systémy rovnic.
poměrně volrrá/vágní mluva v některých částech textu.
Autor pouze některé vztahy uvede, anižby osvětlil základní myšlenku, viz např.
vztah2.24 avztab2.28.
Klady práce;
Práce představuje poměrně ucelený text věnovaný numerickému řešenílineárních
rovnic, který, včetně softwaru, by byl použitelný při výuce numerické matematiky (po
doplnění dokumentace ).
Otázky:
Proč bylo provedeno otestování na poměrně malých soustavách (řád matice 10^3)?
Má autor zkušenosti z chováním knihovny i pro většísystémy rovnic?
Závérz
Vzhledem k výše uvedenému nawhuji ohodnotit práci stupněm Q. ( dobře
V Děčínědne 31.8.
2011
)
Mgr. Petr Kubera
a,
,//uL-.-,\
Ceské vysoké učenítechnické v Praze
Fakulta jaderná a fyzlkálně inženýrská
posudek ononenta bakalářské nráce
Název práce:
Autor práce:
Návrh knihovny pro řešení soustav lineárních rovnic v prostředí .NET
Petr Michna
Obor:
Inženy,rská informatika
Zaměření: Softwarové inženýrswí v ekonomii
Vedoucí práce: Mgr. Petr Kubera
Oponent práce: RNDr. Jiří Škvor,Ph.D., odborný asistent KI PřF UJEP v Ústí nad Labem
Termín odevzdání: červenec 2011
Po přečtenípředloženébakalářské práce bych se nezdráhal hodnotit
ji
(s přihlédnutím
k formálním a věcným nedostatkům, které bych mohl specifikovat s uvedením konkrétních
příkladů) klasifikačnímstupněm dobře, Nesměl bych ovšem nahlédnout do přiložených
zdrojových kódů, jejichž vytvoření má být soudě dle názvu a tvrzení v textu (Úvod, Závér)
hlavním cílem a přínosem práce. V kódu implementujícím LU rozklad
(LUDecompositionSolver.cs) jsem narazii na použitíjiného algoritmu, než který je popsán
vteoretické části, načežjsem zjistil, že jádro tohoto kódu je identické s tím, který lze nalézt
v této publikaci (str. 257-258):
Waldemar Dos Passos, Numerical Methods, Algorithms and Tools in C# (CRC Press 2010).
Pouze texty výjimek jsou přeložené z angličtiny. Problém není v tom, Že autor
zakomponovává cizí zdrojové kódy do svých, ale že toto přejímání zamlčuje. I kdyby se cizím
zdrojoqfrn kódem pouze inspirovai (v tomto případě je ale fakticky převzal), musel by to
uvést. U zdrojových kódů implementujích moderní iteračnímetody nemohu (a ani nechci)
dokazovat, že jsou odněkud přejaté (uvedená publikace se jimi nezabývá), ale zároveň již
nemohu autoIovi dŮvěřovat, že tomu tak není. Ono neuvedení totiŽ nepovaŽuji za autolovo
opomenutí nebo přehlédnutí, ale za záměrné klamání (jednak jak bylo uvedeno, v kódu je
použit jiný algoritmus než v textu popsaný, a jednak existence podobných publikací poněkud
snižuje srnysl předložené práce, viz kap. 1 Popis současnésituace). Proto pokládám
předloženou bakalářskou práci v této podobě za neobhajitelnou, resp, hodnotím ji
klasifikačnímstupněm neclostatečně,
Autorovi doporučuji přepracování práce, které ani nemusí b;ft zvlášť radikáIní. Jedním
z kroků je zvýšení jazykové úrovně textu. Uvedu jeden příklad za všechny. Věta: ,,Budeme
zkoumat vliv zaplněnosti na rozměru matic zkoumané netody." se jednak v práci vyskytuje
v tomto znění dvakrát fiiné souvětí dokonce čtýikrát a obecně lze říci, Že se autor Často
nryšlenkově, nebo jak patrno i doslova opakuje) a jednak nedává smysl. Autor chtěI patrně
říci, že v práci bude zkoumat vliv rozměru matice soustavy a podílu jejích nenulových prvků
na ryc}rlost a přesnost řešení prostřednictvím studovaných metod. A právě v tomto bodě
(v testování a porovnávání různých metod) by měla práce posíIit (diskuse v kap. 4 je spíŠe
slabší). Tato změna hlavního cíle a předpokládaného přínosu práce by měla byt asi
nejdůležitějšímkrokem. Dalším krokem je zvýšení úrovně citování použitých zdrojů. Ncjcn
že není úplné,což se stalo v daném případě fatální pro celkové hodnocení práce, ale je často
i zmatečné.S tím souvisí i fakt, že kompilování informací z rizných zdrojů způsobuje, že se
práce jeví jazykově i věcně nekonzistentní (např. vzorec 2.6 vychází ze zadání 2.4 pouze za
předpokladu, že se přeznačívektor pravých stran b na nový poslední sloupec matice A).
V práci by bylo v}rodné dodefinovat některé použitépojmy (např. lineární nezávislost,
lineární obal, hlavní minor, varieta).
je zřejmě
autorův vlastní, neboť v práci |24), na kterou v příslušnéčásti autor odkazuje, se nevyskytuje.
Nechť tedy autor s pomocí onoho obrázku objasní problcmatiku, ke které se vztahuje.
K případné diskusi u obhajoby přikládám jedinou otázku resp. žádost. Obrázek
V Ústí nad Labem , dne 2BIB|2OII
'2.2
Jiří škvor
/ '''" '
./Jtí, ,)fr,,rr.
/i
,
Posudek vedoucího bakalářské práce
Název
práce:
Autor práce:
Vedoucí práce:
Škola,fakulta:
Studijníobor:
Katedra:
Návrh knihovny pro řešení soustav lineárních rovnic v prostředí
.NET
Petr Michna
RNDr. Petr Kubera, Ph.D.
Českévysoké učenítechnické
Fakulta j aderná a fyzikáIně inženýrská
Inženýrskáinformatika
Katedra softwarového inženýrstvív ekonomii
Práce se zabývá návrhem a vývojem knihovny pro řešení lineárních rovnic v
prostředí .NET. Text práce je rozdělen do čtyř kapitol a závětu,.
V první kapitole autor stručně popisuje v současnosti existujícíprodukty. Popis
je spíšeobecný a autor neuvádí praktické zkušenosti získanépoužitímpopisovaných
knihoven.
Druhá kapitola je věnována popisu metod pro řešenísoustav lineárních rovnic.
Autor popsal poměrně rozsáhlou část metod, obsahujícíjak metody elementární, tak i
pokročilémoderní metody, jako je např. metoda GMRES.
Třetí kapitola představuje vlastní návrh knihovny. Je zďe popsán jak objektový
model, tak některé autorovy přístupy k implementaci jednotlivých objektů.
v kapitole čtvrtéje ukázáno použitíknihovny. Autor se zde zabý,vá testováním a
zhodnocením knihovny. Je zďe prováděna na vybraných úlohách celá řada testů a je
i]ustrováno chování jednotlivých metod. Postrádám zde porovnánínavtženéknihovny s
již existujícímiprodukty.
Dílčínedostatky práce:
.
Rešeršníčást zabývajícíse popisem současnésituace je poměrně krátká. Autor
mohl otestovat některé volně dostupné knihovny a detailně je popsat, např.
vlastní uživatelsképostřehy, nebo porovnat se svojí knihovnou, aspoň v průniku
implementovaných metod.
o
poměrně volnďvágní mluva v některých částech textu.
.
Autor se často opakuje, hlavně zdírazíováníaktuálnosti problematiky a důraz
na velké systémy rovnic.
o v práci se objevuje celá řada drobných nepřesností např.:
o Autor zdůrazňaje, že přírr.émetody jsou přesné pouze v konečnéaritmetice
(str. 11), předpokládám, že chtěl říci opak.
Definice 8, by měla b;it větou.
Věta 6, přímo nesouvisí s textem, tj. nemusí být uvedena.
Co je největšívlastní vektor (kap. 2.3.2)?
"
"
o
" Autor
nespecifikuje požadavky kladené na matici A v části věnované
moderním iteračnímmetodám, např. druhý vztah na str. 24 neplatí pro
jednotkovou matici.
" U
"
vzta}::ů 2.22
a 2.23 chybí iteračníindex a není pak zcela zřejmé, jaký
bázoý vektor je počítán.
U vztahu2.24je použito órrmísto fuo
jďe
patrně o překlep.
o Autor v práci provádí výpočty nad řídkými maticemi, ačkoliv nejsou
implementovány.
o v části věnované numerickým
experimentům
postup použitý pro zjištění paměťové náročnosti.
by byIo žáďoucí specifikovat
Klady práce:
Práce představuje poměrně ucelený text věnovaný numerickému řešení lineárních
je pouŽitelný při výuce numerické matematiky. K tomuto účeluautor
vypracoval i dokumentaci.
rovnic,
Závér:
Vzhledem k výše uvedenému nawhuji ohodnotit práci stupněm C.
V Děčíněďne 1.2.2012
,l^
RNDr. Petr Kubera, Ph.D.
posudek oponenta bakalářské práce
Autor práce:
Návrh knihovny pro řešení soustav lineárních rovnic
v prostředí.NET
Petr Michna
Oponent práce:
Fakulta:
Termín o dev zdáni pr áce
Mgr. Květuše Sýkorová
Fakulta jademá afyzikálně inženlizrská,
|eden2012
Název práce:
Slovní hodnocení práce
:
ČVUt
:
PŤedložená bakalářská práce se zabývá problematikou řešenísoustav lineámích rovnic.
Jedná se o důležitou oblast numerické matematiky, se kterou se často setkáváme při řešení
rtrzných problémů(např. při řešení parciálních diferenciálních rovnic). Tyto soustavy rovnic
jsou typické řídkj/mi maticemi velkých rozměrů, pro které jsou přímémetody řešení
nevhodné.
Autor v první kapitole popisuje současnou situaci. Probírá zde dvě dostupné numerické
knihovny vhodné pro řešenísoustavy rovnic a poukazuje na obsaženénumerické metody.
Dalšíknihovny jsou uvedeny jen heslovitě.
V druhé kapitole se již autor podrobně věnuje jednotlivým numerickým metodám. Nejprve
definuje základni pojmy, poté jlž popisuje jednotlivé metody. Jako zástupce přímých metod
autor vybral Gaussol,u eliminačnímetodu a LU rozklad. Pro klasické iteračnímetody zvo|il
Jacobiovu, Gaussor,rr-Seide1o,urr a Richardsonovu metodu. Pro moderní iteračnímetody pak
Amoldiho a GMRES metodu. U každéz těchto metod autor uvádí odvození. Některé metody
jsou doplněny řešenými příklady, jiné podrobným postupem výpočtu.
Třetí kapitola je věnována návrhu a implementaci knihovny. Autor se věnuje především
vhodné volbě vnitřní struktury tříd Vector a Matrix. Tuto část by bylo vhodné rozšířitalespoň
o přehled jednotlivých řešičůpro popisované metody.
Ctvrtá kapitola pojednává o numerických experimentech s uvedenjrrni metodami na
soustavě úloh s Ňzně řídkými nebo hustjrrni maticemi větších rozměrů. Na jednotlivých
příkladech ukazuje rychlost a přesnost výpočtu zvolených metod. Nechytí zde ani zhodnocení
výsledků. Samotný popis programu je však příliš stručný, vysvětlený na jednom příkladu
s odkazem na dalšíukéaky přiloženéna CD.
Y závéru autor hodnotí dosaženévýsledky experimentů a porovnává je s výsledky
získanými z odborné literatury. Nechyůízde ani návrh na případné vylepšeníknihovny.
V příloze autor uvádí grafické zobrazeni výsledku vyóraných experimentů.
Otázky:
1. Jak je ošetřen případ Amoldiho metody, kdy v určitémiteračnímkroku
2.
hodnota
(str.26)?
případ
pro
koeficientu
znamená
0
Co tento
výpočet řešení?
Proč potřebuje metoda GMRES uchovávat v paměti všechny předchozí bázové
vektory v1,...,vla1?
hl+t; :
Dílčíhodnocení:
Splnění cílůpráce: A
Cíle práce byly splněny.
Autorský přínos:
B
Vlastním přínosem autora je vytvoření knihovny vybraných numerických metod určených
pro nalezení řešení soustavy lineámích rovnic.
Odborná stránka práce:
B
Práce je vlpracována přehledně, jednotlivé definice a metody jsou popsány jasně a
srozumitelně.Y závěrujsou uvedeny výsledky jednotlivých skupin experimentů.
Na některých místech se však objel,ují drobné nepřesnosti ve vzorcich (str. 12, 14, 19,25,
26 a27). Definice 8 (str. 13) označujetvrzení nebo větu. První odstavec kapitoly 2.2 (str.17)
popisuj e defi nici rezídua.
Formální stránka práce: B
Práceje přehledně rozčleněna do kapitol, vhodně doplněna obrázky, tabulkami a výpisy
kódu. Na některých místech se objelují drobné překlepy a nepřesná formulace vět. Najdeme i
odkazy na jiné tabulky (str. 30 a 31).
Využitízdrojů: A
Autor vpráci použivá značnémnožství informačníchzdrojů, které využivá v rozumné
míře a v textu se na ně odkazuje. Y závěrupráce pak najdeme jejich seznam.
celkové hodnocení:
Práce splňuje požaďavky kladené na bakalářskou práci. Práci celkově hodnotím stupněm
velmi dobře (B).
V Ústí nad Labem,
dne 3
LL.2OI2
4 r<--r
Mgr. KÍětuše Šýkorová

Podobné dokumenty

Exekuční příkaz

Exekuční příkaz ll. Soudní exekutor zakazuje povinnému 0eho manželce), aby po doručenítohoto exekučního příkazu nemovitosti oznaóené V bodu l. Výroku převedl na někoho jiného nebo je zatížil.

Více

Bc. Evy nŮŽtČxovE

Bc. Evy nŮŽtČxovE laboratoři LMARC Besangon. 'fyto zkoušky představují velmi cenný přínos k dlouholeté spolupráci Úr eV ČR s francouzským pracovištěm a studentka měla během svého pobyu příležitost detailně se seznám...

Více

če sxé vvsoxé uče ruí T€cHN tcxé - České vysoké učení technické v

če sxé vvsoxé uče ruí T€cHN tcxé - České vysoké učení technické v Za cenné považuji zvládnutí komplikované problematiky formulace dvoufázového problému § extremálními saturacemi pomocí globálního tlaku a použitímoderní smíšenéhybridní metody při návrhu numerickéh...

Více

PRUKAZ ENERGETICKE

PRUKAZ ENERGETICKE 2. Stavební konstrukce a jejich styky mají nejvýše viz projektová dokumentace dle vyhl. požadovaný součinitel prostupu tepla a činitel č. 49912006 Sb. - část B prostupu tepla.

Více

Privatizační projekt - SOS koupaliště Lhotka

Privatizační projekt - SOS koupaliště Lhotka k některým věcem na jiné právnické nebo fyzíckéosoby: NE'JsoU pŘnoMĚreM PRTVAT]ZACE

Více

Přejít na produkt FISHBACKING

Přejít na produkt FISHBACKING Vegetační sezóna začala v dubnu standardním nástupem rozsivkového období, voda v nádrži Měla hnědý vegetační zákal. Začátkem měsíce května začaly v nádrži převládat zelené řasy. Během následujícího...

Více

Scan - Augustin

Scan - Augustin ještě vyšší.PŤímo pro Univerzitu Hradec Králové se budejednat o 5B9 milionů a celkově projekty,

Více

/:7"

/:7" rentgenovou fluorescenční mikro ana|ýzu na KDAIZ FJFI ČVUT v Praze. Mimo jiného jsou zde uvedeny výsledky měření šířky svazku, resp. laterální rozlišovacíschopnosti aparatury.

Více

zde. - TJ Slavoj Husinec

zde. - TJ Slavoj Husinec se střílelo na dolejšíbránu, která byla hned za tehdejší ,,pastouškou" fdnes již zbouranou], tetjt míčněkdy az tr uuaově dnešníhoMNV. Po získání louky u rybníka místníSokolem, bylo započato s kopan...

Více