Commit Graph

3005 Commits

Author SHA1 Message Date
Gael Guennebaud
ac8c694f3e add missing copyright 2012-10-30 15:16:47 +01:00
Gael Guennebaud
fea4220f37 SparseLU: add a specialized gemm kernel, and add padding to the supernodes such that supernodes columns are all properly aligned 2012-10-30 15:09:48 +01:00
Gael Guennebaud
b3254c9af5 fix bug #524: Pardiso's parameter array does not have to be aligned! 2012-10-24 10:31:04 +02:00
Gael Guennebaud
138897cc06 fix bug #521: __cpuidex is not available on all architectures supported by MSVC 2012-10-24 10:21:41 +02:00
Gael Guennebaud
9b418afff6 Windows CE does not provide an aligned_malloc function. 2012-10-24 10:12:42 +02:00
Gael Guennebaud
0753463d70 Fix bug #519: AlignedBox::dim() was wrong for dynamic dimensions 2012-10-24 09:58:35 +02:00
Desire NUENTSA
b722c405b7 Use Ref instead of VectorBlock 2012-10-09 12:18:47 +02:00
Desire NUENTSA
23e2de3cb6 RealShur for a already Hessenberg matrix 2012-10-09 12:16:54 +02:00
Gael Guennebaud
a67eea05c1 fix comma initializer when inserting empty matrices 2012-10-03 21:58:14 +02:00
Gael Guennebaud
fec6df1f7d fix dense=sparse*diagonal (there was an issue in the values returned by the .outer() function of the related iterators) 2012-10-03 09:06:19 +02:00
Gael Guennebaud
62b1f75a86 add an assertion when inserting an already existing element 2012-10-02 23:02:23 +02:00
Jitse Niesen
2008f76120 Merge 2012-09-29 17:35:15 +01:00
Desire NUENTSA
b68102d9a2 MSVC needs parentheses around min and max 2012-09-28 10:44:25 +02:00
Gael Guennebaud
87074d97e5 old gcc versions do not have immintrin.h file... 2012-09-27 23:35:54 +02:00
Desire NUENTSA
72bfed5e20 Add forgotten SparseLUBase 2012-09-27 11:34:56 +02:00
Gael Guennebaud
8b83e66906 add scalar multiple to diagonal matrices
(transplanted from dc5b335f9f
)
2012-09-27 09:37:05 +02:00
Gael Guennebaud
1b004d5794 fix SparseMatrix option bit flag in eval<> helper 2012-09-27 09:22:10 +02:00
Gael Guennebaud
b648484dba fix bug #515: missing explicit scalar conversion
(transplanted from b0862dcb2f
)
2012-09-27 00:23:19 +02:00
Gael Guennebaud
7c4b55fda9 fix bug #509: warning with gcc 4.7 2012-09-26 23:32:22 +02:00
Gael Guennebaud
7e97dd5bd8 we should not directly include the *mmintrin.h headers but include immintrin.h only 2012-09-26 19:28:57 +02:00
Desire NUENTSA
357fe3641d Correct reference to iterative scaling method 2012-09-25 11:55:33 +02:00
Desire NUENTSA
15a9f6b9c1 Doc for sparseLU 2012-09-25 11:48:18 +02:00
Hauke Heibel
5a3f49036b Removed scaling from the umeyama when it is not requested. 2012-09-25 11:39:40 +02:00
Desire NUENTSA
088379ac2f Fix MSVC compile error in SparseLU 2012-09-25 09:58:29 +02:00
Desire NUENTSA
a01371548d Define sparseLU functions as static 2012-09-25 09:53:40 +02:00
Chen-Pang He
d387dfa9dc Remove unnecessary code. lazyAssign seems to fix all (noalias, initialization, etc.) 2012-09-24 23:36:19 +08:00
Chen-Pang He
963794b04a Eliminate unnecessary evaluations 2012-09-23 00:20:19 +08:00
Gael Guennebaud
7740127e3d Make Ref<> suitable for both Matrix and Array kinds. Note that Matrix kind objects can be implicitely converted to an Array kind Ref<> and vice versa 2012-09-22 11:11:26 +02:00
Chen-Pang He
446d14f6ad Implement matrix power-matrix product again 2012-09-22 03:26:00 +08:00
Desire NUENTSA
7e0dd17312 Improve BiCGSTAB : With exact preconditioner, the solution should be found in one iteration 2012-09-19 18:32:02 +02:00
Gael Guennebaud
48c4d48aec workaround weird compilation error with MSVC 2012-09-14 09:54:56 +02:00
Gael Guennebaud
0c584dcf4d fix compilation with m.array().min/max(scalar) 2012-09-12 17:50:07 +02:00
Desire NUENTSA
45672e724e Incomplete Cholesky preconditioner... not yet stable 2012-09-11 12:12:19 +02:00
Desire NUENTSA
2d49d049d1 Clean the Colamd routine and add test for sparselu code 2012-09-10 14:41:17 +02:00
Desire NUENTSA
761fe49f37 Clean the Colamd routine 2012-09-10 14:28:28 +02:00
Desire NUENTSA
2c99d84133 add SparseLU in sparse bench 2012-09-10 12:41:26 +02:00
Gael Guennebaud
24f371bdb4 Merged in jdh8/eigen (pull request PR-16) 2012-09-08 12:16:49 +02:00
Gael Guennebaud
721671cc4e fix bug #501: remove aggressive mat/scalar optimization (was replaced by mat*(1/scalar) for non integer types) 2012-09-08 11:52:03 +02:00
Gael Guennebaud
06d2fe453d remove stupid assert in blue norm. 2012-09-07 23:19:24 +02:00
Desire NUENTSA
5433986f5a multiple warnings for unused variable 2012-09-07 14:01:51 +02:00
Desire NUENTSA
fdd0f0c5fc merge Sparse LU branch 2012-09-07 13:18:16 +02:00
Desire NUENTSA
063705b5be Add tutorial for sparse solvers 2012-09-07 13:14:57 +02:00
Desire NUENTSA
2280f2490e Init perf values 2012-09-04 12:21:07 +02:00
Desire NUENTSA
2e38666d01 correct bug in Blas 3 2D block update 2012-09-04 11:36:57 +02:00
Desire NUENTSA
3a22c47fb5 Bug in blas 3 2D block update 2012-09-03 14:49:03 +02:00
Chen-Pang He
d23134e4a7 Avoid inefficient 2x2 LU. Move atanh to internal for maintainability. 2012-08-30 23:40:30 +08:00
Gael Guennebaud
9da41cc527 forward resize() function from Array/Matrix-Wrapper to the nested expression such that mat.array().resize(a,b) is now allowed. 2012-08-30 16:28:53 +02:00
Gael Guennebaud
c5031edb92 Fix out-of-range memory access in GEMV (the memory was not used for the computation, only to assemble unaligned packets from aligned packet loads)
(transplanted from 221f54698c
)
2012-08-30 10:52:15 +02:00
Chen-Pang He
ba4e886376 Tidy up and write dox. 2012-08-28 01:55:13 +08:00
Gael Guennebaud
ebe511334f workaround clang bug (see http://forum.kde.org/viewtopic.php?f=74&t=102653) 2012-08-27 14:50:45 +02:00
Gael Guennebaud
576d62db64 fix a typo in commit 324ecf153b
(regarding MKL on windows)
2012-08-27 13:17:45 +02:00
Gael Guennebaud
75435079ca fix bug #499: the image was missing because of a dependency issue when building/executing the "special" examples 2012-08-27 11:11:25 +02:00
jdh8
4be172d84f matrix power: MatrixBase::pow(RealScalar) and MatrixBase::pow(T) where T is integral type 2012-08-15 00:34:20 +08:00
Desire NUENTSA
63d2dcfb70 Clean the supernodal matrix class 2012-08-07 17:10:42 +02:00
Desire NUENTSA
43f74cb5b1 Bug in 2D block update, disable it for now 2012-08-07 13:55:50 +02:00
Desire NUENTSA
4d3b7e2a13 Add support for Metis fill-reducing ordering ; it is generally more efficient than COLAMD ordering 2012-08-06 14:55:02 +02:00
Gael Guennebaud
a1b405c92e Add missing const in some casts 2012-08-05 10:40:46 +02:00
Gael Guennebaud
af824091be Fix precision regression when attempting to fix underflow issues. 2012-08-05 09:57:31 +02:00
Desire NUENTSA
a51806993b Prefix with glu, the global structure 2012-08-03 16:43:12 +02:00
Desire NUENTSA
70db61c269 Prefix with glu, the global structure 2012-08-03 16:36:00 +02:00
Gael Guennebaud
03509d1387 SparseLU: add leverage level3 ops 2012-08-03 15:37:44 +02:00
Gael Guennebaud
48dc95f1da factorize column_dfs and panel_dfs 2012-08-02 18:28:16 +02:00
Desire NUENTSA
6e8aa96e0f correct bug when solving with multiple Rhs 2012-08-03 13:05:27 +02:00
Gael Guennebaud
c73c3ec2f8 fix bug #495: remove too aggressive EIGEN_FLATTEN_ATTRIB attribute
(after some benchmarking, it was not useful anymore)
2012-08-02 12:22:22 +02:00
Desire NUENTSA
3a0f5a2a7f Update copyrights sections 2012-08-01 11:40:56 +02:00
Desire NUENTSA
02935b4249 switch to MPL license 2012-08-01 11:38:32 +02:00
Desire NUENTSA
390d6599ba Add missing .noalias() 2012-08-01 11:35:23 +02:00
Gael Guennebaud
7d98c864ff fix warning 2012-08-01 10:44:59 +02:00
Gael Guennebaud
22e0ebbc2c fix lower acceptable bound of SSE pexp for double 2012-07-31 23:11:04 +02:00
Gael Guennebaud
e88817cc51 add another missing .noalias() 2012-07-30 19:28:31 +02:00
Gael Guennebaud
8f6d5eacb4 optimize LU_kernel_bmod for small cases, and add an important .noalias() 2012-07-29 22:26:00 +02:00
Jitse Niesen
696b2f999f Eigenvalues module: Implement setMaxIterations() methods. 2012-07-28 21:30:09 +01:00
Gael Guennebaud
6f54269829 add an example for GeneralizedEigenSolver 2012-07-28 18:00:54 +02:00
Gael Guennebaud
8ab0e16e27 fix various regressions with MKL support 2012-07-28 16:32:43 +02:00
Alexey Korepanov
d937e67b48 RealQZ: added example and some code comments 2012-07-28 08:24:44 -05:00
Gael Guennebaud
e8aa1f00c5 add SSE pexp function for double, make use of _mm_floor_p* for pexp with SSE4.1 2012-07-27 23:40:04 +02:00
Desire NUENTSA W.
ce30d50e3e Improve the permutation 2012-07-27 16:38:20 +02:00
Gael Guennebaud
6eee2918d9 extend quotient functor to allow for mixed types (complex-real) 2012-07-27 11:56:20 +02:00
Desire NUENTSA W.
c0fa5811ec Refactoring codes for numeric updates 2012-07-27 11:36:58 +02:00
Gael Guennebaud
9e8d2dea80 Add a preliminary GeneralizedEigenSolver computing the eigenvalues of Av=lBv with A and B general real matrices.
Currently only the eigenvalues are reported.
2012-07-26 20:15:17 +02:00
Gael Guennebaud
cfb76b242f RealSchur: improve speed of computeNormOfT 2012-07-26 18:04:58 +02:00
Gael Guennebaud
4e60e2cdf6 RealQZ: improve computeNorms speed, improve shift accuracy (better to do a/b than a*(1/b)),
update API to set the maximum number of iterations
2012-07-26 18:03:10 +02:00
Gael Guennebaud
7518201de8 SparseMatrix: add missing ctor for ReturnByValue 2012-07-25 23:03:10 +02:00
Alexey Korepanov
ea310249f3 RealQZ: bug in pushDownZero fixed too 2012-07-25 12:49:18 -05:00
Alexey Korepanov
a3a9773ab6 RealQZ: bug in splitOffTwoRows fixed 2012-07-25 12:17:00 -05:00
Desire NUENTSA
925ace196c correct bug in the complex version 2012-07-19 18:15:23 +02:00
Desire NUENTSA
59642da88b Add exception handler to memory allocation 2012-07-19 18:03:44 +02:00
Desire NUENTSA
b0cba2d988 Add a draft (not clean ) version of the COLAMD ordering implementation 2012-07-18 16:59:00 +02:00
Jitse Niesen
bf7d986af6 Add static assert that objects on stacks are not too big (bug #491). 2012-07-17 22:15:42 +01:00
Gael Guennebaud
e75b1eb883 Fix aliasing issue in sparse matrix assignment.
(m=-m; or m=m.transpose(); with m sparse work again)
2012-07-25 09:33:50 +02:00
Gael Guennebaud
7b34b5f6f9 do not apply plane rotation when it is exactly the identity 2012-07-24 18:19:56 +02:00
Gael Guennebaud
e7c07de549 RealQZ: optimize general hessenberg to not apply rotations to zero entries. 2012-07-24 18:16:22 +02:00
Gael Guennebaud
c1cab7b8ed real QZ: update license 2012-07-24 18:11:41 +02:00
Desire NUENTSA
773804691a working version of sparse LU with unsymmetric supernodes and fill-reducing permutation 2012-07-13 17:32:25 +02:00
Alexey Korepanov
65db91ac2b Add a RealQZ class: a generalized Schur decomposition for real matrices 2012-07-11 16:38:03 -05:00
Jitse Niesen
ba5eecae53 Allow user to specify max number of iterations (bug #479). 2012-07-24 15:17:59 +01:00
Jitse Niesen
b7ac053b9c Use EISPACK's strategy re max number of iters in Schur decomposition (bug #479). 2012-07-22 22:02:50 +01:00
Jitse Niesen
fd5749f51c LDLT: Report sign consistent with D for indefinite matrices.
See http://forum.kde.org/viewtopic.php?f=74&t=106942
2012-07-22 21:39:38 +01:00
Jitse Niesen
907f4562ac Fix some illegal memory access in sparse conservativeResize() 2012-07-20 22:51:51 +01:00
Benjamin Piwowarski
6bf49ceac2 bug #449: add SparseMatrix::conservativeResize feature 2012-07-19 00:07:06 +02:00
Jitse Niesen
d3998de472 Silence clang warning about && inside || 2012-07-14 15:50:56 +01:00
Jitse Niesen
4ae3e0a9b8 Evaluators: Fixed bug caused by Diagonal dynamic index change.
This caused the evaluators unit test to fail.
2012-07-14 14:55:04 +01:00
Gael Guennebaud
79214745c7 clean Eigen2Support wrt KDE mentions 2012-07-14 10:15:45 +02:00
Gael Guennebaud
46b1c7a0ce fix bug #485: conflict between a typedef and template type parameter 2012-07-13 20:54:38 +02:00
Benoit Jacob
269be00925 Add a EIGEN_MPL2_ONLY build option to generate compiler errors when including non-MPL2 modules 2012-07-13 14:42:47 -04:00
Benoit Jacob
0733e622a3 Manual MPL2 relicensing fixes 2012-07-13 14:42:47 -04:00
Benoit Jacob
69124cfca2 Automatic relicensing to MPL2 using Keirs script. Manual fixup follows. 2012-07-13 14:42:47 -04:00
Gael Guennebaud
904ecdf9d8 Add a DynamicIndex constant for signed quantities and use it to fix the conflict
between Diagonal<S,-1> (the first sub diagonal) and a runtime super/sub diagonal which is now:
Diagonal<S,DynamicIndex>
2012-07-10 23:04:17 +02:00
Gael Guennebaud
3e6329a0d9 fix computation of fixed size sub/super diagonal size 2012-07-10 22:39:05 +02:00
Desire NUENTSA
e529bc9cc1 correct bug when applying column permutation 2012-07-10 19:18:50 +02:00
Desire NUENTSA
de2544cc9b working version of sparse LU without fill-reducing permutation 2012-07-10 19:16:57 +02:00
Gael Guennebaud
a2c3003be2 Fix possible underflow issues in SelfAdjointEigenSolver 2012-07-10 09:51:26 +02:00
Desire NUENTSA
3095e4a5f9 Correct bug for triangular solve within supernodes 2012-07-09 19:09:48 +02:00
Desire NUENTSA
b5a83867ca Update Ordering interface 2012-07-06 20:18:16 +02:00
Jitse Niesen
b1b6864c88 Evaluators: Remove member variables if known at compile-time.
Also, use composition instead of inheritance in EvalToTemp evaluator.
2012-07-06 14:50:03 +01:00
Desire NUENTSA
203a0343fd Update Ordering interface 2012-07-06 13:34:06 +02:00
Gael Guennebaud
7bfd8eabff fix compilation with MSVC 2012-07-05 21:58:01 +02:00
Gael Guennebaud
5dbdde0420 Fix bug #480: workaround the Android NDK defining isfinite as a macro 2012-07-05 17:22:25 +02:00
Gael Guennebaud
23df2eed46 bug #481 step 1: add a new Ref<> class for non templated function arguments 2012-07-05 17:00:28 +02:00
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