Знаходження власних значень та власних векторів матриці методом вичерпування в середовищі delphi

Програма знаходить рішення задач на власні значення використовуючи для цього метод вичерпування. Основна ідея даного методу полягає у розв’язку послідовності задач на відшукання максимального по абсолютній величині власного значення та відповідного йому власного вектора деякої матриці. Тобто для знаходження, наприклад, другого власного значення, необхідно, щоб попереднеє власне значення та відповідний йому власний вектор, а також власний вектор транспонованої матриці, вже були відомими. Після цього, згідно алгоритму методу вичерпування, з допомогою даних величин та самої матриці Метод вичерпування на delphi формується деяка матриця Метод вичерпування на delphi (подібна до матриці Метод вичерпування на delphi), максимальним по абсолютній величині власним значенням якої є шукане друге власне значення заданої матриці Метод вичерпування на delphi. Більш детальна інформація про даний метод міститься за посиланням Знаходження власних значень та власних векторів матриці методом вичерпування.

Інтерфейс розглядуваного delphi-проекту нічим не відрізняється від інших проектів рішення задач на власні значення (Степеневий метод на delphi, Метод обертань на delphi та інші). Тобто, для того, щоб отримати шуканий розв’язок, необхідно у відповідні поля форми вказати розмірність матриці, задати точність обчислень, заповнити таблицю значеннями елементів матриці і скористатись кнопкою “Знайти власні значення матриці”. Результатом роботи програми буде вивід у правій частині форми (поле виводу результатів) шуканих власних значень матриці та відповідних їм власних векторів.

Інтерфейс delphi-проекту "Знаходження власних значень та власних векторів матриці методом вичерпування"
Інтерфейс delphi-проекту “Знаходження власних значень та власних векторів матриці методом вичерпування”

Скачати delphi-проекту “Знаходження власних значень та власних векторів матриці методом вичерпування”.

12 коментарів

  1. Чому неправильно виводить власні вектори?

  2. Доброго вечора Олег. Скажіть будь ласка, які значення власних векторів на Вашу думку є правильними?

  3. Для матриці
    0 9 12
    1/3 0 0
    0 1/2 0
    максимальне власне число 2, а відповідний власний вектор (24,4,1)
    А в програмі – (0,986, 0,163,0,041)

  4. Зрозуміло Олег. Тепер скажіть, користуючись якими міркуваннями Ви прийшли до висновку, що отримані з допомогою розглядуваного delphi-проекту значення являються, на відміну від Ваших, неправильними?

  5. Я пишу курсову по власних значеннях і власних векторах і там є відповіді до заданої матриці.

  6. Добре Олег, але це не зовсім те, що я хотів почути. Почнемо з означення: ненульовий вектор u, який при множенні на деяку квадратну матрицю A перетворюється в самого ж себе з числовим коефіцієнтом l, називається власним вектором матриці А (Au=lu). Число l називають власним значенням або власним числом даної матриці. І якщо у матриці A розміром, наприклад, nxn існує рівно n власних значень, причому деякі з них (або навіть всі) можуть бути кратними (збігатися), то ситуація з власними векторами дещо інша. Будь-який вектор, який колінеарний вектору u теж буде власним вектором. Далі, нагадаємо собі, умову колінеарності векторів. Отже, два вектора називаються колінеарними, якщо відношення їх координат рівні. Тобто, знайшовши відношення координат вектора отриманого з відповідей, та вектора отриманого за допомогою delphi-проекту робимо висновок, що вони дійсно є колінеарними. Але це ще не все. Далі, підставивши дані вектори у формулу, яка випливає з вищевказаного означення бачимо що тотожність виконується, тобто і один і другий вектор можна приймати в якості шуканого власного вектора.

  7. Доброго вечора! Підкажіть будь ласка, як за допомогою цієї програми визначити максимальне власне значення? Щоб при натисканні кнопки обчислити було лише максимальне власне значення і відповідний власний вектор?

  8. Доброго вечора Крістіна. Найпростіший варіант реалізувати задумане, це серед усіх знайдених власних значинь відшукати максимальне і виводити лише його значення.

  9. Із значенням я зробила, все добре, а як бути з вектором? Їх виводяться 3.

  10. Знайдені власні значення заданої матриці зберігаються в масиві Vls, розмірності, наприклад, n. Відповідні їм власні вектори – в масиві Vct (розмірності nxn). Якщо, максимальне власне значення, в масиві Vls, міститься під номером k, то Вам потрібно в компоненті Memo1, виводити значення Vls[k], та k-й рядок матриці Vct[k, j] (j=1,2,3,…,n). Все доволі просто. Якщо Вам, якийсь момент виявився незрозумілим, то все описане вище реалізується в delphi-проекті, який міститься за нижче вказаним посиланням:
    Знаходження максимального власного значення та відповідного йому власного вектора методом вичерпування в середовищі програмування delphi.

  11. Я зрозуміла. Дуже дякую за допомогу!

  12. Немає за що. Якщо ще виникнуть якісь питання, звертайтесь, допоможемо чим зможемо.

Залишити коментар

Your email address will not be published. Required fields are marked *

*