кстати, для какого-то проекта писал "сумматор плавучки". ссуть в то, что без потерь точности можно суммировать только то, что имеет равную экспоненту ну и вот, был массив: индекс = экспонента, значение = текущая сумма в пределах неё. и при получении результата бежали с малых экспонент до больших. кое-что не понравилось — 1. только неотрицательные умел (задача такая была, было лень кодить ненужное), 2. хотел доказать отсутствие систематических погрешностей, но там чото было неочевидно, забил.
меня в школе на информатике надрачивали в том числе и на суммирование рядов, сходимость, прочие приближенные методы и оценки их сходимости. как раз оно.
потеряем-то да, но они будут не важны, так как однохуйственно, потеряли или "не влезло в double". Вот моей задачей было как раз сделать так, чтобы результат был максимально близок к тому, который получили бы точной арифметикой, вписав результат в double.
смотря что дальше с результатом делать. бывают злоебучие ситуации типа счета определеителей, когда из примерно стопицот вычитаем примерно стопицот и надо оценить насколько точно вышло примерно один.
бывают. Но и тут можно разбить на бакеты с одинаковой экспонентой и кое-что домутить. Впрочем, это извращения, потому что любая плавучка и любое конечное представление десятичного числа, фактически, рациональная дробь, и там уже есть "точная арифметика", как раз нужная для того, чтобы такого говна не надо было писать. Кстати, в окамле точная арифметика легко доступна. И даже думал, стоит ли использовать её в Том Самом Проекте, но решил, что нет — чтобы глюки с плавучкой побыстрее вылезли.
методов стопицот. например (в случае определителей) считать не влоб, а хитрым гауссом(?) выбирая строчку с самым большим коэффицентом и обнуляя аналогичный коэффицент у прочих строк.
ну да. Бобоян!11 Я в детстве дрочил на пару томов "численных методов", прокушал это. Там было не для плавучки, а для десятичной записи, но для тех же определителей было чуть ли не 5 методов, различных как раз в точности. То есть, лет 18 назад я это вполне чотко представлял. Сейчас же — "справочные данные", которые можно найти.
кэп ободряет!
и бухгалтеры, и тридэшники, и прочие компматанщики!
кстати, для какого-то проекта писал "сумматор плавучки". ссуть в то, что без потерь точности можно суммировать только то, что имеет равную экспоненту ну и вот, был массив: индекс = экспонента, значение = текущая сумма в пределах неё. и при получении результата бежали с малых экспонент до больших.
кое-что не понравилось — 1. только неотрицательные умел (задача такая была, было лень кодить ненужное), 2. хотел доказать отсутствие систематических погрешностей, но там чото было неочевидно, забил.
>без потерь точности можно суммировать только то, что имеет равную экспоненту
разве?
мне казалось, что при суммировании 2^N чисел почти стопудово потеряем N бит
меня в школе на информатике надрачивали в том числе и на суммирование рядов, сходимость, прочие приближенные методы и оценки их сходимости. как раз оно.
потеряем-то да, но они будут не важны, так как однохуйственно, потеряли или "не влезло в double". Вот моей задачей было как раз сделать так, чтобы результат был максимально близок к тому, который получили бы точной арифметикой, вписав результат в double.
смотря что дальше с результатом делать.
бывают злоебучие ситуации типа счета определеителей, когда из примерно стопицот вычитаем примерно стопицот и надо оценить насколько точно вышло примерно один.
бывают. Но и тут можно разбить на бакеты с одинаковой экспонентой и кое-что домутить. Впрочем, это извращения, потому что любая плавучка и любое конечное представление десятичного числа, фактически, рациональная дробь, и там уже есть "точная арифметика", как раз нужная для того, чтобы такого говна не надо было писать. Кстати, в окамле точная арифметика легко доступна. И даже думал, стоит ли использовать её в Том Самом Проекте, но решил, что нет — чтобы глюки с плавучкой побыстрее вылезли.
методов стопицот. например (в случае определителей) считать не влоб, а хитрым гауссом(?) выбирая строчку с самым большим коэффицентом и обнуляя аналогичный коэффицент у прочих строк.
ну да. Бобоян!11 Я в детстве дрочил на пару томов "численных методов", прокушал это. Там было не для плавучки, а для десятичной записи, но для тех же определителей было чуть ли не 5 методов, различных как раз в точности. То есть, лет 18 назад я это вполне чотко представлял. Сейчас же — "справочные данные", которые можно найти.
ага. какие-то ключевые слова в памяти, а дальше гугль-педия или бумажный справочник.