В данном случае я рассматриваю полином сам по себе, без привязки к синусу. У double безусловно тоже есть погрешность, поэтому предварительно я сверился с Mathematica убедиться, что он выдаёт корректный результат.
«Числа posit имеют большую точность, больший динамический диапазон и большее покрытие. Они могут использоваться для получения лучших результатов, чем float той же разрядности, или (что может быть ещё большим конкурентным преимуществом), тех же результатов при меньшей разрядности… Так как они работают как float, а не как интервальная система, они могут рассматриваться как прямая замена float»
Я попробовал, результаты даже ещё интереснее получились. Пока значения аргумента возле единицы, точность на 1-2 разряда выше float. Как только значение аргумента меняется на порядок — точность резко снижается. При x=10 только 3 правильных цифры, при x=100 только две.
прямая подстановка коэффициентов из матлабовской формулы дала бы другой результат.
Безусловно другой, и возможно даже с соизмеримой с float точностью. Но у других аппроксимаций вполне могут получится полиномы вида x +105 x2 + 1010 x3 и тогда никакие трансформации их не спасут.
И вы хотите сказать — просто не используйте схему Горнера при вычислениях с posit? Ну хорошо — раз нельзя использовать схему Горнера, значит возможно, что-то ещё нельзя. Где список всего того, что нельзя — с учётом того, что авторы недостатки своего формата отрицают?
В библиотеке в op1.cpp в функции op1_sqrt дробная часть вычисляется приближенно, рядом из 100 членов. Я сомневаюсь, что это хорошая идея: логичнее задать минимальную точность EPSILON и вычислять ряд until ( abs(rn) < EPSILON). Возможно, я неправ, и есть математическое обоснование, почему корень любого числа достаточно вычислять рядом из 100 членов?
Это вопрос к авторам, а корень логичнее, быстрее и точнее вычислять используя метод Ньютона.
Кажется, корень не используется в ваших проверках, но стоит ли доверять библиотеке? Особенно в свете того, что для запуска вам пришло что-то там исправлять. Корректно ли там реализованы другие операции?
Это тоже вопрос к авторам. Что-то пришлось исправлять только потому, что компилятор другой.
В вашем коде при умножении комплексных чисел вы используете угол поворота, его синус и косинус типа double. На этом этапе вычислений мы получим эти значения с некоторой погрешностью. Потом мы создаем из них Posit числа. Получается, мы тестируем не чистую Posit математику, а некоторую смесь Posit(double)
Да, но у меня не было другого варианта — там нет ни своих синусов, ни конструктора из символьного представления числа.
С одной стороны, эта формула искусственная в том смысле, что создана для демонстрации проблем с округлением.
С другой стороны, подобные проблемы возникают сплошь и рядом при численном решении дифференциальных уравнений в реальных задачах, поэтому в математике и физике так важно получать именно аналитические решения. Синусоиду тоже (в теории) можно вычислить рекуррентно, используются лишь базовые арифметические операции. На практике она либо затухнет в ноль, либо пойдёт «в разнос» и вывалится в ± бесконечность или NaN.
ряд должен сходиться к числу 5 (небольшое число), используются только базовые арифметические операции, и ошибка проявляет себя довольно быстро.
Ошибка проявляется быстро, потому что эта формула критична к ошибкам округления при делении. Если, например, при каждым делении количество верных разрядов будет уменьшаться в 2 раза, то 32→16→8→4→2→1→конец.
По своему опыту могу сказать, что в этом вопросе от книг толку мало и чаще наоборот — больше вреда. Это касается не только пикап- руководств с объяснениями женской логики, но и разнообразных НЛП и прочих хитровы-х средств коммуникации.
Если подумать, это вполне логично. Проблема общения — это не проблема знания, поэтому её нельзя решить через чтение. Это можно увидеть на противоположном примере — страшной жирной девочке с выбритыми бровями и феминистическими замашками никакие книги не помогут. Да и чтобы писать книги — нужен определённый склад ума, и книги часто являются сублимацией, выдавая желаемое за действительное. Бред Питт определённо пользуется успехом у женщин — но будет ли он писать об этом книги и ездить с семинарами по городам? Не думаю.
Проблемы общения нужно решать через общение. В своё время для решения своих проблем я принял радикальное решение — пойти учиться в педагогический институт. Там и девочек было много и симпатичных, и в целом атмосфера располагающаяся. Подругу жизни я там не нашёл, но научился быть чуть более раскованным (в том числе и через опыт публичных выступлений) и получил возможность общаться с девочками на равных по бытовым (институтским) вопросам. Кроме того, я специально учился шутить и играть романтические произведения на гитаре — на это тоже уходило немало времени. И в итоге умение шутить оказалось наиболее ценным приобретением — работает безотказно до сих пор.
В своей реализации тетриса я просто увеличил вероятность «палки» — по ощущениям, её всегда было недостаточно — в отличие от всех остальных фигур, про которые алгоритм рандомизации «забывал».
Автор предыдущей статьи об НЛП после некоторой дискуссии скрыл её в черновики, тем самым показав, что:
1) стрессоустойчивость у мастеров НЛП-мастеров недостаточна,
2) навыки НЛП применять в реальной жизни у них не особо получается.
Как у вас с этим? Статья набирает минусы — стало быть, нейро-лигвистическое программирование в неё или не было заложено, или не работает. Почему?
Обратил внимание на название книги в списке литературы «Изменение убеждений. Психотехнологии уровня НЛП-Мастер». Стало интересно — вы её прочитали, вы этими техниками овладели, вы научились изменять убеждения людей?
Месяц — это ни о чём. Организм после алкоголя восстанавливается очень, очень медленно, а «белочки» приходят и уходят периодами, от недели до месяца. Нужно примерно 2 года только на то, чтобы просто пережить всех «белочек». Никакое изменение не может произойти мгновенно — и первый период улучшения состояния после завязки всегда временное, оно не означает излечения. Организму ещё нужно перестроиться под существование без алкоголя, и перестройка эта происходит медленно и мучительно, с периодическими «прояснениями» и «провалами» сознания.
Но из-за вбитой в юности предустановки (откуда она взялась?) «Лекарства не для мужиков» перестал их принимать. Дальше лёгкая депрессия, потом опыт «А если при кодировке выпить 10-20 грамм вина, наверное, не умрёшь?»
Вы просто нашли себе очередное оправдание для того, чтобы забухать. Все зависимые всегда ищут и находят оправдания. Из отказа от препаратов вовсе не следует необходимость пить. Лекарства не заменяют алкоголь и не сотворяют чуда — они лишь помогают пережить первичный период синдрома отмены и последующую адаптацию к обмену веществ без алкоголя.
Вы смутно представляете себе, что такое алкоголизм (да и зависимость вообще).
Я очень хорошо знаю, что такое зависимость — иначе не писал бы тут. Ну алкоголиком — да, никогда себя не считал, даже когда пил каждый день и помногу. Признать себя алкоголиком — это значит смириться, и количество спирта в сутки тут вообще не при чём.
Проблема в том, что это желание, какое бы оно сильное и искреннее не было, всего лишь временное явление, когда приперло и реально подыхаешь. Как только зависимый немного восстанавливается, а на транквилизаторах он это делает ничего не делая сам, желание меняется на противоположное.
Если человек добровольно покупает магарыч в предвкушении праздника — это не болезнь, а осознанный выбор. Нельзя вылечить выбор.
Я лежал в наркологии месяц в отличной клинике (клиника Корсакова в Москве). Нейролептики, терапевтические дозы галоперидола
Вы лежали в плохой клинике — алкоголизм так не лечат, так (якобы) лечат шизофрению. Правильно подобранные препараты (в том числе и антидепрессанты) лечат алкоголизм на раз-два — в том смысле, что дают больше, забирают меньше — и пить просто не хочется (при условии реального желания завязать). Когда-то одним из таких «народных» препаратов был фенибут — пока его не запретили к свободной продаже.
У нас тоже нет такого разделения. Зато есть разделение по участкам. Много кто бросил, включая меня самого — и так получилось, что и программисты, и инженеры-электроники на некоторых участках остались только некурящие.
«Числа posit имеют большую точность, больший динамический диапазон и большее покрытие. Они могут использоваться для получения лучших результатов, чем float той же разрядности, или (что может быть ещё большим конкурентным преимуществом), тех же результатов при меньшей разрядности… Так как они работают как float, а не как интервальная система, они могут рассматриваться как прямая замена float»
Вот и я прямо заменил float на posit.
x=1
-------------------------
0.841470984807896 sin(x)
0.841470984807896 double
0.841470956802368 float
0.841470986604690 posit
x=10
-------------------------
-0.642458796040545 double
-0.642459392547607 float
-0.642386730760335 posit
x=100
-------------------------
-35435.826218351600000 double
-35435.824218750000000 float
-35367.474609375000000 posit
x=1000
-------------------------
-391247.500187484000000 double
-391247.500000000000000 float
-265990.968750000000000 posit
И вы хотите сказать — просто не используйте схему Горнера при вычислениях с posit? Ну хорошо — раз нельзя использовать схему Горнера, значит возможно, что-то ещё нельзя. Где список всего того, что нельзя — с учётом того, что авторы недостатки своего формата отрицают?
Это тоже вопрос к авторам. Что-то пришлось исправлять только потому, что компилятор другой.
Да, но у меня не было другого варианта — там нет ни своих синусов, ни конструктора из символьного представления числа.
4.64475
4.77073
4.85972
4.99343
6.59878
30.0151
88.4203
99.3479
99.9673
99.9984
99.9999
100
100
100
4.64474
4.77053
4.85545
4.90575
4.84165
2.8218
-71.0303
111.99
100.534
100.027
100.001
100
100
100
4.64474
4.77054
4.8557
4.91085
4.94554
4.96696
4.98004
4.98791
4.99136
4.96746
4.42969
-7.81724
168.939
102.04
С другой стороны, подобные проблемы возникают сплошь и рядом при численном решении дифференциальных уравнений в реальных задачах, поэтому в математике и физике так важно получать именно аналитические решения. Синусоиду тоже (в теории) можно вычислить рекуррентно, используются лишь базовые арифметические операции. На практике она либо затухнет в ноль, либо пойдёт «в разнос» и вывалится в ± бесконечность или NaN.
Ошибка проявляется быстро, потому что эта формула критична к ошибкам округления при делении. Если, например, при каждым делении количество верных разрядов будет уменьшаться в 2 раза, то 32→16→8→4→2→1→конец.
Here are a few extreme examples of inexact multiplications by2 or 0.5 in Posit8 (similar example can be found in Posit16 andPosit32):
1.03125 * 2.0 returns 2.0
10.0 * 2.0 returns 16.0
64.0 * 2.0 returns 64.0
0.015625 * 0.5 returns 0.015625
0.984375 * 0.5 returns 0.5
Если подумать, это вполне логично. Проблема общения — это не проблема знания, поэтому её нельзя решить через чтение. Это можно увидеть на противоположном примере — страшной жирной девочке с выбритыми бровями и феминистическими замашками никакие книги не помогут. Да и чтобы писать книги — нужен определённый склад ума, и книги часто являются сублимацией, выдавая желаемое за действительное. Бред Питт определённо пользуется успехом у женщин — но будет ли он писать об этом книги и ездить с семинарами по городам? Не думаю.
Проблемы общения нужно решать через общение. В своё время для решения своих проблем я принял радикальное решение — пойти учиться в педагогический институт. Там и девочек было много и симпатичных, и в целом атмосфера располагающаяся. Подругу жизни я там не нашёл, но научился быть чуть более раскованным (в том числе и через опыт публичных выступлений) и получил возможность общаться с девочками на равных по бытовым (институтским) вопросам. Кроме того, я специально учился шутить и играть романтические произведения на гитаре — на это тоже уходило немало времени. И в итоге умение шутить оказалось наиболее ценным приобретением — работает безотказно до сих пор.
1) стрессоустойчивость у мастеров НЛП-мастеров недостаточна,
2) навыки НЛП применять в реальной жизни у них не особо получается.
Как у вас с этим? Статья набирает минусы — стало быть, нейро-лигвистическое программирование в неё или не было заложено, или не работает. Почему?
Вы просто нашли себе очередное оправдание для того, чтобы забухать. Все зависимые всегда ищут и находят оправдания. Из отказа от препаратов вовсе не следует необходимость пить. Лекарства не заменяют алкоголь и не сотворяют чуда — они лишь помогают пережить первичный период синдрома отмены и последующую адаптацию к обмену веществ без алкоголя.
Если человек добровольно покупает магарыч в предвкушении праздника — это не болезнь, а осознанный выбор. Нельзя вылечить выбор.