# math/eigen2 - The NetBSD Packages Collection

C++ template library for linear algebra

    Eigen 2 is a C++ template library for linear algebra: vectors, matrices, and
    related algorithms. It is:
    * Versatile. Eigen handles, without code duplication, and in a completely
      integrated way:
      o both fixed-size and dynamic-size matrices and vectors.
      o both dense and sparse (the latter is still experimental) matrices and
        vectors.
      o both plain matrices/vectors and abstract expressions.
      o both column-major (the default) and row-major matrix storage.
      o both basic matrix/vector manipulation and many more advanced, specialized
        modules providing algorithms for linear algebra, geometry, quaternions,
        or advanced array manipulation.
    * Fast.
      o Expression templates allow to intelligently remove temporaries and enable
        lazy evaluation, when that is appropriate -- Eigen takes care of this
        automatically and handles aliasing too in most cases.
      o Explicit vectorization is performed for the SSE (2 and later) and AltiVec
        instruction sets, with graceful fallback to non-vectorized code.
        Expression templates allow to perform these optimizations globally for
        whole expressions.
      o With fixed-size objects, dynamic memory allocation is avoided, and the
        loops are unrolled when that makes sense.
      o For large matrices, special attention is paid to cache-friendliness.
    * Elegant. The API is extremely clean and expressive, thanks to expression
      templates. Implementing an algorithm on top of Eigen feels like just copying
      pseudocode. You can use complex expressions and still rely on Eigen to
      produce optimized code: there is no need for you to manually decompose
      expressions into small steps.
    * Compiler-friendy. Eigen has very reasonable compilation times at least with
      GCC, compared to other C++ libraries based on expression templates and heavy
      metaprogramming. Eigen is also standard C++ and supports various compilers.

- Source version: `eigen-2.0.17nb1`
- Maintainer: pkgsrc-users AT NetBSD.org
- Website: http://eigen.tuxfamily.org/
- License: gnu-lgpl-v3
- Package history: cvs, hg, git

## Build dependencies

pkgtools/mktools devel/cmake pkgtools/cwrappers

## Runtime dependencies

(none)

## Binary packages

OS | Architecture | Version
--- | --- | ---
NetBSD 10.0 | aarch64 | eigen-2.0.17nb1.tgz
NetBSD 10.0 | aarch64 | eigen-2.0.17nb1.tgz
NetBSD 10.0 | aarch64eb | eigen-2.0.17nb1.tgz
NetBSD 10.0 | alpha | eigen-2.0.17nb1.tgz
NetBSD 10.0 | earmv6hf | eigen-2.0.17nb1.tgz
NetBSD 10.0 | earmv6hf | eigen-2.0.17nb1.tgz
NetBSD 10.0 | earmv7hf | eigen-2.0.17nb1.tgz
NetBSD 10.0 | earmv7hf | eigen-2.0.17nb1.tgz
NetBSD 10.0 | i386 | eigen-2.0.17nb1.tgz
NetBSD 10.0 | i386 | eigen-2.0.17nb1.tgz
NetBSD 10.0 | powerpc | eigen-2.0.17nb1.tgz
NetBSD 10.0 | powerpc | eigen-2.0.17nb1.tgz
NetBSD 10.0 | powerpc | eigen-2.0.17nb1.tgz
NetBSD 10.0 | sh3el | eigen-2.0.17nb1.tgz
NetBSD 10.0 | sparc64 | eigen-2.0.17nb1.tgz
NetBSD 10.0 | sparc64 | eigen-2.0.17nb1.tgz
NetBSD 10.0 | sparc64 | eigen-2.0.17nb1.tgz
NetBSD 10.0 | vax | eigen-2.0.17nb1.tgz
NetBSD 10.0 | x86_64 | eigen-2.0.17nb1.tgz
NetBSD 10.0 | x86_64 | eigen-2.0.17nb1.tgz
NetBSD 11.0 | aarch64 | eigen-2.0.17nb1.tgz
NetBSD 11.0 | aarch64 | eigen-2.0.17nb1.tgz
NetBSD 11.0 | aarch64eb | eigen-2.0.17nb1.tgz
NetBSD 11.0 | aarch64eb | eigen-2.0.17nb1.tgz
NetBSD 11.0 | earmv6hf | eigen-2.0.17nb1.tgz
NetBSD 11.0 | earmv6hf | eigen-2.0.17nb1.tgz
NetBSD 11.0 | earmv7hf | eigen-2.0.17nb1.tgz
NetBSD 11.0 | earmv7hf | eigen-2.0.17nb1.tgz
NetBSD 11.0 | i386 | eigen-2.0.17nb1.tgz
NetBSD 11.0 | i386 | eigen-2.0.17nb1.tgz
NetBSD 11.0 | powerpc | eigen-2.0.17nb1.tgz
NetBSD 11.0 | powerpc | eigen-2.0.17nb1.tgz
NetBSD 11.0 | riscv64 | eigen-2.0.17nb1.tgz
NetBSD 11.0 | riscv64 | eigen-2.0.17nb1.tgz
NetBSD 11.0 | riscv64 | eigen-2.0.17nb1.tgz
NetBSD 11.0 | x86_64 | eigen-2.0.17nb1.tgz
NetBSD 11.0 | x86_64 | eigen-2.0.17nb1.tgz
NetBSD 9.0 | aarch64 | eigen-2.0.17nb1.tgz
NetBSD 9.0 | aarch64 | eigen-2.0.17nb1.tgz
NetBSD 9.0 | earmv6hf | eigen-2.0.17nb1.tgz
NetBSD 9.0 | earmv6hf | eigen-2.0.17nb1.tgz
NetBSD 9.0 | earmv7hf | eigen-2.0.17nb1.tgz
NetBSD 9.0 | earmv7hf | eigen-2.0.17nb1.tgz
NetBSD 9.0 | i386 | eigen-2.0.17nb1.tgz
NetBSD 9.0 | i386 | eigen-2.0.17nb1.tgz
NetBSD 9.0 | powerpc | eigen-2.0.17nb1.tgz
NetBSD 9.0 | x86_64 | eigen-2.0.17nb1.tgz

Binary packages can be installed with the high-level tool pkgin (which can be installed with pkg_add) or pkg_add(1) (installed by default). The NetBSD packages collection is also designed to permit easy installation from source.

## Available build options

(none)

## Known vulnerabilities

(no vulnerabilities known)

The pkg_admin audit command locates any installed package which has been mentioned in security advisories as having vulnerabilities.

Please note the vulnerabilities database might not be fully accurate, and not every bug is exploitable with every configuration.

Problem reports, updates or suggestions for this package should be reported with send-pr.