Commit Graph

  • 797f63044a oops, forgot to add DenseDirectAccessBase Benoit Jacob 2010-04-16 14:46:55 -04:00
  • d9ee28851e fix ei_blas_traits directaccess check: in the case of vectors, having a nontrivial inner stride is OK. Benoit Jacob 2010-04-16 14:12:53 -04:00
  • 04c663840b * add some 1x1 tests * temporarily disable tests that strangely fail, with a big FIXME Benoit Jacob 2010-04-16 12:32:33 -04:00
  • 0ab431d7b8 * merge with mainline * adapt Eigenvalues module to the new rule that the RowMajorBit must have the proper value for vectors * Fix RowMajorBit in ei_traits<ProductBase> * Fix vectorizability logic in CoeffBasedProduct Benoit Jacob 2010-04-16 11:25:50 -04:00
  • ff6a46105d * Refactoring of the class hierarchy: introduction of DenseDirectAccessBase, removal of extra _Base/_Options template parameters. * Introduction of strides-at-compile-time so for example the optimized code really knows when it needs to evaluate to a temporary * StorageKind / XprKind * Quaternion::setFromTwoVectors: use JacobiSVD instead of SVD * ComplexSchur: support the 1x1 case Benoit Jacob 2010-04-16 10:13:32 -04:00
  • ea1a2df370 taucs: make SupernodalMultifrontal the default mode Gael Guennebaud 2010-04-15 12:42:17 +02:00
  • 0b6b316f18 an attempt to fix compilation with MSVC Gael Guennebaud 2010-04-15 12:36:28 +02:00
  • a2324d6265 fix sparse squared norm Gael Guennebaud 2010-04-13 10:40:55 +02:00
  • 614fbe497d Merge. Jitse Niesen 2010-04-12 18:55:27 +01:00
  • 574ad9efbd Move computation of eigenvalues from RealSchur to EigenSolver. Jitse Niesen 2010-04-12 18:54:15 +01:00
  • 73d3a27667 RealSchur: Make sure zeros are really zero (cont'd); add default ctor, docs. Jitse Niesen 2010-04-12 18:14:32 +01:00
  • 0b0366a53d cholmod: assume selfadjoint matrix by default since selfadjoint flag has been removed Gael Guennebaud 2010-04-09 13:37:05 +02:00
  • 872df22ca4 RealSchur: Make sure zeros are really zero; simplify initFrancisQRStep(). Jitse Niesen 2010-04-09 11:23:17 +01:00
  • 1ad6c79467 merge Gael Guennebaud 2010-04-08 13:29:31 +02:00
  • 7a59f9ae01 make sure that changing CMAKE_INSTALL_PREFIX is properly taken into account Gael Guennebaud 2010-04-08 13:28:21 +02:00
  • 7dea3a33a5 RealSchur: change parameter lists; minor rewrite of computeShift(). Jitse Niesen 2010-04-07 17:29:12 +01:00
  • b6829e1d5b RealSchur: use makeHouseholder() to construct the transformation. Jitse Niesen 2010-04-07 10:27:27 +01:00
  • cc57df9bea RealSchur: Rename l and n to il and iu. Jitse Niesen 2010-04-06 18:26:30 +01:00
  • 9fad1e392b RealSchur: split computation in smaller functions. Jitse Niesen 2010-04-06 17:45:46 +01:00
  • 7dc56b3dfb RealSchur: Use Householder module in Francis QR step. Jitse Niesen 2010-04-06 16:43:07 +01:00
  • 86df74c765 RealSchur: reduce scope of temporary variables in hqr2(). Jitse Niesen 2010-04-06 15:26:09 +01:00
  • dad50338b8 RealSchur: Use PlanarRotation in "found two real eigenvalues" branch. Jitse Niesen 2010-04-06 15:12:21 +01:00
  • d88d1cfa62 Merge. Jitse Niesen 2010-04-02 21:33:34 +01:00
  • 79e1ce6093 RealSchur and EigenSolver: some straightforward renames. Jitse Niesen 2010-04-02 21:05:32 +01:00
  • a16a36ecf2 Add tests for real and complex Schur; extend test for Hessenberg. Make a minor correction to the ComplexSchur class. Jitse Niesen 2010-04-02 14:32:20 +01:00
  • 9d6afdeb22 ei_psqrt fix for zero input Hauke Heibel 2010-04-01 15:10:52 +02:00
  • 3a14a13533 Split computation of real Schur form in EigenSolver to its own class. This is done with the minimal amount of work, so the result is very rough. Jitse Niesen 2010-04-01 12:32:56 +01:00
  • 4785e27d6a fix btl compilation Gael Guennebaud 2010-04-01 12:34:55 +02:00
  • 8cfa672fe0 Use HessenbergDecomposition in EigenSolver. Jitse Niesen 2010-03-31 21:50:18 +01:00
  • 1b3f7f2fee Extend documentation and add examples for EigenSolver class. Jitse Niesen 2010-03-31 11:59:11 +01:00
  • 338ec0390f let the cast functor use the new ei_cast() Benoit Jacob 2010-03-30 14:51:47 -04:00
  • 16e416b8d7 generalize the idea of the previous commit to all kinds of casts, see this forum thread: http://forum.kde.org/viewtopic.php?f=74&t=86914 this is important to allow users to support custom types that don't have the needed conversion operators. Benoit Jacob 2010-03-30 14:47:45 -04:00
  • 9e0d8697c7 add ei_cast_to_int, we are indeed somethings (e.g. in IO.h) casting scalars to int and the only way to allow users to extend that to their own scalar types that don't have int cast operators, was to allow them specialize ei_cast_to_int_impl. Benoit Jacob 2010-03-30 14:16:54 -04:00
  • 8f99ae5ea4 move the computation of the number of significant digits to a templated helper struct, that can be specialized to custom types if needed. Should address this request: http://forum.kde.org/viewtopic.php?f=74&t=86914 Benoit Jacob 2010-03-30 11:38:09 -04:00
  • e6300efb5c Extend documentation for HessenbergDecomposition. Jitse Niesen 2010-03-28 17:33:56 +01:00
  • 0a5c2d8a54 fix misc warnings, more importantly when NDEBUG is defined, assert() is a nop. Thomas Capricelli 2010-03-27 18:58:29 +01:00
  • af08770890 Center version number on main page of API documentation. Jitse Niesen 2010-03-26 12:36:42 +00:00
  • eb0c921a58 Fix some doc typos. Manuel Yguel 2010-03-25 16:54:00 +01:00
  • df1cbe8c3d fix display of modules list in documentation Thomas Capricelli 2010-03-25 08:50:23 +01:00
  • 671cfb7ad0 Fix wrong header and warnings in polynomialutils.cpp Manuel Yguel 2010-03-25 03:31:33 +01:00
  • 89f2d5667f Add the possibility to use the polynomial solver of the gsl. Manuel Yguel 2010-03-25 03:25:47 +01:00
  • 5ef83d6a6c Add missing test files for Polynomials module. Manuel Yguel 2010-03-25 03:21:52 +01:00
  • 9a4a08da46 Creation of the Polynomials module with the following features: * convenient functions: - Horner and stabilized Horner evaluation - polynomial coefficients from a set of given roots - Cauchy bounds * a QR based polynomial solver Manuel Yguel 2010-03-25 03:15:05 +01:00
  • 4e871c6c80 blas: fix compilation and build both a shared and static lib Gael Guennebaud 2010-03-24 19:34:18 +01:00
  • c68098b9be Clean up ComplexSchur::compute() . Jitse Niesen 2010-03-24 14:10:33 +00:00
  • 13a1b0ba27 Add snippets file which should have been added in the previous commit. Jitse Niesen 2010-03-24 13:04:03 +00:00
  • 37e17938e9 Extend documentation of ComplexSchur and add examples. Jitse Niesen 2010-03-23 12:49:09 +00:00
  • 307c428253 Move documentation of MatrixBase methods in MatrixFunctions to module page. I think that because MatrixFunctions is in unsupported/ and MatrixBase is not, doxygen does not include the MatrixBase methods defined and documented in the MatrixFunctions module with the other MatrixBase methods. This is a kludge, but at least the documentation is not lost. Jitse Niesen 2010-03-22 13:58:19 +00:00
  • 525d6b655f Merge. Jitse Niesen 2010-03-21 21:59:00 +00:00
  • 8e5d2b6fc4 Rename Complex in ComplexSchur and ComplexEigenSolver to ComplexScalar for consistency with the RealScalar type; correct ComplexEigenSolver docs to take non-diagonalizable matrices into account; refactor ComplexEigenSolver::compute(). Jitse Niesen 2010-03-21 21:57:34 +00:00
  • 1803db6e84 merge Benoit Jacob 2010-03-21 11:28:31 -04:00
  • 92da574ec2 * allow matrix dimensions to be 0 (also at compile time) and provide a specialization of ei_matrix_array for size 0 * adapt many xprs to have the right storage order, now that it matters * add static assert on expressions to check that vector xprs have the righ storage order * adapt ei_plain_matrix_type_(column|row)_major * implement assignment of selfadjointview to matrix (was before failing to compile) and add nestedExpression() methods * expand product_symm test * in ei_gemv_selector, use the PlainObject type instead of a custom Matrix<...> type * fix VectorBlock and Block mistakes Benoit Jacob 2010-03-21 11:28:03 -04:00
  • 8b093dd2df oops, fix symv (innerStride instead of outerStride) Gael Guennebaud 2010-03-20 20:51:44 +01:00
  • d91ffffc37 Allow ComplexEigenSolver and ComplexSchur to work with real matrices. Add a test which covers this case. Jitse Niesen 2010-03-20 17:04:40 +00:00
  • fbdf16d425 Added x()/y() and z() access functions to translations. Hauke Heibel 2010-03-19 20:11:40 +01:00
  • d3e271c47e Extend documentation and add examples for ComplexEigenSolver. Jitse Niesen 2010-03-19 18:23:36 +00:00
  • 547269da35 fix the flags and matrix options, to always have the right RowMajor bit in the vector case Benoit Jacob 2010-03-19 02:12:23 -04:00
  • 9dba86df0b merge Benoit Jacob 2010-03-18 20:11:38 -04:00
  • 089bd89512 compile with gcc 4.5 Benoit Jacob 2010-03-18 20:10:24 -04:00
  • 0ee10f7da4 Document member functions and types of ComplexEigenSolver. Jitse Niesen 2010-03-18 13:42:17 +00:00
  • 04a4e22c58 API change: ei_matrix_exponential(A) --> A.exp(), etc As discussed on mailing list; see http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2010/02/msg00190.html Jitse Niesen 2010-03-16 17:26:55 +00:00
  • d536fef1bb fix and extend replicate optimization, and add the packet method though it is currently disabled Gael Guennebaud 2010-03-15 10:39:00 +01:00
  • d68b85744f Replaced strong with weak inlines in CwiseUnaryOp. Hauke Heibel 2010-03-14 13:01:10 +01:00
  • 6d08f71a2d Removed strong inlines which cannot always be inlined. Hauke Heibel 2010-03-14 12:09:29 +01:00
  • 0e5a232dae Ups - again a missing typename. Hauke Heibel 2010-03-14 11:58:44 +01:00
  • fc20e6fd55 Try to avoid modulo operations in Replicate if possible. Hauke Heibel 2010-03-13 14:33:39 +01:00
  • b9644f3323 Propagate fixed size dimensions if available (on MSVC it leads >2.5x speedup for some reductions). Hauke Heibel 2010-03-13 13:15:27 +01:00
  • 3e08c22028 attempt to fix #101 Benoit Jacob 2010-03-11 12:41:46 -05:00
  • 2a82b162d7 Nest expression within MatrixWrapper by value. Hauke Heibel 2010-03-10 17:13:07 +01:00
  • b20b393a4e Enable resizing of Arrays. Hauke Heibel 2010-03-10 17:12:45 +01:00
  • dd9ff1b9a6 Fix MSVC warnings. Hauke Heibel 2010-03-09 09:04:21 +01:00
  • 74a7c5caee implement the idea that row-vectors have the RowMajorBit and col-vectors don't. Benoit Jacob 2010-03-09 00:16:07 -05:00
  • b81351cb07 nomalloc: minor cleanup Benoit Jacob 2010-03-08 21:30:06 -05:00
  • 5a36f4a8d1 Propagate all five matrix template parameters to members and temporaries of decomposition classes. One particular advantage of this is that decomposing matrices with max sizes known at compile time will not allocate. NOTE: The ComplexEigenSolver class currently _does_ allocate (line 135 of Eigenvalues/ComplexEigenSolver.h), but the reason appears to be in the implementation of matrix-matrix products, and not in the decomposition itself. The nomalloc unit test has been extended to verify that decompositions do not allocate when max sizes are specified. There are currently two workarounds to prevent the test from failing (see comments in test/nomalloc.cpp), both of which are related to matrix products that allocate on the stack. Adolfo Rodriguez Tsouroukdissian 2010-03-08 19:31:27 +01:00
  • 898762529e update the product selection logic to use the Max* sizes Gael Guennebaud 2010-03-08 22:55:58 +01:00
  • 2af9468dd1 update the product selection logic to use the Max* sizes Gael Guennebaud 2010-03-08 22:54:31 +01:00
  • 9a3b00c040 add missing cmake directives for arch/Default Gael Guennebaud 2010-03-08 22:15:35 +01:00
  • b2e7329356 tests : fix compilation issues, adding <iostream> and removing <Eigen/Array> Thomas Capricelli 2010-03-08 20:34:24 +01:00
  • 89343a38af * Fix #97 : Householder operations on 1x1 matrices * Fix VectorBlock on 1x1 "vectors" * remove useless makeTrivialHouseholder function Benoit Jacob 2010-03-08 12:37:04 -05:00
  • 4293a4d1af * let a = foo() work when a is a row-vector xpr and foo() returns a ReturnByValue col-vector * remove a few useless resize() in evalTo() implementations Benoit Jacob 2010-03-08 10:34:59 -05:00
  • 3565e89be2 minor edit Mark Borgerding 2010-03-07 23:57:02 -05:00
  • 101cc03176 merge Mark Borgerding 2010-03-07 23:46:26 -05:00
  • e31929337e needed different proxy return types for fwd,inv to work around static asserts Mark Borgerding 2010-03-07 22:05:48 -05:00
  • 5b2c8b77df created FFT::fwd and FFT::inv with ReturnByValue Mark Borgerding 2010-03-07 21:31:06 -05:00
  • 9fe040ad29 Reintroduced the if-clause for MSVC ei_ploadu via _loadu_. Hauke Heibel 2010-03-07 14:05:26 +01:00
  • aeea00a9cf fix compilation Gael Guennebaud 2010-03-07 12:32:24 +01:00
  • 3130b7a722 bugcount--, this time trmm Gael Guennebaud 2010-03-06 22:57:50 +01:00
  • 1958b7eccc stride() => inner/outerStride() Gael Guennebaud 2010-03-06 22:39:15 +01:00
  • 4402034678 pff I introduced much too many bugs latey, count-- Gael Guennebaud 2010-03-06 22:24:50 +01:00
  • 61ce1de048 fix symm Gael Guennebaud 2010-03-06 22:15:59 +01:00
  • a7d199bf9a fix trsolve Gael Guennebaud 2010-03-06 21:37:14 +01:00
  • 6f0b96dcf4 fix issue #100 (fix syrk) Gael Guennebaud 2010-03-06 21:16:43 +01:00
  • 271fc84e47 bugfix in gebp for 32bits x86 Gael Guennebaud 2010-03-06 20:52:20 +01:00
  • c4f8afdf49 #undef minor at the right place Benoit Jacob 2010-03-06 14:44:57 -05:00
  • 7e2afe7e95 remove the __ARM_NEON__ check there since Konstantinos said he removed it but apparently didn't commit :) Benoit Jacob 2010-03-06 12:11:08 -05:00
  • bf0a21a695 * disable static alignment on QCC * remove obsolete #error Benoit Jacob 2010-03-06 09:28:58 -05:00
  • 2bd31d3fbc * include Macros.h much earlier: since it takes care of the alignment platform detection, it is needed before we do the vectorization stuff in Eigen/Core !! * kill EIGEN_DONT_ALIGN_HEAP option (one should use EIGEN_DONT_ALIGN) * rename EIGEN_DONT_ALIGN_STACK to EIGEN_DONT_ALIGN_STATICALLY. hope it's a better name. Benoit Jacob 2010-03-06 09:05:15 -05:00
  • 61a14539c7 merge Hauke Heibel 2010-03-06 11:48:19 +01:00
  • f03d95348d introduce EIGEN_DONT_ALIGN_STACK (disables alignment attributes) and EIGEN_DONT_ALIGN_HEAP (disables aligned malloc)... you can still use EIGEN_DONT_ALIGN to do both at once. Benoit Jacob 2010-03-06 02:17:37 -05:00
  • 20b544b444 disable all alignment with QCC/QNX in eigen 2.0 Benoit Jacob 2010-03-06 00:31:55 -05:00