Новичок здесь, поэтому, пожалуйста, будьте осторожны!
Я использую mpmath.quad
, чтобы вычислить большое количество интегралов, которые затем помещаются в матрицу для дальнейшего вычисления.Моя проблема в том, что подынтегральные функции являются осциллирующими, поэтому степень точности по умолчанию (maxdegree = 6
), установленная mpmath, не достаточна, чтобы сходиться к ответу с ощутимым уровнем ошибки.Я увеличил значение maxdegree
до 25, и если я не использую очень колебательные интегрирования, это решит проблему.
Мой вопрос: что именно делает этот параметр?Очевидно, что он использует больше итераций любого алгоритма, который он использует для решения интеграла, но если, например, я должен был установить его на maxdegree=1000
, следует ли ожидать, что он достигнет какого-то предела точности, или выполнить 1000 итераций длякаждый интеграл?
Вероятно, это лучше объяснить, спросив, если у меня есть интеграл и ответ на итерации 10 будет 1.09758354e-10
с ошибкой 2e-13
, будет ли алгоритм продолжать работать, пока не достигнет плавающей запятойточность, а затем сдаться, или просто продолжать вычислять еще 990 итераций, которые по сути ничего не меняют?
Спасибо!:)