rtoy / maxima

A Clone of Maxima's repo
Other
0 stars 0 forks source link

radcan(sqrt(-1/(1+%i))) exhausts heap #178

Open rtoy opened 5 months ago

rtoy commented 5 months ago

Imported from SourceForge on 2024-07-02 08:14:29 Created by billingd on 2016-09-27 06:44:13 Original: https://sourceforge.net/p/maxima/bugs/3224


I have been investigating some algsys failures. [bugs:#1266] is the failure of algsys to find a solution to [x^2+x+1=0,x^2*y+1=0].

While debugging I triggered the following.

(%i3) j:sqrt(-1/(sqrt(3)*%i+1))$
(%i4) radcan(j);
Heap exhausted during garbage collection: 0 bytes available, 8 requested.

The advice from the mailing list on a similar issue [bugs:#3223] was that algsys wasn't intended for nested squareroots. https://sourceforge.net/p/maxima/mailman/message/35391566/

Just noting this for future reference.

(%i1) build_info();
Maxima version: "5.36.1"
Maxima build date: "2015-05-02 08:52:44"
Host type: "i686-pc-mingw32"
Lisp implementation type: "SBCL"
Lisp implementation version: "1.2.7"
rtoy commented 5 months ago

Imported from SourceForge on 2024-07-02 08:14:30 Created by macrakis on 2016-09-28 14:40:03 Original: https://sourceforge.net/p/maxima/bugs/3224/#288b


Though radcan doesn't perform any root denesting, no Maxima function should ever core-dump.

Radcan handles this case fine with algebraic:true , giving the same result as ratsimp:

radcan(j),algebraic => sqrt(sqrt(3)*%i-1)/2

(reproduced on Maxima branch_5_37_base_528_g802ae7f using Lisp SBCL 1.2.11)

rtoy commented 5 months ago

Imported from SourceForge on 2024-07-02 08:14:33 Created by billingd on 2016-09-29 00:03:32 Original: https://sourceforge.net/p/maxima/bugs/3224/#288b/93e6


Thanks. radcan with algebraic:true shows some promise. more testing required.

On 29/09/2016 00:40, Stavros Macrakis wrote:

Though radcan doesn't perform any root denesting, /no/ Maxima function should ever core-dump.

Radcan handles this case fine with algebraic:true , giving the same result as ratsimp:

radcan(j),algebraic => sqrt(sqrt(3)*%i-1)/2

(reproduced on Maxima branch_5_37_base_528_g802ae7f using Lisp SBCL 1.2.11)


[bugs:#3224] https://sourceforge.net/p/maxima/bugs/3224/ radcan(nested squareroot) exhausts heap

Status: open Group: None Created: Tue Sep 27, 2016 06:44 AM UTC by David Billinghurst Last Updated: Tue Sep 27, 2016 06:46 AM UTC Owner: nobody

I have been investigating some algsys failures. [bugs:#1266] https://sourceforge.net/p/maxima/bugs/1266/ is the failure of algsys to find a solution to [x^2+x+1=0,x^2*y+1=0].

While debugging I triggered the following.

(%i3) j:sqrt(-1/(sqrt(3)*%i+1))$ (%i4) radcan(j); Heap exhausted during garbage collection: 0 bytes available, 8 requested.

The advice from the mailing list on a similar issue [bugs:#3223] https://sourceforge.net/p/maxima/bugs/3223/ was that algsys wasn't intended for nested squareroots. https://sourceforge.net/p/maxima/mailman/message/35391566/

Just noting this for future reference.

(%i1) build_info(); Maxima version: "5.36.1" Maxima build date: "2015-05-02 08:52:44" Host type: "i686-pc-mingw32" Lisp implementation type: "SBCL" Lisp implementation version: "1.2.7"

Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/maxima/bugs/3224/

To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/

rtoy commented 5 months ago

Imported from SourceForge on 2024-07-02 08:14:35 Created by macrakis on 2016-09-29 21:40:29 Original: https://sourceforge.net/p/maxima/bugs/3224/#d0d1


The nested root is a red herring. Here is a simpler case that core dumps:

   radcan(sqrt(-1/(1+%i)))

Things seem to go wrong somewhere in the everysubst00 routine.

Tested in Maxima branch_5_37_base_528_g802ae7f using Lisp SBCL 1.2.11

rtoy commented 5 months ago

Imported from SourceForge on 2024-07-02 08:14:37 Created by macrakis on 2016-09-29 21:42:52 Original: https://sourceforge.net/p/maxima/bugs/3224/#923e


rtoy commented 5 months ago

Imported from SourceForge on 2024-07-02 08:14:39 Created by billingd on 2016-10-04 04:09:45 Original: https://sourceforge.net/p/maxima/bugs/3224/#10c2


Commits [2986fc] and [640ca7] avoid the calls to radcan from algsys, so the original problem is resolved. Doesn't fix the core dump.