Eigen C++: Vollständiges Tutorial mit Beispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Eigen für C++: Vollständiges Tutorial mit Beispielen

1. Was ist Eigen und warum braucht man es?

Eigen ist eine hochperformante, template-basierte Bibliothek für lineare Algebra in C++. Sie bietet Entwicklern leistungsstarke und benutzerfreundliche Werkzeuge für die Arbeit mit Matrizen, Vektoren, numerischen Lösern und verwandten Algorithmen. Im Gegensatz zu vielen anderen Bibliotheken (wie BLAS/LAPACK) ist Eigen in reinem C++ ohne externe Abhängigkeiten geschrieben, was es zur idealen Wahl für Projekte macht, bei denen einfache Integration und Code-Portabilität wichtig sind.

Warum wird es benötigt? In der modernen Programmierung bildet lineare Algebra die Grundlage für unzählige Aufgaben: von Computergrafik und Bildverarbeitung über maschinelles Lernen und Robotik bis hin zu wissenschaftlichen Simulationen. Eigen ermöglicht es Entwicklern, das Rad nicht neu zu erfinden, sondern auf bewährte, optimierte Algorithmen zurückzugreifen, die oft schneller sind als selbst geschriebene Implementierungen. Die Bibliothek nutzt C++-Templates (Template Expressions) intensiv, um komplexe Optimierungen zur Kompilierzeit durchzuführen, wodurch Overhead durch temporäre Objekte vermieden und Operationen in einer effizienten Schleife zusammengefasst werden.

Eigen unterstützt alle wichtigen Matrixtypen (dicht, dünnbesetzt, mit fester und dynamischer Größe), eine breite Palette von Zerlegungen (LU, QR, SVD, Cholesky, Eigenwerte) und geometrische Transformationen (Rotationen, Translationen, affine Transformationen). Dank seiner Flexibilität und Leistung ist Eigen der De-facto-Standard für viele C++-Projekte, darunter bekannte Frameworks wie ROS (Robot Operating System), TensorFlow (teilweise) und CGAL.

2. Installation

Eigen ist eine reine Header-Only-Bibliothek. Das bedeutet, Sie müssen keine separate Bibliothek kompilieren oder linken. Es reicht, die Dateien herunterzuladen und dem Compiler den Pfad zu ihnen mitzuteilen.

Methode 1: Manuelle Installation (für Einsteiger empfohlen)

# Neueste Version von der offiziellen Website oder GitHub herunterladen
wget https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz
tar -xzf eigen-3.4.0.tar.gz
sudo mv eigen-3.4.0 /usr/local/include/eigen3

Bei der Kompilierung muss nun der Pfad zu den Header-Dateien angegeben werden:

g++ -std=c++11 -I /usr/local/include/eigen3 mein_programm.cpp -o mein_programm

Methode 2: Über den Paketmanager (Linux/macOS)

# Ubuntu/Debian
sudo apt-get install libeigen3-dev

# macOS (über Homebrew)
brew install eigen

Methode 3: Über vcpkg oder Conan (Windows)

# vcpkg
vcpkg install eigen3

# Conan
conan install eigen/3.4.0@

Wichtig: Anders als bei Python (pip) oder JavaScript (npm) wird Eigen nicht über einen spracheigenen Paketmanager installiert. Es ist eine systemweite C++-Bibliothek.

3. Schnellstart – Ein minimales funktionierendes Beispiel

Erstellen Sie eine Datei main.cpp und kopieren Sie den folgenden Code hinein:

#include <iostream>
#include <Eigen/Dense>  // Haupt-Header für dichte Matrizen

int main() {
    // Erstellen einer 2x2-Matrix und Befüllen
    Eigen::Matrix2d mat;
    mat << 1, 2,
           3, 4;

    // Erstellen eines 2x1-Vektors
    Eigen::Vector2d vec(5, 6);

    // Matrix mit Vektor multiplizieren
    Eigen::Vector2d result = mat * vec;

    // Ergebnis ausgeben
    std::cout << "Matrix:\n" << mat << std::endl;
    std::cou                    

Empfehlungen