Hello,

I propose that the simple first phase of improving algebraic number
theory in SAGE be to get the docstrings and doctest in the current
number fields code into shape.   Would anybody like to help me?
I'll be in irc for the next few hours working on this.

If you do
   sagee: hg_scripts.pull(); hg_scripts.merge(); #etc
you'll get a new command

   sage -coverage file.py

Running it on the number fields code yields the report below (a score
of 47% for elements and a score of 22% for number_field.py):
Our first step should be to get both these to 100%.  If anybody wants
to help, meet me on irc.freenode.net in #sage-devel, so we don't replicate
work.  I'm going to start on number_field_element.pyx.

[EMAIL PROTECTED]:~/d/sage/sage/rings/number_field$ pwd
/home/was/d/sage/sage/rings/number_field
[EMAIL PROTECTED]:~/d/sage/sage/rings/number_field$ sage -coverage *
No functions in all.py

No functions in class_group.py

No functions in __init__.py

----------------------------------------------------------------------
number_field_element.pyx
OVERALL SCORE: 47%  (17 good, 19 bad)

Missing documentation:
         * is_NumberFieldElement(x)
         * __create__NumberFieldElement_version0(parent, poly)
         * __reduce__(self)
         * __repr__(self)
         * _im_gens_(self, codomain, im_gens)
         * __getitem__(self, n)
         * __abs__(self)
         * complex_embeddings(self, prec=53)
         * complex_embedding(self, prec=53, i=0)
         * is_square(self)
         * __floordiv__(self, other)
         * __nonzero__(self)
         * __long__(self)
         * polynomial(self)
         * _set_multiplicative_order(self, n)
         * multiplicative_order(self)
         * trace(self)
         * norm(self)


Missing doctests:
         * _pari_init_(self, var=None)

----------------------------------------------------------------------

----------------------------------------------------------------------
number_field_ideal.py
OVERALL SCORE: 22%  (10 good, 35 bad)

Missing documentation:
         * is_NumberFieldIdeal(x)
         * convert_from_zk_basis(field, hnf)
         * __cmp__(self, other)
         * _coerce_impl(self, x)
         * _repr_short(self)
         * _repr_(self)
         * norm(self)
         * number_field(self)
         * gens_reduced(self)
         * is_principal(self)
         * is_zero(self)
         * factor(self)
         * integral_basis(self)
         * integral_split(self)
         * is_maximal(self)
         * is_prime(self)
         * ramification(self)
         * residue_class_degree(self)
         * smallest_integer(self)
         * valuation(self)


Missing doctests:
         * __init__(self, field, gens, coerce=True)
         * _contains_(self, x)
         * __elements_from_hnf(self, hnf)
         * divides(self, other)
         * factor(self)
         * is_maximal(self)
         * is_prime(self)
         * is_principal(self, certify=True)
         * is_zero(self)
         * ramification(self)
         * residue_class_degree(self)
         * valuation(self, p)
         * pari_rhnf(self)
         * absolute_ideal(self)
         * __invert__(self)

----------------------------------------------------------------------

----------------------------------------------------------------------
number_field.py
OVERALL SCORE: 32%  (35 good, 72 bad)

Missing documentation:
         * gp()
         * QuadraticField(D, names, check=False)
         * is_QuadraticField(x)
         * is_NumberField(x)
         * is_NumberFieldExtension(x)
         * CyclotomicField(n, names=None)
         * is_CyclotomicField(x)
         * __init__(self, polynomial, name, latex_name=None, check=True)
         * latex_variable_name(self, name=None)
         * _repr_(self)
         * _latex_(self)
         * _coerce_from_str(self, x)
         * _coerce_from_other_number_field(self, x)
         * _coerce_non_number_field_element_in(self, x)
         * _coerce_impl(self, x)
         * category(self)
         * __cmp__(self, other)
         * _ideal_class_(self)
         * _is_valid_homomorphism_(self, codomain, im_gens)
         * characteristic(self)
         * class_number(self, certify=True)
         * degree(self)
         * gen(self, n=0)
         * is_field(self)
         * ngens(self)
         * order(self)
         * order_table(self)
         * polynomial_ntl(self)
         * polynomial(self)
         * defining_polynomial(self)
         * polynomial_ring(self)
         * _repr_(self)
         * _coerce_impl(self, x)
         * _ideal_class_(self)
         * _pari_base_bnf(self, certify=False)
         * _pari_base_nf(self)
         * gen(self, n=0)
         * pari_rnf(self)
         * pari_relative_polynomial(self)
         * base_field(self)
         * base_ring(self)
         * polynomial(self)
         * __init__(self, n, names)
         * _repr_(self)
         * _latex_(self)
         * zeta_order(self)
         * multiplicative_order_table(self)
         * __init__(self, polynomial, name=None, check=True)
         * is_fundamental_discriminant(D)
         * NumberField_generic_v1(poly, name, latex_name)
         * NumberField_extension_v1(base_field, poly, name, latex_name)
         * NumberField_cyclotomic_v1(zeta_order, name)
         * NumberField_quadratic_v1(poly, name)


Missing doctests:
         * pari_polynomial(self)
         * pari_nf(self)
         * pari_bnf(self, certify=False)
         * pari_bnf_certify(self)
         * class_group(self, certify=True)
         * composite_fields(self, other, names)
         * different(self)
         * __init__(self, base, polynomial, name, latex_name=None, names=None)
         * __call__(self, x)
         * __base_inclusion(self, element)
         * pari_polynomial(self)
         * absolute_field(self, name=None)
         * absolute_polynomial(self)
         * extension(self, poly, name='b')
         * _coerce_from_other_cyclotomic_field(self, x, only_canonical=False)
         * _coerce_from_gap(self, x)
         * _coerce_impl(self, x)
         * integral_basis(self)
         * class_number(self, proof = True)

----------------------------------------------------------------------

No functions in ring_of_integers.py

No functions in unit_group.py

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to