Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move src/Infinity.jl (and tests) from Nemo to AbstractAlgebra #1841

Open
fingolfin opened this issue Oct 7, 2024 · 5 comments
Open

Move src/Infinity.jl (and tests) from Nemo to AbstractAlgebra #1841

fingolfin opened this issue Oct 7, 2024 · 5 comments

Comments

@fingolfin
Copy link
Member

No description provided.

@nsajko

This comment was marked as off-topic.

@nsajko

This comment was marked as off-topic.

@dlfivefifty
Copy link

dlfivefifty commented Oct 18, 2024

While mathematically an infinity isn't a real number

As you mentioned: Julia types are not the same as mathematical sets. I think they are best thought of as encoding an "interface" and anything that follows the rules of the interface can be subtype. Eg. in ForwardDiff.jl we also have Dual <: Real which of course is mathematically nonsense but makes perfect sense (and is essential) in terms of the interface.

I don't exactly remember why we defined Infinity <: Real instead of Infinity <: Number or indeed Infinity <: Any. This can probably be changed without any serious side-effects.

@fingolfin
Copy link
Member Author

No we have no interest in that. It just makes maintenance harder for us with no real benefit. As you pointed out, there is already a package for infinites that people who don't want to use AA/Nemo/Oscar can use, and which deliberately are not using.

In particular our infinity is not a subtype of Real. That's not a bug, it's a feature.

"Consistent hashing" of infinities to me also sounds like a red herring, not a useful feature in itself.

@nsajko

This comment was marked as off-topic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants