wxMaxima-developers / wxmaxima

A gui for the computer algebra system Maxima built with wxWidgets
https://wxMaxima-developers.github.io/wxmaxima/
Other
482 stars 99 forks source link

Output fills only half the screen #1931

Closed RoyalXXX closed 3 months ago

RoyalXXX commented 4 months ago

Capture d'écran 2024-07-19 095233

Other than that, I don't see vertical scrollbar to scroll and see the entire output. Scrolling with the mouse wheel doesn't work either.

Capture d'écran 2024-07-19 095424

daute commented 4 months ago

It seems a issue with this (1 year old) wxMaxima version (which was released with Maxima 5.47.0).

We expect a new Maxima version soon, but maybe in the meantime you can try a (wxMaxima only) installer from: https://github.com/wxMaxima-developers/wxmaxima/releases Some improvements in wxMaxima were made in the last year. (You will need a Maxima installation too (do not uninstall it) and configure the path to Maxima manually via the configure menu.

Best regards, Wolfgang

RoyalXXX commented 4 months ago

I installed the nightly build of Maxima, which embeds the latest version of wxMaxima. The above problem is gone, but another problem has occurred.

Capture d'écran 2024-07-27 122330

The lines don't break properly. Horizontal scrolling should not have appeared.

daute commented 3 months ago

Hm. For a fast "solution": It seems, that it does work when using the right-click-menu on a number (select first "Show all digits" (or a limited number of digits), then "Show all + allow line breaks in long numbers").

But there are still issues, you are right, we have to find out where in the code the problem is...

RoyalXXX commented 3 months ago

It would be nice if you could fix this issue before the release of Maximа 5.48

daute commented 3 months ago

Hm. I wonder, if the (current) options how to show long numbers make sense at all?

After a factorial(1000) I get - if I choose show max 20 digits - 402387[2556 digits]000000. I know that the integer starts with 402387, it has 2556 digits and ends with 000000. And I have the option to show 20, 50, 100 (or a configurable number) of digits... Isn't that useless? Maybe - instead of that 'info', a scientific notation, e.g. 3.0128 * 10^2567 would make sense - much more sense - for big integer numbers? And maybe the option to show the number exactly in one line (does that really make sense? That one have to scroll to the end of a line with 2556 characters?) and the current option to show all digits with linebreaks? Best regards, Wolfgang

RoyalXXX commented 3 months ago

But if someone wants to get the result in scientific notation, he can write bfloat(factorial(1000)); The point of computer algebra systems is to work with large numbers without loss of accuracy.

gunterkoenigsmann commented 3 months ago

I thinktjat Wolfgang got a point here: The trailing digits that are shown help only in very rare cases. The number of suppressed digits that is shown helps to determine the order of magnitude of the number, but is less helpful than the scientific notation.

bfloat() is good, but can lead to odd rounding errors if one isn't careful. If we can make exact numbers more useful we perhaps should do so...

daute commented 3 months ago

Yes. The issue is, how should wxMaxima handle the OUTPUT of long numbers in a meaningful way. factor(1000) might be assigned to a variable, which is used in further computations, and you don't want to change the type from integer to bigfloat. And you don't want to change your code from a : factor(1000); to a : factor(1000)$ bfloat(a); (which might even be problematic if you use % (the last result) in further computations).

WxMaxima should handle the output in a meaningful sense - and 402387[2556 digits]000000 does in my opinon make much less sense than a scientific format. And printing all digits does problably makes not much sense too (if the user did not explicitly configure wxMaxima that it should do it) - you might (accidentally) print our your worksheet and don't want your printer to output 200 pages with useless numbers (and powerful printers (at companies and universities) are able to do that in short time...). Best regards, Wolfgang