> > Since I am not a programmer and nobody in my team is a mathematician (so my 
> > developers don't know Sage), I kindly ask on this list for any hints how we 
> > could proceed?

> Sage mainly uses other open source C libraries to carry out these 
> factorizations, so you would need to be able to port these to wasm as well.

To be clear, porting parts of Sage or the underlying C libraries to
WASM/pyodide is a formidable task even for a mathematical programmer.
That is why I suggested SymPy instead since it already works in
WASM/pyodide.

SymPy does not provide factorisation over as many different rings as
Sage does but is easy to install and use in WASM via pyodide:

https://pyodide.org/en/stable/

You can just micropip.install('sympy') and add a short snippet of
Python code to use SymPy from JS:

https://pyodide.org/en/stable/usage/loading-packages.html

The next release of SymPy (1.13) can make use of python-flint for
factorisation of some polynomials using the underlying Flint C
library. Also python-flint has been ported to pyodide so it should be
possible to use SymPy backed by Flint in WASM:

https://pyodide.org/en/latest/usage/packages-in-pyodide.html

In future if Sage becomes more usable from WASM/pyodide then I assume
that you would be able to use it in the same way via pyodide. As I
understand it though it is not possible right now to install enough
pieces of Sage in pyodide to be able to factorise a polynomial. I
imagine that making that work using Sage would require some
significant porting work that is likely out of scope for a team of
non-mathematicians who do not know Sage or its dependencies.

--
Oscar

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/CAHVvXxROpXVCCi_k4a%3D6gamq%2B%3DsN1jc1%3DMCfk7NVxYyLVQyybg%40mail.gmail.com.

Reply via email to