I have just posted the following revisions to sage/sandpiles at 
http://trac.sagemath.org/ticket/18618 (needs_review):

Summary of sandpile.py changes from version 2.3 to 2.4
June 11, 2015

1. Eliminated dependence on 4ti2, substituting the use of Polyhedron 
methods.  Thus, no optional packages are necessary.
2. Fixed bug in Sandpile.__init__ so that now multigraphs are handled 
correctly.
3. Created `sandpiles` to handle examples of Sandpiles in analogy with 
`graphs`, `simplicial_complexes`, and `polytopes`. 
 In the process, we implemented a much faster way of producing the sandpile 
grid graph.
4. Added support for open and closed sandpile Markov chains.
5. Added support for Weierstrass points.
6. Implemented the Cori-Le Borgne algorithm for computing ranks of divisors 
on complete graphs.

NEW METHODS
Sandpile
* avalanche_polynomial        -- the avalance polynomial
* genus                                    -- genus of the sandpile graph 
(undirected case only)
* group_gens                          -- minimal set of generators for the 
sandpile group
* help                                       -- list of Sandpile-specific 
methods
* jacobian_representatives   -- representatives for elements of the 
Jacobian group
* markov_chain                      -- open and closed sandpile Markov chain
* picard_representatives      -- representatives for elements of the Picard 
group
* smith_form                           -- Smith normal from for transpose 
of the Laplacian
* stable_configs                     -- iterator for all stable 
configurations
* stationary_density              -- the stationary density for the closed 
sandpile Markov chain
* tutte_polynomial                 -- Tutte polynomial of underlying graph 
(undirected case only)

SandpileConfig
* burst_size                -- statistic for sandpile Markov chain
* help                          -- list of SandpileConfig methods

SandpileDivisor
* help                                  -- list of SandpileDivisor methods
* is_linearly_equivalent    -- Is the divisor linearly equivalent to a 
given divisor?
* is_q_reduced                  -- Is the divisor q-reduced (q=sink)
* is_weierstrass_pt           -- Is the given vertex a Weierstrass pt for 
the divisor?
* polytope                           -- polytope determining the complete 
linear system
* polytope_integer_pts     -- integer points inside the divisor's polytope
* q_reduced                      -- linearly equiv. q-reduced divisor
* rank                                 -- the rank of the divisor
* simulate_threshold        -- simulate closed sandpile Markov chain until 
threshold
* stabilize                           -- stabilize, if possible
* weierstrass_gap_seq    -- the Weierstrass gap sequence for the given 
vertex
* weierstrass_pts              -- all Weierstrass points (vertices) for the 
divisor
* weierstrass_rank_seq   -- the rank sequence at a Weierstrass point

DEPRECATED
* SandpileDivisor.linear_system     -- uses 4ti2.  Replaced by 
SandpileDivisor.polytope.
* SandpileDivisor.r_of_D                 -- uses 4ti2.  Replaced by 
SandpileDivisor.rank.
* sandlib method                              -- replaced by `sandpiles`
* complete_sandpile                        -- replaced by sandpiles.Complete
* grid_sandpile                                 -- replaced by 
sandpiles.Grid
* triangle_sandpile                           -- Not used much.  Will still 
be able to import.
* aztec_sandpile                              -- Not used much.  Will still 
be able to import.
* random_digraph                           -- Duplicates methods from 
graphs and digraphs, more or less.
* random_DAG                                -- Not used much.  Will still 
be able to import.
* random_tree                                 -- Duplicates method from 
graphs and digraphs, more or less.
* glue_graphs                                  -- Not used much.  Will 
still be able to import.
* admissible_partitions                   -- Not used much.  Will still be 
able to import.
* firing_vector                                  -- Replaced by 
SandpileDivisor.is_linearly_equivalent.
* min_cycles                                    -- Not used much.  Will 
still be able to import.

MINOR CHANGES
* The `sink` argument to Sandpile.__init__ now defaults to the first vertex.
* A SandpileConfig or SandpileDivisor may now be multiplied by an integer.
* Sped up __add__ method for SandpileConfig and SandpileDivisor.
* Enhanced string representation of a Sandpile (via _repr_ and the `name` 
method).
* Recurrents for complete graphs and cycle graphs are computed more quickly.
* The stabilization code for SandpileConfig has been made more efficient.
* Added optional probability distribution arguments to `add_random` methods.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to