MFUNCTION-CALL-AUX: call Maxima special forms with non-NIL headers
Here is an example of using sort that uses a custom sorting predicate: (%i1) sort([[1,3,2],[2,2,0],[3,4,5]], lambda([a,b], second(a) < second(b))); (%o1) [[2,2,0],[1,3,2],[3,4,5]] To find the indices of a list (not a set) that makes a predicate true, use sublist_indices. Here is an example that finds the indices of the list members that equal 2: (%i2) sublist_indices ([1,2,3,4,1,2,3], lambda ([x], x=2)); (%o2) [2,6] I had forgotten about this function, so I looked in the user documentation under...
Proposal: In trigrat, replace the two calls to rectform to demoivre and locally set ratexpand to true. With these changes, we have (%i1) trigrat(f(sin(2*x))); (%o1) f(sin(2 x)) Unfortunately, this proposed change does not fix bug 2263. We have (%i4) trigrat(sin(%pi/5)); (%o4) sin((3*%pi)/5)/2-(%i*cos((3*%pi)/5))/2-sin((2*%pi)/5)/2 +(%i*cos((2*%pi)/5))/2+sin(%pi/5)-%i*cos(%pi/5)+%i/2 Running the testsuite and the share testsuite gives four failures--I would say that each "failure" is an improvement....
Oh ok i did see now that if i do load("fourie") first then equalp(1,2) does give false. Though seems it has general use rather than just in fourier series related issues.
yea i kind of thought predicate meant something like that. But is quite unwieldly and difficult to express what one wants to do in that format such as the example i gave before on sorting on the 2nd or any other column other than the 1st. So how would one use this 'predicate' requirement to sort a list of entries or call them list of row vectors on the 2nd or whatever column other than the first and also work for a list of row vectors not all of the same length ?
Ok i thought i did give example prior but anyway again. For example permutations([2,0,5,2]); gives a number of ordered entries in a set o suppose or could do listify(...) if wanted in a list. Now i want to go the other way and given [2,5,02] to find what number in the list or set that appears. What i simply mean is the analogous to perm_lex_rank (p) except for not necessarily consecutive numbers and could be repeated entries such as for any of the members say p that permutations([2,0,5,2]); outputs...
feature request permutations and sort related features
sign("foo") => Lisp error
sign("foo") => Lisp error
I am inclined to think that sign(nonscalar) should trigger an error, just as sign(%i) does. It is arguable (although I'm not making that argument today) that sign(nonscalar) and sign(%i) should honor the global flag prederror, returning und when false and otherwise triggering an error. In any event, sign(nonscalar) should not return pnz or pz.
Update version check for makeinfo
sign of nonscalar inconsistent
floor/ceiling/round of large bfloats gives errors
floor/ceiling/round of large bfloats gives errors
Ensure unbound loop variable is not assigned a value in loop clean-up.
Documentation for iterating over key-value pairs of hash table;
Additional tests for iterating over hash tables; one loop variable, no destructuring.
Extend "for" loop syntax to iterate over hash tables.
Range reduction for periodic trig functions
configure --disable-build-docs not working
should be fixed by [bbc6cb1176e04cc366560e5bedaabf7927760aad]
Commenting out gcd:subres in share/trigonometry/trigrat.lisp enables trigrat to avoid the out of memory error, although the result reflects the messed-up VARLIST interaction between foo(25) and foo(26).
./configure --disable-build-docs
Here are the attachments for the preceding comment.
Appears to still be present in 5.49.0. I'm attaching some example output because it shows how ratsimp is getting a different argument from trigrat when VARLIST is not assigned false in between trigrat calls. Note that trigrat has 2 calls to ratsimp. Looks like the argument for the first call is unchanged but the argument for the second call is different (and has many more terms). Here is the input batch file tmptrigrat1a3b2.mac. I'll attach both the input and the output files and also paste them...
Here is a related bug report: https://sourceforge.net/p/maxima/bugs/4554/
I notice this is a related bug report: https://sourceforge.net/p/maxima/bugs/2263/
ChangeLog-5.49.md: add items which I worked on.
ChangeLog-5.49.md: put backslash before asterisks in an effort to avoid interpretation as emphasis.
complexify fails on rats
I have just updated it without problem. I don't why it didn't work in your case. Regards, Jaime On 12/19/25 16:08, Leo Butler wrote: Thanks for the reminder. I have rsync-ed all the changes to contrib/maxiplot, but the file maxiplot_en.pdf is not being overwritten, so a version from 2024 is still in place. The tex file has been updated, though. Are you able to update it? [patches:#107] maxiplot.sty fails to process the batch script: PATCH Status: closed Group: Labels: website Created: Sat Dec 13,...
Squashed commit of the following:
Update ChangeLog for bug fix 4585
Fixed by Commit [2f8043] master. Appended tests to rtest_taylor. Closing this ticket.
#4585 Taylor polynomials involving tangent & a quotient
Just a few additional bits of information: rsync believes all the files in that directory are up-to-date; the old file is still being served by SF, as I have repeatedly been able to download it using wget (so it is not an issue with my browser caching an old file).
Thanks for the reminder. I have rsync-ed all the changes to contrib/maxiplot, but the file maxiplot_en.pdf is not being overwritten, so a version from 2024 is still in place. The tex file has been updated, though. Are you able to update it?
relatedprojects.html: update yamwi information
contrib/maxiplot/maxiplot{,_en}.{tex,pdf}
Makefile
This is possibly wxMaxima + Windows bug, not a Maxima bug. From a Windows terminal: (%i3) for i : 1 thru inf do x : x + i; Maxima encountered a Lisp error: interrupt signal Automatically continuing. To enable the Lisp debugger set *debugger-hook* to nil. (%i4) Using wxMaxima that comes with Maxima 5.48, control G works OK for me. But as I recall, it might have been broken in some other versions.
Interrupt ctrl G does not work and cannot do anything but ctrl-alt-del and lose all
This has to do with your local environment. In MacOS, I can interrupt a Maxima started in a Terminal window with one Control-C. Under Emacs, I can interrupt it with two Control-Cs.
when remarded lose all work there was much more than this for other things
Interrupt ctrl G does not work and cannot do anything but ctrl-alt-del and lose all
A predicate is a function that returns a truth value. In boolean logic, a truth value is either true or false. Some built-in Maxima predicates include oddp, evenp, and integerp. I agree with Jaime that if you could give some simple examples of what you want, somebody could figure out how to do it with a few Maxima commands.
Could you please write some simple examples of commands and the results you wished they gave?
feature request permutations and sort related features
Updated English starting pages for 5.49.0
It is not enough to commit changes into the git repository. To website has to be updated manually. Please read https://sourceforge.net/p/maxima/website/ci/master/tree/README.md
I have tested this proposed change--no problems with either the testsuite or the share testsuite.
maxiplot.sty fails to process the batch script: PATCH
The patch is applied in commit 53017f1. Thank you for your interest and contribution.
contrib/maxiplot/maxiplot.sty: write18 fix
Try this change instead: (defun multiple-%pi (a const func) (let (coef) (and ;;(equal ($hipow const '$%pi) 1) <== I think this is wrong (multiplep const '$%pi) ;; try this instead! ($ratnump (setq coef ($ratcoef const '$%pi 1))) (cond ((numberp coef) (expand (m- a const) func)) ((equal (caddr coef) 2) (psminus (expand (m- a const) (cond ((eq func '%tan) '%cot) ((eq func '%cot) '%tan) (t (merror "MULTIPLE-%PI: internal error in Taylor expansion."))))))))))
rtest15.mac: add test cases for trigrat derived from https://stackoverflow.com/questions/79848443/.
ChangeLog-5.49.md: add items which I worked on.
ChangeLog-5.49.md: put backslash before asterisks in an effort to avoid interpretation as emphasis.
The function trig-const might be involved in this bug. When I comment out the first clause of the condition, the bug goes away: (defun trig-const (a arg func) (let ((const (ps-lc* arg)) (temp (cdr (assoc func trigdisp :test #'eq)))) (cond ((and nil (pscoefp const) ;; commented out (member func '(%tan %cot) :test #'eq) (multiple-%pi a (srdis const) func))) (temp (funcall temp (setq const (psdisrep const)) (m- a const))) (t (tsexpt `((,(get func 'recip)) ,(srdis arg)) -1)))))
Merge branch 'master' into rtoy-improve-cdiv-accuracy
Updating configure.ac with new version number
Updating configure.ac with new version number
Adding 5.49 change log.
Clean up indentation in two-arg-/
Move all of the cdiv test stuff into the test-cdiv-double
Don't do the extra checks in two-arg-/
Erroneous result of funcsolve
signum(ind) is an error
Closing this ticket.
Comment out the test code.
Speed up complex division
It appears that on GNU/Linux Debian 12 (Bookworm) with texlive 2022 as default, the write18 part fails to process the generated maxima batch script. More precisely the redirection '>' to the log file gets concatenate to the name of the script that is passed to maxima. This patch mainly fixes this issue. In practice, it discards the redirection part of the commandline and it delegates the log writing part to maxima via the maxime procedures 'writefile' and 'writeclose'. Along side some minor cleanups...
maxiplot.sty fails to process the batch script: PATCH
Interupt control I does not work
Not a bug, as requested by OP.
Except i got the message maxima encountered a lisp error. Wnen there was no reason why it shouild have as there is no endless loop or anything to make it do that. But i guess that will have to be another ticket since this was labled interupt does not work.
Ok maybe not too bad as i did find it under maxima menu i guess now it is ctrl G so can ignore this ticket till i find it does it again.
Interupt control I does not work
Some cleanups and declarations
Update ChangeLog for fixes for bugs 4646, 4642, and 4648
sign(1.0e-310*%i) gives error because 1e-310*x/1e-310 fails
The specific bugs mentioned in this ticket were resolved by Commit [1c6a09]. Undoubtedly, there are similar bugs with over and underflow of floating point numbers in the sign code, but I am closing this ticket.
cabs/carg/polarform overflow and underflow
Fixed by Commit [1c6a09]. Closing this ticket.
minor hstep problems and missing features
Fixed by Commit [a77814] . Closing this ticket.
autoload problem with hstep
Fixed by Commit [a77814] . Closing this ticket.
#4648 autoload problem with hstep
Add accurate complex division algorithm