Added calculation of discriminant points, paths, and path indicators. Added minimal spanning tree with root algorithm from Sage. (Prim)
Implemented matching permutation and initial form of Monodromy class.
Fixed cachedmethod and Permutation classes. Fixed matching_permutation.
Added quickDiv, a method which quickly divides a 2-variable polynomial f(x,y)
by some power of x. Replaced a call to pquo in _new_polynomial with a call
to quickDiv.

quickDiv is a specialized algorithm which is able to handle the specific
kind of division done in _new_polynomial. It's much faster than the more
general pquo algorithm.
Monodromy checkpoint.
Added calculation of discriminant points, paths, and path indicators. Added minimal spanning tree with root algorithm from Sage. (Prim)
Implemented matching permutation and initial form of Monodromy class.
Fixed cachedmethod and Permutation classes. Fixed matching_permutation.
Monodromy checkpoint.
(Checkpoint) Integral basis is incorrectly computing terms
of a = (a0 b0 + ... + ad bd) / (x-alpha). We checkpoint the
code before attempting to use the parametric form of the
Puiseux series.
Integral basis work. Resolves Issue #10.

Abelfunctions can now compute integral bases of algebraic
function fields. The functionality is accessed via the
'integralbasis' module. The primary function is
'integral_basis'.

An entry in the test suite still needs to be written.
Additionally, the ability to compute Puiseux series up to
a degree bound, as opposed to specifying a number of terms,
will improve performance as well.
Merge branch 'monodromy' of github.com:cswiercz/abelfunctions into monodromy
Merge pull request #18 from cswiercz/monodromy

Monodromy
Fix minor variable passing error in integral_basis and clean up
debugging code.
Add integral basis tests and profiling.

Profiling reveals that a lot of energy is spent in
cache.py:74(wrapper). Forums indicate that the construction
of many variables leads to high caching. Additionally,
expression expansion and Puiseux series computations sizably
contribute to the total runtime.
Add degree bound option to Puiseux. Closes #7.

The option to compute Puiseux series up to a degree bound,
as oppose to a number of non-zero terms, is now available.
This option is particularly useful in computing integral
bases since the number of terms is greater than or equal
the degree.
Add integralbasis.integral_basis to import list in __init__.
Fix minor indentation error in test_integralbasis.
Initial version of singularities.

The singularities function in differentials.py computes the
finite and infinite singularities of a plane algebraic curve.
This initial version computes singularities correctly in
9/10 cases. Note sure what the discrepancy in the nonfunctional
case is about.
Speed up Puiseux series subroutine _new_polynomial().

Consistently, the _new_polynomial() subroutine ran slowly, even
after gradyw's quickDiv addition. After some investigation it
appeared that the reduction of new generators (obtained via
functional composition and expression substitution) to the
generators [X,Y] took a long time. The current technique relies
on manually computing the new monomials after the appropriate
substutions to each monomial of the old polynomial. The generators
are always [X,Y], in this case.

Future speed-ups can focus on appropriate handling of the RootOf
symbolics. Perhaps we can pass around and generate the new base
fields.