Eigen 1.0.5
Sponsored Links
Eigen 1.0.5 Ranking & Summary
File size:
0.058 MB
Platform:
Any Platform
License:
GPL (GNU General Public License)
Price:
Downloads:
874
Date added:
2007-06-05
Publisher:
Benoit Jacob
Eigen 1.0.5 description
Eigen project is a lightweight C++ template library for vector and matrix math, a.k.a. linear algebra.
Unlike most other linear algebra libraries, Eigen focuses on the simple mathematical needs of applications: games and other OpenGL apps, spreadsheets and other office apps, etc. Eigen is dedicated to providing optimal speed with GCC.
- Its fixed-size classes are specially optimized for small sizes up to 4, although it is theoretically possible to specialize them to any size. They never cause dynamic memory applications and the simple operations on them are as fast as is possible at least for sizes up to 4 (see below).
- Its dynamic-size classes are more flexible and suitable for larger sizes.
Main features:
- No dependency. Only relies on the C++ Standard Library, and only does so for a few things.
- As a consequence: very good portability.
- Very good performance (tested with GCC, should apply to other compilers as well):
- The fixed-size classes are optimal in the sense that theyre just plain C arrays with methods manipulating them. They never cause dynamic memory allocations. Checked with valgrind.
- The assembly code generated by GCC has been carefully checked to make sure that loop unrolling and function inlining work as expected with "g++ -O2" and "g++ -O3".
- For the loops that GCC fails to unroll (mostly nested loops), we provide hand-unrolled versions for sizes up to 4.
- There is no "virtual" keyword in Eigen.
- Eigen never trades performance for syntactic sugar. When some method introduces a significant language overhead (e.g. returns an object by value), we provide an alternative method doing the same thing faster but without the syntactic sugar.
- Provides easy-to-use classes for solving systems of linear equations.
- Provides easy-to-use functions for linear regression analysis.
- Can perform LU decompositions and use them to invert matrices, compute rank, kernel, etc.
- Integrates nicely with OpenGL:
- Provides functions and classes for projective geometry.
- Stores matrices in column-dominant order, hence matrices can be directly passed between OpenGL and Eigen.
- Uses an OpenGL-like typedef naming scheme, for instance Vector3f for vectors of floats of size 3.
- Robust:
- Only uses algorithms that are guaranteed to work in all cases. For example, the LU decomposition is done with complete pivoting, which means that it works for all square matrices, even singular ones.
- Covered by extensive unit-tests.
- Thread-safe, though thats only as a consequence of staying simple and not trying to do advanced stuff like buffer sharing.
- Floating-point-correct. Eigen has a clear, simple and sound policy with respect to the inherent problems of IEEE754 floating-point arithmetic.
- Fully supports std::complex for matrices and vectors over the complex numbers.
- Is a pure template library and consists only of header files. Thus, using Eigen will only add a build-time dependency to your project.
- Uses standard asserts, controlled as usual by NDEBUG. To achieve optimal performance, turn them off by defining NDEBUG, e.g.
Enhancements:
- This release supports fixed-size classes that are optimized for small sizes of up to four dimensions for 3D geometry and OpenGL.
- Dynamic classes are more flexible and suitable for larger data.
Unlike most other linear algebra libraries, Eigen focuses on the simple mathematical needs of applications: games and other OpenGL apps, spreadsheets and other office apps, etc. Eigen is dedicated to providing optimal speed with GCC.
- Its fixed-size classes are specially optimized for small sizes up to 4, although it is theoretically possible to specialize them to any size. They never cause dynamic memory applications and the simple operations on them are as fast as is possible at least for sizes up to 4 (see below).
- Its dynamic-size classes are more flexible and suitable for larger sizes.
Main features:
- No dependency. Only relies on the C++ Standard Library, and only does so for a few things.
- As a consequence: very good portability.
- Very good performance (tested with GCC, should apply to other compilers as well):
- The fixed-size classes are optimal in the sense that theyre just plain C arrays with methods manipulating them. They never cause dynamic memory allocations. Checked with valgrind.
- The assembly code generated by GCC has been carefully checked to make sure that loop unrolling and function inlining work as expected with "g++ -O2" and "g++ -O3".
- For the loops that GCC fails to unroll (mostly nested loops), we provide hand-unrolled versions for sizes up to 4.
- There is no "virtual" keyword in Eigen.
- Eigen never trades performance for syntactic sugar. When some method introduces a significant language overhead (e.g. returns an object by value), we provide an alternative method doing the same thing faster but without the syntactic sugar.
- Provides easy-to-use classes for solving systems of linear equations.
- Provides easy-to-use functions for linear regression analysis.
- Can perform LU decompositions and use them to invert matrices, compute rank, kernel, etc.
- Integrates nicely with OpenGL:
- Provides functions and classes for projective geometry.
- Stores matrices in column-dominant order, hence matrices can be directly passed between OpenGL and Eigen.
- Uses an OpenGL-like typedef naming scheme, for instance Vector3f for vectors of floats of size 3.
- Robust:
- Only uses algorithms that are guaranteed to work in all cases. For example, the LU decomposition is done with complete pivoting, which means that it works for all square matrices, even singular ones.
- Covered by extensive unit-tests.
- Thread-safe, though thats only as a consequence of staying simple and not trying to do advanced stuff like buffer sharing.
- Floating-point-correct. Eigen has a clear, simple and sound policy with respect to the inherent problems of IEEE754 floating-point arithmetic.
- Fully supports std::complex for matrices and vectors over the complex numbers.
- Is a pure template library and consists only of header files. Thus, using Eigen will only add a build-time dependency to your project.
- Uses standard asserts, controlled as usual by NDEBUG. To achieve optimal performance, turn them off by defining NDEBUG, e.g.
Enhancements:
- This release supports fixed-size classes that are optimized for small sizes of up to four dimensions for 3D geometry and OpenGL.
- Dynamic classes are more flexible and suitable for larger data.
Eigen 1.0.5 Screenshot
Eigen 1.0.5 Keywords
OpenGL
GCC
Eigen 1.0.5
c++ template library
template library
up to
matrix math
linear algebra
For Vector
C++ template
Eigen
classes
linear
library
C++
matrices
Bookmark Eigen 1.0.5
Eigen 1.0.5 Copyright
WareSeeker periodically updates pricing and software information of Eigen 1.0.5 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of Eigen 1.0.5 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
linear algebra mit
c template
eigen huis en tuin
standard template library
ira eigenmann
c templates
eigene dateien
template library c++
eigenvalue
linear algebra calculator
up to date news
c++ template partial specialization
c v templates
eigenvectors
eigenvector
classes online
linear lighting
active template library
Related Software
Libgenerics is a c++ library that provides object services to analyze class type. Free Download
libopt++ is a C++ library intended to be a replacement for the venerable GNU getopt. Free Download
ChMagick is a Ch binding to the ImageMagick C library. Free Download
dclog is a logging library for C and C++. Free Download
dimnum is a C++ template library for dimensional numbers. Free Download
high-resolution-timer is a library with Java and C++ wrappers to implement high resolution timers. Free Download
c-ares is a C library that resolves names asynchronously. Free Download
aedGUI is a cross-platform C++ GUI library that works with SDL. Free Download
Latest Software
Popular Software
Favourite Software