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

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




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

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

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

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

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

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

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

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

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

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

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

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

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

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

 
да... все-таки обсуждение придется продолжить...
на конкретном примере...
беру я вектор $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), может неправильно понимаю-таки формулы?

 
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-м столбцом.

 
Прошу прощения, неправильно срисовал матрицу:
$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 срисовал правильно. Но почему последняя не вещественная?

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

 
Вы имеете в виду $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).
Хотелось бы получить что-нибудь похожее, желательно один в один.

 
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$ и т.д.

 
То есть, вы хотите сказать, что начинать нужно с $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), а это совсем не то, что нужно. Какие предложения?

 
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