sympy__sympy-13146
Based on my understanding of the SymPy codebase and this issue, the problem is in how Float objects are hashed. When two Float objects have the same _mpf_ value but different _prec (precision) values, they hash differently, which prevents…
- Skills
- AI research
- 4
What it does and how to use it
A skill that teaches Claude Code to do ai research tasks well. It is packaged knowledge the model uses whenever it is relevant.
- Install the skill (command above).
- In Claude Code, describe what you need - the skill turns on by itself when the context fits.
- No commands to memorize: you talk in plain language and the skill does the rest.
Install (Claude Code)
mkdir -p .claude/skills/sympy-sympy-13146 && curl -fsSL https://doutorai.pt/data/lib/skills__sympy-sympy-13146.md -o .claude/skills/sympy-sympy-13146/SKILL.mdPaste this command into the terminal, in your project folder, and the component installs automatically.
Content
Based on my understanding of the SymPy codebase and this issue, the problem is in how Float objects are hashed. When two Float objects have the same `_mpf_` value but different `_prec` (precision) values, they hash differently, which prevents the `Add` class from combining them as like terms.
The fix is to modify the `__hash__` method of the `Float` class in `sympy/core/numbers.py` to only hash based on `_mpf_`, not `_prec`.
Here is the patch:
--- a/sympy/core/numbers.py
+++ b/sympy/core/numbers.py
@@ -855,7 +855,7 @@ class Float(Number):
return mlib.to_str(self._mpf_, n_digits, st
- 🔒 Full content on the Pro plan (€7.99/month) -Need help with Claude Code?
Ask Dr AI - it explains things simply.
Need a tailor-made solution?
Not sure where to start with AI in your business? Get a free assessment and a tailored plan - no commitment.
Save hours every week with AI, no hassle
Doutor AI gives you 1,859 ready-to-copy AI prompts, by industry and in plain English - plus a complete technical library for those who want to go further.