Hi Nasser,

could you try the branch at https://github.com/sagemath/sage/pull/37836?  
It should give significant performance gains for your testsuite.

Best wishes,

Martin

On Friday 19 April 2024 at 11:49:49 UTC+2 Dima Pasechnik wrote:

> On Fri, Apr 19, 2024 at 01:26:27AM -0700, 'Martin R' via FriCAS - computer 
> algebra system wrote:
> > I don't know how to do it. Note that this should really work with any 
> lisp 
> > implementation to make sense, because some people (eg., me) will have 
> > fricas installed with sbcl (because this is fastest), and the interface 
> > shouldn't insist on an ECL installation.
> > 
> > Do you know how to do it?
>
> There is https://github.com/quil-lang/sbcl-librarian
> which relies on a recent https://www.sbcl.org/manual/#Calling-Lisp-From-C
>
> If SBCL is the preferred Lisp then this route can be pursued - 
> I don't however know enough about FriCAS to see how to use
> sbcl-librarian to call FriCAS functions from Python.
> (There doesn't even seem to be an example on calling FriCAS from its
> underlyng Lisp available anywhere - from that it should be doable) 
>
> I don't think it can be totally Lisp-agnostic:
> SBCL does not allow embedding in the way ECL does (It's Embeddable
> Common Lisp for a reason...)
>
> Dima
>
>
> > 
> > Martin
> > 
> > On Thursday 18 April 2024 at 23:53:10 UTC+2 Dima Pasechnik wrote:
> > 
> > 
> > 
> > On 18 April 2024 21:51:34 BST, 'Martin R' via FriCAS - computer algebra 
> > system <fricas...@googlegroups.com> wrote: 
> > >OK, I think I have to give up. The InputForm consists of 23 964 324 
> > >atoms. I guess that there is no sensible way to transmit this, right? 
> > 
> > In-memory - just how Maxima library interface is operating. 
> > No need for pexpect interface then. 
> > Create a FAS module loadable into libecl, 
> > and, well, you have a huge increase in speed of the interface. 
> > 
> > 
> > > 
> > >Martin 
> > >On Thursday 18 April 2024 at 21:50:57 UTC+2 Martin R wrote: 
> > > 
> > >> I have now FriCAS with ECL, but I now realize that I am doing very 
> silly 
> > >> things in the interface between FriCAS to sage: 
> > >> * I do an unnecessary unparse of the InputForm (this runs forever on 
> > ECL, 
> > >> and crashes sbcl) 
> > >> * I throw the result away 
> > >> * I convert the InputForm into a string using a customized printer 
> > >> * I parse the result 
> > >> 
> > >> Oh dear, what did I do! 
> > >> 
> > >> I guess that I was scared of creating a very long history in the 
> FriCAS 
> > >> process if I transmit the InputForm atom by atom. I guess I should 
> cook 
> > up 
> > >> a simple protocol to transmit an ordered tree, maybe as a Stream. 
> > >> 
> > >> Martin 
> > >> On Thursday 18 April 2024 at 21:03:34 UTC+2 Nasser M. Abbasi wrote: 
> > >> 
> > >>> These are useful lisp commands, I did not know about them. This is 
> what 
> > I 
> > >>> get for my Fricas installation 
> > >>> 
> > >>> FriCAS Computer Algebra System 
> > >>> Version: FriCAS 1.3.10 built with sbcl 2.3.11 
> > >>> Timestamp: Wed Jan 10 09:37:52 PM CST 2024 
> > >>> 
> > >>> (1) -> )lisp (lisp-implementation-version) 
> > >>> Value = "2.3.11" 
> > >>> (1) -> )lisp (sb-ext:dynamic-space-size) 
> > >>> 
> > >>> Value = 4294967296 
> > >>> 
> > >>> I am also running Fricas and sagemath on VBox under windows 10. The 
> OS 
> > is 
> > >>> Linux Manjaro 
> > >>> 
> > >>> >fricas --version 
> > >>> FriCAS 1.3.10 
> > >>> based on sbcl 2.3.11 
> > >>> >sage --version 
> > >>> SageMath version 10.3, Release Date: 2024-03-19 
> > >>> > 
> > >>> On Thursday, April 18, 2024 at 12:01:19 PM UTC-5 axio...@yahoo.de 
> > wrote: 
> > >>> 
> > >>>> Hi Waldek! 
> > >>>> 
> > >>>> Thanks for the rapid answer! 
> > >>>> 
> > >>>> I have: 
> > >>>> )lisp (lisp-implementation-version) 
> > >>>> 2.1.11.debian 
> > >>>> )lisp (sb-ext:dynamic-space-size) 
> > >>>> 1073741824 
> > >>>> )version 
> > >>>> FriCAS 2022-07-16 compiled at Fr 12 Aug 2022 15:17:27 CEST 
> > >>>> 
> > >>>> I'm currently compiling the ECL version. 
> > >>>> 
> > >>>> Unfortunately, because of the MacOS problem ( 
> > >>>> https://github.com/sagemath/sage/pull/37041) most sage users won't 
> use 
> > >>>> the newest FriCAS. So I'll first check whether that makes a 
> > difference. 
> > >>>> 
> > >>>> Martin 
> > >>>> 
> > >>>> On Thursday 18 April 2024 at 18:11:21 UTC+2 Waldek Hebisch wrote: 
> > >>>> 
> > >>>>> On Thu, Apr 18, 2024 at 08:45:53AM -0700, 'Martin R' via FriCAS - 
> > >>>>> computer algebra system wrote: 
> > >>>>> > I started to look into one of the problems 
> > >>>>> > (https://github.com/sagemath/sage/issues/37813): 
> > >>>>> > 
> > >>>>> > res := integrate((x^2+1)^(1/2)/(x^2+(x+(x^2+1)^(1/2))^(1/2)), 
> x); 
> > >>>>> > 
> > >>>>> > works nicely, but converting to InputForm (which I use to do the 
> > >>>>> > translation to sage) fails. Is there a good reason for that - 
> i.e., 
> > >>>>> is 
> > >>>>> > this a bug, or just a problem with memory? 
> > >>>>> > 
> > >>>>> > Best wishes, 
> > >>>>> > 
> > >>>>> > Martin 
> > >>>>> > 
> > >>>>> > (2) -> inform := res :: INFORM 
> > >>>>> > 
> > >>>>> > Heap exhausted during garbage collection: 0 bytes available, 16 
> > >>>>> requested. 
> > >>>>> <snip> 
> > >>>>> > Total bytes allocated = 1072734880 
> > >>>>> > Dynamic-space-size bytes = 1073741824 
> > >>>>> 
> > >>>>> For me it works. The result is big for humans, but should be no 
> > >>>>> problem for modern computers. I am using FriCAS trunk build 
> > >>>>> using sbcl-1.2.4 (currently with 3Gb limit). Tried also version 
> > >>>>> with 2Gb limit and sbcl-2.2.9 with 1Gb limit. Note 
> > >>>>> I did: 
> > >>>>> 
> > >>>>> res := integrate((x^2+1)^(1/2)/(x^2+(x+(x^2+1)^(1/2))^(1/2)), x); 
> > >>>>> ii := res::InputForm; 
> > >>>>> 
> > >>>>> that is I am _not_ printing resulting InputForm. But I also 
> > >>>>> separately printed the InputForm, it works, just is slow when 
> > >>>>> printing to terminal and useless because the result is much 
> > >>>>> bigger than terminal scrollback buffer. 
> > >>>>> 
> > >>>>> -- 
> > >>>>> Waldek Hebisch 
> > >>>>> 
> > >>>> 
> > > 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups "FriCAS - computer algebra system" group.
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to fricas-devel...@googlegroups.com.
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/fricas-devel/49a360d1-f38a-4477-bd90-43be950ecd16n%40googlegroups.com
> .
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/e55c966c-6f46-41b5-87f5-7b3912b7e691n%40googlegroups.com.
  • Re: [fricas-devel]... 'Nasser M. Abbasi' via FriCAS - computer algebra system
    • Re: [fricas-d... 'Martin R' via FriCAS - computer algebra system
      • Re: [fric... Waldek Hebisch
        • Re: [... 'Martin R' via FriCAS - computer algebra system
          • R... 'Nasser M. Abbasi' via FriCAS - computer algebra system
          • R... 'Martin R' via FriCAS - computer algebra system
          • R... 'Martin R' via FriCAS - computer algebra system
          • R... Dima Pasechnik
          • R... 'Martin R' via FriCAS - computer algebra system
          • R... dimpase
          • R... 'Martin R' via FriCAS - computer algebra system
          • R... 'Nasser M. Abbasi' via FriCAS - computer algebra system
          • R... Dima Pasechnik
          • R... 'Nasser M. Abbasi' via FriCAS - computer algebra system
          • R... 'Martin R' via FriCAS - computer algebra system
          • R... Dima Pasechnik
          • [... Grégory Vanuxem
          • R... Waldek Hebisch
          • R... Waldek Hebisch

Reply via email to