Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 47

Функция hmatrixevd из пакета alglib для поиска собственных значений и собственных векторов

17.09.2015, 00:39. Показов 3352. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Нужно найти собственные значения и вектора комплексной эрмитовой матрицы. Под решение этой задачи подошла функция hmatrixevd из пакета alglib.
описание функции
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Finding the eigenvalues and eigenvectors of a Hermitian matrix
 
The algorithm finds eigen pairs of a Hermitian matrix by  reducing  it  to
real tridiagonal form and using the QL/QR algorithm.
 
Input parameters:
    A       -   Hermitian matrix which is given  by  its  upper  or  lower
                triangular part.
                Array whose indexes range within [0..N-1, 0..N-1].
    N       -   size of matrix A.
    IsUpper -   storage format.
    ZNeeded -   flag controlling whether the eigenvectors  are  needed  or
                not. If ZNeeded is equal to:
                 * 0, the eigenvectors are not returned;
                 * 1, the eigenvectors are returned.
 
Output parameters:
    D       -   eigenvalues in ascending order.
                Array whose index ranges within [0..N-1].
    Z       -   if ZNeeded is equal to:
                 * 0, Z hasn�t changed;
                 * 1, Z contains the eigenvectors.
                Array whose indexes range within [0..N-1, 0..N-1].
                The eigenvectors are stored in the matrix columns.
 
Result:
    True, if the algorithm has converged.
    False, if the algorithm hasn't converged (rare case).
 
Note:
    eigenvectors of Hermitian matrix are defined up to  multiplication  by
    a complex number L, such that |L|=1.
 
  -- ALGLIB --
     Copyright 2005, 23 March 2007 by Bochkanov Sergey


Собственно , при вызове функции происходит вылет.
Подскажите в чем ошибка. Спасибо.
Код
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 int N = 2;
   //hmatrixevd()
   alglib::complex_2d_array a;
   a.setlength(N,N);
   /*for(int i=0;i<N;i++)
   {for(int j=0;j<N;j++)
       { a[i][j].x = 1;
         a[i][j].y = 2;}}*/
            a[0][0].x = 1;
            a[0][0].y = 2;
            a[0][1].x = 1;
            a[0][1].y = 2;
            a[1][1].x = 1;
            a[1][1].y = 2;
 
  /* for(int i=0;i<N;i++)
   {for(int j=0;j<N;j++)
       { qDebug()<<a[i][j].x;
         qDebug()<<a[i][j].y;}}*/
 
 
   qDebug()<<"a sozdalsa";
 
   alglib::real_1d_array  d;
   d.setlength(N);
    qDebug()<<"d sozdalsa";
   alglib::complex_2d_array z;
   z.setlength(N,N);
 
   qDebug()<<"z sozdalsa";
     bool bral = hmatrixevd(a,N,0,true,d,z);
   qDebug()<<bral;
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.09.2015, 00:39
Ответы с готовыми решениями:

Вычисление собственных значений и собственных векторов матрицы. Метод скалярных произведений
Курсовая работа!! Задание: &quot;Вычисление собственных значений и собственных векторов матрицы. Метод скалярных произведений&quot; ...

Метод итераций: нахождение собственных векторов и собственных значений матрицы
Доброго времени суток. метод итерации нахождение собственных векторов и собственных значений матрицы - вот тема на которую нужно написать...

Вычисление собственных значений и собственных векторов матрицы
Доброго времени суток всем. Собственно написал программу, реализует степенной метод. Проблема в округлении. 1 итерация- вычисление...

4
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
17.09.2015, 01:07
А где значение a[1][0]?
0
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 47
17.09.2015, 17:43  [ТС]
В описании указано, что должна подаваться на вход верхнетреугольная матрица. При заполнении массива полностью ошибка не исчезает.
0
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
17.09.2015, 23:00
Лучший ответ Сообщение было отмечено dronfsb как решение

Решение

И вы считаете, что матрица с четырьмя элементами равными 1+2i эрмитова?
Начнем с того, что ее определитель 0, что уже нехорошо. Ну, и эрмитовость как-то не срослась.
1
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 47
17.09.2015, 23:44  [ТС]
Спасибо Вам огромное!
Конечно она не эрмитова, хотел проверить сначала работоспособность функции заполнив её случайно. Попробовал заполнить заведомо эрмитовой матрицей - функция заработала. Очень странно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.09.2015, 23:44
Помогаю со студенческими работами здесь

Вычисление собственных значений и собственных векторов матрицы
Вычисление собственных значений и собственных векторов матрицы. Метод скалярных произведений Матрицу задаём произвольно! а дальше по...

КуР-алгоритм поиска собственных значенийдля почти треугольной матрицы!
QR-алгоритм поиска собственных значенийдля почти треугольной матрицы! Помогите написать, а лучше сами напишите прогу на чистом С с...

Решение СДУ методом определения собственных значений и собственных векторов
Дана система уравнений: \begin{cases} &amp; \dot{x}= 2x-y \\ &amp; \dot{y}=x+2{e}^{t} \end{cases} Необходимо найти решение путем определения...

Нахождение собственных значений и собственных векторов, построение графика
Доброго времени суток, форумчане! Помогите, пожалуйста, решить задачу в Матлаб. Условие следующее: 1. Сгенерировать 100 значений,...

Вычисление собственных значений и собственных векторов матрицы.
Вычисление собственных значений и собственных векторов матрицы. Метод скалярных произведений. Метод обратных итераций с переменными...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru