2014 dxdy logo

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

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


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


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

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3  След.
 
 
Сообщение08.11.2007, 17:20 
Заслуженный участник


15/05/05
3445
USA
ilyagoo писал(а):
... сейчас скачаю - взгляну, но что-то мне подсказывает, что там то же, что и везде:)
А может быть в этом есть какая-то сермяжная правда? Может быть там, как и везде, все правильно? Мне не совсем понятно, чего Вы собственно хотите.

1) Вы хотите понять алгоритм или создать свой алгоритм? Читайте книжки, там все есть.
2) Вам нужно сделать свою реализацию алгоритма? Сначала см. пункт 1). Начните со 2-й книги, там все гораздо короче. Кроме того, самая лучшая спецификация алгоритма - это его исходники из стандартных библиотек.
3) Вам нужно вычислить СЗ и СВ? Воспользуйтесь одной из стандартные библиотек (как советует Zai).

Насчет предложения "просто" решить вековое уравнение - это у Brukvalub'а такой черный юмор для профессоров :) Ну и заодно тест для Вас...

ilyagoo писал(а):
но на первом же шаге я терплю неудачу, что я делаю не так?
И что на это можно ответить? Что-то вроде: "- А как ты реализуешь первый шаг? - А вот у меня исходник! - А присылай!" ? :)

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


01/03/06
13626
Москва
Yuri Gendelman писал(а):
Насчет предложения "просто" решить вековое уравнение - это у Brukvalub'а такой черный юмор для профессоров
Нет, я просто исповедую древний эскимосский принцип: "что вижу - о том и пою". Была написана матрица 3х3, без указания что это мы для простоты считаем Землю плоской, я про такую матрицу песню и затянул....

 Профиль  
                  
 
 
Сообщение08.11.2007, 21:19 


01/11/07
15
Цитата:
И что на это можно ответить? Что-то вроде: "- А как ты реализуешь первый шаг? - А вот у меня исходник! - А присылай!" ?

До исходников дело еще не дошло, т.к. пока непонятно как это на бумаге считается.
Yuri Gendelman писал(а):
Мне лично всегда было достаточно того, что алгоритм описан у Уилкинсона, а вычисления можно выполнить с помощью подпрограмм из стандартных пакетов.
В книге
Уилкинсон. Алгебраическая проблема собственных чисел на стр. 308 внизу что, например, значит u_{r+1,r}, a_{r,r+1}?
Не могли бы вы привести пример вычисления P_1 для данной выше матрицы, а что-то плохо до меня доходит?[/quote]

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


15/05/05
3445
USA
ilyagoo писал(а):
В книге "Уилкинсон. Алгебраическая проблема собственных чисел" на стр. 308 внизу что, например, значит u_{r+1,r}, a_{r,r+1}?
В строке непосредственно над (73.1), написано: "в обозначениях параграфа 29...". Параграф 29 начинается на странице 264.
A - это преобразуемая матрица.
u_{r+1,r} - определяется в формуле (29.6), стр. 265.

 Профиль  
                  
 
 
Сообщение09.11.2007, 07:03 


01/11/07
15
а почему у координат векторов где-то один индекс: u_r, где-то два: u_{ir}, а где-то и два через запятую: u_{r+1,r}?
возможно если я осознаю, что эти индексы значат, мне откроется, наконец, истина, которая где-то рядом...

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


15/05/05
3445
USA
ilyagoo писал(а):
а почему у координат векторов где-то один индекс: u_r, где-то два: u_{ir}, а где-то и два через запятую: u_{r+1,r}?
возможно если я осознаю, что эти индексы значат, мне откроется, наконец, истина, которая где-то рядом...
Похоже эта книжка - первая математическая, которую Вы читаете. Зря Вы так сразу начали читать с середины.

u_r - это r-й вектор-столбец
u_{ir} - это i-й элемент r-го столбца
u_{r+1,r} - это (r+1)-й элемент r-го столбца; запятая ставится для того, чтобы индексы легче было читать.

Боюсь, что для просветления этого маловато будет.

 Профиль  
                  
 
 
Сообщение09.11.2007, 20:06 


01/11/07
15
Yuri Gendelman писал(а):
Похоже эта книжка - первая математическая, которую Вы читаете. Зря Вы так сразу начали читать с середины.
...
Боюсь, что для просветления этого маловато будет.

вообще-то я когда-то закончил матфак :evil:
на самом деле вашего объяснения вполне хватило, ну не силен в линейке :oops:
если честно, в голове мало что осталось, кроме мат. логики...
спасибо.

 Профиль  
                  
 
 
Сообщение18.11.2007, 00:05 


01/11/07
15
да... все-таки обсуждение придется продолжить...
на конкретном примере...
беру я вектор $a=\left(\begin{array}{ccc}i\\1-i\\1+2i\end{array}\right)
получаю матрицу $A=a*a^H
$A=\left(\begin{array}{ccc}
1& -1+i& 2+i\\
-1-i& 2& -1-3i\\
2-i& -1+3i&  5\end{array}
\right)
Далее по Уилкинсону стр. 308 (73.1):

$P_r=I-u_r*u^H_r/2K^2_r\\
2K^2_r=S^2_r+T_r\\
T_r=\sqrt{\left|{A_{r,r+1}}\right|^2S^2_r}
Я хочу привести матрицу к трехдиагональной вещественной, соответственно, мне нужно обнулить $A_{31} (A_{13} тоже обнулится).
Нужно найти матрицу $P_1.

Значит
$A_{12}=-1+i\\
\left|A_{12}\right|=\sqrt{(-1)^2+1^2}=1.414
Вычислю $S^2_r={\sum\limits_{i=r+1}^n}\left|A_{ri}\right|^2
$S^2_1=\left|A_{12}\right|^2+\left|A_{13}\rigth|^2=\sqrt{(-1)^2+1^2}^2+\sqrt{(2^2+1^2)}^2=2+5=7
$T_1=\sqrt{\left|A_{12}\right|^2S^2_1}=\sqrt{\sqrt{(-1)^2+1^2}^2*7}=\sqrt{14}=3.741\\
2K^2_1=S^2_1+T_1=7+3.741=10.741
Далее нахожу вектор $u_1:
$u_{11}=0;\\
u_{21}=A_{12}\left(1+\frac{S^2_1}{T_1}\right)=(-1+i)*2.87=-2.871+ 2.871i;\\
u_{31}=A_{13}=2+i;\\
u_1=\left(0;-2.871+ 2.871i;2+i\rigth)
Получу $P_1=
\left(\begin{array}{ccc}
0&0&0\\
0&1.5345&-0.2673+0.8018i\\
0&-0.2673-0.8018i&0.4655\end{array}\right)
Действительно, P_1P^H_1=E, но
$P_1AP^H_1=
\left(\begin{array}{ccc}
1&0.2673+1.3363i&1.6036+1.6036i\\
0.2673-1.3363i&1.8571&2.5714-1.7143i\\
1.6036-1.6036i&2.5714+1.7143i&5.1429\end{array}\right)
Что-то ни на вещественную, ни на трехдиагональную матрицу не похоже. Где я ошибся (не в расчетах - их я доверил MatLab), может неправильно понимаю-таки формулы?

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


15/05/05
3445
USA
ilyagoo писал(а):
Получу $P_1=
\left(\begin{array}{ccc}
0&0&0\\
0&1.5345&-0.2673+0.8018i\\
0&-0.2673-0.8018i&0.4655\end{array}\right)
Действительно, P_1P^H_1=E, но...
А действительно ли?
У Вас ведь матрица P - с нулевыми 1-й строкой и 1-м столбцом.

 Профиль  
                  
 
 
Сообщение18.11.2007, 10:48 


01/11/07
15
Прошу прощения, неправильно срисовал матрицу:
$P_1=
\left(\begin{array}{ccc}
1&0&0\\
0&1.5345&-0.2673+0.8018i\\
0&-0.2673-0.8018i&0.4655\end{array}\right), но в расчетах участвовал правильный вариант с P_{11}=1, а вот PAP^H срисовал правильно. Но почему последняя не вещественная?

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


15/05/05
3445
USA
Левая верхняя подматрица 2*2 исходной 3*3-матрицы уже находится в 3-диагональной форме.
Следовательно, в обозначениях Вилкинсона, Вы должны начинать с шага r=2.
$S^2_2=\left|A_{23}\rigth|^2
и т.д.

 Профиль  
                  
 
 
Сообщение18.11.2007, 21:26 


01/11/07
15
Вы имеете в виду $A_1=PAP^H?
Но левая верхняя ее подматрица 2*2 $\left(\begin{array}{cc}
1&0.2673+1.3363i\\
0.2673-1.3363&1.8571\end{array}\right) если и трехдиагональная, то уж точно не вещественная. Вроде как исходная матрица должна приводиться к трехдиагональной форме за один шаг - обнулить-то надо только $A_{31} и $A_{13}. MatLab, например, дает матрицу преобразования $P=\left(\begin{array}{ccc}
0.1183+0.8079i&0.5164+0.2582i&0\\
-0.3448+0.4631i&-0.2582-0.7746i&0\\
0&0&1\end{array}\right) и, таким образом, получает $PHP^=\left(\begin{array}{ccc}
0&0&0\\
0&3&3.8730\\
0&3.8730&5
\end{array}\right).
Хотелось бы получить что-нибудь похожее, желательно один в один.

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


15/05/05
3445
USA
ilyagoo писал(а):
Вы имеете в виду $A_1=PAP^H$?
Нет, я имею в виду именно исходную матрицу. Посмотрите (29.1) на стр.265. Преобразование выполняется (n-2) раз, для r=2,...,(n-1). У Вас n=3, т.е. преобразование выполняется 1 раз, с r=2.

ilyagoo писал(а):
Далее по Уилкинсону стр. 308 (73.1):
$P_r=I-u_r*u^H_r/2K^2_r\\
2K^2_r=S^2_r+T_r\\
T_r=\sqrt{\left|{A_{r,r+1}}\right|^2S^2_r}
...
$S^2_1=\left|A_{12}\right|^2+\left|A_{13}\rigth|^2=\sqrt{(-1)^2+1^2}^2+\sqrt{(2^2+1^2)}^2=2+5=7
Начинать надо с того, что задать r=2, вычислить $S^2_2=\left|A_{23}\rigth|^2$ и т.д.

 Профиль  
                  
 
 
Сообщение22.11.2007, 07:55 


01/11/07
15
То есть, вы хотите сказать, что начинать нужно с $P_2?
Тогда $S^2_s=\left|A_{23}\right|^2=\sqrt{1^2+(-3)^2}^2=\sqrt{10}^2=10\\
T_2=\sqrt{\left|A_{2,3}\right|^2*S^2_2}=\sqrt{10*10}=10\\
2K^2_2=20\\
u_2=(0;0;\left|A_{23}\right|*(1+S^2_2/T_2))=(0;0;2-6i)
Тогда $P_2=\left(\begin{array}{ccc}
1&0&0\\
0&1&0\\
0&0&-1
\end{array}\right), а это совсем не то, что нужно. Какие предложения?

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


15/05/05
3445
USA
ilyagoo писал(а):
То есть, вы хотите сказать, ...
Я хочу сказать, что, согласно (29.1) на стр.265 книги Вилкинсона, перед первым выполняемым Вами шагом r=2.

ilyagoo писал(а):
Какие предложения?

Еще раз напомню: самая лучшая спецификация алгоритма - это проверенные исходники.
Я Вам предлагаю взять исходный код реализации алгоритма и разобрать его.
В качестве источника информации рекомендую книгу: Райнш, Уилкинсон. "Справочник алгоритмов на языке АЛГОЛ. Линейная алгебра.1976", раздел Агоритм II.2, стр. 190-202.
Другой вариант - БЧА МГУ: http://www.srcc.msu.su/num_anal/lib_na/cat/cat571.htm, AEH1R или AEH1D. Здесь приведены подпрограммы на Фортране и С, но для разбора С-код мало пригоден, т.к. получен автоматическим конвертером f2c.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 33 ]  На страницу Пред.  1, 2, 3  След.

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



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

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


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

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