Christoph Hertzberg
03fe095622
bug #488 : Add setShift method (and functionality) to Cholmod classes
...
Also check for Success of numerical factorization
2012-07-04 18:46:14 +02:00
Gael Guennebaud
0a7ce6ad69
fix bug #486 : template speacialization of member functions must be declared inline to avoid duplicate references
2012-07-05 13:32:23 +02:00
Jitse Niesen
cb9f3685d3
Move implementation of coeff() &c to Matrix/Array evaluator.
2012-07-05 11:09:42 +01:00
Gael Guennebaud
54d55aeaf6
fix bug #487 : isometry * scaling was not compiling
2012-07-04 18:25:07 +02:00
Konstantinos Margaritis
d878cf2227
fix typo
2012-07-04 11:28:59 +03:00
Konstantinos Margaritis
f737536744
fix NEON port, use vget_lane_*() instead of temporary variables (saves extra
...
load/store), following advice by Josh Bleecher Snyder <josharian@gmail.com>.
Also implement pmadd() using vmla instead of nested padd/pmul.
2012-07-04 11:12:02 +03:00
Gael Guennebaud
9a97dac4d9
Doc: add an example for HouseholderQR::householderQ()
2012-07-02 16:33:32 +02:00
Gael Guennebaud
eee34f2da4
workaround compilation issue with MSVC 2005
2012-07-02 10:20:44 +02:00
Desire NUENTSA
15f1563533
Before moving to the new building
2012-06-29 17:45:10 +02:00
Jitse Niesen
746378868a
Implement A.noalias() = B * C without temporaries
...
* Wrap expression inside EvalToTemp in copy_using_evaluators() if we
assume aliasing for that expression (that is, for products)
* Remove temporary kludge of evaluating expression to temporary in
AllAtOnce traversal
* Implement EvalToTemp expression object
2012-06-29 13:54:09 +01:00
Jitse Niesen
d0b873822f
Make product eval-at-once.
...
* Make product EvalAtOnce in cases OuterProduct, GemmProduct and
GemvProduct
* Ensure that product evaluators are nested inside EvalToTemp
evaluator
* As temporary kludge, evaluate expression to temporary in AllAtOnce
traversal and pass expression operator to evalTo()
2012-06-29 13:49:25 +01:00
Jitse Niesen
2393ceb380
Implement eval-at-once in evaluator.
...
- Add evaluator_traits with HasEvalTo flag, which is true if evaluator
has evalTo() function.
- Add AllAtOnce traversal, which calls evalTo() in evaluator.
- If source evaluator in copy_using_evaluator has HasEvalTo set, then
use AllAtOnce traversal.
2012-06-29 13:32:12 +01:00
Jitse Niesen
c1eb820e50
Implement interface for NoAlias assignments.
...
* Rename the old copy_using_evaluators to noalias_copy_using_evaluators.
* Write a new copy_using_evaluators which strips NoAlias expression, if present,
and calls noalias_copy_using_evaluators; in future, it will also take care of
aliasing in products.
* Add expression() getter to NoAlias.
2012-06-29 13:24:04 +01:00
Jitse Niesen
069fd0e4be
Move (part of) evaluation of products to evaluator objects.
...
* Copy implementation from CoeffBasedProduct.
* Copy implementation from GeneralProduct in InnerProduct case.
* For GeneralProduct in other cases, call the evalTo() member function with
expression objects in constructor of evaluator.
2012-06-29 13:07:21 +01:00
Gael Guennebaud
9629ba361a
bug #482 : pass scalar by const ref - pass on the sparse module
...
(also fix a compilation issue due to previous pass)
2012-06-28 21:01:02 +02:00
Jitse Niesen
23184527fa
Resize lhs automatically in copy_using_evaluator().
2012-06-28 15:25:25 +01:00
Gael Guennebaud
139c91bf30
fix implicit scalar conversion
2012-06-28 13:12:49 +02:00
Gael Guennebaud
a2ace4b79a
bug #482 : pass scalar arguments by const references. This changeset only concerns the Core and Geometry modules
2012-06-28 02:08:59 +02:00
Gael Guennebaud
cc964b6caf
fix performance regression due to check_rows_cols_for_overflow and add appropriate assertions in the PlainObjectBase::resize() functions.
...
The fix consists in disabling this useless test for statically allocated objects.
2012-06-26 22:16:07 +02:00
Gael Guennebaud
57b5804974
remove dynamic allocation for fixed size object and triangular matrix-matrix products
2012-06-26 17:45:01 +02:00
Jitse Niesen
8994f9962a
Fix bug in {Matrix,Array}Wrapper evaluator
2012-06-24 17:35:27 +01:00
Jitse Niesen
d0d077b212
Fix bug in evaluators with sliced vectorization.
2012-06-24 17:33:21 +01:00
Gael Guennebaud
7c32904766
typo
2012-06-24 10:13:28 +02:00
Gael Guennebaud
cc6dd55028
put the resurected files into the Eigen namespace
2012-06-22 16:35:20 +02:00
Gael Guennebaud
62c504e7bf
fix most of the shadow warnings in Core/*.h
2012-06-22 16:32:45 +02:00
Gael Guennebaud
5fae6c7848
resurrect expression evaluators
2012-06-22 09:39:35 +02:00
Gael Guennebaud
81e39e1bc6
bump default branch to 3.1.90
2012-06-22 09:27:24 +02:00
Gael Guennebaud
dd86165c13
bump to 3.1.0-rc2
2012-06-21 22:00:13 +02:00
Gael Guennebaud
110cf8bbf5
fix compilation issue with MKL's backend
2012-06-21 17:03:15 +02:00
Gael Guennebaud
6f3057f624
extend documentation of *Support modules
2012-06-21 10:51:22 +02:00
Gael Guennebaud
b96b429aa2
fix bug #478 : RealSchur failed on a zero matrix.
2012-06-20 10:08:32 +02:00
Gael Guennebaud
c8346abcdd
fix bug #477 : warning with gcc 4.7
2012-06-20 09:54:52 +02:00
Gael Guennebaud
3c9289129b
prevent the allocation of the two preconditioner, only one is needed
2012-06-15 23:22:34 +02:00
Desire NUENTSA
f0c34c6822
Build finished... start debugging
2012-06-15 17:23:54 +02:00
Gael Guennebaud
aa3daad883
fix a warning and formatting
2012-06-15 09:16:10 +02:00
Gael Guennebaud
c858fb353f
fix a few warnings
2012-06-15 09:06:32 +02:00
Gael Guennebaud
4ca5735de4
bump to 3.1.0-rc1
2012-06-14 21:25:50 +02:00
Desire NUENTSA
0c9b08e46e
build complete... almost
2012-06-14 18:45:04 +02:00
Gael Guennebaud
b9f25ee656
bug #466 : better fix for the race condition: this new patch add an initParallel()
...
function which must be called at the initialization time of any multi-threaded
application calling Eigen from multiple threads.
2012-06-14 14:24:15 +02:00
Gael Guennebaud
a3e700db72
fix bug #475 : .exp() now returns +inf when overflow occurs (SSE)
2012-06-14 10:38:39 +02:00
Gael Guennebaud
324ecf153b
disable the MKL's vm*powx functions on windows
2012-06-14 09:49:57 +02:00
Desire NUENTSA
f8a0745cb0
Build process...
2012-06-13 18:26:05 +02:00
Desire NUENTSA
c0ad109499
Checking Data structures and function prototypes
2012-06-12 18:19:59 +02:00
Gael Guennebaud
9c7b62415a
simplify and clean a bit the Pastix support module
2012-06-12 16:47:14 +02:00
Gael Guennebaud
cd48254a87
fix inclusion order
2012-06-12 11:40:33 +02:00
Gael Guennebaud
924c7a9300
avoid dynamic allocation for fixed size triangular solving
2012-06-12 11:33:50 +02:00
Desire NUENTSA
bccf64d342
Checking Syntax...
2012-06-11 18:52:26 +02:00
Desire NUENTSA W.
0591011d5c
Sparse LU - End Triangular solve... start debugging
2012-06-10 23:36:38 +02:00
Gael Guennebaud
f2849fac20
Fix bug #466 : race condition destected by helgrind in manage_caching_sizes.
...
After all, the solution based on threadprivate is not that costly.
2012-06-08 17:29:02 +02:00
Desire NUENTSA
7bdaa60f6c
triangular solve... almost finished
2012-06-08 17:23:38 +02:00
Gael Guennebaud
28d0a8580e
workaround ICC 11.1 compilation issue
2012-06-08 14:13:28 +02:00
Gael Guennebaud
7e36d32b32
fix ambiguous calls in the functors by prefixing function calls with internal::
2012-06-08 09:53:50 +02:00
Desire NUENTSA
f091879d77
Memory management
2012-06-07 19:06:22 +02:00
Gael Guennebaud
1e5e66b642
For consistency, Simplicial* now factorizes P A P^-1 (instead of P^-1 A P).
...
Document how is applied the permutation in Simplicial* .
2012-06-07 16:24:46 +02:00
Gael Guennebaud
63c6ab3e42
fix documentaion of twistedBy
2012-06-07 16:18:00 +02:00
Gael Guennebaud
b7a7285909
bump to beta1
2012-06-06 22:33:39 +02:00
Gael Guennebaud
5a697e495c
fix installation path
2012-06-06 22:32:44 +02:00
Desire NUENTSA
268ba3b521
Memory expansion and few bugs
2012-06-06 18:23:39 +02:00
Gael Guennebaud
fd32697074
Fix stopping criteria of CG
2012-06-06 17:11:16 +02:00
Gael Guennebaud
84d20720b2
fix umfpack for row-major
2012-06-06 09:44:53 +02:00
Gael Guennebaud
c58b759865
Fix bug #454 : allow Block/Map objects for solving with SuperLU
2012-06-06 09:37:59 +02:00
williami
fc5f21903b
Fixed RVCT 3.1 compiler errors.
2012-06-04 10:21:16 -05:00
Gael Guennebaud
945179b26c
CholmodDecomposition now has explicit variants. These variants will allow to provide access to the underlying factors.
2012-06-04 13:24:41 +02:00
Gael Guennebaud
5f5a4d4546
make Simplicial* non-copyable, and fix return type of Simplicial*::compute()
2012-06-04 13:22:44 +02:00
Gael Guennebaud
a2ae063491
add a noncopyable base class for decompositions
2012-06-04 13:21:15 +02:00
Desire NUENTSA
4e5655cc03
Supernodal Matrix
2012-06-01 18:44:51 +02:00
Gael Guennebaud
b509cf0742
Fix bug #468 : generalize UmfPack support to accept any input at the cost of an implicit copy.
2012-06-01 16:31:36 +02:00
Gael Guennebaud
7f63169f09
SimplicialCholesky: avoid multiple twisting of the same matrix when calling compute()
2012-06-01 15:51:03 +02:00
Desire NUENTSA
b26d6b02de
Eliminate and prune columns in a panel
2012-05-31 17:10:29 +02:00
Desire NUENTSA
8608d08d65
Symbolic and numeric updates within the panel
2012-05-30 18:09:26 +02:00
Desire NUENTSA
8ab820b5b8
Symbolic and numeric update on a whole panel
2012-05-29 17:55:38 +02:00
kmargar
97cdf6ce9e
ARM NEON supports multiply-accumulate instruction vmla, use that in pmadd().
2012-05-28 14:55:23 +03:00
Desire NUENTSA
b6267507ea
Add preliminary files for SparseLU
2012-05-25 18:17:57 +02:00
Gael Guennebaud
ce2e2fe336
bug #455 : add support for c++11 in aligned_allocator
2012-05-03 11:55:30 +02:00
Jitse Niesen
65fb0d43ff
Define NoChange as enum constant (bug #450 ).
...
This gets rid of some warnings on Intel Composer XE, apparently.
2012-04-29 15:37:44 +01:00
Gael Guennebaud
1741dbce1a
fix more warnings in MKL support
2012-04-18 18:36:25 +02:00
Jitse Niesen
57b5767fe2
Fix infinite recursion in ProductBase::coeff() (bug #447 )
...
Triggered by product of dynamic-size 1 x n and n x 1 matrices.
Also, add regression test.
2012-04-18 15:23:28 +01:00
Gael Guennebaud
5cab18976b
cleaning pass: rm unused variables in MKL stuff, fix a few namespace issues, MarketIO needs iostream
2012-04-18 10:09:46 +02:00
Gael Guennebaud
1198ca0284
remove debug output
2012-04-17 08:38:42 +02:00
Jitse Niesen
5d56f9f763
Remove unused file EigenvaluesCommon.h
2012-04-16 13:47:48 +01:00
Jitse Niesen
3c412183b2
Get rid of include directives inside namespace blocks (bug #339 ).
2012-04-15 11:06:28 +01:00
Gael Guennebaud
f6a5508392
remove an extra ';' and suppress a 'variable used before its value is set' warning
2012-04-11 09:49:52 +02:00
Gael Guennebaud
51410975ac
suppress extra ',' and ';'
2012-04-10 17:32:21 +02:00
Gael Guennebaud
b0cf95619e
fix compilation of "somedensematrix.llt().matrixL().transpose()" (missing constness on the return types)
2012-04-10 15:40:36 +02:00
Gael Guennebaud
311c5b87a3
Replicate now makes use of the cost model to evaluate its nested expression
2012-04-06 00:22:13 +02:00
Gael Guennebaud
48f0bbb586
fix bug #362 and add missing specialization for affine-compact * projective
2012-03-30 23:22:29 +02:00
Gael Guennebaud
63ea667ed7
fix compilation with ICC
2012-03-30 11:22:23 +02:00
Desire NUENTSA
5dbb646190
Add private copy constructors to sparse solvers backends
2012-03-29 19:19:12 +02:00
Desire NUENTSA
f804a319c8
modify the unit tests of sparse linear solvers to enable tests on real matrices, from MatrixMarket for instance
2012-03-29 14:32:54 +02:00
Gael Guennebaud
caecaf9c9e
add missing forward declaration
2012-03-29 13:45:01 +02:00
Gael Guennebaud
c172abdcc7
add sparse * permutation products with assiciated unit tests
2012-03-29 11:29:43 +02:00
Gael Guennebaud
8ff882aa4c
add sparse-selfadjoint to sparse-selfadjoint assignment operators
...
(no need to use .twistedBy(I) anymore)
2012-03-29 11:28:43 +02:00
Gael Guennebaud
fd2f399c18
fix bug #439 : add Quaternion::FromTwoVectors() static constructor
2012-03-26 18:30:04 +02:00
Desire NUENTSA
0d52b965c8
Add simple API to set Pastix parameters
2012-03-22 15:54:52 +01:00
Gael Guennebaud
daad446d5d
workaround stupid gcc 4.7 warning
2012-03-22 00:01:03 +01:00
Gael Guennebaud
f0a1652113
s/__SSE3__/EIGEN_VECTORIZE_SSE3
2012-03-21 23:50:43 +01:00
Kolja Brix
30dee7d235
Add some documentation to existing methods in the Householder module.
2012-03-08 12:42:10 +01:00
Gael Guennebaud
77b05d5b7d
remove parenthesis suggestion warning
2012-03-14 17:38:21 +01:00
Gael Guennebaud
60daf70a20
add 2 missing ReverseInnerIterators
2012-03-14 17:37:28 +01:00
Gael Guennebaud
d7da6f63a8
declare Block::m_outerStride as Index (instead of int)
2012-03-09 13:54:22 +01:00
Gael Guennebaud
728ca6ad9c
export IsRowMajor in MappedSparseMatrix
2012-03-09 13:52:35 +01:00
Gael Guennebaud
fe9b7c2564
typo in variable name not revealed by ICC
2012-03-08 21:45:00 +01:00
Gael Guennebaud
48a3e0ed55
fix conversion warning
2012-03-08 21:31:49 +01:00
Desire NUENTSA
0d8466d317
Adding an interface to PaStiX, the multithreaded and distributed linear solver
2012-03-08 18:59:08 +01:00
Hauke Heibel
c08521ea6b
Improved the unit tests for setLinSpaced.
...
Provide a default constructed step size as opposed to an int when the size is 1.
2012-03-07 16:18:35 +01:00
Hauke Heibel
ef022da28e
Fixed setLinSpaced for size==1.
2012-03-07 15:34:39 +01:00
Hauke Heibel
81c1336ab8
Added support for component-wise pow (equivalent to Matlab's operator .^).
2012-03-07 08:58:42 +01:00
Hauke Heibel
aee0db2e2c
Moved the operator/(Scalar,ArrayBase) into the Eigen namespace.
2012-03-02 16:58:12 +01:00
Hauke Heibel
8cb3e36e14
Added support for scalar / array division.
2012-03-02 16:27:27 +01:00
Hauke Heibel
8a7d16d523
Replicate ctor now uses Index instead of int.
2012-03-02 16:27:08 +01:00
Gael Guennebaud
553a0ae924
simplify and speedup sparse * dense matrix products
2012-03-01 10:13:13 +01:00
Desire NUENTSA
85b358097d
allow null elements in sparse assignments
2012-02-29 15:51:23 +01:00
Gael Guennebaud
fc85f91df0
fix MKL interface with LLT::rankUpdate
2012-02-28 16:19:40 +01:00
Gael Guennebaud
0d3d46573e
fix assertion condition
2012-02-27 19:04:34 +01:00
Gael Guennebaud
5effdba2c6
SimplicialCholesky*: s/LLt/LLT and s/LDLt/LDLT for consistency with dense names
2012-02-27 14:28:07 +01:00
Gael Guennebaud
ece30e9e6f
fix a couple of warnings
2012-02-27 14:27:12 +01:00
Gael Guennebaud
eb168ef8ed
add analyzePattern/factorize API to iterative solvers and basic preconditioners
2012-02-27 14:10:26 +01:00
Gael Guennebaud
122f28626c
fix and clean Pardiso solver and s/PARDISOSupport/PardisoSupport
2012-02-27 13:23:21 +01:00
Gael Guennebaud
bc8188f6a1
fix symmetric permuatation for mixed storage orders
2012-02-27 13:21:41 +01:00
Gael Guennebaud
128ff9cf07
declare a ReverseInnerIterator in sparse CwiseBinaryOp. These ReverseInnerIterator should probably be removed anyway since we currently don't have real use cases for them. The only one in TriangularSolver could be advantageously replaced by a binary search.
2012-02-23 11:38:18 +01:00
Christoph Hertzberg
1edfa64f44
bug #419 : Add spaces between adjacent > in template arguments
2012-02-15 14:14:29 +01:00
Gael Guennebaud
4cc6d7aa62
clean a bit the ILUT code
2012-02-14 22:07:19 +01:00
Gael Guennebaud
7de3478027
<complex> must be included first
2012-02-10 22:49:09 +01:00
Gael Guennebaud
ef7f1371b2
some cleaning and add copyrights
2012-02-10 19:38:31 +01:00
Desire NUENTSA
edbebb14de
Split the computation of the ILUT into two steps
2012-02-10 18:57:01 +01:00
Desire NUENTSA
a815d962da
Add the implementation of the Incomplete LU preconditioner with dual threshold (ILUT)
...
Modify the BiCGSTAB function to check the residual norm of the initial guess
2012-02-10 10:59:39 +01:00
Desire NUENTSA
9ed6a267a3
Modify the LinSpaced function to take only the two bounds
2012-02-10 10:21:11 +01:00
Desire NUENTSA
2ea98594c4
Modify the symmetric permutation to deal with nonsymmetric matrices
2012-02-10 10:18:38 +01:00
Gael Guennebaud
8dd3ae282d
fix bug #417 : Map should be nested by value, not by reference
2012-02-09 15:25:42 +01:00
Gael Guennebaud
5bb34fd14c
fix bug #415 : wrong return in Rotation2D::operator*=
2012-02-08 21:50:51 +01:00
Desire NUENTSA
a1c7b5aa48
Adding support for twistedby on SparseMatrixBase
2012-02-08 18:22:48 +01:00
Gael Guennebaud
3836402631
Improve performance of some Transform<> operations by better preserving the alignment status.
...
There probably many other places in Transform.h where such optimizations could be done.
2012-02-07 17:12:15 +01:00
Gael Guennebaud
fe0350cf1b
bump
2012-02-06 16:39:26 +01:00
Gael Guennebaud
99c694623a
fix a dozen of warnings with MSVC, and get rid of some useless throw()
2012-02-06 15:57:51 +01:00
Gael Guennebaud
6ad48c5d92
fix conjugation in packet_lhs
2012-02-05 18:18:38 +01:00
Gael Guennebaud
4ed87c59c7
Update the PARDISO interface to match other sparse solvers.
...
- Add support for Upper or Lower inputs.
- Add supports for sparse RHS
- Remove transposed cases, remove ordering method interface
- Add full access to PARDISO parameters
2012-02-04 14:20:56 +01:00
Gael Guennebaud
fe85b7ebc6
fix several const qualifier issues: double ones, meaningless ones, some missing ones, etc.
...
(note that const qualifiers are set by internall::nested)
2012-02-03 23:18:26 +01:00
Gael Guennebaud
bc7b251cd9
fix compilation errors with ICC
2012-02-03 23:16:52 +01:00
Gael Guennebaud
a594d7ffd7
stop disabling this legitimate warning, recall that in the following the const on FooRef is really meaningless:
...
typedef Foo& FooRef;
const FooRef foo;
2012-02-03 23:16:11 +01:00
Zuiquan
a64407f086
Enable Eigen to compile on 'pure C/C++' Gcc environment (with no inline assembly or asm directive). Required if we want to use Eigen with Adobe Alchemy.
2012-02-02 12:05:02 +01:00
Gael Guennebaud
7002639844
the default ctor had no sense because of the const reference member
2012-01-31 23:12:04 +01:00
Gael Guennebaud
13e46ad847
add missing return *this
2012-01-31 23:11:13 +01:00
Gael Guennebaud
9a954d29ec
rm non standard and useless overloads of is_arithmetic for long long
2012-01-31 21:45:03 +01:00
Gael Guennebaud
634fedaf68
proper C++ casting
2012-01-31 18:56:25 +01:00
Gael Guennebaud
10cd52350f
fix a few warnings: change of sign and missing return statement
2012-01-31 13:05:44 +01:00
Gael Guennebaud
9c86ee2695
fix static inline versus inline static issues (the former is the correct order)
2012-01-31 12:58:52 +01:00
Gael Guennebaud
8d6e394b06
workaround "empty macro argument" warning
2012-01-31 12:46:14 +01:00
Gael Guennebaud
670e3af5a8
add .data() member to Diagonal<>
2012-01-31 12:44:59 +01:00
Gael Guennebaud
18e3ac0f0d
fix some compilation errors with ICC and -strict-ansi
2012-01-31 09:14:01 +01:00
Gael Guennebaud
87138075da
add the possibility to assemble a SparseMatrix object from a random list of triplets that may contain duplicated elements. It works in linear time, with O(1) re-allocations.
2012-01-28 11:13:59 +01:00
Gael Guennebaud
fc2d85d139
fix memory leak in SuperLUSupport
2012-01-27 10:07:09 +01:00
Gael Guennebaud
27d222d23e
honor nested types in dense * sparse
2012-01-27 09:39:36 +01:00
Jitse Niesen
ed244e9c1a
Document that JacobiSVD also handles complex matrices.
...
Thanks to 'Jazzdude' for noting this on IRC.
2012-01-26 13:16:50 +00:00
Gael Guennebaud
0251bb6c1d
add missing inline keyword (linking issue)
2012-01-26 10:53:42 +01:00
Gael Guennebaud
65d5311c68
SimplicialCholesky: the shift offset must be real, and fix a comparison issue for complexes
2012-01-26 10:34:45 +01:00
Gael Guennebaud
d9f5840f7a
simple compilation fix
2012-01-26 08:52:20 +01:00
Gael Guennebaud
a108216af1
fix bug #410 : fix a possible out of range access in EigenSolver
2012-01-25 19:02:31 +01:00
Christoph Hertzberg
362fcabc44
Check for positive definiteness in SimplicialLLT
2012-01-14 22:34:18 +01:00
Gael Guennebaud
5e4dfa4a09
fix a nesting type issue in Sparse/TriangularView
2012-01-25 18:16:48 +01:00
Gael Guennebaud
606e204f6d
fix bug #406 : Using OpenMP and Eigen causes infinite loop/deadlock
...
(transplanted from fd52daae87
)
2012-01-25 17:42:22 +01:00
Gael Guennebaud
c68616b3b5
fix warning with gcc 4.6
2012-01-25 15:48:50 +01:00
Gael Guennebaud
87f2af5930
workaround ICC compilation error with -strict-ansi
2012-01-25 15:45:01 +01:00
Gael Guennebaud
0d03492e1e
std::isfinite is non standard
2012-01-23 21:49:00 +01:00
Gael Guennebaud
ee9f3e34b0
LLT: improve rankUpdate to support downdates,
...
LDLT: add the missing info() function,
improve unit testing of rankUpdate()
2012-01-23 17:28:23 +01:00
Abraham Bachrach
039408cd66
added functions to allow for cwise min/max operations with scalar argument (bug #400 ).
...
added function for array.min(), array.max(), matrix.cwiseMin(), matrix.cwiseMax().
The matrix.cwiseMin/Max functions required the definition of the ConstantReturnType typedef.
However, it wasn't defined until after MatrixCwiseBinaryOps was included in Eigen/src/SparseCore/SparseMatrixBase.h,
so I moved those includes after the definition of the typedefs.
tests for both the regular and scalar min/max functions were added as well
2012-01-11 11:00:30 -05:00
Gael Guennebaud
238999045c
optimize the packing of lhs blocks for matrix-matrix products => significant speedup for small products
2012-01-21 19:34:28 +01:00
Jitse Niesen
0e1e0a2a58
Make sure that now-fixed assert is not triggered.
2012-01-19 14:30:44 +00:00
Keir Mierle
274f8a0947
Fix broken asserts releaved by Clang.
2012-01-18 15:03:27 -08:00
Gael Guennebaud
589cc627f8
fixe one more VC10 ICE
2012-01-18 17:45:22 +01:00
Gael Guennebaud
db8f528737
fix VC10 ICE
2012-01-18 17:42:13 +01:00
Keir Mierle
2d4fee0b40
Fix out-of-range int constant in 4x4 inverse.
...
(transplanted from 45bcad41b4
)
2012-01-05 23:15:09 -08:00
Gael Guennebaud
e7ef367db1
suppress unused variable warnings
2012-01-06 09:02:06 +01:00
Gael Guennebaud
bdee0c9baa
set the default number of iteration to the size of the problem
2011-12-27 16:38:05 +01:00
Gael Guennebaud
8171adb7ff
fix bug #398 , the quaternion returned by slerp was not always normalized,
...
add a proper unit test for slerp
2011-12-23 22:39:32 +01:00
Gael Guennebaud
e3e39ea26d
suppress an 'unused variable' warning
2011-12-22 14:06:16 +01:00
Gael Guennebaud
2c03e6fccc
evaluate 1D sparse expressions into SparseVector and make the sparse operator<< and dot honor nested types
2011-12-22 14:01:06 +01:00
Gael Guennebaud
7f04845023
fix assignment of a row-major sparse vector to a column major sparse one
2011-12-22 11:53:47 +01:00
Gael Guennebaud
e4cea957df
fix bug #391 : prune was for compressed format only, now it also turns the matrix into compressed form
2011-12-20 18:37:24 +01:00
Gael Guennebaud
7e866c447f
fix bug #391 : improper stream output for uncompressed mode, also avoid double debugging outputs for column major matrices
2011-12-20 18:31:00 +01:00
Gael Guennebaud
50d756b9ea
fix bug #394 : innerVector::nonZeros() was broken for uncompressed mode
2011-12-20 18:10:02 +01:00
Gael Guennebaud
fcc966b40d
workaround doxygen limitation to follow the base class of PlainObjectBase
2011-12-19 22:13:11 +01:00
Gael Guennebaud
33e52a3943
rm local fill-in ratio estimation (was broken sometimes)
2011-12-16 16:29:46 +01:00
Gael Guennebaud
732a50d043
implement a more optimistic heuristic to predict the nnz of a saprse*sparse product
2011-12-16 15:59:44 +01:00
Gael Guennebaud
40c0f3af57
fig bug #396 : add a static assertion on the storage order of a sparse-sparse coeff-wise binary op
2011-12-15 19:23:20 +01:00
Jitse Niesen
3db6455896
Remove evaluators for 2.1 release.
...
We plan to re-instate them when we branch 2.2 (see bug #388 ).
2011-12-14 21:23:43 +00:00
Jitse Niesen
1e7712771e
Remove asserts that eigenvalue computation has converged (bug #354 ).
2011-12-12 17:17:38 +00:00
Gael Guennebaud
d738bedc5b
remove redundant declaration (fix compilation with clang 3.0)
2011-12-11 11:45:03 +01:00
Gael Guennebaud
f60e6f5ee8
s/compressed()/isCompressed()
2011-12-10 23:08:10 +01:00
Gael Guennebaud
594fd2d11d
Cholmod: add support for uncompressed SparseMatrix objects
2011-12-10 22:53:31 +01:00
Gael Guennebaud
105e170d8b
trivial compilation fix
2011-12-10 16:17:12 +01:00
Gael Guennebaud
2600ba1731
feature 297: s/intersectionPoint/pointAt, fix documentation, add a unit test
2011-12-10 12:17:42 +01:00
Andy Somerville
c06ae325a4
feature 297: add ParametrizedLine::intersectionPoint() and intersectionParam()
...
-> intersection() is deprecated
2011-12-10 11:58:38 +01:00
Igor Krivenko
36457178f9
bug #352:properly cast constants
2011-12-09 23:38:41 +01:00
Gael Guennebaud
d400a6245e
fix compilation with EIGEN_NO_DEBUG
2011-12-09 23:42:39 +01:00
Gael Guennebaud
38277e8a9b
feature 319: fix LDLT::rankUpdate for complex/upper, simply the algortihm, update copyrights
2011-12-09 23:08:38 +01:00
Tim Holy
2d7c3eea53
feature 319: Add update and downdate functionality to LDLT
2011-12-09 21:04:44 +01:00
Gael Guennebaud
37f304a2e6
add a "using MKL" documentation page, add a minimal documentation of PARDISO wrapper classes, refine a bit the EIGEN_USE_* logic
2011-12-09 16:52:37 +01:00
Sebastian Lipponer
fff25a4b46
Fix MSVC integer overflow warning
2011-12-09 10:39:10 +00:00
Gael Guennebaud
57c6bfba08
add missing CMakeLists.txt
2011-12-09 10:53:12 +01:00
Gael Guennebaud
10447a7b57
mv blas.h to src/misc such that it would be possible to use any blas libraries,
...
however, this requires some more works:
- add const qualifiers in the declarations of blas.h
- add the possibility to add a suffix to blas function names
2011-12-09 10:40:35 +01:00
Gael Guennebaud
43cdd242d0
- split and rename defined tokens to enable the use of BLAS/Lapack/VML/etc
...
- include MKL headers outside the Eigen namespace.
2011-12-09 10:06:49 +01:00
karturov
015c331252
Intel(R) MKL support added.
...
* * *
License disclaimer changed to BSD license for MKL_support.h
* * *
Pardiso support fixed, test added.
blas/lapack tests fixed: Scalar parameter was added in Cholesky, product_matrix_vector_triangular remaned to triangular_matrix_vector_product.
* * *
PARDISO test was added physically.
2011-12-05 14:52:21 +07:00
Jitse Niesen
dd232e30b0
Document QuaternionBase, minor doc improvements.
...
* Document class QuaternionBase so that docs for members are displayed.
* Remove obsolete \redstar refering to Array module
* Fix typo in Constants.h
* Document EIGEN_NO_AUTOMATIC_RESIZING
2011-12-08 14:22:06 +00:00
Gael Guennebaud
e017f798eb
bump
2011-12-06 15:53:17 +01:00
Gael Guennebaud
84cf1b5b1d
fix QuaternionBase::cast.
...
It did not work with clang, and I'm unsure how it worked for gcc/msvc since QuaternionBase was introduced
2011-12-05 14:13:59 +01:00
Gael Guennebaud
9ca673daed
fix compilation with clang
2011-12-05 12:50:43 +01:00
Gael Guennebaud
59576014a9
fig bug #373 : compilation error with clang 2.9 when exceptions are disabled (cannot reproduce with clang 3.0 or 3.1)
2011-12-05 09:44:25 +01:00
Gael Guennebaud
b60624dc2a
fix bug #384 : add a static assertion on the Index type which has to be signed
2011-12-04 22:14:53 +01:00
Gael Guennebaud
82f9aa194d
fix bug #294 : add a diagonal() method to SparseMatrix (const)
2011-12-04 21:49:21 +01:00
Gael Guennebaud
69966e90e1
fix bug #221 : remove the dense to SparseVector conversion ctor.
2011-12-04 21:15:46 +01:00
Gael Guennebaud
5dc9650f11
fix bug #281 : replace csparse macros by template functions
2011-12-04 19:15:23 +01:00
Gael Guennebaud
9bd902ed9c
fix bug #341 : trisove on MappedSparseMatrix
2011-12-04 14:57:43 +01:00
Gael Guennebaud
9353bbac4a
fix bug #356 : fix TriangularView::InnerIterator for unit diagonals
2011-12-04 14:39:24 +01:00
Gael Guennebaud
32917515df
make the accessors to internal sparse storage part of the public API and remove their "_" prefix.
2011-12-04 12:19:26 +01:00
Gael Guennebaud
1cdbae62db
add SparseVector::ReverseInnerIterator
2011-12-04 09:56:40 +01:00
Gael Guennebaud
91e392a042
add ReverseInnerIterators to loop over the elements in reverse order,
...
and partly fix bug #356 (issue in trisolve for upper-column major))
2011-12-03 23:49:37 +01:00
Gael Guennebaud
a09cc5d4c0
fix bug #282 : add the possibiliry to shift the diagonal coefficients via a linear function.
2011-12-03 18:26:08 +01:00
Gael Guennebaud
9ae606866c
Eigen2sSupport: import some fixes from the 3.0 branch (MSVC fix)
2011-12-03 17:45:07 +01:00
Gael Guennebaud
e759086dcd
improve documentation of some sparse related classes
2011-12-02 19:02:49 +01:00
Gael Guennebaud
4ca89f32ed
Sparse matrix insertion:
...
- automatically turn a SparseMatrix to uncompressed mode when calling insert(i,j).
- now coeffRef insert a new element when it does not already exist
2011-12-02 19:00:16 +01:00
Gael Guennebaud
f10bae74e8
- move CompressedStorage and AmbiVector into internal namespace
...
- remove innerVectorNonZeros(j) => use innerVector(j).nonZeros()
2011-12-02 10:00:24 +01:00
Jitse Niesen
a0bcaa88af
Extend tutorial page on broadcasting to reflect recent changes.
2011-12-01 21:16:07 +00:00
Gael Guennebaud
49d652c600
fix assigment from uncompressed
2011-11-30 21:55:54 +01:00
Gael Guennebaud
6b8d6887ac
bug fix in SparseSelfAdjointTimeDenseProduct for empty rows or columns
2011-11-30 19:39:20 +01:00
Gael Guennebaud
00d4a360ba
bug fix in SparseView::incrementToNonZero
2011-11-30 19:31:11 +01:00
Gael Guennebaud
d1b54ecfa3
add more support for uncompressed mode
2011-11-30 19:24:43 +01:00
Gael Guennebaud
cda397b117
cleanning pass on the sparse modules:
...
- remove outdated/deprecated code
- improve a bit the documentation
2011-11-28 16:36:37 +01:00
Gael Guennebaud
2d621d235d
fix alignment computation in Block and MapBase such that aligned means aligned on 16 bytes and nothing else
...
(transplanted from dcb36e3d49
)
2011-11-28 13:43:10 +01:00
Marc Glisse
8107b3da75
bug #383 - EIGEN_ASM_COMMENT broken in C++11
...
this is due to the new user-defined literals syntax.
2011-11-26 17:55:18 -05:00
Gael Guennebaud
2d4fe54b73
fix CG example
2011-11-24 08:19:13 +01:00
Gael Guennebaud
01b4b6e456
improve accuracy of 3x3 direct eigenvector extraction
2011-11-23 22:43:40 +01:00
Benoit Jacob
ffe6d1f901
Alignment fixes:
...
* Fix AlignedBit computation for Plain Objects
* use it for the conditional alignment of operator new
* only overload new in PlainObjectBase, don't overload again in Matrix and Array
2011-11-22 09:04:31 -05:00
Gael Guennebaud
f278a3eaba
stop fill pivoting LU only if the pivot is exactly 0
2011-11-22 09:18:54 +01:00
Benoit Jacob
bc6d78982f
Bugs 157 and 377 - General tightening/testing of vectorwise ops:
...
* add lots of static assertions making it very explicit when all these ops
are supposed to work:
** all ops require the rhs vector to go in the right direction
** all ops already require that the lhs and rhs are of the same kind
(matrix vs vector) otherwise we'd have to do complex work
** multiplicative ops (introduced Kibeom's patch) are restricted to arrays, if only because for matrices they could be ambiguous.
* add a new test, vectorwiseop.cpp.
* these compound-assign operators used to be implemented with for loops:
for(Index j=0; j<subVectors(); ++j)
subVector(j).array() += other.derived().array();
This didn't seem to be needed; replaced by using expressions like operator+ and operator- did.
2011-11-18 11:10:27 -05:00
Kibeom Kim
de22ad117c
bug #157 - Implemented *= /= * / operations for VectorwiseOp (e.g. mat.colwise())
2011-11-17 17:57:45 -05:00
Jitse Niesen
08c0edae86
Move EIGEN_USING_MATRIX_TYPEDEFS macros to Eigen2Support.
2011-11-16 14:32:50 +00:00
Dennis Schridde
db36e4204f
[Geometry/AlignedBox] New typedefs, like for Core/Matrix
...
Includes 1-4 and dynamic sized boxes for int, float and double type.
Also changes the tests to use these typedefs.
2011-11-09 22:12:28 +01:00
Gael Guennebaud
8fbbbe7521
fix some include paths
2011-11-16 09:27:38 +01:00
Gael Guennebaud
cb2f1944e2
add the new module headers
2011-11-12 15:22:35 +01:00
Gael Guennebaud
53fa851724
move sparse solvers from unsupported/ to main Eigen/ and remove the "not stable yet" warning
2011-11-12 14:11:27 +01:00
Gael Guennebaud
3e4a68cc60
optimize vectorized reductions by peeling the loop:
...
- x2 for squaredNorm() on double
- peeling the loop with a peeling factor of 4 leads to even better perf
for large vectors (e.g., >64) but it makes more difficult to keep good performance on smaller ones.
2011-11-12 09:19:48 +01:00
Gael Guennebaud
c110abb7d2
fix performance issue with SPMV
2011-11-11 06:04:31 +01:00
Dennis Schridde
3a82aa1133
[Core/Matrix] Fix: Clear the right typedef macro
2011-11-09 12:25:55 +00:00
Gael Guennebaud
fb3aa7220f
reimplement abs2 not to use std::norm which is incredibly slow.
2011-11-08 22:42:51 +01:00
Jitse Niesen
45a6bb34c3
Add simple example on how to compute Cholesky decomposition.
2011-11-07 17:14:06 +00:00
Marton Danoczy
f422668d39
Patches to support ARM NEON with Clang 3.0 and LLVM-GCC
2011-11-04 16:37:10 +01:00
Benoit Jacob
1b98b73472
Refactor force-inlining macros and use EIGEN_ALWAYS_INLINE to force inlining of the integer overflow helpers, whose non-inlining caused major performance problems, see the mailing list thread 'Significant perf regression probably due to bug #363 patches'
2011-11-06 16:27:41 -05:00
Benoit Jacob
ab3f138b23
In the Matrix constructor taking (rows, cols), statically assert that the types are integer.
...
The 2D vector ctor taking (x, y) is not concerned.
2011-11-05 23:56:48 -04:00
Gael Guennebaud
478de03bd8
fix a couple of warnings in the unit tests
2011-11-05 23:30:49 +01:00
Gael Guennebaud
1de769d122
remove deprecated assert
2011-11-04 14:42:54 +01:00