flow123d / bparser

A C++ library for parsing expressions with Python syntax and using SIMD for repetitive evaluation. Amortization of the interpreter overhead leads to nearly peak CPU performance..
GNU Lesser General Public License v3.0
3 stars 4 forks source link

vector and matrix functions #11

Open jbrezmorf opened 3 years ago

jbrezmorf commented 3 years ago

dot(a, b) det(A) - determinent of matrix norm(v) - l2 norm of vector or matrix norm(v, exp) - lp norm norm_max(v) .. inv(A) eye(n) zero(n,m) diag_mat(vec) diag(mat)

reduction operations: sum, prod, mean, ...

jbrezmorf commented 3 years ago

Test 'pi' and 'e' constant support.

jbrezmorf commented 2 years ago

test Array::concatenate - current implementation is possibly buggy parser support for concatenate (not critical)

jbrezmorf commented 1 year ago

In order to avoid the implementation of whole linear algebra, we can use Eigen with a custom scalar type. Eigen has support for this case

Eigen can be used as a header-only library so we can have it possibly as a submodule.

We possibly have to wrap Eigen operations to allow Python-style broadcasting that is already implemented.