Commit Graph

3127 Commits

Author SHA1 Message Date
Desire NUENTSA
d97cd746ae Replace int by Index 2013-04-08 08:51:58 +02:00
Christoph Hertzberg
9b33ab62da Fixing bug #578. Thanks to Angelos <filiatra@gmail.com> 2013-04-03 16:29:16 +02:00
Gael Guennebaud
0a1d9fb9ae Fix warning: implicit conversion loses integer precision in SparseMatrix. No need to use std::ptrdiff_t instead of Index since this later is requested to be signed. 2013-03-20 21:58:24 +01:00
Gael Guennebaud
c519be2bac Allow multiplication like binary operators to be applied on type couples supported by scalar_product_traits 2013-03-20 21:19:16 +01:00
Gael Guennebaud
d63712163c Add SSE4 min/max for integers 2013-03-20 18:28:40 +01:00
Desire NUENTSA
da6219b19d Bug567 : Fix iterative solvers to immediately return when the initial guess is the true solution and for trivial solution 2013-03-20 16:15:18 +01:00
Desire NUENTSA
22460edb49 Use a template Index for COLAMD ordering 2013-03-20 16:02:03 +01:00
Desire NUENTSA
4107b371e3 Handle zero right hand side in CG and GMRES 2013-03-20 11:22:45 +01:00
Gael Guennebaud
f29b4c435b Make cpuid not use %%esi -> dangerous if someone is using it. 2013-03-19 14:11:59 +01:00
Michael Schmidt
0d5a418048 Fix bug #566: rbx register has to be saved when calling cpuid on x84_64 with -fPIC and medium or large code models. 2013-03-19 14:00:42 +01:00
Desire NUENTSA
f8addac4e1 Include SparseLU and SparseQR 2013-03-13 18:01:47 +01:00
Desire NUENTSA
6c68f1d787 bug #563 : Sparse block assignments should be called on compressed matrices. Uncompressed matrices will be supported later 2013-03-11 19:21:18 +01:00
Jitse Niesen
97c9e3c74f Handle special case in atanh2(x,y) when y = 0.
This fixes matrix_power unit test on clang.
2013-03-09 16:58:05 +00:00
Gael Guennebaud
2238592062 bump to 3.2-beta1 (3.1.91) 2013-03-07 08:49:10 +01:00
Desire NUENTSA
4fdae4dda9 Fix bug in SparseLU kernel for 32bits indices 2013-03-06 16:35:12 +01:00
Gael Guennebaud
98ce4455dd fix sparse vector assignment from a sparse matrix 2013-03-06 11:58:22 +01:00
Desire NUENTSA
69bd334d2b Fix mismatched free/delete 2013-03-05 16:35:13 +01:00
Desire NUENTSA
a1ddf2e7a8 Update doc for the sparse module 2013-03-05 12:55:03 +01:00
Gael Guennebaud
24d81aeb20 Fix overlaping operands when calling memcpy 2013-03-04 17:47:45 +01:00
Gael Guennebaud
b9fe79153b Fix a couple of remaining warnings (missing newlines, inline-noinline, meaningless type qualifiers) 2013-03-01 14:42:36 +01:00
Gael Guennebaud
d70366d011 Remove assumption on RowMajorBit==RowMajor and ColMajor==0 2013-03-01 14:23:31 +01:00
Gael Guennebaud
01c6308d6e Add missing template keyword in evaluators 2013-03-01 00:26:52 +01:00
Gael Guennebaud
3930c9b086 Fix "routine is both "inline" and "noinline"" warnings 2013-02-28 19:31:03 +01:00
Gael Guennebaud
e5bf4440c0 Fix "type qualifiers are meaningless here" warnings 2013-02-28 19:29:32 +01:00
Gael Guennebaud
0fac91ac22 Fix "storage class is not first" warnings 2013-02-28 19:27:53 +01:00
Hauke Heibel
5e8384df2e MSVC fix; the base class typedef shadowed the local template parameter. 2013-02-28 08:47:38 +01:00
Gael Guennebaud
fa17a6da75 Fix compilation with ICC that was unable to instanciate first_aligned 2013-02-26 17:32:42 +01:00
Gael Guennebaud
bb94f0ebc6 Add a unit test for Ref.h and fix an extra copy. 2013-02-26 15:10:00 +01:00
Gael Guennebaud
63135a7350 Fix computation of outer-stride when calling .real() or .imag() 2013-02-26 15:08:50 +01:00
Gael Guennebaud
0b187a40a1 workaround "may be used uninitialized in this function" warning 2013-02-26 12:09:08 +01:00
Gael Guennebaud
5dda7842ca Add assertion on the input matrix size in factorizations relying on permutations of 32bits int 2013-02-26 11:42:32 +01:00
Gael Guennebaud
b6dc2613ac Fix bug #552: disable EIGEN_GLIBC_MALLOC_ALREADY_ALIGNED when compiling with -fsanitize=address, and allow users to manually tell whether EIGEN_MALLOC_ALREADY_ALIGNED. 2013-02-25 19:17:13 +01:00
Gael Guennebaud
12a1313b09 bug #482: pass scalar arguments by const references. Still remains a few cases that might affect the ABI (see the bug entry) 2013-02-25 18:05:57 +01:00
Desire NUENTSA
cc35c44256 Add reference for the default threshold in sparse QR 2013-02-25 14:26:55 +01:00
Desire NUENTSA
ced8dfc0d9 Fix the computation of the default pivot threshold for sparse QR 2013-02-25 13:41:59 +01:00
Gael Guennebaud
5a0c5c0393 Fix bug #483: optimize outer-products to skip setZero and a scalar multiple when not needed. 2013-02-25 13:31:42 +01:00
Gael Guennebaud
698de91c8a Fix segfault in SparseBlock::InnerIterator 2013-02-25 01:30:18 +01:00
Gael Guennebaud
04367447ac Fix bug #496: generalize internal rank1_update implementation to accept uplo(A) += v * w and make A.triangularView() += v * w uses it.
Update unit tests and blas interface respectively.
2013-02-24 23:05:42 +01:00
Gael Guennebaud
08388cc712 Remove superfluous cast. 2013-02-24 20:37:52 +01:00
Gael Guennebaud
4eeaff6d38 Cleaning pass on SparseQR 2013-02-24 20:36:28 +01:00
Gael Guennebaud
274c24c262 Avoid problematic ternary operator (http://forum.kde.org/viewtopic.php?f=74&t=109486) 2013-02-23 20:13:21 +01:00
Sebastien Barthelemy
74438f8aa9 Fix EIGEN_INITIALIZE_MATRICES_BY_NAN. 2013-02-22 15:09:03 +01:00
Gael Guennebaud
7fe6419171 remove double parenthesis 2013-02-22 14:50:47 +01:00
Gael Guennebaud
e71bc79f2a SparseLU does not accept row-major matrices for the destination. 2013-02-22 14:45:42 +01:00
Desire NUENTSA
59f9400420 Clarify the doc for column-pivoting QR 2013-02-21 13:33:31 +01:00
Jitse Niesen
986f60127d Guard against transposeInPlace on non-square non-resizable matrix.
Inspired by question by Martin Drozdik at stackoverflow.com/q/14954983
2013-02-20 14:03:14 +00:00
Desire NUENTSA
dca7190e15 Add setPivotThreshold to Sparse QR 2013-02-20 14:00:28 +01:00
Desire NUENTSA
19de016fef Correct the SPQR backend for rank-deficient matrices and delete some public functions 2013-02-20 13:59:56 +01:00
Desire NUENTSA
bc18e06fe3 Add matrixR() to get the triangular factor from the Householder QR 2013-02-20 13:58:26 +01:00
Desire NUENTSA
962c99d462 Metis ordering backend supports only squared matrices 2013-02-20 13:56:51 +01:00
Jitse Niesen
b4f6aec195 Fix linear vectorized transversal in linspace (fixes bug #526). 2013-02-18 17:26:03 +00:00
Desire NUENTSA
1a056b408d Add a rank-revealing feature to sparse QR 2013-02-15 16:35:28 +01:00
Gael Guennebaud
cf259ce590 Workaround the following warning: "assuming signed overflow does not occur when assuming that (X + c) < X is always false" 2013-02-15 14:28:20 +01:00
Gael Guennebaud
a1091caa43 Fix some unused or not initialized related warnings. 2013-02-15 14:05:37 +01:00
Gael Guennebaud
8745da14d8 Fix SSE plog<float> to return -INF on 0 2013-02-14 23:34:05 +01:00
Gael Guennebaud
24e4a3af2b Add missing using std::sqrt 2013-02-14 21:40:00 +01:00
Gael Guennebaud
f8407742c1 Fix some implicit int64 to int conversion warnings. However, the real issue
is that PermutationMatrix mixes the type of the stored indices and the "Index"
type used for the sizes, coeff indices, etc., which should be DenseIndex.
(transplanted from 66cbfd4d39
)
2013-02-14 18:16:51 +01:00
Gael Guennebaud
25bcbfb10c Fix bug in aligned_free with windows CE 2013-02-13 19:09:31 +01:00
Gael Guennebaud
a143c5b78c Fix bug #544: assertion in JacobiSVD when compiling with EIGEN_NO_AUTOMATIC_RESIZING 2013-02-12 19:56:48 +01:00
Gael Guennebaud
3cd32996f1 Fix bug #551: compilation issue when using EIGEN_DEFAULT_DENSE_INDEX_TYPE 2013-02-09 09:43:17 +01:00
Gael Guennebaud
5115f4c504 add EIGEN_INITIALIZE_MATRICES_BY_NAN 2013-02-07 18:07:07 +01:00
Gael Guennebaud
3c1ccca285 Add missing operator= in RefBase 2013-02-07 17:49:16 +01:00
Gael Guennebaud
e21dc15386 Add missing data member function in CwiseUnaryView 2013-02-07 17:44:24 +01:00
Gael Guennebaud
5154253933 Fix some MPL2/LGPL lisencing confusions 2013-02-06 11:30:33 +01:00
Jitse Niesen
14e2ab02b5 Replace assert() by eigen_assert() (fixes bug #548). 2013-02-02 22:04:42 +00:00
Desire NUENTSA
35647b0133 Correct bug in SPQR backend and replace matrixQR by matrixR 2013-01-29 17:48:30 +01:00
Desire NUENTSA
8bc00925e5 Change int to Index type for SparseLU 2013-01-29 16:21:24 +01:00
Hauke Heibel
57e50789f3 Added missing using std::sqrt. 2013-01-27 13:46:06 +01:00
Desire NUENTSA
7f0f7ab5b4 Add additional methods in SparseLU and Improve the naming conventions 2013-01-25 20:38:26 +01:00
Desire NUENTSA
d58056bde4 Merged local branch with main trunk 2013-01-25 19:05:33 +01:00
Desire NUENTSA
81d4bfa8d9 add support for solving with sparse right hand side 2013-01-25 18:17:17 +01:00
Gael Guennebaud
e4ec63aee7 Suppress annoying "may be used uninitialized in this function" warning with gcc >= 4.6 2013-01-24 11:59:17 +01:00
Gael Guennebaud
c22f7cef83 Workaround "error: floating-point literal cannot appear in a constant-expression" in mpreal.h when compiling with predantic.
(I really don't know how to properly fix this))
2013-01-23 20:51:38 +01:00
Gael Guennebaud
73026eab4d Fix SparseLU special gemm kernel on 32 bits system w/o SSE 2013-01-23 19:34:01 +01:00
Gael Guennebaud
ee36eaefc6 remove dummy code in ColPivHouseholderQR::solve 2013-01-23 18:34:29 +01:00
Gael Guennebaud
19c78cf510 Workaround gcc-4.7 bug #53900 (too aggressive optimization in our alignment check) 2013-01-22 22:59:09 +01:00
Desire NUENTSA
3d9150870d Fix documentation for SparseLU 2013-01-21 15:39:18 +01:00
Desire NUENTSA
d2dd5063b6 Documentation for the ordering methods 2013-01-21 15:37:47 +01:00
Gael Guennebaud
392ffce3b9 Fix traits of Map<Quaternion>, and respectively extend the unit tests 2013-01-20 10:21:54 +01:00
Gael Guennebaud
fb89b66229 Some minor documentation fixes in Quaternion 2013-01-20 10:20:39 +01:00
Chen-Pang He
332eb36436 Implement complex MatrixPowerTriangular. There are still problems with real one. 2012-09-30 02:14:16 +08:00
Gael Guennebaud
209199a13e Move the definition of DenseBase::InnerIterator to Core module. (needed to make blueNorm generic) 2013-01-15 22:03:54 +01:00
Desire NUENTSA
f813e83bc3 Delete unused variable in SparseLU 2013-01-14 16:03:46 +01:00
Desire NUENTSA
c05848a330 Move SparseColEtree common to SparseLU and SparseQR to SparseCore and fix build issue of sparseqr 2013-01-14 15:59:46 +01:00
Desire NUENTSA
904c2f137b Fix the column permutation in SparseQR 2013-01-14 14:20:42 +01:00
Sergey Popov
761b3bbb69 Fix bug #540: SelfAdjointEigenSolver improperly used the upper triangular part to extract the scaling factor. 2013-01-12 12:07:49 +01:00
Gael Guennebaud
7262cf783c Cleaning documentation pass in ordering and ILUT 2013-01-12 11:56:56 +01:00
Gael Guennebaud
38fa432e07 Clean inclusion, namespace definition, and documentation of SparseLU 2013-01-12 11:55:16 +01:00
Gael Guennebaud
50625834e6 SparseQR: clean a bit the documentation, fix rows/cols methods, remove rowsQ methods and rename matrixQR to matrixR. 2013-01-12 09:40:31 +01:00
Gael Guennebaud
581e389c54 Fix installation path of SparseQR 2013-01-12 09:32:51 +01:00
Desire NUENTSA
121f3bdf04 Pass a const matrix to sparseQR 2013-01-11 17:47:32 +01:00
Desire NUENTSA
33febdb48b Add support for Schur decomposition of matrices in Hessenberg form 2013-01-11 17:36:45 +01:00
Desire NUENTSA
0f94e96342 Add support for sparse blueNorm 2013-01-11 17:27:12 +01:00
Desire NUENTSA
91b3b3aaab Add a sparse QR factorization and update the elimination tree in SparseLU 2013-01-11 17:16:14 +01:00
Gael Guennebaud
f9927b4aca Fix _data() versus data() issue in SparseVector, and add a Storage typedef just like SparseMatrix. 2013-01-05 23:04:22 +01:00
Gael Guennebaud
93ee82b1fd Big changes in Eigen documentation:
- Organize the documentation into "chapters".
  - Each chapter include many documentation pages, reference pages organized as modules, and a quick reference page.
  - The "Chapters" tree is created using the defgroup/ingroup mechanism, even for the documentation pages (i.e., .dox files for which I added an \eigenManualPage macro that we can switch between \page or \defgroup ).
  - Add a "General topics" entry for all pages that do not fit well in the previous "chapters".
  - The highlevel struture is managed by a new eigendoxy_layout.xml file.
- remove the "index" and quite useless pages (namespace list, class hierarchy, member list, file list, etc.)
- add the javascript search-engine.
- add the "treeview" panel.
- remove \tableofcontents (replace them by a custom \eigenAutoToc macro to be able to easily re-enable if needed).
- add javascript to automatically generate a TOC from the h1/h2 tags of the current page, and put the TOC in the left side panel.
- overload various javascript function generated by doxygen to:
  - remove the root of the treeview
  - remove links to section/subsection from the treeview
  - automatically expand the "Chapters" section
  - automatically expand the current section
  - adjust the height of the treeview to take into account the TOC
- always use the default .css file, eigendoxy.css now only includes our modifications
- use Doxyfile to specify our logo
- remove cross references to unsupported modules (temporarily)
2013-01-05 16:37:11 +01:00
Chen-Pang He
8321b7ae74 Make KroneckerProductSparse inherit EigenBase instead of SparseMatrixBase, for it does not provide an InnerIterator. 2012-10-25 02:09:48 +08:00
Chen-Pang He
0508a0620b Let KroneckerProduct inherit ReturnByValue to eliminate temporary evaluation. It's uncommon to store the product back to one of the operands. 2012-10-15 19:45:50 +08:00
Chen-Pang He
c4b83461d9 Make kroneckerProduct take two arguments and return an expression, which is more straight-forward. 2012-10-15 00:21:12 +08:00
Jitse Niesen
20a984cd2e Remove #include of removed header file. 2013-01-03 16:44:15 +00:00
Gael Guennebaud
6fb3be9841 Remove useless empty file. 2013-01-03 17:05:20 +01:00
Gael Guennebaud
f41d96deb9 Fix several documentation issues 2012-12-24 13:33:22 +01:00
Gael Guennebaud
f450303321 Fix MSVC compilation: std::log was not accessible. 2012-12-20 18:11:49 +01:00
Christoph Hertzberg
b7ea59556d Fix bug #507: Mark variable as unused in NDEBUG case 2012-12-20 11:21:47 +01:00
Gael Guennebaud
e90752d252 Fix bug #534: rm useless initialization of rowSpacer. 2012-12-16 20:32:48 +01:00
Gael Guennebaud
925a5b7d07 Fix bug #535: unused variable warnings 2012-12-16 20:21:28 +01:00
Gael Guennebaud
6c8cf15c06 Fix compilation of Block/SparseBlock with MSVC 2012-12-16 19:45:48 +01:00
Gael Guennebaud
8844f632fa Move work in progress Levenberg Marquardt module in unsupported 2012-12-08 18:22:23 +01:00
Gael Guennebaud
4cdcb6d793 Add missing minpack copyrights/license.
Fix LM header files and credits original MINPACK authors.
Move minimizeOneStep code into its own file to get it more properly credited.
2012-12-08 18:17:18 +01:00
Desire NUENTSA
2aba6645f4 Move the Levenberg Marquardt to the supported branch
Add support for sparse computations... need SPQR module.
2012-12-07 15:47:13 +01:00
Desire NUENTSA
5afaacedc6 Update SPQR interface 2012-12-07 15:32:04 +01:00
Desire NUENTSA
36414d1f3e Update SPQR module for Sparse LM 2012-11-21 19:47:44 +01:00
Desire NUENTSA
9162a8492e ReverseInnerIterator for SparseBlock 2012-11-16 20:00:34 +01:00
Desire NUENTSA
4acc18f100 Move VectorBlock methods into plugin section 2012-11-16 19:59:11 +01:00
Gael Guennebaud
4e60283289 Remove Sparse/InnerVectorSet expression in favor of a more general Block<> specialization for Sparse expression.
The specializations for "InnerPanels" are still preserved for efficiency reasons and because they offer additional usefull features.
2012-11-16 09:02:50 +01:00
Gael Guennebaud
3dc8f8536a Generalize Block<> to support various implementation wrt StorageKind (just like other expression) 2012-11-16 09:00:27 +01:00
Gael Guennebaud
493319ae5f plugin header files can be included more than once 2012-11-15 14:33:30 +01:00
Desire NUENTSA
0412dff97b Add more useful functions to SPQR interface 2012-11-13 18:13:13 +01:00
Desire NUENTSA
9cf77ce1d8 Add support for Sparse QR factorization 2012-11-12 15:20:37 +01:00
Gael Guennebaud
a76fbbf397 Fix bug #314:
- remove most of the metaprogramming kung fu in MathFunctions.h (only keep functions that differs from the std)
- remove the overloads for array expression that were in the std namespace
2012-11-06 15:25:50 +01:00
Gael Guennebaud
aa858cb43a add first_multiple helper function 2012-10-30 16:27:52 +01:00
Gael Guennebaud
90fcaf11cf SparseLU: remove the "snode" path which appears to bring nearly zero speedup 2012-10-30 15:17:58 +01:00
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