FLENS icon indicating copy to clipboard operation
FLENS copied to clipboard

Cross product and triple scalar product for all vectors (dense, tiny, engine)

Open tkloczko opened this issue 8 years ago • 0 comments

First step : modification of type result for vector closure

Before that, the result type was enforced to be DenseVector< Array<T> >. So, neither TinyVector nor different Engine could have been handled.

The current modification aims at making the result type consistent with the input vector types of the closure.

Second step : extension of blas level1 for tiny vectors

This extension is made for:

  • asum
  • dot
  • iamax
  • nrm2
  • raxpy
  • rot
  • rotm

Of course, in order to ensure good performance, it may be also necessary to add implementations for these functions into tinylevel1.

Last step : Add cross product and triple scalar product.

It consists in adding:

  • OpCross struct
  • copy and axpy closures to eval y=x1%x2 and y+=x1%x2 (temporary done by default)

tkloczko avatar Nov 30 '16 10:11 tkloczko