Benoit Jacob
3614321401
* add Gael a (c) line in IO.h
...
* let user change default format by defining EIGEN_DEFAULT_IO_FORMAT
* improve docs a little
2008-11-17 12:45:57 +00:00
Gael Guennebaud
139529e97b
* add .imag() function
...
* fix a very old bug in EigenSolver that I had completely forgotten
(thanks to Timothy to refresh my mind)
* fix doc of Matrix::Map
2008-11-14 09:55:25 +00:00
Laurent Montel
2a4fdf31c8
Remove executable attribute
2008-11-04 08:24:27 +00:00
Benoit Jacob
033ac82c9d
refinements in Matrix doc
2008-11-03 23:41:33 +00:00
Benoit Jacob
12f84acda6
Matrix documentation rework
2008-11-03 23:27:29 +00:00
Benoit Jacob
e80099932a
add lpNorm<p>() method to MatrixBase, implemented in Array module, with
...
specializations for cases p=1,2,Eigen::Infinity.
2008-11-03 22:47:00 +00:00
Benoit Jacob
a0ec0fca5a
Add Matrix::Map() and Matrix::AlignedMap() static methods
2008-11-03 21:49:03 +00:00
Benoit Jacob
3d90c13970
norm2() renamed to squaredNorm(), kept as deprecated for now.
2008-11-03 19:14:17 +00:00
Gael Guennebaud
3f580e240e
add Eigen namespace in front of Transpose (I needed that to add a Transpose function, sorry for this little inconvenience)
2008-10-30 00:59:37 +00:00
Gael Guennebaud
ebe14aae7d
add transposeInPlace (not optimized yet for rectangular matrix)
2008-10-29 15:24:08 +00:00
Gael Guennebaud
48137e28d8
add the possibility to extend Matrix outside Eigen, just like MatrixBase
2008-10-28 12:18:00 +00:00
Gael Guennebaud
3e502abfda
add Eigen namespace in EIGEN_STATIC_ASSERT
2008-10-27 18:09:37 +00:00
Gael Guennebaud
b26e04f40b
add Eigen namespace in EIGEN_INHERIT_ASSIGNMENT_OPERATOR
2008-10-27 13:26:18 +00:00
Gael Guennebaud
e5b8a59cfa
Add smart cast functions and ctor with scalar conversion (explicit)
...
to all classes of the Geometry module. By smart I mean that if current
type == new type, then it returns a const reference to *this => zero overhead
2008-10-25 22:38:22 +00:00
Gael Guennebaud
568a7e8eba
improve assertion checking in product
2008-10-25 11:52:13 +00:00
Gael Guennebaud
8ea8b481de
As discussed on ML:
...
* remove the automatic resizing feature of operator =
* add function Matrix::set() to be used when the previous
behavior is wanted
* the default constructor of dynamic-size matrices now
creates a "null" matrix (data=0, rows = cols = 0)
instead of a 1x1 matrix
* fix UnixX typos ;)
2008-10-24 21:42:03 +00:00
Gael Guennebaud
65abb4c52e
compilation fix for ICC
2008-10-21 15:43:25 +00:00
Gael Guennebaud
28d32f9bd8
add my copyright in MatrixBase.h
2008-10-13 16:09:16 +00:00
Gael Guennebaud
765219aa51
Big API change in Cholesky module:
...
* rename Cholesky to LLT
* rename CholeskyWithoutSquareRoot to LDLT
* rename MatrixBase::cholesky() to llt()
* rename MatrixBase::choleskyNoSqrt() to ldlt()
* make {LLT,LDLT}::solve() API consistent with other modules
Note that we are going to keep a source compatibility untill the next beta release.
E.g., the "old" Cholesky* classes, etc are still available for some time.
To be clear, Eigen beta2 should be (hopefully) source compatible with beta1,
and so beta2 will contain all the deprecated API of beta1. Those features marked
as deprecated will be removed in beta3 (or in the final 2.0 if there is no beta 3 !).
Also includes various updated in sparse Cholesky.
2008-10-13 15:53:27 +00:00
Gael Guennebaud
e2bd8623f8
Solve the issue found by Timothy in solveTriangular:
...
=> row-major rhs are now evaluated to a column-major
temporary before the computations.
Add solveInPlace in Cholesky*
2008-10-13 13:14:43 +00:00
Scott Wheeler
537a0e0a52
fix typos
2008-10-12 16:09:12 +00:00
Scott Wheeler
e80d6a95d9
note that norm2() is *not* an l2 norm as it is in other APIs
2008-10-11 21:01:59 +00:00
Scott Wheeler
b46c327133
Clear up the docs some. I'd also suggest making Dynamic the default template parameter for matrices.
2008-10-11 08:43:18 +00:00
Benoit Jacob
247f2b0ffa
* block() for vectors ---> segment()
...
* documentation improvements, especially in quickstart guide
2008-09-15 15:45:41 +00:00
Gael Guennebaud
db030d4e28
* fix issues with "long double" type (useful to enforce the use of x87 registers)
...
* extend the documentation on "extending Eigen"
2008-09-14 11:59:10 +00:00
Gael Guennebaud
8473a77f2f
move CommaInitializer out of MatrixBase and documment it (because of .finished())
2008-09-13 18:51:51 +00:00
Gael Guennebaud
703539110b
add the missing templated version of block for sub-vectors
2008-09-09 09:30:23 +00:00
Gael Guennebaud
c41ceee750
2 typos
2008-09-08 17:08:27 +00:00
Gael Guennebaud
12e9de4abb
fix stupid numerical stability issue in SVD::solve (though it is not yet as stable as LU with full pivoting)
2008-09-04 14:38:42 +00:00
Benoit Jacob
6add33e2c2
fix warning
2008-09-04 01:35:39 +00:00
Gael Guennebaud
c29c7b0ea9
Fix bugs reported by Timothy Hunter:
...
* CholeskyWithoutSqrt with 1x1 matrices
* .part<Diagonal>()
Updated unit tests to handle these cases
2008-09-03 20:52:26 +00:00
Gael Guennebaud
e14aa8c8aa
Add coeff-wise comparisons to scalar operators. You can now write:
...
mat.cwise() < 2
instead of:
mat.cwise() < MatrixType::Constant(mat.rows(), mat.cols(), 2)
2008-09-03 17:56:06 +00:00
Gael Guennebaud
59dc1da5bf
Add a Select expression in the Array module which mimics a coeff-wise ?: operator.
...
Example:
mat = (mat.cwise().abs().cwise() < Ones()).select(0,mat);
replaces all small values by 0. (the scalar version is "s = abs(s)<1 ? 0 : s")
2008-09-03 17:16:28 +00:00
Gael Guennebaud
3bbd1b3114
Bugfix regarding alignent in Assign.h (updated map unit test to detect this bug)
...
Anyway: LinearVectorization+CompleteUnrolling actually uses the InnerVectorization
unrollers, so these two cases could be merged to a single one...
2008-09-03 14:42:36 +00:00
Gael Guennebaud
75649551c2
compilation fixes with MSVC
2008-09-03 11:26:19 +00:00
Gael Guennebaud
f52d119b9c
Solve a big issue with data alignment and dynamic allocation:
...
* add a WithAlignedOperatorNew class with overloaded operator new
* make Matrix (and Quaternion, Transform, Hyperplane, etc.) use it
if needed such that "*(new Vector4) = xpr" does not failed anymore.
* Please: make sure your classes having fixed size Eigen's vector
or matrice attributes inherit WithAlignedOperatorNew
* add a ei_new_allocator STL memory allocator to use with STL containers.
This allocator really calls operator new on your types (unlike GCC's
new_allocator). Example:
std::vector<Vector4f> data(10);
will segfault if the vectorization is enabled, instead use:
std::vector<Vector4f,ei_new_allocator<Vector4f> > data(10);
NOTE: you only have to worry if you deal with fixed-size matrix types
with "sizeof(matrix_type)%16==0"...
2008-09-03 00:32:56 +00:00
Gael Guennebaud
d8df318d77
resurrected sparse triangular solver
2008-09-02 19:55:26 +00:00
Daniel Gomez Ferro
8fb1678f0f
Extended sparse unit-test: nested blocks and InnerIterators.
...
Block specialization for sparse matrices.
InnerIterators for Blocks and fixes in CoreIterators.
2008-09-02 15:28:49 +00:00
Benoit Jacob
46fe7a3d9e
if EIGEN_NICE_RANDOM is defined, the random functions will return numbers with
...
few bits left of the comma and for floating-point types will never return zero.
This replaces the custom functions in test/main.h, so one does not anymore need
to think about that when writing tests.
2008-09-01 17:31:21 +00:00
Gael Guennebaud
7e8aa63bb7
* Add Hyperplane::transform(Matrix/Transform)
...
* Fix compilations with gcc 3.4, ICC and doxygen
* Fix krazy directives (hopefully)
2008-08-31 13:32:29 +00:00
Benoit Jacob
5c34d8e20a
The discussed changes to Hyperplane, the ParametrizedLine class, and the
...
API update in Regression...
2008-08-31 04:25:30 +00:00
Gael Guennebaud
9c450a52a2
Split Rotation.h to Rotation2D.h and RotationBase.h,
...
and more code factorization based on RotationBase.
Added notes about the main aim of the Translation and Scaling classes.
2008-08-30 21:36:04 +00:00
Gael Guennebaud
9e7a9cde14
Add Scaling and Translation class as discussed on ML, still missing:
...
* handling Quaternion, AngleAxis and Rotation2D, 2 options here:
1- make all of them inheriting a common base class Rotation such that we can
have a single version of operator* for all the rotation type (they all get converted to a matrix)
2- write a version for all type (so 3 rotations types * 3 for Transform,Translation and Scaling)
* real documentation
2008-08-30 00:08:23 +00:00
Gael Guennebaud
409e82be06
doc and use sed to clean the class hierarchy instead of
...
preprocessor directives.
2008-08-28 23:25:27 +00:00
Gael Guennebaud
7ea821d18e
spelling + some krazy directives
2008-08-28 21:44:56 +00:00
Gael Guennebaud
3ced3f91c2
* temporarily remove doxygen customization, we'll see if that fix api.kde.org
...
but I no hope, that would be too simple !
* added Rotation2D typedefs
* remove CoreDeclarations header file
2008-08-28 15:28:23 +00:00
Gael Guennebaud
70266b4d05
doc + quick bug fix in Matrix ctor
2008-08-28 00:33:58 +00:00
Benoit Jacob
f7de12de69
Missing inline keywords in AltiVec/PacketMath were making Avogadro fail
...
to compile (duplicate symbols).
2008-08-27 20:06:15 +00:00
Benoit Jacob
a0cfe6ebdc
remove double ;
2008-08-27 02:58:04 +00:00
Benoit Jacob
12c6b45ae5
replace vector by __vector to prevent conflict with std::vector
2008-08-26 23:25:10 +00:00