Knihovna pro matematické výpočty v jazyce C++

but.committeedoc. Ing. Ludvík Koval, Ph.D. (předseda) doc. Ing. Petr Blaha, Ph.D. (místopředseda) doc. Ing. Ludvík Bejček, CSc. (člen) Ing. Pavel Kučera, Ph.D. (člen) Ing. Soběslav Valach (člen)cs
but.defenceStudent obhájil bakalářskou práci.cs
but.jazykčeština (Czech)
but.programElektrotechnika, elektronika, komunikační a řídicí technikacs
but.resultpráce byla úspěšně obhájenacs
dc.contributor.advisorPetyovský, Petrcs
dc.contributor.authorTemel, Alešcs
dc.contributor.refereeMacho, Tomášcs
dc.date.accessioned2019-04-03T22:52:54Z
dc.date.available2019-04-03T22:52:54Z
dc.date.created2012cs
dc.description.abstractVe své bakalářské práci vytvářím knihovnu pro uchování matic a práci s maticemi. V tomto případě je problematika zaměřena hlavně na tzv. řídké matice. Jazyk C++ nenabízí mezi standardními knihovnami nástroje pro jednoduchou práci s řídkými maticemi. Nejčastější alternativou bývá použití dvourozměrného pole, tzv. 2D pole. 2D pole může být realizováno jako dvojitý ukazatel reprezentující řádky a sloupce matice. Základním problémem je fakt, že 2D pole se chová stejně k řídkému, tak i plnému nenulovému poli. Nezohledňuje se možnost uložit pole výhodněji. Mnou navržená knihovna pro uchování řídkých matic tento problém zohledňuje více různými způsoby. Nabízí nejen úsporný formát CSR (Compressed sparse rows), ale i alternativy pro uložení speciálně strukturovaných matic. Při tvorbě knihovny jsem kladl důraz především na velikost paměti, která bude potřeba na uložení objektu. Protože se jedná o matematickou knihovnu, tak obsahuje různé funkce vhodné pro práci s maticemi, jako výpočet determinantu, výpočet inverzní matice a podobně. Při výpočtech těchto funkcí se zohledňuje také velikost využité paměti, proto jsou i matice pro výpočty subdeterminantů ukládány do řídkých formátů a mezivýsledky jsou rovněž odstraňovány co nejdříve po jejich využití. Byla vytvořena také druhá knihovna, která se zabývá čísly uloženými s větší přesností než jsou standardní datové typy. Velikost potřebné paměti se zvyšuje se zvětšující se přesností čísla s pohyblivou řádovou čárkou.cs
dc.description.abstractI create a library for storing matrices and working with matrices in this bachelor’s thesis. In this case, the issues concern mainly so-called sparse matrices. C++ do not provide among the standard libraries tools for easy working with sparse matrices. The most frequent alternative is the application of two-dimensional array (2D array). 2D array may be realized as a double pointer representing the rows and the columns of the matrix. The basic problem is that behavior of 2D array is identical both to the sparse, and to the full non-zero matrix. 2D array ignores the possibility to store matrices more favorable. The library for storing matrices designed by me takes into account the storing of sparse matrices by several different ways. It offers the sparse format CSR (Compressed sparse rows), as well as alternatives to save the specially structured matrices. In the course of creating library the main emphasis first of all I put on the amount of memory that is necessary for storing matrices. Because it is a mathematical library, it contains different functions suitable for working with matrices, such as determinant calculation, inverse matrix calculation and so. When calculate these functions it is necessary to take into account used memory size as well. Intermediate results are stored also in sparse format, and removed as soon as possible after their use. I created also the second library that deals with the floating point numbers stored with greater precision than standard data types like float and double. The size of occupied memory increases according to precision of floating point number.en
dc.description.markDcs
dc.identifier.citationTEMEL, A. Knihovna pro matematické výpočty v jazyce C++ [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2012.cs
dc.identifier.other52456cs
dc.identifier.urihttp://hdl.handle.net/11012/17305
dc.language.isocscs
dc.publisherVysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologiícs
dc.rightsStandardní licenční smlouva - přístup k plnému textu bez omezenícs
dc.subjectmaticecs
dc.subjectšablonacs
dc.subjectknihovnacs
dc.subjectmatematické funkcecs
dc.subjectpohyblivá řádová desetinná čárkacs
dc.subjectpaměťcs
dc.subjectC++cs
dc.subjectmatrixen
dc.subjecttemplateen
dc.subjectlibraryen
dc.subjectmathematical functionsen
dc.subjectfloating pointen
dc.subjectmemoryen
dc.subjectC++en
dc.titleKnihovna pro matematické výpočty v jazyce C++cs
dc.title.alternativeEnhanced mathematical library for C++en
dc.typeTextcs
dc.type.driverbachelorThesisen
dc.type.evskpbakalářská prácecs
dcterms.dateAccepted2012-06-13cs
dcterms.modified2012-06-14-08:48:42cs
eprints.affiliatedInstitution.facultyFakulta elektrotechniky a komunikačních technologiícs
sync.item.dbid52456en
sync.item.dbtypeZPen
sync.item.insts2021.11.12 17:57:58en
sync.item.modts2021.11.12 17:01:39en
thesis.disciplineAutomatizační a měřicí technikacs
thesis.grantorVysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. Ústav automatizace a měřicí technikycs
thesis.levelBakalářskýcs
thesis.nameBc.cs
Files
Original bundle
Now showing 1 - 3 of 3
Loading...
Thumbnail Image
Name:
final-thesis.pdf
Size:
2.99 MB
Format:
Adobe Portable Document Format
Description:
final-thesis.pdf
Loading...
Thumbnail Image
Name:
appendix-1.zip
Size:
969.88 KB
Format:
zip
Description:
appendix-1.zip
Loading...
Thumbnail Image
Name:
review_52456.html
Size:
6.52 KB
Format:
Hypertext Markup Language
Description:
review_52456.html
Collections