|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.06.2018, 00:33 | #1 | |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
Вопрос по AlgLib.
Здравствуйте. бьюсь уже кучу времени и никак не могу толком врубиться как посчитать eigenvecs в библиотеке AlgLib.
Вот пример с решением в маткаде с которым я пытаюсь свести свои результаты: Есть матрица: Код:
Код:
Код:
А вот дальше беда. Библиотечная функция дает мне результат как левые и правые вектора: Код:
Цитата:
Должно быть: Код:
Спасибо.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
|
28.02.2019, 13:20 | #2 |
Форумчанин
Регистрация: 17.03.2009
Сообщений: 977
|
И так разъясняю, это некро пост, так как других на русском я не нашёл.
Тут всё верно выдало. погрешность всего 0,01 по сравнению с маскадом. Если почитать теорию, то вектору пофиг на умножение на одно и то же число всех его координат. исходные данные утверждение Матрица vr 0.518 -1.000 -0.879 0.539 0.803 -0.451 -1.000 -0.293 -1.000 должно быть по маскаду 0,625 0,76 -0,415 0,321 -0,611 -0,432 0,711 0,222 0,801 тут у кого последовательность столбцов правильнее я не решусь сказать, так как теория допускает сортировку собственных значений. допустим у маскада правильнее. а доказательства верности. столбец 3 у vr -0,879 -0,451 -1 соответствует для маскада 0,625 0,321 0,711 то есть в библиотеке AlgLib столбцы с конца идут. проверяем 1. найдём число на которое умножен вектор библиотеки, лучше сделать с нормированым. 0,711/-1=-0,711 2.домножим все координаты на полученное число -0,879*-0,711=0,624969 -0,451*-0,711=0,320661 -1*-0,711=0,711 в итоге получили если округлить тоже что и в маскаде. со вторым столбцом аналогично ищем нормированый и домножаем, -1 0,803 -0,293 маскад 0,76 -0,611 0,222 множитель 0,76/-1=-0,76 проверка 0,76 -0,61028 0,22268 в итоге получили, если округлить, тоже что и в маскаде с точностью 0,01. Последний то же сойдётся, можете сами проверить. Выводы. Если либа выдала вам странные вектора, то наверное была другая сортировка собственных значений.
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
Последний раз редактировалось IliaIT; 28.02.2019 в 13:43. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Жизненный вопрос - Дано: я - самый умный. Вопрос: что делать? где это найти то, чего тебе не хватает? | jura_k | Свободное общение | 16 | 10.03.2017 12:12 |
примеры кода с ALGLIB | alik98 | Помощь студентам | 0 | 05.03.2013 19:04 |
Библиотека ALGLIB | PROkaZZZniK | Свободное общение | 0 | 12.05.2012 19:28 |
Установка ALGLIB | GRischka | Общие вопросы .NET | 0 | 20.07.2010 17:02 |
вопрос по сокетам и общение как в ICQ.Сложный вопрос... | Руслантус | Общие вопросы C/C++ | 2 | 12.08.2008 21:10 |