Infos
jamys94 opened this issue · 12 comments
I'm interested in your code, but I can't understand how to use it: I'm using Typescript so I'd need the javascript version of the Polynomial Factorization program, or maybe you can explain the algorithm you used in there so I can re-write it in my way. Thanks. Great programs man!
I have written the code in C. Then Emscripten converts that to Asm.js which can be interpreted by the Web browser. I also use LLVM to generate WebAssembly.
So where is all the code about Polynomial Factorization? All into asm.js? Cause I can see more file *.js but no one seems to have into the right algorithm. You've done a great job man!
The source code is located at polfact.c . Then it uses other C modules for big number operations.
You can look at batch file a.bat what files are compiled.
So I bring all files polfact.c plus his dependencies and then I can translate them into JavaScript? Cause I need only that programs not all the others.
Did you use cyclotomic-cosets to factorize the polynomial? Cause I need a visualization of them too. Maybe we can expand your code with those things. Thanks
Yes.
I want to add polynomial factorization over the integers, but this requires adding more supporting functions first, so it will take some time.
I thought that the factorization over the integers was more easy to do because if you have an irreducible polynomial you keep it as it is while factorizing over some modulo we've got more freedom changing the coefficients modulo some number or changing them sign, so we've got more possibilities to compute, more cases. But it seems I was wrong.
Factoring over the integers is a lot more complex than factoring in Zp.
Could you explain the difference in the algorithms over integers and over Zp? I'm trying to write some algorithm to factorizing over Zp (I'm using typescript) but I can't understand the correct way to start, it's also not so easy over Zp starting from nothing.
My code uses Cantor-Zassenhaus algorithm. There are faster algorithms but they require more memory.