Комментарии 21
Спасибо. Я тоже хотел ответить на ту статью, но поленился.
Хорошим примером могут служит корни алгебраических уравнений.
Есть несколько методов отделения корней и их уточнения. Так вот, если посчитать в корне значение полинома, то для полинома 20 степени значение в корне может быть 10^12 или даже выше.
А ларчик открывается просто. При операциях с плавающей точкой (по европейски или по русски с запятой) операция сложения коммутативна, но не ассоциативна. Ассоциативность гораздо более сильно свойство, чем коммутативность.
Т.е. может быть так (a + b )+ c ≠ a + (b + c)
Хорошим примером могут служит корни алгебраических уравнений.
Есть несколько методов отделения корней и их уточнения. Так вот, если посчитать в корне значение полинома, то для полинома 20 степени значение в корне может быть 10^12 или даже выше.
А ларчик открывается просто. При операциях с плавающей точкой (по европейски или по русски с запятой) операция сложения коммутативна, но не ассоциативна. Ассоциативность гораздо более сильно свойство, чем коммутативность.
Т.е. может быть так (a + b )+ c ≠ a + (b + c)
Действительно, операции с плавающей точкой не являются ассоциативными. Однако, если принять, что каждое число x представлено в вычислительной технике интервалом [x(1-ε), x(1+ε)], где ε — машинная точность (10-16 для двойной точности), то формально ассоциативность возвращается. Например, Wolfram Mathematica, когда работает с плавающей запятой произвольной точности, отслеживает число верных знаков. Но такая оценка, как правило, сильно огрублена. Например, метод Ньютона, после десятка итераций может не содержать ни одного верного знака (формально с точки зрения WM).
GMP работает, Reduce работает, Maxima работает, Maple работает и еще с десяток работает. Но ассоциативность не возвращается. Вы писали про интервальные вычисления, но там нужны специальные алгоритмы, в лоб не получится. Это дефект математического образования в России. Вместо того, чтобы специалистам по вычислительной математики читать алгебру в них пихают матанализ. Извините за резкость.
НЛО прилетело и опубликовало эту надпись здесь
Просто приведите пример. Полугрупп полно. Пример?
Мультипликативная группа невырожденных матриц?
Множество квадратных невырожденных матриц одного порядка с вещественными элементами образует группу относительно умножения. Эта группа коммутативной уже не является.
Но есть ассоциативность. Приведите пример чтобы была коммутативность, но не было ассоциативности.
Но есть ассоциативность. Приведите пример чтобы была коммутативность, но не было ассоциативности.
А. Ну группу/полугруппу я вам просто по определению такую привести не смогу, но не вижу проблемы в том, чтобы сочинить коммутативную неассоциативную операцию. Взять хотя бы m * n = (m + n) max {m, n}.
Вы утверждали, что «Ассоциативность гораздо более сильно свойство, чем коммутативность». Вам привели пример, когда ассоциативность есть, а коммутативности нет. Теперь вы требуете противоположный пример. Сами себе противоречите.
Среднее арифметическое коммутативно, но не ассоциативно.
Среднее арифметическое коммутативно, но не ассоциативно.
Хорошее дополнение к моему топику. То, что мной было упущено из виду или просто опущено, здесь раскрыто.
Кстати, обращение матриц можно также делать с использованием теоремы Гамильтона-Кэли.
Что вообще такое матричная экспонента и кому она нужна
Матричная экспонента возникает при рассмотрении задачи Коши для линейной системы обыкновенных дифференциальных уравнений с постоянными коэффициентами:
Неужели Вы всерьёз думаете, что этим предложением реально закрыли вопрос, вынесенный в заголовок? Прямо б написали, «Это такая штука, которая зачем-то нужна программирующим математикам, уже знающим что такое задача Коши, линейная система дифференциальных уравнений, что такое необыкновенные дифференциальные уравнения и чем они отличаются от обыкновенных, но не очень понимающим, что такое накопление ошибки округления в операциях с числами, хранящимися в ЭВМ в формате с плавающей запятой».
Есть жесткие системы (и в этом они необыкновенны) или будем уподобляться филологам, которые говорят что не по русски написано «некорректные задачи» или «теория катастроф». Есть термины и их названия оправданы. Автор по любому прав, поскольку тема важная и неоднозначная. Из математика можно сделать программиста, а вот наоборот я случаев не знаю.
Если вы не знаете, что такое задача Коши, восполнить эти пробелы в предисловии к топику всё равно не удастся. Но есть на Хабре люди, которые знают, вот эти детали для них.
То есть, Вам действительно было интересно, что это такое (название раздела удачно), и предложенный автором ответ Вам действительно всё прямо объяснил (ответ сформулирован адекватно и недоумения не вызвает)?
Ну, я знал, что это такое и зачем, и предложенный автором ответ меня вполне устроил, я бы и сам дал такой же (опять-таки, нет смысла писать подробнее: люди, знакомые с диффурами, всё поняли, незнакомые — и не поймут). Сама статья показалась мне очень интересной и качественной. Особенно интересно было узнать реальное положение дел в свете низкопробной статьи на эту тему, которая была несколькими днями ранее.
Извиняюсь, что не очень в тему... Ищу удобное выражение для представления вектора вида
y = [exp(0 j x), exp(1 j x), ..., exp(N j x)].
Матричная экспонента определяется обычно не как поэлементная операция. То есть
y ≠ exp(j x)^[0, 1, 2, ..., N].
Может известен, так сказать, элегантный способ записи? Возможно, с использованием вектора натуральных степеней и тензорных операторов?
Если ничего не напутал, то можно записать так:
где , .
Вы абсолютно правы, большое спасибо!
Проверил численно в matlab-е:
x = pi/6;
n = [0; 1; 2];
a = exp(1)^(1i * x * diag(n)) * ones(size(n)); % Через матричную экспоненту
b = exp(1i * x * n); % Через поэлементное возведение в степень
a - b % Смотрим разницу
ans =
0
0
0
Безусловно, посмотрю, что из этого получится на практике...
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как не стоит вычислять матричную экспоненту