Este trabalho descreve a Klein, uma biblioteca genérica para álgebra linear em C++. A Klein facilita o uso de matrizes e vetores, permitindo que o usuário programe de modo similar ao Matlab. Com ela podemos, por exemplo, implementar um passo do método de Newton para a função f, através da expressão x = x - inv(jac(x)) * f(x), onde x é o vetor, jac a Jacobiana e inv a inversa. Além disso, por se tratar de uma biblioteca genérica, os tipos envolvidos nestas expressões podem ser escolhidos pelo programador. O trabalho também discute como a biblioteca é testada, tanto do ponto de vista de corretude quanto de desempenho. / We describe the Klein library, a generic libray for linear algebra in C++. It simplifies the use of vectors and matrices and let the user program as in Matlab. With Klein, one can for instance implement Newton\'s method as x = x - inv(jac(x)) * f(x), where x is a vector, jac is the Jacobian matrix, inv is the inverse operator and f(x) is the function of which we want to find zero. Moreover, Klein is generic in the sense that it allows the use of arbitrary types of scalars (float, double, intervals, rationals, etc). We also explain how it is tested, both for correctness and performance.
Identifer | oai:union.ndltd.org:IBICT/oai:teses.usp.br:tde-21012015-105251 |
Date | 12 December 2014 |
Creators | Rafael Freitas Schmid |
Contributors | Walter Figueiredo Mascarenhas, Marco Dimas Gubitoso, Paulo José da Silva e Silva |
Publisher | Universidade de São Paulo, Ciência da Computação, USP, BR |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | English |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Source | reponame:Biblioteca Digital de Teses e Dissertações da USP, instname:Universidade de São Paulo, instacron:USP |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0027 seconds