This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using Nemo | |
function expressify(a::Union{Integer, fmpz}) | |
return a | |
end | |
function expressify(a::fmpq) | |
n = numerator(a) | |
d = denominator(a) | |
if isone(d) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
julia> include("mprint.jl") | |
================================================================== | |
old: | |
0 | |
new 1d: | |
0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using AbstractAlgebra | |
using Hecke | |
Hecke.factor_squarefree(f) = Hecke.squarefree_factorization(f) | |
mutable struct pfracinfo{E} | |
zero ::E # the zero polynomial | |
xalphas ::Vector{E} # [x_i - alpha_i for i = 1..r] | |
betas ::Vector{Vector{E}} # matrix of beta evaluations | |
inv_prod_betas1 ::Vector{E} # info for inivariate solver |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
factor....a: 4*x^30+292*x^28+10016*x^27-5436*x^26-18720*x^25-593244*x^24-636480*x^23-10462188*x^22-38930112*x^21-8351436*x^20-113673120*x^19-76407916*x^18-322897248*x^17-1009780620*x^16-2199994752*x^15-4014631668*x^14-10961637504*x^13-12798375572*x^12-10713608736*x^11-20672741172*x^10-11420434912*x^9-3937954452*x^8-1456317504*x^7+11481990108*x^6+22246941504*x^5+25318541628*x^4+13837642400*x^3+2404828124*x^2+3291038816*x+1176459900 | |
_fmpz_poly_factor_zassenhaus called cutoff = 8 | |
f: 31 294114975 822759704 601207031 3459410600 6329635407 5561735376 2870497527 -364079376 -984488613 -2855108728 -5168185293 -2678402184 -3199593893 -2740409376 -1003657917 -549998688 -252445155 -80724312 -19101979 -28418280 -2087859 -9732528 -2615547 -159120 -148311 -4680 -1359 2504 73 0 1 | |
p: 17 | |
r: 9 | |
fmpz_poly_factor_van_hoeij here 1 | |
fmpz_poly_factor_van_hoeij here 2 | |
fmpz_poly_factor_van_hoeij here 3 | |
-------------fmpz_poly_factor_van_hoeij_check_if_solved called------------ | |
M(9, 9): |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "n_poly.h" | |
#include "nmod_vec.h" | |
#define MAC3(h, m, l, a, b) \ | |
{ \ | |
mp_limb_t p1, p0; \ | |
umul_ppmm(p1, p0, a, b); \ | |
add_sssaaaaaa(h, m, l, h, m, l, 0, p1, p0); \ | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
******************************************************* | |
* original | |
******************************************************* | |
i = 17 | |
0.855682 seconds (826.90 k allocations: 2.884 GiB, 1.68% gc time) | |
i = 18 | |
0.907002 seconds (952.53 k allocations: 4.553 GiB, 2.32% gc time) | |
i = 19 | |
10.978187 seconds (3.43 M allocations: 57.138 GiB, 2.53% gc time) | |
i = 20 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using Random | |
using Test | |
using Nemo | |
import Base: +, -, *, /, //, ^, ==, gcd, copy, one, zero, iszero, isone | |
import Base: checked_add, checked_sub, checked_neg, checked_mul, checked_abs | |
import Nemo: AbstractAlgebra | |
import AbstractAlgebra: Field, parent, divexact, expressify, inv, isunit, | |
elem_type, parent_type, base_ring, mul!, addeq! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[e134572f-a0d5-539d-bddf-3cad8db41a82] | |
FLINT = "/usr/local" | |
[d9960996-1013-53c9-9ba4-74a4155039c3] | |
Arb = "/usr/local" | |
[e21ec000-9f72-519e-ba6d-10061e575a27] | |
Antic = "/usr/local" | |
[fcfa6d1b-d8ce-59d5-8c0a-c0d7f69e4f40] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
julia> x = [1,2,3] | |
3-element Vector{Int64}: | |
1 | |
2 | |
3 | |
julia> d = Dict{Vector{Int}, Int}(x => 1) | |
Dict{Vector{Int64}, Int64} with 1 entry: | |
[1, 2, 3] => 1 |