Skip to content

MikhailPI1/QR-decomposition

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QR-алгоритм для вычисления собственных значений и векторов

Реализация QR-алгоритма с преобразованиями Хаусхолдера на C++ для вычисления собственных значений и векторов вещественных матриц.

📁 Структура проекта

├── include/
│ └── qr_decomposition.h 
├── src/
│ └── qr_decomposition.cpp 
├── apps/
│ └── main.cpp 
├── tests/
│ ├── unit_tests.cpp 
│ └── integration_tests.cpp 
├── build/ 
├── Makefile 
└── README.md

Компиляция проекта

g++ -c qr_decomposition.cpp -o qr_decomposition.o -std=c++11
g++ -c main.cpp -o main.o -std=c++11
g++ qr_decomposition.o main.o -o eigen_solver -std=c++11

🛠️ Система сборки

Проект использует Makefile для удобной компиляции и тестирования.

Доступные команды

# Основная сборка
make all          # Сборка основной программы
make run          # Сборка и запуск основной программы

# Тестирование
make test         # Запуск всех тестов
make test-unit    # Только модульные тесты
make test-integration # Только интеграционные тесты

# Утилиты
make clean        # Очистка build директории
make rebuild      # Полная пересборка
Пример формата файла
Создайте matrix.txt:

3
1.0 2.0 3.0
4.0 5.0 6.0
7.0 8.0 9.0

📊 Обзор алгоритма

Математические основы Реализация использует следующие численные методы:

  • Преобразования Хаусхолдера для QR-разложения
  • Итерационный QR-алгоритм для приведения к верхней почти треугольной форме
  • Решение характеристических уравнений 2×2 блоков для комплексных собственных значений
  • Обратные итерации для вычисления собственных векторов

Ключевые особенности алгоритма

  • Автоматическое определение вещественных и комплексных собственных значений
  • Адаптивный критерий сходимости с допуском TOLERANCE = 0.0001
  • Оптимизированные матричные операции для уменьшения вычислительной сложности
  • Проверка точности через сравнение A·v и λ·v

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published