2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3
 
 
Сообщение18.12.2006, 12:50 
Аватара пользователя


09/05/06
115
Цитата:
Резутаты MatLAB для уравнения Someone.
Вот тоже результаты Matlab 7.2.0.232 R2006a (настройки по дефолту):
Код:
maple('fsolve((x-1)*(x-2)*(x-3)*(x-4)*(x-5)*(x-6)*(x-7)* (x-8)*(x-9)*(x-10)*(x-11)*(x-12)*(x-13)*(x-14)*(x-15)*(x-16)* (x-17)*(x-18)*(x-19)*(x-20)*(x-21)*(x-22)*(x-23)*(x-24)*(x-25)* (x-26)*(x-27)*(x-28)*(x-29)*(x-30)*(x-31)*(x-32)+10^(-10)*x^(30)=0,x);');

Цитата:
1.0000000000000000000000000000000, 2.0000000000000000000000000000000, 3.0000000000000000000000000011643, 3.9999999999999999999999369757528, 5.0000000000000000003563740703508, 5.9999999999999995431882789700103, 7.0000000000002018194531903925218, 7.9999999999604120144505793703333, 9.0000000040668704573265153740176, 9.9999997548285116609861286668699, 11.000009412125009829985354941177, 11.999755752234634932515017125887, 13.004553284959005167895987932308, 13.946540522513496405570270760926


Тоже показывает Maple 10 (настройки по дефолту):
Код:
fsolve((x-1)*(x-2)*(x-3)*(x-4)*(x-5)*(x-6)*(x-7)*(x-8)* (x-9)*(x-10)*(x-11)*(x-12)*(x-13)*(x-14)*(x-15)*(x-16)*(x-17)* (x-18)*(x-19)*(x-20)*(x-21)*(x-22)*(x-23)*(x-24)*(x-25)*(x-26)* (x-27)*(x-28)*(x-29)*(x-30)*(x-31)*(x-32)+10^(-10)*x^(30)=0,x);

Цитата:
1.000000000, 2.000000000, 3.000000000, 4.000000000, 5.000000000, 6.000000000, 7.000000000, 8.000000000, 9.000000004, 9.999999755, 11.00000941, 11.99975575, 13.00455328, 13.94654052


Direve 6.10 от TI тут не сумел себя показать:
Изображение

В Mathcad я пока не смог заставить решить. Mathematica 5.2:
$\text{NSolve}[}\\
\pmb{(x-1)(x-2)(x-3)(x-4)(x-5)(x-6)(x-7)(x-8)(x-9)(x-10)}\\
\pmb{(x-11)(x-12)(x-13)(x-14)(x-15)(x-16)(x-17)(x-18)}\\
\pmb{(x-19)(x-20)(x-21)(x-22)(x-23)(x-24)(x-25)(x-26)}\\
\pmb{(x-27)(x-28)(x-29)(x-30)(x-31)(x-32)+10{}^{\wedge}\{-10\}x{}^{\wedge}\{30\}==0,x]}$
Ответ:
$\(\{\{x\to 1.\},\{x\to 2.\},\{x\to 3.\},\{x\to 4.\},\{x\to 5.00001\},\{x\to 5.99952\},\\
\{x\to 7.01525\},\{x\to 7.81626\},\{x\to 8.76315-0.891438 i\},\\
\{x\to 8.76315+0.891438 i\},\{x\to 10.041-2.19105 i\},\\
\{x\to 10.041+2.19105 i\},\{x\to 11.8038-3.91278 i\},\{x\to 11.8038+3.91278 i\},\\
\{x\to 12.4394\},\{x\to 14.1671-5.62651 i\},\{x\to 14.1671+5.62651 i\},\\
\{x\to 17.0357-7.03489 i\},\{x\to 17.0357+7.03489 i\},\\
\{x\to 17.3968\},\{x\to 20.3003-7.98632 i\},\{x\to 20.3003+7.98632 i\},\\
\{x\to 23.8877-8.29053 i\},\{x\to 23.8877+8.29053 i\},\{x\to 27.6042-7.6843 i\},\\
\{x\to 27.6042+7.6843 i\},\{x\to 31.5568-6.6858 i\},\{x\to 31.5568+6.6858 i\},\\
\{x\to 31.7261\},\{x\to 32.3879\},\{x\to 33.483\},\{x\to 34.4164\}\}\)$

Ну, я не спец по ТеХ'у, ну его в баню с его иероглифами и так понятно.

Добавлено спустя 9 минут 40 секунд:

photon писал(а):
А у Maple и Mathematika они разные?
Я наверное ещё не родился, когда это было достоверно известно и не принимал участия в создании, тогда бы ответил. Но исследовал бинарные файлы символьного движка Mathcad и MapleV R4, а также других версий Maple и Matlab'а, от чего и сделал заключение, что они по сути своей идут от Maple в прямом смысле слова, т.е. используются части конкретного релиза Maple. Что же касается Mathematica, то не слыхал, что они используют движок Maple, хотя вроде читал, что это конкурирующие символьные ядра. Вот за MuPAD ещё там можно что-то заметить.

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


31/10/06
371
РФ, РК, г.Симферополь
Comga писал(а):
Для борьбы с потерей точности и делают балансировку, а также применяют другие вполне очевидные приемы.


Так если произвести балансировку (например нормировку, как писал Comga), то, ведь, исследуемая матрица изменится и ее спектр тоже, и, следовательно получим другое число обусловленности?

 Профиль  
                  
 
 
Сообщение19.12.2006, 12:01 


02/05/06
56
Fgolm писал(а):
Так если произвести балансировку (например нормировку, как писал Comga), то, ведь, исследуемая матрица изменится и ее спектр тоже, и, следовательно получим другое число обусловленности?

Балансировка в чистом виде пригодится для вычисления детерминанта. Там, где это возможно для матричных вычислений, хорошие пакеты делают балансировку сами. Если работаете с большими матицами, то надо заботится, чтобы уменьшать погрешность вычислений.

Добавлено спустя 19 минут 24 секунды:

>Вот забавный пример, показывающий неустойчивость больших корней алгебраического уравнения при малых изменениях уравнения (Mathematica 4.1):

Это хороший пример того, что прежде, чем пользоваться численными методами, неплохо подумать. Ведь свободный член уравнения будет равен 32!~10^35. Хотите точно считать -используйте вычисления с 35 значащими цифрами. Если переписать уравнение в виде(x/1-1)*(x/2-1)*(x/3-1)*...*(x/32-1)+(доп.слагаемое)/32!=0, то погрешность будет куда меньше. Проверьте!

 Профиль  
                  
 
 Еще ссылки по поводу балансирования
Сообщение19.12.2006, 12:23 


03/09/05
217
Bulgaria
В этом Форуме по линку: http://dxdy.ru/viewtopic.php?t=4559
уже можно было выйти на ссылку на Сервер по численному анализу НИВЦ МГУ
http://www.srcc.msu.su/num_anal/

Там в подразделе Линейная алгебра есть линк к программам на Фортране и Си с описаниями для балансирования матриц
http://www.srcc.msu.su/num_anal/lib_na/cat/cat529.htm

Подобного рода балансирование (масштабирование) матрицы подходит для задач нахождения собственных чисел и собственных векторов матрицы, как обосновано и предложено например в:
E. E. Osborne, On pre-conditioning of matrices, Journal of the ACM, 7, 4(1960), 338-345

С определенными модификациями оно реализованно и в процедурах на АЛГОЛе:
B. N. Parlett, C. Reinsch, Balancing a matrix for calculation of eigenvalues and eigenvectors, NumerisheMathematik, 13, 4, 1969, 293-304.

Там балансированная (масштабированная) матрица — с минимальной нормой и еще -- балансированна в смысле:

$$||(D_{1}\cdot A\cdot D_{2})||^{i} = ||(D_{1}\cdot A\cdot D_{2})|| _{i}    \;  (i = 1,2, . . . ,m), $$

т.е. $i-$тая строка и $i-$тый столбец с одинаковыми нормами.

Естествено, что после нахождения собственных чисел и/или векторов сбалансированной матрицы, необходимо их довести к собственным числам и/или векторам начальной матрицы, используя элементарные алгебрические операции и основное выражение:
$$ B=(D_{1}\cdot A \cdot D_{2})  \; . $$

 Профиль  
                  
 
 Прошу прощения, уточненная ссылка
Сообщение21.12.2006, 07:32 


03/09/05
217
Bulgaria
В книге:

Уилкинсон, Райнш Справочник алгоритмов на языке АЛГОЛ Линейная алгебра,
Москва, "Машиностроение", 1976

в части ІІ, Алгебраическая проблема собственных значений, описан подробно Алгоритм ІІ.11 "Масштабирование матриц при вычислении собственных значений и векторов" (стр. 287-297), включительно теоретические предпосылки (ссылая на ту же статью Озборна), и так далее до примеров использования и результатов проверки (конечно на маленькой задачи).

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


31/10/06
371
РФ, РК, г.Симферополь
Спасибо за такую информацию. Постараюсь найти и разобраться.

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


31/10/06
371
РФ, РК, г.Симферополь
В книге Х.Д. Икрамов «Несимметричная проблема собственных значений» нашел такой способ масштабирования исходной матрицы $A$.
Предлагается для уменьшения нормы матрицы
$$
\left\| A \right\|_{l_p }  = \left[ {\sum\limits_{i,j = 1}^n {\left| {a_{ij} } \right|^p } } \right]^{\frac{1}
{p}} ,\quad p \geqslant 1\quad \quad \quad \quad \quad \quad \quad \left( 1 \right)
$$
применять диагональное преобразование подобия:
$G = D_i^{ - 1} \left( \alpha  \right) \cdot A \cdot D_i \left( \alpha  \right)\quad \alpha  > 0\quad \quad \quad \quad \quad \quad \quad \left( 2 \right)$
Здесь $D_i \left( \alpha  \right)$ - диагональная матрица, у которой все диагональные элементы кроме $i$-го равны 1, а $i$-й равен $\alpha $; $\alpha $ выбирается таким, чтобы разность $\left\| A \right\|_{l_p }^p  - \left\| G \right\|_{l_p }^p $ была максимальной. Если расшифровать (2) то получается, что сначала все элементы $i$-й строки матрицы $A$ делим на $\alpha $, а затем все элементы $i$-го столбца полученной матрицы умножаем на $\alpha $.
Далее идет такая фраза: Циклически изменяя $i$ и выполняя несколько циклов, мы добиваемся желаемого уменьшения нормы.
Но подробно процесс не описывается.
Я не очень понимаю, какой процесс здесь предлагается задать.
Мои рассуждения: $i$ меняется от 1 до $n$. Тогда для различных $i$, применяя (2), мы получим $n$ различных матриц $G$, норма каждой из которых не будет превышать норму матрицы $A$.
Что дальше?
1) Мы из всех полученных $G$ выбираем ту, у которой наименьшая норма, и на этом все?
2) Либо, мы должны для каждого $i$ применять несколько раз (2) (то есть на первом шаге – для матрицы $A$ , на втором – для только что полученной $G$ , затем для новой $G$ и т.д.), до тех пор, пока для этого $i$ уменьшение нормы матрицы не станет превышать заданной малой величины. Затем, окончив итереционные процессы для всех $i$ также выбираем ту $G$, у которой наименьшая норма?

В общем, я запутался.
Обращаюсь к Вам с просьбой отредактировать мои рассуждения (сам я обязательно буду настойчиво продолжать разбираться в данной проблеме).

 Профиль  
                  
 
 Литература
Сообщение27.12.2006, 16:58 


02/05/06
56
Читайте лучше
Дж. Голуб, Ч. Ван Лоун. Матричные вычисления. Москва, МИР, 1999. - 548 с.
Дж. Деммель. Вычислительная линейная алгебра. Теория и приложения. Москва, МИР, 2001. - 430 с.

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

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

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


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

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