Commit Graph

  • b183a4f879 merge Benoit Jacob 2009-08-04 17:47:27 +02:00
  • ab6302376c merge Gael Guennebaud 2009-08-04 17:12:00 +02:00
  • c20236ea75 remove the FORCE Benoit Jacob 2009-08-04 17:06:54 +02:00
  • 7d607048a9 implement a ProductBase class and, as a proof of concept, update TriangularProduct and SelfAdjointMatrixProduct to take advantage of it => fewer LOC Gael Guennebaud 2009-08-04 16:54:17 +02:00
  • f3a6bc48c4 fix a couple of compilation issue due to the removal of MultiplierBase Gael Guennebaud 2009-08-04 13:16:40 +02:00
  • 2089a263f8 merge Gael Guennebaud 2009-08-04 11:31:25 +02:00
  • c2a92e92a6 add ger and lu with partial pivoting in BTL Gael Guennebaud 2009-08-04 11:30:33 +02:00
  • 4bec101470 implement two levels of blocking in PartialLU => high speedup Gael Guennebaud 2009-08-04 11:28:02 +02:00
  • 4436a4d68c use explicit Block/VectorBlock xprs to make sure that compile-time known sizes are used Benoit Jacob 2009-08-04 00:27:58 +02:00
  • 523cdedf58 make the dot product linear in the second variable, not the first variable Benoit Jacob 2009-08-03 17:20:45 +02:00
  • 912da9fade merge with special_matrix branch Gael Guennebaud 2009-08-03 16:17:32 +02:00
  • a8f943127c merge Gael Guennebaud 2009-08-03 16:11:30 +02:00
  • d10c710b15 add new Householder module Benoit Jacob 2009-08-03 16:06:57 +02:00
  • 3cf5bb31f6 * Bye bye MultiplierBase, extend a bit AnyMatrixBase to allow =, +=, and -= * This probably makes ReturnByValue needless Gael Guennebaud 2009-08-03 16:05:15 +02:00
  • 66ee2044ce small fixes Benoit Jacob 2009-08-03 16:05:07 +02:00
  • 3cde9c0e35 apply Gael's idea for auto transpose in mixed fixed/dynamic case Benoit Jacob 2009-08-03 16:04:15 +02:00
  • ce1dc1ab16 implements a blocked version of PartialLU Gael Guennebaud 2009-08-03 12:11:18 +02:00
  • 0103de8512 bugfix in trsm Gael Guennebaud 2009-08-02 15:32:43 +02:00
  • cd49780143 apply patch from Marcus Hanwell: Improved quoting of tests when added to the build Benoit Jacob 2009-08-02 15:09:34 +02:00
  • 48fc64458c add blocked LLT, and bugfix in trsm asserts Gael Guennebaud 2009-08-01 23:42:51 +02:00
  • 18429156a1 add selfadjointView from a trinagularView Gael Guennebaud 2009-07-31 17:35:55 +02:00
  • 2796bcabb1 some cleaning Gael Guennebaud 2009-07-31 17:35:20 +02:00
  • a156f5a869 faster trsm kernel and fix a couple of issues Gael Guennebaud 2009-07-31 13:18:19 +02:00
  • 21f686846b s/std::atan2/ei_atan2 Gael Guennebaud 2009-07-31 10:08:23 +02:00
  • ae5e26a363 add missing ei_atan2 without painfull warnings Manuel Yguel 2009-07-31 09:21:31 +02:00
  • 2e9f7f80bf compilation fixes for sun CC Gael Guennebaud 2009-07-31 10:04:34 +02:00
  • d8bfd151d1 forward-port Anthony Truchet's changeset 8eab0bccbf Benoit Jacob 2009-07-30 16:05:38 +02:00
  • ff20a2ba94 add explicit "on the right" triangular solving, => no temporary when the rhs/unknows is row major Gael Guennebaud 2009-07-30 16:03:06 +02:00
  • 62d9b9b7b5 fix typo Gael Guennebaud 2009-07-29 09:26:20 +02:00
  • 864171df5c fix a couple of issues related to recent products Gael Guennebaud 2009-07-28 18:11:30 +02:00
  • 1ba35248e9 synch with main branch Gael Guennebaud 2009-07-28 17:37:22 +02:00
  • 54804eb626 synch with main branch Gael Guennebaud 2009-07-28 17:35:07 +02:00
  • 264fe82c65 add a debug mechanism to compute the number of intermediate evaluations (only for dynamic size) Gael Guennebaud 2009-07-28 17:13:13 +02:00
  • 508f06ac0f update doc Gael Guennebaud 2009-07-28 17:11:15 +02:00
  • de8b795895 compilation fixes in BTL Gael Guennebaud 2009-07-28 17:10:34 +02:00
  • 7ed7ec64b5 improve the expression analyzer to bypass Transpose expression Gael Guennebaud 2009-07-28 14:02:12 +02:00
  • 6713c75fac update doc Gael Guennebaud 2009-07-28 12:08:26 +02:00
  • 7579360672 fix compilation of the doc and started a page dedicated to high performance and or BLAS users Gael Guennebaud 2009-07-27 18:50:39 +02:00
  • 5f3606bce9 bug fix in inverse for 1x1 matrix, some compilation fixes in sparse_solvers Gael Guennebaud 2009-07-27 18:09:56 +02:00
  • 94cc30180e compilation fixes Gael Guennebaud 2009-07-27 13:50:23 +02:00
  • 0590c18555 various compilation and bug fixes in selfadjoint stuff Gael Guennebaud 2009-07-27 13:17:39 +02:00
  • b5e4064289 cleaning and fix a perf issue Gael Guennebaud 2009-07-27 12:13:53 +02:00
  • f95b77be62 trmm is now fully working and available via TriangularView::operator* Gael Guennebaud 2009-07-27 11:42:54 +02:00
  • 6aba84719d trmm is now working in all storage order configurations Gael Guennebaud 2009-07-27 10:27:01 +02:00
  • 1d4d9a37fd some cleaning Gael Guennebaud 2009-07-26 13:53:24 +02:00
  • f3fde74695 finalize trsm: works in all situations, and it is now used by solve() and solveInPlace() Gael Guennebaud 2009-07-26 13:01:37 +02:00
  • 282e18da49 ok, now trsm works very well for upper triangular matrices TODO: link it with the meta triangular_solve_selector and handle the case where the rhs is row major by copying it to a col-major temporary + handle right solving: X = B * M^-1 Gael Guennebaud 2009-07-26 00:49:17 +02:00
  • f4112dcff3 The new trsm is working very very well (read very fast) for lower triangular matrix and row or col major lhs. TODO: handle upper triangular and row major rhs cases Gael Guennebaud 2009-07-25 21:41:01 +02:00
  • 35927e78c2 add WIP trsm Gael Guennebaud 2009-07-24 16:21:52 +02:00
  • c6d06c22ac some cleaning Gael Guennebaud 2009-07-24 10:53:31 +02:00
  • 6076173f0b add a simplified version of the sybb kernel built on top of gebp Gael Guennebaud 2009-07-24 10:08:21 +02:00
  • 82c5438c95 split and add unit tests for symm and syrk, the .rank*update() functions now returns a reference to *this Gael Guennebaud 2009-07-23 21:22:51 +02:00
  • b67abe22b3 oops,, update SYRK so that the rhs can be non-square² Gael Guennebaud 2009-07-23 20:56:04 +02:00
  • a81388fae9 Implement efficient sefladjoint product (aka SYRK) : C += alpha * U U^T It is currently available via SelfAdjointView::rankKupdate. TODO: allows to write SelfAdjointView += u * u.adjoint() Gael Guennebaud 2009-07-23 19:01:20 +02:00
  • 713c92140c improve SYMV it is now faster and ready for use Gael Guennebaud 2009-07-23 14:20:45 +02:00
  • eee14846e3 formating Gael Guennebaud 2009-07-23 10:19:58 +02:00
  • ddb3ac98a2 addd matrix * self adjoint high level API Gael Guennebaud 2009-07-23 10:05:38 +02:00
  • 8d2cd744b0 Added an explicit cast from int to bool to suppress MSVC warnings. Hauke Heibel 2009-07-23 00:11:25 +02:00
  • f696efc00e bugfix in SYMM Gael Guennebaud 2009-07-22 23:48:42 +02:00
  • 0cb4f32e12 implement high level API for SYMM and fix a couple of bugs related to complex Gael Guennebaud 2009-07-22 23:12:22 +02:00
  • e7f8e939e2 * GEMM enhencement: no need to pre-transpose the rhs => faster a * b.transpose() product => this also fix a bug in a so far untested situation * SYMM is now ready for use => still have to write the high level stuff to convert natural expressions into a call to SYMM Gael Guennebaud 2009-07-22 18:04:16 +02:00
  • d6475ea390 more refactoring in the level3 products Gael Guennebaud 2009-07-22 11:54:58 +02:00
  • d6627d540e * refactoring of the matrix product into multiple small kernels * started an efficient selfadjoint matrix * general matrix product based on the generic kernels ( => need a very little LOC) Gael Guennebaud 2009-07-21 16:58:35 +02:00
  • afa8f2ca95 * various fixes related to sub diagonals and band matrix * allows 0 sized objects in Block/Map Gael Guennebaud 2009-07-21 11:19:52 +02:00
  • 562864bcfb enable our own ctest dashboard Gael Guennebaud 2009-07-20 23:06:04 +02:00
  • a012aecbc4 bugfix in SVD Gael Guennebaud 2009-07-20 13:44:52 +02:00
  • 4375c043ac minor compilation fixes for Sun CC and ICC Gael Guennebaud 2009-07-20 13:27:41 +02:00
  • 4c85fa8c73 compilation fix (sun CC) Gael Guennebaud 2009-07-20 10:57:31 +02:00
  • c10b919edb compilation fix Gael Guennebaud 2009-07-20 10:56:03 +02:00
  • b3ad796d40 bugfix in operator*= (matrix product) Gael Guennebaud 2009-07-20 10:44:07 +02:00
  • a551107cce bugfix for a = a * b; when a has to be resized Gael Guennebaud 2009-07-20 10:35:47 +02:00
  • 32b08ac971 re-implement stableNorm using a homemade blocky and vectorization friendly algorithm (slow if no vectorization) Gael Guennebaud 2009-07-17 16:22:39 +02:00
  • 15ed32dd6e add other stable norm impl. in the benchmark Gael Guennebaud 2009-07-16 16:21:26 +02:00
  • 525da6a464 bugfix in blueNorm Gael Guennebaud 2009-07-16 14:20:36 +02:00
  • 65fc70b750 add a benchmark for the different norms Gael Guennebaud 2009-07-16 11:33:56 +02:00
  • 34490f1493 * bugfixes in Product, and test/product_selfadjoint * speed up in the extraction of the matrix Q in Tridiagonalization Gael Guennebaud 2009-07-16 00:03:17 +02:00
  • 97c9445c60 synch with main devel branch Gael Guennebaud 2009-07-15 19:54:31 +02:00
  • 079fa81d84 add a TridiagonalMatrix wrapper arround BandMatrix, and extend this latter Gael Guennebaud 2009-07-15 19:53:08 +02:00
  • 4f792583c7 add BandMatrix::col() Gael Guennebaud 2009-07-15 18:00:11 +02:00
  • df6561a73f change the implementation of BandMatrix to follow the BLAS/LAPACK storage scheme Gael Guennebaud 2009-07-15 17:00:49 +02:00
  • 1578421ed1 fix issue #25 : the problem was that we assumed Dynamic was a multiple of a packet size (also disable the test of blueNorm) Gael Guennebaud 2009-07-15 14:20:45 +02:00
  • 587029a612 started an implementation of BandMatrix: at least the read/write access to the main/sub/super diagonals seems to work well. Gael Guennebaud 2009-07-14 23:27:37 +02:00
  • 8120a5cecd synch with main devel branch Gael Guennebaud 2009-07-14 23:06:25 +02:00
  • 7a9519a9be fix typo in blue norm Gael Guennebaud 2009-07-14 23:00:53 +02:00
  • 279cedc1ce some cleaning/renaming is Triangular/SelfadjointView Gael Guennebaud 2009-07-14 22:38:21 +02:00
  • f5d2317b12 add a blueNorm() function implementing the Blues's stable norm algorithm. it is currently provided for experimentation purpose only. Gael Guennebaud 2009-07-13 21:14:47 +02:00
  • ddbaaebf9e one more fix of the previous commit (forgot to update ei_must_nest_by_value) Gael Guennebaud 2009-07-13 15:27:01 +02:00
  • bd506d837c fix typo in previous commit Gael Guennebaud 2009-07-13 15:21:32 +02:00
  • 1e7b1a8a85 add a SparseNestByValue expression and fix issue in sparse adjoint evaluation Gael Guennebaud 2009-07-13 14:55:03 +02:00
  • a2cf7ba955 add triangular * vector product Gael Guennebaud 2009-07-13 13:17:55 +02:00
  • a2087cd7a3 Add an efficient rank2 update function (like the level2 blas xSYR2 routine). Note that it is already used in Tridiagonalization. Gael Guennebaud 2009-07-11 21:14:59 +02:00
  • ab17f92728 more sun studio fixes Gael Guennebaud 2009-07-10 16:27:01 +02:00
  • ec5c608aa3 Set of fixes and workaround to make sun studio more happy. Still remains the problem of alignment and vectorization. Gael Guennebaud 2009-07-10 16:10:03 +02:00
  • b47dea8b7a add a meta unroller for the triangular solver (only for vectors as rhs) Gael Guennebaud 2009-07-10 11:30:46 +02:00
  • 1a1b2e9f27 finally directly calling the low-level products is faster Gael Guennebaud 2009-07-10 10:41:26 +02:00
  • 1c52985aa7 merge Gael Guennebaud 2009-07-10 08:21:57 +02:00
  • 629e083d81 slight change in the comparison to -1 Gael Guennebaud 2009-07-10 08:21:20 +02:00
  • 8885d56928 commit woking versions of triangular solvers naturally handling conjuagted expression. still have to bench whether it is faster (runtime and compile time) to directly call the cache friendly functions, whence all the commented piece of code... Gael Guennebaud 2009-07-09 23:59:18 +02:00
  • fa60c72398 started to simplify the triangular solvers Gael Guennebaud 2009-07-09 17:11:03 +02:00
  • 96e7d9f896 ok now all the complex mat-mat and mat-vec products involving conjugate, adjoint, -, and scalar multiple seems to be well handled. It only remains the simpler case: C = alpha*(A*B) ... for the next commit Gael Guennebaud 2009-07-08 18:24:37 +02:00