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
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