Арифметическая библиотека для отслеживания наихудшей ошибки
(изм)
Существует ли какая-либо библиотека или инструмент, позволяющий узнать максимальную накопленную ошибку в арифметических операциях?
Например, если я сделаю какой-то итерационный расчет...
myVars = initialValues;
while (notEnded) {
myVars = updateMyVars(myVars)
}
... Я хочу знать в конце не только вычисленные значения, но также и потенциальную ошибку (диапазон возможных значений, если результаты в каждой отдельной операции принимали пределы диапазона для каждого операнда).
Я уже написал Java-класс EADouble.java (советник по учету ошибок), который содержит и обновляет максимальные положительные и отрицательные ошибки вместе с вычисленным значением для некоторых базовых операций, но, боюсь, я мог бы заново изобрести квадратное колесо,
Любые библиотеки / что-нибудь в Java/ что-нибудь? Какие-либо предложения?
- Обновлено 11 июля: изучены существующие библиотеки и добавлена ссылка на образец кода.
- Как прокомментировали ребята, существует концепция интервальной арифметики, и был задан предыдущий вопрос ( Хорошая арифметическая библиотека (интервал)?) По этой теме. Есть только пара небольших вопросов о моем намерении:
- Меня больше волнует "главное" значение, чем верхняя и нижняя границы. Однако добавить это дополнительное значение к открытой библиотеке должно быть просто.
- Учет ошибки как независимой плавающей запятой может обеспечить более высокую точность (например, для сложения верхняя граница будет увеличена только на половину ULP вместо всей ULP).
- Библиотеки, на которые я посмотрел:
- ia_math (Java. Просто нужно было бы добавить главное значение. Пока что мое любимое)
- Увеличение / числовое / интервальное (C++, очень сложное / полное)
- ErrorProp (Java, значение учетных записей и ошибка как стандартное отклонение)
- Пример кода ( TestEADouble.java) хорошо выполняет баллистическое моделирование и вычисление числа e. Однако это не очень сложные сценарии.
1 ответ
Возможно, слишком поздно, но посмотрите на BIAS / Profil: http://www.ti3.tuhh.de/keil/profil/index_e.html Довольно полная, простая, объясняющая ошибки компьютера, и если ваши ошибки центрированы, то легкий доступ к Ваш номинал (через Mid(...)).