add relative tolerance to allocate outlay check #430
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is to address issues #376 #416 and #368 where the use of non-integer positions and floating point errors result in the
np.isclose
condition ofallocate
inSecurityBase
to fail to be met, resulting in the "Potentially infinite loop detected..." error being thrown.As described in #368 and #416, setting
rtol
to a non-zero, minuscule value likertol=1e-14
addresses this issue, though in my experience with this error, it sometimes needs to be relaxed up tortol=1e12
.I think setting
rtol=TOL
whereTOL=1e-16
as per its use inis_zero
is a good first step towards resolving this issue.The global value for
TOL = 1e-16
is never used anywhere else and is perhaps best also applied here since they are both floating point issues.