2014 dxdy logo

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

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


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


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

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

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

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

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



Начать новую тему Ответить на тему
 
 Процесс ортогонализации Грамма-Шмидта
Сообщение10.12.2015, 02:36 


11/11/11
62
Я считал в экселе, для 4 векторов. Но почему-то там получаются не ортогональные вектора, а вектора, скалярное произведение очень мало (порядка $10^{-17}$)

Здесь вычисления http://rghost.ru/6kHC77HQS

Может ли это быть из-за того, что эксель округлял?

 Профиль  
                  
 
 Re: Процесс ортогонализации Грамма-Щмидта
Сообщение10.12.2015, 04:53 
Заслуженный участник


16/02/13
3901
Владивосток
Естественно.

 Профиль  
                  
 
 Re: Процесс ортогонализации Грамма-Щмидта
Сообщение10.12.2015, 09:39 
Заслуженный участник
Аватара пользователя


11/03/08
7943
Москва
Это не специфический недостаток Экселя, а общее свойство реальных вычислений. Они всегда производятся с конечной точностью. $10^{-17}$ весьма похоже на погрешность представления чисел с плавающей точкой с двойной точностью (что обычная практика для вычислений, одинарная точность стандарта IEEE недостаточна, её разве что для экономии при хранении использовать, а расширенная избыточна). Такая ошибка достаточно мала, чтобы ею на практике пренебрегли (разумеется, не "на автомате", а сделав вывод о точности исходных данных в сравнении с вычислительной погрешностью). Если же вдруг окажется, что нужна более высокая точность, придётся использовать расширенную (extended, 10 байтов вместо 8 в двойной, и замедление расчётов, не на уровне процессора, а из-за обращения к памяти вне границы слов), или программно реализованную "длинную арифметику", тут замедление будет не в разы, а в десятки раз. Кроме того, для данной задачи и вообще всех, где используются лишь 4 действия арифметики, а не вычисление корня, логарифма, тригонометрии и т.п. можно использовать арифметику рациональных чисел, в которой результаты вычислений хранятся в виде дроби с отдельно хранимыми числителем и знаменателем. Это позволяет получить совершенно точный ответ, но при этом, помимо резкого замедления счёта, числитель и знаменатель очень быстро растут, превышая машинно-представимые числа (опять же - можно употребить программно реализованную "длинную арифметику" для целых чисел, ещё более замедлив). Но всё сие - очень специфические области, для практически всех реальных расчётов погрешность $10^{-17}$ вполне допустима и с нею смиряются.

 Профиль  
                  
 
 Re: Процесс ортогонализации Грамма-Щмидта
Сообщение10.12.2015, 17:39 
Заслуженный участник
Аватара пользователя


30/01/06
72408
При ортогонализации как раз корни используются очень сильно.

Так что, потребуется что-то типа представления алгебраической формулы для числа. Что, в принципе, реально, для каких-нибудь пакетов символических вычислений (Mathematica, Maple, Maxima), но медленно и не для слишком больших матриц. И потом, нужна ли такая артиллерия для данной конкретной задачи - тоже отдельный вопрос.

 Профиль  
                  
 
 Re: Процесс ортогонализации Грамма-Щмидта
Сообщение11.12.2015, 10:44 
Заслуженный участник
Аватара пользователя


11/03/08
7943
Москва
Да, действительно. Вполне можно обойтись без корней при решении СЛАУ, а для ортогонализации максимум возможного без корней - можно построить ортогональные, но не нормированные векторы. А для нормировки нужно будет уже корни вычислять.

 Профиль  
                  
 
 Re: Процесс ортогонализации Грамма-Шмидта
Сообщение11.12.2015, 15:41 
Заслуженный участник
Аватара пользователя


30/01/06
72408
А, ну в таком плане не надо CAS городить, достаточно посчитать подкоренное выражение как рациональное число... Что-то я слишком не то подумал.

 Профиль  
                  
 
 Re: Процесс ортогонализации Грамма-Шмидта
Сообщение11.12.2015, 15:54 
Аватара пользователя


01/11/14
186
Вообще-то процедура Грама-Шмидта.

 Профиль  
                  
 
 Re: Процесс ортогонализации Грамма-Шмидта
Сообщение11.12.2015, 16:08 
Заслуженный участник
Аватара пользователя


11/03/08
7943
Москва

(Оффтоп)

Это ежели на трезвяка - то Грама. А если принять для храбрости перед научным подвигом - как раз будет Грамма. Стограмма, двухсотграмма, в зависимости от размерности матрицы...

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

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



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

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


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

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