2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 Правило возведения матрицы в степень, кто расскажет?
Сообщение30.05.2007, 07:19 


29/05/07
8
Всем привет!
Изучаю теорию графов. Столкнулся с необходимостью возвести матрицу в степень r=2, 3, . . . (i=10, j=10)-строки и столбцы. Поискал в инете - нашел только пример для решения в среде Mathcad. Кто подскажет, где можно найти правило возведения матрицы в степень? Или кто расскажет!?
Заранее спасибо!

 Профиль  
                  
 
 
Сообщение30.05.2007, 07:23 
Заслуженный участник
Аватара пользователя


01/03/06
13626
Москва
Обычно матрицу сначала приводят подобным преобразованием к более простому виду ( если это возможно, то к диагональной матрице, иначе - к ЖНФ) потом возводят в степень, а уж потом возвращаются обратным преобразованием назад.

 Профиль  
                  
 
 
Сообщение30.05.2007, 08:47 


29/05/07
8
Brukvalub
"Обычно"?
С ваших слов ничего не ясно.
Вопрос был о правиле возведения матрицы в степень, а не о том как вы лично возводите в степень!

 Профиль  
                  
 
 
Сообщение30.05.2007, 09:02 
Заслуженный участник
Аватара пользователя


01/03/06
13626
Москва
brainbug писал(а):
С ваших слов ничего не ясно.
Вопрос был о правиле возведения матрицы в степень, а не о том как вы лично возводите в степень!
Лично я матрицы в степень не возвожу, а Вам я рассказал об общепринятой в линейной алгебре методике возведения матриц в степень. Если она Вам непонятна, то подучите линейную алгебру.

 Профиль  
                  
 
 
Сообщение30.05.2007, 09:11 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
А почему бы просто не перемножать матрицы? Насколько много степеней нужно получить?

 Профиль  
                  
 
 
Сообщение30.05.2007, 09:17 


29/05/07
8
PAV
Вы абсолютно правы!
Просто надо было перемножить матрицу саму на себя.
Теперь загвоздка в том, что матрица - квадратная 10-го порядка. Без средств ЭВМ не обойтись.
Brukvalub
Все гениальное просто!

 Профиль  
                  
 
 
Сообщение30.05.2007, 09:25 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
brainbug писал(а):
Теперь загвоздка в том, что матрица - квадратная 10-го порядка. Без средств ЭВМ не обойтись.


Все математические пакеты умеют умножать матрицы. Можно и самому написать программу, всего 3 вложенных цикла.

 Профиль  
                  
 
 
Сообщение30.05.2007, 09:29 
Заслуженный участник
Аватара пользователя


01/03/06
13626
Москва
brainbug писал(а):
Brukvalub
Все гениальное просто!
Про гениальность предложенного PAV решения я промолчу, но, видимо, действительно, нужно было обратиться в Форум, чтобы узнать, что возведение матрицы в степень является результатом ее умножения на себя столько раз, какова степень. Сие тайна великая есть, открытая только Посвященным :shock:

 Профиль  
                  
 
 
Сообщение30.05.2007, 10:05 
Заслуженный участник


14/01/07
787
Аминь :) .

 Профиль  
                  
 
 
Сообщение30.05.2007, 12:40 
Экс-модератор
Аватара пользователя


23/12/05
12064
brainbug писал(а):
Поискал в инете - нашел только пример для решения в среде Mathcad


Могу абсолютно безвозмездно дать пример возведения в степень в MATLAB:

Код:
a=rand(10,10);
b=a^5;

 Профиль  
                  
 
 
Сообщение31.05.2007, 06:04 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Brukvalub писал(а):
Про гениальность предложенного PAV решения я промолчу, но, видимо, действительно, нужно было обратиться в Форум, чтобы узнать, что возведение матрицы в степень является результатом ее умножения на себя столько раз, какова степень.

Сие есть только определение. Два момента могут Вас заинтересовать:

1) В теории графов очень часто используются специальные алгоритмы для вычисления $A^n$, где $n$ совпадает с размером матрицы (там используется or/and вместо сложения/умножения).

2) Для вычисления больших/относительно больших степеней всюду используют алгоритм возведения в степень удвоением:
$A^n  =( A^{n/2})^2$, при $A$ четном;
$A^n  =( A^{(n-1)/2})^2 A$, при $A$ нечетном.

 Профиль  
                  
 
 
Сообщение05.06.2007, 11:50 


29/05/07
8
PAV писал(а):
Все математические пакеты умеют умножать матрицы. Можно и самому написать программу, всего 3 вложенных цикла.

Пытаюсь вспомнить Турбо Паскаль, но думаю слишком трудная задача. Проще взять математический пакет.
photon писал(а):
Могу абсолютно безвозмездно дать пример возведения в степень в MATLAB:

Давай, если не трудно!!!

 Профиль  
                  
 
 
Сообщение05.06.2007, 11:52 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Он Вам его уже дал, in case you didn't notice. :lol:

 Профиль  
                  
 
 
Сообщение05.06.2007, 11:57 


29/05/07
8
PAV писал(а):
Все математические пакеты умеют умножать матрицы. Можно и самому написать программу, всего 3 вложенных цикла.

Пытаюсь вспомнить Турбо Паскаль, но думаю слишком трудная задача. Проще взять математический пакет.
photon писал(а):
Могу абсолютно безвозмездно дать пример возведения в степень в MATLAB:

Давай, если не трудно!!!

 Профиль  
                  
 
 
Сообщение05.06.2007, 12:37 
Экс-модератор
Аватара пользователя


23/12/05
12064
brainbug писал(а):
Давай, если не трудно!!!

ИСН писал(а):
Он Вам его уже дал, in case you didn't notice. :D

photon писал(а):
Код:
a=rand(10,10);
b=a^5;

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group