Show simple item record

Enhanced mathematical library for C++

dc.contributor.advisorPetyovský, Petrcs
dc.contributor.authorTemel, Alešcs
dc.date.accessioned2019-04-03T22:52:54Z
dc.date.available2019-04-03T22:52:54Z
dc.date.created2012cs
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.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.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
dcterms.dateAccepted2012-06-13cs
dcterms.modified2012-06-14-08:48:42cs
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
sync.item.dbid52456en
sync.item.dbtypeZPen
sync.item.insts2020.03.31 21:13:30en
sync.item.modts2020.03.31 18:36:37en
eprints.affiliatedInstitution.facultyFakulta elektrotechniky a komunikačních technologiícs
dc.contributor.refereeMacho, Tomášcs
dc.description.markDcs
dc.type.driverbachelorThesisen
dc.type.evskpbakalářská prácecs
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.resultpráce byla úspěšně obhájenacs
but.programElektrotechnika, elektronika, komunikační a řídicí technikacs
but.jazykčeština (Czech)


Files in this item

Thumbnail
Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record