Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | trmm is now working in all storage order configurations | Gael Guennebaud | 2009-07-27 |
| | |||
* | some cleaning | Gael Guennebaud | 2009-07-26 |
| | |||
* | finalize trsm: works in all situations, and it is now used by solve() and ↵ | Gael Guennebaud | 2009-07-26 |
| | | | | solveInPlace() | ||
* | ok, now trsm works very well for upper triangular matrices | Gael Guennebaud | 2009-07-26 |
| | | | | | | 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 | ||
* | The new trsm is working very very well (read very fast) for | Gael Guennebaud | 2009-07-25 |
| | | | | | lower triangular matrix and row or col major lhs. TODO: handle upper triangular and row major rhs cases | ||
* | add WIP trsm | Gael Guennebaud | 2009-07-24 |
| | |||
* | some cleaning | Gael Guennebaud | 2009-07-24 |
| | |||
* | add a simplified version of the sybb kernel built on top of gebp | Gael Guennebaud | 2009-07-24 |
| | |||
* | split and add unit tests for symm and syrk, | Gael Guennebaud | 2009-07-23 |
| | | | | the .rank*update() functions now returns a reference to *this | ||
* | oops,, update SYRK so that the rhs can be non-square² | Gael Guennebaud | 2009-07-23 |
| | |||
* | Implement efficient sefladjoint product (aka SYRK) : C += alpha * U U^T | Gael Guennebaud | 2009-07-23 |
| | | | | | It is currently available via SelfAdjointView::rankKupdate. TODO: allows to write SelfAdjointView += u * u.adjoint() | ||
* | improve SYMV it is now faster and ready for use | Gael Guennebaud | 2009-07-23 |
| | |||
* | formating | Gael Guennebaud | 2009-07-23 |
| | |||
* | addd matrix * self adjoint high level API | Gael Guennebaud | 2009-07-23 |
| | |||
* | bugfix in SYMM | Gael Guennebaud | 2009-07-22 |
| | |||
* | implement high level API for SYMM and fix a couple of bugs related to complex | Gael Guennebaud | 2009-07-22 |
| | |||
* | * GEMM enhencement: no need to pre-transpose the rhs | Gael Guennebaud | 2009-07-22 |
| | | | | | | | => 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 | ||
* | more refactoring in the level3 products | Gael Guennebaud | 2009-07-22 |
| | |||
* | * refactoring of the matrix product into multiple small kernels | Gael Guennebaud | 2009-07-21 |
| | | | | | * started an efficient selfadjoint matrix * general matrix product based on the generic kernels ( => need a very little LOC) | ||
* | * various fixes related to sub diagonals and band matrix | Gael Guennebaud | 2009-07-21 |
| | | | | * allows 0 sized objects in Block/Map | ||
* | * bugfixes in Product, and test/product_selfadjoint | Gael Guennebaud | 2009-07-16 |
| | | | | * speed up in the extraction of the matrix Q in Tridiagonalization | ||
* | synch with main devel branch | Gael Guennebaud | 2009-07-15 |
|\ | |||
* | | add a TridiagonalMatrix wrapper arround BandMatrix, and extend this latter | Gael Guennebaud | 2009-07-15 |
| | | |||
* | | add BandMatrix::col() | Gael Guennebaud | 2009-07-15 |
| | | |||
* | | change the implementation of BandMatrix to follow the BLAS/LAPACK storage scheme | Gael Guennebaud | 2009-07-15 |
| | | |||
| * | fix issue #25 : the problem was that we assumed Dynamic was a multiple of a ↵ | Gael Guennebaud | 2009-07-15 |
| | | | | | | | | | | | | packet size (also disable the test of blueNorm) | ||
* | | started an implementation of BandMatrix: at least the read/write access | Gael Guennebaud | 2009-07-14 |
| | | | | | | | | to the main/sub/super diagonals seems to work well. | ||
* | | synch with main devel branch | Gael Guennebaud | 2009-07-14 |
|\ \ | |||
| | * | fix typo in blue norm | Gael Guennebaud | 2009-07-14 |
| |/ | |||
* | | some cleaning/renaming is Triangular/SelfadjointView | Gael Guennebaud | 2009-07-14 |
| | | |||
| * | add a blueNorm() function implementing the Blues's stable norm | Gael Guennebaud | 2009-07-13 |
| | | | | | | | | | | algorithm. it is currently provided for experimentation purpose only. | ||
| * | one more fix of the previous commit (forgot to update ei_must_nest_by_value) | Gael Guennebaud | 2009-07-13 |
| | | |||
| * | fix typo in previous commit | Gael Guennebaud | 2009-07-13 |
| | | |||
| * | add a SparseNestByValue expression and fix issue in sparse adjoint evaluation | Gael Guennebaud | 2009-07-13 |
| | | |||
* | | add triangular * vector product | Gael Guennebaud | 2009-07-13 |
| | | |||
* | | Add an efficient rank2 update function (like the level2 blas xSYR2 routine). | Gael Guennebaud | 2009-07-11 |
| | | | | | | | | Note that it is already used in Tridiagonalization. | ||
| * | more sun studio fixes | Gael Guennebaud | 2009-07-10 |
| | | |||
| * | Set of fixes and workaround to make sun studio more happy. | Gael Guennebaud | 2009-07-10 |
| | | | | | | | | Still remains the problem of alignment and vectorization. | ||
* | | add a meta unroller for the triangular solver (only for vectors as rhs) | Gael Guennebaud | 2009-07-10 |
| | | |||
* | | finally directly calling the low-level products is faster | Gael Guennebaud | 2009-07-10 |
| | | |||
| * | merge | Gael Guennebaud | 2009-07-10 |
| |\ | |||
| * | | slight change in the comparison to -1 | Gael Guennebaud | 2009-07-10 |
| | | | |||
* | | | commit woking versions of triangular solvers naturally | Gael Guennebaud | 2009-07-09 |
| | | | | | | | | | | | | | | | | | | 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... | ||
* | | | started to simplify the triangular solvers | Gael Guennebaud | 2009-07-09 |
| | | | |||
* | | | ok now all the complex mat-mat and mat-vec products involving conjugate, | Gael Guennebaud | 2009-07-08 |
| | | | | | | | | | | | | | | | adjoint, -, and scalar multiple seems to be well handled. It only remains the simpler case: C = alpha*(A*B) ... for the next commit | ||
* | | | conjugate expressions are now properly caught by Product | Gael Guennebaud | 2009-07-07 |
| | | | | | | | | | | | | | | | => significant speedup in expr. like a.adjoint() * b, for complex scalar type (~ x3) | ||
* | | | started to catch scalar multiple and conjugate xpr in Product | Gael Guennebaud | 2009-07-07 |
| | | | |||
* | | | * change the nesting order of adjoint_return_type to | Gael Guennebaud | 2009-07-07 |
| | | | | | | | | | | | | | | | | | | 1 - make it easier to catch conjugate expressions 2 - make sure there is no unecessary copy (we had NestByValue<Derived> which seems to be very bad) * update eigensolver wrt recent changes | ||
* | | | * take advantage of new possibilies in LLT (mat -= product) | Gael Guennebaud | 2009-07-07 |
| | | | | | | | | | | | | | | | * fix Block::operator+= product which was not optimized * fix some compilation issues | ||
* | | | * extended the cache friendly products to support C = alpha * A * M and C += ↵ | Gael Guennebaud | 2009-07-07 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | alpha * A * B * this allows to optimize xpr like C -= lazy_product, still have to catch "scalar_product_of_lazy_product" * started to support conjugate in cache friendly products (very useful to evaluate A * B.adjoint() without evaluating B.adjoint() into a temporary * compilation fix |