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

v12 breaking changes #3032

Closed
6 tasks done
josdejong opened this issue Sep 20, 2023 · 9 comments
Closed
6 tasks done

v12 breaking changes #3032

josdejong opened this issue Sep 20, 2023 · 9 comments
Milestone

Comments

@josdejong
Copy link
Owner

josdejong commented Sep 20, 2023

This issue will keep track on the various discussions we have about the architectural changes we want to implement in mathjs v12. Please comment if there are more topics to discuss

EDIT: I've created a v12 branch where we can merge all breaking changes: https://github.com/josdejong/mathjs/tree/v12

@gwhitney
Copy link
Collaborator

gwhitney commented Oct 2, 2023

The last task will be complete with #3037. I'll take a quick look at the fraction issue (not promising anything). Also note I filed #3036 with a new failure of eigs() I found as a result of fixing #2879. It's a different bug, more fundamental to the whole eigenvalue-finding algorithm being used (as opposed to the eigenvector-finding algorithm, that I just fixed). I don't think I will have the time to attack #3036 unless you think it's very important to mathjs's trajectory. If bartekleon (sp?) is working/going to work on fundamentals of the implementation of eigs, it will provide a useful test case -- fixing that bug while passing all existing tests would be one piece of evidence that a change to eigs is an improvement.

@gwhitney
Copy link
Collaborator

gwhitney commented Oct 2, 2023

Oh, I see, there's not really a "to-do" on our end with fraction.js, it's a question of whether there will be a fraction.js@5.0 in time for mathjs@12.0. So I don't think there are any further items that currently need my attention for mathjs 12, let me know if otherwise.

@gwhitney
Copy link
Collaborator

gwhitney commented Oct 3, 2023

P.S. Actually as I was doing general issue triage, I see that this could be a possible opportunity to do #2180 and close a very old issue, since I just worked on the closely related #2879. Is there interest in that to go on this list? I could do a quick PR for it if so. If that's desired, then we would need to make a decision whether to continue to support eigs(M, 1e-10) or require eigs(M, {precision: 1e-10})? Either way, we would allow e.g. eigs(M, {eigenvectors: false}) etc.; the question is simply whether a number in the second slot would become an error, or whether it would continue to be interpreted as precision for the sake of backward compatibility?

@gwhitney
Copy link
Collaborator

gwhitney commented Oct 3, 2023

P.P.S. Please also see and let me know your thoughts on the proposal to close #2178 for v12 as well.

@josdejong
Copy link
Owner Author

the question is simply whether a number in the second slot would become an error, or whether it would continue to be interpreted as precision for the sake of backward compatibility?

Let's keep eigs backward compatible and introduce a new options object { precision?: number, eigenvectors?: boolean } alongside it OK?

@gwhitney
Copy link
Collaborator

gwhitney commented Oct 4, 2023

Right. Will do a separate PR on top of #3037 with an implementation of #2180, leaving just a number working. Will #3037 get merged to develop before the release (so I can wait for that), or should I make it a "stacked" PR from.a branch off of the #3037 branch?

@josdejong
Copy link
Owner Author

Thanks! I made some comments in #3037 but those are only minor feedbacks. Still, I think it's easiest to create a "stacked" PR based on the branch of #3037 to implement this new option rather than wait for it to get merged (and creating a new branch based on develop will give merge conflicts, that would be a waste of time I think).

@josdejong
Copy link
Owner Author

I'm planning to publish v12 tomorrow. I will finish this last open PR and test it. There is no fraction.js v5.0.0 released yet and it is not clear when it will be released, so we'll not await that.

@josdejong
Copy link
Owner Author

I've just published v12 🎉

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

2 participants