Jitse Niesen
ef0ed5b271
test/triangular.cpp: isUpper() --> isUpperTriangular()
...
Necessary to get the test to compile after c5d7c9f0de
.
I'm assuming that isUpperTriangular() is the name we want; the alternative
is to change Eigen/src/Core/{MatrixBase,TriangularMatrix}.h
2010-01-08 12:46:24 +00:00
Benoit Jacob
0fb0307377
implement BandMatrix::evalTo (thus avoid infinite recursion when assigning a BandMatrix to a Matrix)
2010-01-07 22:08:18 -05:00
Benoit Jacob
b05f59ee07
Backed out changeset 58fb27cd56
2010-01-07 22:00:45 -05:00
Benoit Jacob
58fb27cd56
undo
2010-01-07 21:53:52 -05:00
Benoit Jacob
7befc8d6f3
undo my last commit
2010-01-07 21:51:40 -05:00
Trevor Irons
5f0cf1d7f6
Added std::sqrt(std::complex<float>) and std::sqrt(std::complex<double>) support to MathFunctions.h
2010-01-07 15:03:51 -07:00
Gael Guennebaud
c5d7c9f0de
remove the Triangular suffix to Upper, Lower, UnitLower, etc,
...
and remove the respective bit flags
2010-01-07 21:15:32 +01:00
Benoit Jacob
82ec250a0f
make applyHouseholderOnTheRight take a row vector, not a column vector:
...
this is how it's used in practice.
2010-01-07 12:50:02 -05:00
Gael Guennebaud
7d3fe69eff
Various documentation updates:
...
- update the tutorial
- update doc of deprecated cwise function
- update cwise doc snippets
2010-01-06 17:18:38 +01:00
Gael Guennebaud
c11300dbd5
a couple of fixes
2010-01-06 17:16:30 +01:00
Benoit Jacob
e77748ef96
merge
2010-01-06 08:24:42 -05:00
Benoit Jacob
f287ad651a
fix comments
2010-01-06 08:23:19 -05:00
Gael Guennebaud
023e0dfb4e
improve the new experimental sparse product
2010-01-05 19:56:59 +01:00
Gael Guennebaud
eda4e98c61
merge
2010-01-05 16:04:36 +01:00
Gael Guennebaud
d8534be728
add a novel, experimental sparse product
2010-01-05 15:57:16 +01:00
Gael Guennebaud
1837b65b28
add operators *= and /= (bis)
2010-01-05 15:41:01 +01:00
Gael Guennebaud
cab85218db
add missing operators: /, /=, *=
2010-01-05 15:36:32 +01:00
Gael Guennebaud
3e22e3907f
fix types of scalar constants
2010-01-05 15:35:44 +01:00
Gael Guennebaud
97f0f02e10
forgot to hg add this file
2010-01-05 14:36:55 +01:00
Gael Guennebaud
9d9e00b608
merge and add start/end to Eigen2Support
2010-01-05 13:07:32 +01:00
Gael Guennebaud
90d2ae7fec
fix aliasing detection
2010-01-05 12:46:07 +01:00
Gael Guennebaud
37851cfe11
fix a coupe of warnings
2010-01-05 10:15:29 +01:00
Benoit Jacob
39ac57fa6d
Big renaming:
...
start ---> head
end ---> tail
Much frustration with sed syntax. Need to learn perl some day.
2010-01-04 21:24:43 -05:00
Thomas Capricelli
57275b2b8c
make some changes to please clang, fix some warnings too.
2010-01-04 23:21:04 +01:00
Gael Guennebaud
71a171c267
s/asMatrix()/matrix()
2010-01-04 19:13:08 +01:00
Gael Guennebaud
8eab9fb87e
port VectorwiseOp and Swap to the novel mechanisms, and various cleanning
2010-01-04 19:00:16 +01:00
Gael Guennebaud
826bff58c6
Fix #69 for the second time, and add the respective regression test
2010-01-04 17:36:26 +01:00
Benoit Jacob
80d1f9e966
remove debug output. sorry!
2010-01-02 18:01:39 -05:00
Benoit Jacob
ff94eaa4ae
clarify docs as requested on forum
2010-01-02 12:55:32 -05:00
Benoit Jacob
25f8adfa6c
* Fix bug #79 : ei_alignmentOffset was assuming that ptr is multiple of
...
sizeof(Scalar), and that assumption breaks with double on linux x86-32.
* Rename ei_alignmentOffset to ei_first_aligned
* Rewrite its documentation and part of its body
* The variant taking a MatrixBase doesn't need a separate size argument.
2010-01-02 12:38:16 -05:00
Benoit Jacob
ed5c972801
put the assign assert and debug info before the assignment itself
2010-01-01 21:47:53 -05:00
Gael Guennebaud
72b6c05bf0
sorry for committing this mess
2009-12-23 13:30:25 +01:00
Gael Guennebaud
24302ad5cd
fix #76 , MayLinearVectorize depends on MaxSizeAtCompileTime and not on MaxInnerSize
2009-12-23 13:19:28 +01:00
Gael Guennebaud
0b5853d917
fix the xpr analyzer for Transpose
2009-12-23 13:17:46 +01:00
Gael Guennebaud
c90ccd089a
clean a bit Hessenberg and make sure the subdiagonal coeff is real even for 2x2 matrices
2009-12-23 12:30:05 +01:00
Gael Guennebaud
791bac25f2
fix #75 , and add a basic unit test for Hessenberg
...
(it was indirectly tested by the eigenvalue decomposition)
2009-12-23 12:18:54 +01:00
Gael Guennebaud
d65c8cb60a
fix #69 and extend unit tests or triangular solvers
2009-12-23 11:48:53 +01:00
Gael Guennebaud
fcc3be5dce
a couple of fixes after thye merge
2009-12-23 09:07:01 +01:00
Gael Guennebaud
eaaba30cac
merge with default branch
2009-12-22 22:51:08 +01:00
Gael Guennebaud
e182e9c616
extend the DenseStorageMatrix mechanism to all expressions
2009-12-22 17:37:11 +01:00
Benoit Jacob
4ec99bbc0c
support gcc 4.5
2009-12-21 13:49:43 -05:00
Gael Guennebaud
02beaea2f8
add missing inclusion of LU/arch, thanks to J.B. Rouault
2009-12-19 13:49:00 +01:00
Gael Guennebaud
f8cb9a6230
oops, remove duplicated ctor
2009-12-19 13:45:14 +01:00
Gael Guennebaud
9d54783036
much better workaround for empty struct (the previous one caused GCC 4.3 to generate wrong code leading to segfaults)
2009-12-18 17:08:59 +01:00
Gael Guennebaud
af4d8c5cec
a couple of fixes, now Array passes the linearstructure test
2009-12-17 19:28:54 +01:00
Gael Guennebaud
4b70b47998
clean a bit Matrix and fix static Map functions
2009-12-17 14:48:26 +01:00
Gael Guennebaud
5ca90e1b0c
some cleaning in DenseStorageBase
2009-12-17 13:56:33 +01:00
Gael Guennebaud
ebb2878829
finally add a Array class with storage via the introduction of a DenseStorageBase
...
base class shared by both Matrix and Array
2009-12-17 13:37:00 +01:00
Gael Guennebaud
4e9c227bd5
partial LU optimization: noalias
2009-12-17 11:43:42 +01:00
Gael Guennebaud
30d47860dd
more fixes
2009-12-17 10:43:46 +01:00
Gael Guennebaud
34c95029ca
a couple of fixes and cleaning
2009-12-17 10:00:35 +01:00
Gael Guennebaud
9f79558839
a lot of cleaning and fixes
2009-12-16 19:18:40 +01:00
Gael Guennebaud
22a6ab1f4b
add an eigen2support test and a few fixes
2009-12-16 17:37:21 +01:00
Benoit Jacob
5cb779e5e1
* introduce ei_alignmentOffset(MatrixBase&,Integer)
...
couldnt put it in Memory.h as it needs the definition of MatrixBase
* make Redux use it
2009-12-16 08:53:14 -05:00
Gael Guennebaud
e0aa29121f
this really fix the previous warning
2009-12-16 13:06:47 +01:00
Gael Guennebaud
c35fcf3bbd
fix warning by making ei_empty_struct::_ei_dummy_ private
2009-12-16 12:53:55 +01:00
Gael Guennebaud
bb59c22dc9
fix compilation when mixing types
2009-12-16 12:48:15 +01:00
Gael Guennebaud
6db6774c46
* fix aliasing checks when the lhs is also transposed. At the same time,
...
significantly simplify the code of these checks while extending them
to catch much more expressions!
* move the enabling/disabling of vectorized sin/cos to the architecture traits
2009-12-16 11:41:16 +01:00
Gael Guennebaud
7a9988ebb6
fix spasre triangular solve for row major lower matrices
2009-12-14 10:25:21 +01:00
Gael Guennebaud
a314814a6e
suppress unused variable warnings
2009-12-15 13:59:02 +01:00
Benoit Jacob
949f14e1e4
no, this wasn't equivalent to ei_pload at all, after all!
2009-12-15 07:43:05 -05:00
Benoit Jacob
805eb9cc8b
Gael, who is a man of few words^Winstructions, is right, as usual.
2009-12-15 06:50:40 -05:00
Hauke Heibel
3ea1f97f69
Suppressed the warning for missing assignment generators (forgot that in the last submission).
...
Commented Quake3's fast inverser sqrt in SSE's MathFunction header.
2009-12-15 08:09:14 +01:00
Benoit Jacob
4948448939
*use scalar instructions, packet not needed here
...
*remove unused var warning
2009-12-14 23:13:54 -05:00
Benoit Jacob
39095c8faa
only include SSE path if SSE enabled
2009-12-14 22:52:11 -05:00
Benoit Jacob
d02eccf584
add SSE path for Matrix4f inverse, taken from Intel except that we do a kosher
...
division instead of RCPPS-followed-by-Newton-Raphson. The rationale for that is
that elsewhere in Eigen we dont allow ourselves this approximation (which throws
2 bits of mantissa), so there's no reason we should allow it here.
2009-12-14 22:47:14 -05:00
Benoit Jacob
d5f3b2dc94
change the Arch constants: const int ---> enum, more explicit names, and use
...
of a namespace instead of Prefix_Name.
2009-12-14 17:26:24 -05:00
Hauke Heibel
832045d363
Warning 4512 (assignment operators could not be generated) is now simply disabled.
...
All unimplemented assignment operators have been removed.
2009-12-14 10:32:43 +01:00
Hauke Heibel
4498864fc8
Fixed a bad type conversion.
2009-12-13 09:26:57 +01:00
Jitse Niesen
929521678d
Correct type of ei_solve_retval<LLT,...>::operator=
2009-12-12 23:54:44 +00:00
Hauke Heibel
3dce51bd8e
Removed more warnings.
2009-12-12 14:49:43 +01:00
Hauke Heibel
d088ee35f6
Added to possibility to compile unit tests at maximum warning level.
...
Silenced (amongst others) many conversion related warnings.
2009-12-12 11:39:07 +01:00
Gael Guennebaud
9facdaf7b9
some compilation fixes
2009-12-10 22:15:22 +01:00
Gael Guennebaud
7caf751fdd
adapt select, replicate and reverse
2009-12-10 22:00:35 +01:00
Benoit Jacob
d2e44f2636
* 4x4 inverse: revert to cofactors method
...
* inverse tests: use createRandomMatrixOfRank, use more strict precision
* tests: createRandomMatrixOfRank: support 1x1 matrices
* determinant: nest the xpr
* Minor: add comment
2009-12-09 12:43:25 -05:00
Jitse Niesen
8bfa354ee3
Documentation clean up.
...
* remove non-existant reference to CwiseAll
* define \householder_module (used in HouseholderSequence.h)
* update I01_TopicLazyEvaluation.dox - Product is now called GeneralProduct
* remove reference to list of examples which was deleted ages ago
* rename PartialLU_solve.cpp snippet to PartialPivLU_solve.cpp
2009-12-08 15:12:27 +00:00
Gael Guennebaud
8e05f9cfa1
add a DenseBase class for MAtrixBase and ArrayBase and more code factorisation
2009-12-04 23:17:14 +01:00
Gael Guennebaud
c68c695b87
Fix poor Quaternion::slerp snapping
2009-12-04 15:01:17 +01:00
Gael Guennebaud
ea684af6b4
merge
2009-12-04 12:40:29 +01:00
Gael Guennebaud
7aad434160
fix compilation and clean a bit Map<Quaternion>
2009-12-04 12:26:56 +01:00
Gael Guennebaud
e12f5adbde
fix MSVC10 compilation
2009-12-02 19:32:54 +01:00
Benoit Jacob
3e73f6036c
* HouseholderSequence:
...
* be aware of number of actual householder vectors
(optimization in non-full-rank case, no behavior change)
* fix applyThisOnTheRight, it was using k instead of actual_k
* QR: rename matrixQ() to householderQ() where applicable
2009-12-02 11:11:09 -05:00
Mathieu Gautier
26ea7c9801
* remove empty destructors in Matrix.h and MatrixStorage.h
2009-12-02 11:09:56 +01:00
Hauke Heibel
84551d067e
merge
2009-12-02 11:08:44 +01:00
Hauke Heibel
95861fbd6c
Added NestByValue and .nestByValue() again for the sake of backwards compatibility.
2009-12-02 10:53:30 +01:00
Hauke Heibel
e3612bc0b8
Removed unnecessary code.
2009-12-02 09:11:24 +01:00
Mark Borgerding
c05ae35441
merge with tip
2009-12-01 18:03:15 -05:00
Mark Borgerding
ff1e9542f6
added comments to help vim understand the header files are c++.
2009-12-01 18:00:29 -05:00
Benoit Jacob
68117c267c
ColPivQR: now the unit tests even succeeds:
...
* with random matrices multiplied by 1e+8 (i.e. fixed wrong absolute fuzzy compare)
* with 10,000 repetitions (i.e. the fuzzy compare is really clever)
and when it occasionnally fails, less than once in 10,000 repeats, it is only on the exact rank computation.
2009-12-01 13:51:35 -05:00
Benoit Jacob
95d88e1327
Big reworking of ColPivQR and its unit test, which now passes even with thousands of repetitions and correctly tests matrices of all sizes. Several surprises along the way: for example, a major cause of trouble was the optimized "table of column squared norms" where the accumulation of imprecision was a serious issue; another surprise is that tests like "x!=0" before dividing by x really benefit from being replaced by fuzzy tests, as i hit real cases where i got wrong results in 1/epsilon.
2009-12-01 13:26:29 -05:00
Benoit Jacob
49c0986d86
minor cleanup
2009-12-01 13:22:14 -05:00
Hauke Heibel
d3250cb38f
That's it NestByValue and .nestByValue() are both gone!
2009-12-01 13:29:08 +01:00
Hauke Heibel
b08d5b2d2c
Even more NestByValue cleanup...
2009-12-01 13:16:51 +01:00
Hauke Heibel
2bf354da80
Much more NestByValue cleanup.
2009-12-01 11:51:22 +01:00
Hauke Heibel
3091be5134
Removed NestByValue dependency from Cholesky, Eigenvalues, LU and QR.
2009-12-01 10:22:54 +01:00
Hauke Heibel
7b3e205ebd
Removed NestByValue dependency from VectorwiseOp.
2009-12-01 09:56:40 +01:00
Hauke Heibel
88be826791
Removed NestByValue dependency from MatrixBase::select().
2009-12-01 09:49:15 +01:00
Gael Guennebaud
b2a5fb874f
add specialization ei_ref_selector for sparse matrix types
2009-12-01 06:21:29 +01:00
Hauke Heibel
e6c560aedf
Removed wrong typename.
2009-11-30 19:06:07 +01:00
Hauke Heibel
1c2e476fa7
Initial commit for a modified ei_nested logic.
2009-11-30 18:56:56 +01:00