2014 dxdy logo

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

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




На страницу Пред.  1, 2, 3  След.
 
 
Сообщение08.11.2007, 17:20 
ilyagoo писал(а):
... сейчас скачаю - взгляну, но что-то мне подсказывает, что там то же, что и везде:)
А может быть в этом есть какая-то сермяжная правда? Может быть там, как и везде, все правильно? Мне не совсем понятно, чего Вы собственно хотите.

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

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

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

 
 
 
 
Сообщение08.11.2007, 17:33 
Аватара пользователя
Yuri Gendelman писал(а):
Насчет предложения "просто" решить вековое уравнение - это у Brukvalub'а такой черный юмор для профессоров
Нет, я просто исповедую древний эскимосский принцип: "что вижу - о том и пою". Была написана матрица 3х3, без указания что это мы для простоты считаем Землю плоской, я про такую матрицу песню и затянул....

 
 
 
 
Сообщение08.11.2007, 21:19 
Цитата:
И что на это можно ответить? Что-то вроде: "- А как ты реализуешь первый шаг? - А вот у меня исходник! - А присылай!" ?

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

 
 
 
 
Сообщение09.11.2007, 01:19 
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 
а почему у координат векторов где-то один индекс: u_r, где-то два: u_{ir}, а где-то и два через запятую: u_{r+1,r}?
возможно если я осознаю, что эти индексы значат, мне откроется, наконец, истина, которая где-то рядом...

 
 
 
 
Сообщение09.11.2007, 19:41 
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 
Yuri Gendelman писал(а):
Похоже эта книжка - первая математическая, которую Вы читаете. Зря Вы так сразу начали читать с середины.
...
Боюсь, что для просветления этого маловато будет.

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

 
 
 
 
Сообщение18.11.2007, 00:05 
да... все-таки обсуждение придется продолжить...
на конкретном примере...
беру я вектор $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 
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 
Прошу прощения, неправильно срисовал матрицу:
$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 
Левая верхняя подматрица 2*2 исходной 3*3-матрицы уже находится в 3-диагональной форме.
Следовательно, в обозначениях Вилкинсона, Вы должны начинать с шага r=2.
$S^2_2=\left|A_{23}\rigth|^2
и т.д.

 
 
 
 
Сообщение18.11.2007, 21:26 
Вы имеете в виду $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 
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 
То есть, вы хотите сказать, что начинать нужно с $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 
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