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:usp.br/oai:teses.usp.br:tde-21012015-105251 |
Date | 12 December 2014 |
Creators | Schmid, Rafael Freitas |
Contributors | Mascarenhas, Walter Figueiredo |
Publisher | Biblioteca Digitais de Teses e Dissertações da USP |
Source Sets | Universidade de São Paulo |
Language | Portuguese |
Detected Language | English |
Type | Dissertação de Mestrado |
Format | application/pdf |
Rights | Liberar o conteúdo para acesso público. |
Page generated in 0.0024 seconds