Benoît Jacob ([info]bjacob) wrote,
@ 2006-12-30 21:23:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Entry tags:eigen

Eigen 1.0
Eigen 1.0 is released! This project started in July when we (that is, a handful of KDE developers) realized that we had a common need for some math functionality that no library out there seemed to cover reasonably. Sure, there are many linear algebra libraries, but they are either too small/amateurish, or too big/professional and focusing on heavy scientific stuff that we don't need. People objected (rightly) that adding a big dependency would be frowned upon by distro maintainers. So we decided to start our own linear algebra library, Eigen.

5 monthes later, it's there. If you're looking for a lightweight library for vectors, matrices and related math stuff, please give it a try. We have fixedsize classes, as in "float v[SIZE];" and they're very fast and specially optimized for low sizes (<=4). We also have dynamic-size classes, which can be useful if you're developing e.g. a spreadsheet and want to be able to solve any system of arbitrarily many linear equations. And we have special classes for projective geometry, which can be useful in OpenGL apps, as was demonstrated in my previous entry.

By the way, and Eigen is very fast with GCC, whereas some other linear algebra libraries will tell you to use the intel compiler instead. The issue here is that GCC has problems with loop unrolling. In particular, GCC often fails to unroll nested for loops, which is annoying e.g. for matrix product, see this bug report. In Eigen, this problem is worked around by manually unrolling loops in fixed-sizes up to 4 (which are the cases where loop unrolling is wanted).



(Post a new comment)

Sparse matrices/vectors?
(Anonymous)
2007-01-01 06:04 pm UTC (link)
Are Eigen's matrices/vectors sparse or dense matrices/vectors?

(Reply to this)(Thread)

Re: Sparse matrices/vectors?
[info]bjacob
2007-01-01 06:17 pm UTC (link)
matrices/vectors are represented as arrays, so I guess the answer is "dense". In my (limited) understanding, sparse matrices/vectors are useful to handle very large matrices and vectors in heavy scientific computations. This is not the purpose of Eigen, and if you are interested in that, I think you need a more heavyweight library like MTL, GSL, Blitz++, etc. Eigen's purpose is to cover the simple needs of non-scientific apps: games, office apps, etc.

(Reply to this)(Parent)(Thread)

Re: Sparse matrices/vectors?
[info]bjacob
2007-01-03 02:26 pm UTC (link)
Actually, this might change. Other people asked for sparse matrices in Eigen, so we might eventually add that, possibly as a separate library, e.g. eigen-sparse. Nothing is decided yet.

(Reply to this)(Parent)

lib2geom
(Anonymous)
2007-01-02 10:42 am UTC (link)
I'm not a developer so everything I now write my be wrong, but doesn't the lib2geom[1] has the same goals then Eigen?

http://lib2geom.sourceforge.net/

(Reply to this)(Thread)

Re: lib2geom
[info]bjacob
2007-01-02 10:56 am UTC (link)
Nope, reading their website, it seems that lib2geom is a very different thing. The intersection between lib2geom and Eigen is small.

(Reply to this)(Parent)

waras forever!!!
(Anonymous)
2007-01-13 06:46 pm UTC (link)
warcraft
http://www.aboconsulting.com/pics/world-of-warcraft-us/

(Reply to this)

100 tips how to choose vacuum cleaner bag
(Anonymous)
2007-04-16 06:28 am UTC (link)
Hi all!

How you buying [url=http://www.iwannaforum.com/vacuumbags/]vacuum cleaner bag[/url]s?

Cheers :)

(Reply to this)


Create an Account
Forgot your login?
Login w/ OpenID
English • Español • Deutsch • Русский…