Я пытаюсь решить проблему собственных значений, используя библиотеку Eigen. Я использую SelfAdjointEigenSolver для получения собственных значений и собственных векторов. Хотя у меня, кажется, есть достаточно хорошее доказательство того, что с собственными значениями все в порядке, с собственными векторами, похоже, все в порядке. Или я что-то неправильно понимаю.
После вычисления собственного вектора vct я создаю еще один vct2=matrixvct. Сама идея проблемы собственных значений заключается в том, что vct2=lambdavct, где лямбда — это собственное значение. Итак, я распечатал каждый коэффициент vct2, разделенный на vct, чтобы проверить, является ли он постоянным. Это не. Даже близко. Что не так?
Здесь я создаю случайную матрицу, решаю ее собственную проблему, беру первый собственный вектор и печатаю деление.
Для полученной матрицы результат был такой: :
9,89816 4,10161 -0,765191 -2,27482 3,58762 0,710447 -4.79855 -2.88263 -3.05201 -3.05561
который не похож на строку с тем же номером.
Код для создания проблемы:
#include
#include
using Eigen::MatrixXd;
using Eigen::SelfAdjointEigenSolver;
using namespace Eigen;
using namespace std;
int main(int argc, char **argv)
{
SelfAdjointEigenSolver es;
MatrixXd matrix=MatrixXd::Random(10,10);
es.compute(matrix);
double E0=es.eigenvalues()[0];
VectorXd vct=es.eigenvectors().col(0);
VectorXd vct2=matrix*vct;
for(int i=0;i
Подробнее здесь: https://stackoverflow.com/questions/791 ... genvectors
Собственный c++ — SelfAdjointEigenSolver — собственные векторы не являются собственными векторами ⇐ C++
Программы на C++. Форум разработчиков
1731707224
Anonymous
Я пытаюсь решить проблему собственных значений, используя библиотеку Eigen. Я использую SelfAdjointEigenSolver для получения собственных значений и собственных векторов. Хотя у меня, кажется, есть достаточно хорошее доказательство того, что с собственными значениями все в порядке, с собственными векторами, похоже, все в порядке. Или я что-то неправильно понимаю.
После вычисления собственного вектора vct я создаю еще один vct2=matrixvct. Сама идея проблемы собственных значений заключается в том, что vct2=lambdavct, где лямбда — это собственное значение. Итак, я распечатал каждый коэффициент vct2, разделенный на vct, чтобы проверить, является ли он постоянным. Это не. Даже близко. Что не так?
Здесь я создаю случайную матрицу, решаю ее собственную проблему, беру первый собственный вектор и печатаю деление.
Для полученной матрицы результат был такой: :
9,89816 4,10161 -0,765191 -2,27482 3,58762 0,710447 -4.79855 -2.88263 -3.05201 -3.05561
который не похож на строку с тем же номером.
Код для создания проблемы:
#include
#include
using Eigen::MatrixXd;
using Eigen::SelfAdjointEigenSolver;
using namespace Eigen;
using namespace std;
int main(int argc, char **argv)
{
SelfAdjointEigenSolver es;
MatrixXd matrix=MatrixXd::Random(10,10);
es.compute(matrix);
double E0=es.eigenvalues()[0];
VectorXd vct=es.eigenvectors().col(0);
VectorXd vct2=matrix*vct;
for(int i=0;i
Подробнее здесь: [url]https://stackoverflow.com/questions/79193722/eigen-c-selfadjointeigensolver-eigenvectors-are-not-eigenvectors[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия