-
Notifications
You must be signed in to change notification settings - Fork 133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement the new printing guidelines for more compact printing #2166
Labels
enhancement
New feature or request
Comments
Examples for the new 2+1 print modes in OscarThese examples are intended as guidelines for implementing the new show ExamplesFor each example we fix a single parent and display its three print modes Coefficient rings
Prime field
Finite field
Integer mod rings
NumberfieldsA simple number field
Fancy number field
GroupsPermutation group
Polycyclic group
General linear group over finite field
General linear group over number field
(note the oneline but not supercompact representation of the number field)
Matrix group over QQ
RingsCommon polynomial ringsMultivariate polynomial ring in x, y, z over QQ
Multivariate polynomial ring in 30 variables x1, x2, x3, ... , x30 over QQ Multivariate polynomial ring in 30 variables over QQ
Examples for Polynomial ringsjulia> P,x = polynomial_ring(QQ,[:x,:y,:z])
(Multivariate polynomial ring in 3 variables, QQMPolyRingElem[x, y, z])
Generic polynomial rings
Group RingsNote the Group ring
of Polycyclic group of infinite order
over Number field of degree 4 Group ring of Polycyclic group over Number field Group ring IdealsPolynomial ring
Maximal order of a number fieldIdeal
of Maximal order of Cyclotomic field of order 19
norm: 1123272193876636254792988373
minimum: 1013
two normal wrt: 1013
generated by
1013
z_19^9 + 389*z_19^8 + 1011*z_19^7 + 626*z_19^6 + 391*z_19^5 + 386*z_19^4 + 623*z_19^3 + 2*z_19^2 + 388*z_19 + 1012 julia> F,z = cyclotomic_field(19);
julia> OF = maximal_order(F);
julia> support(30*OF)
2-element Vector{NfOrdIdl}
Ideal in maximal order
Ideal in maximal order
Ideal in maximal order Ideal Quotient RingsA common example
A fancy example
Spectra
MapsMaps of Rings
Maps of Groups
Maps of rings but not of algebrasRing homomorphism
from Multivariate polynomial ring in 2 variables over Quadratic Field
to Multivariate polynomial ring in 3 variables over Quadratic field
with coefficient map Automorphism of quadratic Field
defined by
x -> x1
y -> x1*x2 Hom: Multivariate polynomial ring -> Multivariate polynomial ring Ring homomorphism Examples of Interactive usePrimary decompositionjulia> p, (x,y,z) = polynomial_ring(GF(2), [:x, :y, :z])
(Multivariate Polynomial Ring in 3 variables over GF(2), fpMPolyRingElem[x, y, z])
julia> I = ideal([x^2 + y^2, z^3 - 1])
Ideal of Multivariate Polynomial Ring in 3 variables over GF(2)
generated by
x^2 + y^2
z^3 - 1
julia> PD = primary_decomposition(I)
2-element Vector{Tuple{MPolyIdeal{fpMPolyRingElem}, MPolyIdeal{fpMPolyRingElem}}}:
(Ideal with 2 generators, Ideal with 2 generators)
(Ideal with 2 generators, Ideal with 2 generators)
julia> PD[1][1]
Ideal of Multivariate Polynomial Ring in 3 variables over GF(2)
generated by
z + 1
x^2 + y^2 |
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
#2148 adds the new printing guidelines to our developer documentation.
They need to be implemented for our existing Types.
The first ones to do this seem to be the following:
Once these are implemented we can go for the more complicated constructs such as modules, group rings, (toric) varieties etc.
TODOs
Implement some some fallback functions
and also provide some macros
with 1 generator
and notwith 1 generators
the nested call will then be
print(indented(io), R.substruct)
f1 -> (1,2)(3,4,5)
)Perhaps we need an option to control that? Or we write a helper function
which changes the case of the first letter of a string --
but then we need to first print into strings, instead of directly printing to the output io,
which means overhead and has other concerns
The text was updated successfully, but these errors were encountered: