id,summary,reporter,owner,description,type,status,priority,milestone,component,resolution,keywords,cc,merged,author,reviewer,upstream,work_issues,branch,commit,dependencies,stopgaps
8327,"Implement the universal cyclotomic field, using Zumbroich basis",nthiery,jdemeyer,"This patch provides the universal cyclotomic field
{{{
sage: UCF. = UniversalCyclotomicField(); UCF
Universal Cyclotomic Field endowed with the Zumbroich basis
}}}
in sage. This field is the smallest field extension of QQ which contains all roots of unity.
{{{
sage: E(3); E(3)^3
E(3)
1
sage: E(6); E(6)^2; E(6)^3; E(6)^6
-E(3)^2
E(3)
-1
1
}}}
It comes equipped with a distinguished basis, called the Zumbroich
basis, which gives, for any n, A basis of QQ( E(n) ) over QQ, where (n,k) stands for E(n)^k.
{{{
sage: UCF.zumbroich_basis(6)
[(6, 2), (6, 4)]
}}}
As seen for E(6), every element in UCF is expressed in terms of the smallest cyclotomic field in which it is contained.
{{{
sage: E(6)*E(4)
-E(12)^11
}}}
It provides arithmetics on UCF as addition, multiplication, and inverses:
{{{
sage: E(3)+E(4)
E(12)^4 - E(12)^7 - E(12)^11
sage: E(3)*E(4)
E(12)^7
sage: (E(3)+E(4)).inverse()
E(12)^4 + E(12)^8 + E(12)^11
sage: (E(3)+E(4))*(E(3)+E(4)).inverse()
1
}}}
And also things like Galois conjugates.
{{{
sage: (E(3)+E(4)).galois_conjugates()
[E(12)^4 - E(12)^7 - E(12)^11, -E(12)^7 + E(12)^8 - E(12)^11, E(12)^4 + E(12)^7 + E(12)^11, E(12)^7 + E(12)^8 + E(12)^11]
}}}
The ticket does not use the gap interface.",enhancement,closed,major,sage-5.7,number fields,fixed,"Cyclotomic field, Zumbroich basis",sage-combinat cwitty,sage-5.7.beta3,"Christian Stump, Simon King",Frédéric Chapoton,N/A,,,,#13765,