summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTravis Scrimshaw <tscrimsh at umn.edu>2016-04-30 11:25:04 -0500
committerTravis Scrimshaw <tscrimsh at umn.edu>2016-04-30 11:25:04 -0500
commite44f7d9f72da64e3b6516f060cade722368bef4f (patch)
tree8bdcf700b18c729a237ce49a9ba5ff6f15d9f095
parentSome formatting and small reviewer changes. (diff)
parentUpdated SageMath version to 7.2.beta6 (diff)
Merge branch 'develop' into public/manifolds/top_manif_scalar_fields
-rw-r--r--Makefile21
-rw-r--r--VERSION.txt2
-rw-r--r--build/pkgs/alabaster/SPKG.txt13
-rw-r--r--build/pkgs/alabaster/checksums.ini4
-rw-r--r--build/pkgs/alabaster/dependencies5
-rw-r--r--build/pkgs/alabaster/package-version.txt1
-rwxr-xr-xbuild/pkgs/alabaster/spkg-install3
-rw-r--r--build/pkgs/alabaster/type1
-rw-r--r--build/pkgs/brial/patches/build/cygwin-gnucpp.patch10
-rw-r--r--build/pkgs/brial/patches/cygwin-gnucpp.patch51
-rw-r--r--build/pkgs/configure/checksums.ini6
-rw-r--r--build/pkgs/configure/package-version.txt2
-rw-r--r--build/pkgs/imagesize/SPKG.txt5
-rw-r--r--build/pkgs/imagesize/checksums.ini4
-rw-r--r--build/pkgs/imagesize/dependencies5
-rw-r--r--build/pkgs/imagesize/package-version.txt1
-rwxr-xr-xbuild/pkgs/imagesize/spkg-install3
-rw-r--r--build/pkgs/imagesize/type1
-rw-r--r--build/pkgs/sagetex/SPKG.txt111
-rw-r--r--build/pkgs/sagetex/checksums.ini8
-rw-r--r--build/pkgs/sagetex/package-version.txt2
-rwxr-xr-xbuild/pkgs/sagetex/spkg-install2
-rw-r--r--build/pkgs/snowballstemmer/SPKG.txt25
-rw-r--r--build/pkgs/snowballstemmer/checksums.ini4
-rw-r--r--build/pkgs/snowballstemmer/dependencies5
-rw-r--r--build/pkgs/snowballstemmer/package-version.txt1
-rwxr-xr-xbuild/pkgs/snowballstemmer/spkg-install3
-rw-r--r--build/pkgs/snowballstemmer/type1
-rw-r--r--build/pkgs/sphinx/SPKG.txt45
-rw-r--r--build/pkgs/sphinx/checksums.ini6
-rw-r--r--build/pkgs/sphinx/dependencies2
-rw-r--r--build/pkgs/sphinx/package-version.txt2
-rw-r--r--build/pkgs/sphinx/patches/Makefile.patch59
-rw-r--r--build/pkgs/sphinx/patches/autodoc.patch44
-rw-r--r--build/pkgs/sphinx/patches/environment.patch6
-rw-r--r--build/pkgs/sphinx/patches/highlighting.patch30
-rw-r--r--build/pkgs/sphinx/patches/inline-latex.patch40
-rw-r--r--build/pkgs/sphinx/patches/latex_list.patch23
-rw-r--r--build/pkgs/sphinx/patches/latex_utf8.patch (renamed from build/pkgs/sphinx/patches/pngmath.patch)5
-rw-r--r--build/pkgs/sphinx/patches/nested.patch20
-rw-r--r--src/bin/sage-banner2
-rwxr-xr-xsrc/bin/sage-runtests7
-rw-r--r--src/bin/sage-version.sh4
-rw-r--r--src/doc/common/conf.py22
-rw-r--r--src/doc/common/themes/sage/theme.conf2
-rw-r--r--src/doc/common/themes/sageref/theme.conf2
-rw-r--r--src/doc/de/thematische_anleitungen/sage_gymnasium.rst2
-rw-r--r--src/doc/de/tutorial/bibliography.rst2
-rw-r--r--src/doc/en/constructions/calculus.rst28
-rw-r--r--src/doc/en/constructions/plotting.rst14
-rw-r--r--src/doc/en/developer/coding_basics.rst9
-rw-r--r--src/doc/en/developer/doctesting.rst19
-rw-r--r--src/doc/en/reference/categories/index.rst4
-rw-r--r--src/doc/en/reference/combinat/module_list.rst2
-rw-r--r--src/doc/en/reference/conf.py4
-rw-r--r--src/doc/en/reference/conf_sub.py2
-rw-r--r--src/doc/en/reference/doctest/index.rst1
-rw-r--r--src/doc/en/reference/numerical/index.rst6
-rw-r--r--src/doc/en/reference/rings_standard/index.rst2
-rw-r--r--src/doc/en/thematic_tutorials/lie/bibliography.rst74
-rw-r--r--src/doc/en/thematic_tutorials/numtheory_rsa.rst8
-rw-r--r--src/doc/en/thematic_tutorials/sandpile.rst4
-rw-r--r--src/doc/en/tutorial/bibliography.rst2
-rw-r--r--src/doc/fr/tutorial/bibliography.rst2
-rw-r--r--src/doc/ja/tutorial/bibliography.rst2
-rw-r--r--src/doc/pt/tutorial/bibliography.rst2
-rw-r--r--src/doc/ru/tutorial/bibliography.rst2
-rw-r--r--src/module_list.py5
-rw-r--r--src/sage/algebras/affine_nil_temperley_lieb.py2
-rw-r--r--src/sage/algebras/hall_algebra.py9
-rw-r--r--src/sage/algebras/iwahori_hecke_algebra.py6
-rw-r--r--src/sage/algebras/jordan_algebra.py6
-rw-r--r--src/sage/algebras/nil_coxeter_algebra.py2
-rw-r--r--src/sage/algebras/quatalg/quaternion_algebra.py4
-rw-r--r--src/sage/algebras/schur_algebra.py2
-rw-r--r--src/sage/algebras/shuffle_algebra.py2
-rw-r--r--src/sage/algebras/yokonuma_hecke_algebra.py2
-rw-r--r--src/sage/arith/misc.py2
-rw-r--r--src/sage/arith/multi_modular.pxd (renamed from src/sage/ext/multi_modular.pxd)8
-rw-r--r--src/sage/arith/multi_modular.pyx (renamed from src/sage/ext/multi_modular.pyx)343
-rw-r--r--src/sage/calculus/calculus.py2
-rw-r--r--src/sage/calculus/riemann.pyx8
-rw-r--r--src/sage/calculus/wester.py2
-rw-r--r--src/sage/categories/all.py6
-rw-r--r--src/sage/categories/category.py19
-rw-r--r--src/sage/categories/category_with_axiom.py3
-rw-r--r--src/sage/categories/classical_crystals.py2
-rw-r--r--src/sage/categories/complex_reflection_groups.py149
-rw-r--r--src/sage/categories/complex_reflection_or_generalized_coxeter_groups.py1216
-rw-r--r--src/sage/categories/coxeter_groups.py584
-rw-r--r--src/sage/categories/examples/finite_coxeter_groups.py37
-rw-r--r--src/sage/categories/examples/finite_weyl_groups.py14
-rw-r--r--src/sage/categories/filtered_modules_with_basis.py67
-rw-r--r--src/sage/categories/finite_complex_reflection_groups.py936
-rw-r--r--src/sage/categories/finite_coxeter_groups.py105
-rw-r--r--src/sage/categories/finite_lattice_posets.py50
-rw-r--r--src/sage/categories/finite_permutation_groups.py2
-rw-r--r--src/sage/categories/finite_weyl_groups.py30
-rw-r--r--src/sage/categories/generalized_coxeter_groups.py94
-rw-r--r--src/sage/categories/shephard_groups.py42
-rw-r--r--src/sage/categories/weyl_groups.py8
-rw-r--r--src/sage/coding/code_constructions.py4
-rw-r--r--src/sage/coding/codecan/autgroup_can_label.pyx2
-rw-r--r--src/sage/coding/delsarte_bounds.py2
-rw-r--r--src/sage/coding/guava.py2
-rw-r--r--src/sage/coding/linear_code.py44
-rw-r--r--src/sage/coding/two_weight_db.py6
-rw-r--r--src/sage/combinat/abstract_tree.py2
-rw-r--r--src/sage/combinat/affine_permutation.py2
-rw-r--r--src/sage/combinat/alternating_sign_matrix.py14
-rw-r--r--src/sage/combinat/baxter_permutations.py2
-rw-r--r--src/sage/combinat/binary_tree.py5
-rw-r--r--src/sage/combinat/cluster_complex.py2
-rw-r--r--src/sage/combinat/colored_permutations.py220
-rw-r--r--src/sage/combinat/crystals/alcove_path.py2
-rw-r--r--src/sage/combinat/crystals/crystals.py2
-rw-r--r--src/sage/combinat/crystals/elementary_crystals.py4
-rw-r--r--src/sage/combinat/crystals/generalized_young_walls.py4
-rw-r--r--src/sage/combinat/crystals/infinity_crystals.py8
-rw-r--r--src/sage/combinat/crystals/kirillov_reshetikhin.py14
-rw-r--r--src/sage/combinat/crystals/letters.pyx2
-rw-r--r--src/sage/combinat/crystals/littelmann_path.py4
-rw-r--r--src/sage/combinat/crystals/monomial_crystals.py4
-rw-r--r--src/sage/combinat/crystals/polyhedral_realization.py2
-rw-r--r--src/sage/combinat/crystals/star_crystal.py2
-rw-r--r--src/sage/combinat/crystals/tensor_product.py2
-rw-r--r--src/sage/combinat/descent_algebra.py6
-rw-r--r--src/sage/combinat/designs/bibd.py2
-rw-r--r--src/sage/combinat/designs/block_design.py2
-rw-r--r--src/sage/combinat/designs/database.py6
-rw-r--r--src/sage/combinat/designs/difference_family.py10
-rw-r--r--src/sage/combinat/designs/ext_rep.py2
-rw-r--r--src/sage/combinat/designs/incidence_structures.py2
-rw-r--r--src/sage/combinat/designs/orthogonal_arrays.py2
-rw-r--r--src/sage/combinat/designs/resolvable_bibd.py6
-rw-r--r--src/sage/combinat/diagram_algebras.py11
-rw-r--r--src/sage/combinat/dyck_word.py16
-rw-r--r--src/sage/combinat/e_one_star.py4
-rw-r--r--src/sage/combinat/free_prelie_algebra.py4
-rw-r--r--src/sage/combinat/fully_packed_loop.py20
-rw-r--r--src/sage/combinat/gelfand_tsetlin_patterns.py6
-rw-r--r--src/sage/combinat/gray_codes.py4
-rw-r--r--src/sage/combinat/integer_vector.py4
-rw-r--r--src/sage/combinat/integer_vector_weighted.py7
-rw-r--r--src/sage/combinat/k_tableau.py4
-rw-r--r--src/sage/combinat/kazhdan_lusztig.py6
-rw-r--r--src/sage/combinat/knutson_tao_puzzles.py8
-rw-r--r--src/sage/combinat/matrices/hadamard_matrix.py18
-rw-r--r--src/sage/combinat/ncsf_qsym/qsym.py6
-rw-r--r--src/sage/combinat/ncsym/dual.py2
-rw-r--r--src/sage/combinat/ncsym/ncsym.py10
-rw-r--r--src/sage/combinat/parking_functions.py6
-rw-r--r--src/sage/combinat/partition.py11
-rw-r--r--src/sage/combinat/partition_tuple.py6
-rw-r--r--src/sage/combinat/perfect_matching.py6
-rw-r--r--src/sage/combinat/permutation.py51
-rw-r--r--src/sage/combinat/posets/lattices.py101
-rw-r--r--src/sage/combinat/posets/poset_examples.py48
-rw-r--r--src/sage/combinat/posets/posets.py9
-rw-r--r--src/sage/combinat/q_analogues.py17
-rw-r--r--src/sage/combinat/ribbon_tableau.py11
-rw-r--r--src/sage/combinat/rigged_configurations/rigged_configurations.py2
-rw-r--r--src/sage/combinat/root_system/__init__.py10
-rw-r--r--src/sage/combinat/root_system/all.py1
-rw-r--r--src/sage/combinat/root_system/cartan_type.py4
-rw-r--r--src/sage/combinat/root_system/coxeter_group.py60
-rw-r--r--src/sage/combinat/root_system/hecke_algebra_representation.py2
-rw-r--r--src/sage/combinat/root_system/non_symmetric_macdonald_polynomials.py6
-rw-r--r--src/sage/combinat/root_system/pieri_factors.py12
-rw-r--r--src/sage/combinat/root_system/reflection_group_c.pyx410
-rw-r--r--src/sage/combinat/root_system/reflection_group_complex.py2604
-rw-r--r--src/sage/combinat/root_system/reflection_group_real.py947
-rw-r--r--src/sage/combinat/root_system/root_lattice_realization_algebras.py8
-rw-r--r--src/sage/combinat/root_system/type_folded.py2
-rw-r--r--src/sage/combinat/rsk.py2
-rw-r--r--src/sage/combinat/set_partition.py2
-rw-r--r--src/sage/combinat/sf/character.py2
-rw-r--r--src/sage/combinat/sf/hall_littlewood.py2
-rw-r--r--src/sage/combinat/sf/jack.py6
-rw-r--r--src/sage/combinat/sf/k_dual.py4
-rw-r--r--src/sage/combinat/sf/macdonald.py10
-rw-r--r--src/sage/combinat/sf/new_kschur.py10
-rw-r--r--src/sage/combinat/sf/sfa.py2
-rw-r--r--src/sage/combinat/sf/symplectic.py2
-rw-r--r--src/sage/combinat/shard_order.py6
-rw-r--r--src/sage/combinat/sine_gordon.py2
-rw-r--r--src/sage/combinat/species/generating_series.py6
-rw-r--r--src/sage/combinat/subword_complex.py6
-rw-r--r--src/sage/combinat/tableau.py14
-rw-r--r--src/sage/combinat/tableau_tuple.py4
-rw-r--r--src/sage/combinat/tamari_lattices.py2
-rw-r--r--src/sage/combinat/tiling.py8
-rw-r--r--src/sage/combinat/words/finite_word.py18
-rw-r--r--src/sage/combinat/words/word_generators.py14
-rw-r--r--src/sage/crypto/block_cipher/miniaes.py2
-rw-r--r--src/sage/crypto/block_cipher/sdes.py4
-rw-r--r--src/sage/crypto/mq/sbox.py6
-rw-r--r--src/sage/crypto/mq/sr.py11
-rw-r--r--src/sage/crypto/public_key/blum_goldwasser.py4
-rw-r--r--src/sage/crypto/stream.py4
-rw-r--r--src/sage/dev/test/data/trac_8703-trees-fh.patch2
-rw-r--r--src/sage/doctest/control.py12
-rw-r--r--src/sage/doctest/external.py349
-rw-r--r--src/sage/doctest/parsing.py10
-rw-r--r--src/sage/dynamics/flat_surfaces/strata.py6
-rw-r--r--src/sage/ext/mod_int.h10
-rw-r--r--src/sage/ext/mod_int.pxd6
-rw-r--r--src/sage/finance/stock.py9
-rw-r--r--src/sage/functions/all.py5
-rw-r--r--src/sage/functions/bessel.py8
-rw-r--r--src/sage/functions/jacobi.py2
-rw-r--r--src/sage/functions/other.py2
-rw-r--r--src/sage/functions/piecewise.py2708
-rw-r--r--src/sage/functions/piecewise_old.py1853
-rw-r--r--src/sage/functions/prime_pi.pyx2
-rw-r--r--src/sage/functions/wigner.py2
-rw-r--r--src/sage/game_theory/normal_form_game.py4
-rw-r--r--src/sage/games/hexad.py8
-rw-r--r--src/sage/geometry/cone.py8
-rw-r--r--src/sage/geometry/hyperplane_arrangement/library.py4
-rw-r--r--src/sage/graphs/asteroidal_triples.pyx4
-rw-r--r--src/sage/graphs/convexity_properties.pyx2
-rw-r--r--src/sage/graphs/digraph_generators.py12
-rw-r--r--src/sage/graphs/distances_all_pairs.pyx12
-rw-r--r--src/sage/graphs/generators/classical_geometries.py12
-rw-r--r--src/sage/graphs/generators/families.py22
-rw-r--r--src/sage/graphs/generators/random.py8
-rw-r--r--src/sage/graphs/generators/smallgraphs.py4
-rw-r--r--src/sage/graphs/generic_graph.py37
-rw-r--r--src/sage/graphs/generic_graph_pyx.pyx2
-rw-r--r--src/sage/graphs/graph.py33
-rw-r--r--src/sage/graphs/graph_decompositions/tdlib.pyx6
-rw-r--r--src/sage/graphs/graph_generators.py6
-rw-r--r--src/sage/graphs/graph_generators_pyx.pyx4
-rw-r--r--src/sage/graphs/hyperbolicity.pyx10
-rw-r--r--src/sage/graphs/modular_decomposition.pyx2
-rw-r--r--src/sage/graphs/pq_trees.py2
-rw-r--r--src/sage/graphs/schnyder.py4
-rw-r--r--src/sage/graphs/spanning_tree.pyx4
-rw-r--r--src/sage/graphs/strongly_regular_db.pyx34
-rw-r--r--src/sage/groups/braid.py4
-rw-r--r--src/sage/groups/finitely_presented.py2
-rw-r--r--src/sage/groups/groups_catalog.py22
-rw-r--r--src/sage/groups/misc_gps/misc_groups_catalog.py2
-rw-r--r--src/sage/groups/perm_gps/permgroup.py2
-rw-r--r--src/sage/groups/perm_gps/permgroup_named.py2
-rw-r--r--src/sage/homology/chain_homotopy.py6
-rw-r--r--src/sage/homology/delta_complex.py2
-rw-r--r--src/sage/homology/examples.py12
-rw-r--r--src/sage/homology/homology_vector_space_with_basis.py12
-rw-r--r--src/sage/homology/simplicial_complex.py4
-rw-r--r--src/sage/interfaces/ecm.py65
-rw-r--r--src/sage/interfaces/tides.py2
-rw-r--r--src/sage/lfunctions/zero_sums.pyx2
-rw-r--r--src/sage/libs/coxeter3/coxeter_group.py4
-rw-r--r--src/sage/manifolds/manifold.py8
-rw-r--r--src/sage/matrix/matrix0.pyx2
-rw-r--r--src/sage/matrix/matrix2.pyx263
-rw-r--r--src/sage/matrix/matrix_cyclo_dense.pyx2
-rw-r--r--src/sage/matrix/matrix_integer_dense.pyx12
-rw-r--r--src/sage/matrix/matrix_misc.py2
-rw-r--r--src/sage/matrix/matrix_mod2_dense.pyx8
-rw-r--r--src/sage/matrix/matrix_space.py14
-rw-r--r--src/sage/matroids/matroid.pyx22
-rw-r--r--src/sage/misc/c3_controlled.pyx7
-rw-r--r--src/sage/misc/sagedoc.py2
-rw-r--r--src/sage/modular/arithgroup/arithgroup_perm.py2
-rw-r--r--src/sage/modular/dirichlet.py4
-rw-r--r--src/sage/modular/modform/element.py4
-rw-r--r--src/sage/modules/free_module_integer.py4
-rw-r--r--src/sage/modules/vector_double_dense.pyx8
-rw-r--r--src/sage/monoids/string_monoid.py2
-rw-r--r--src/sage/numerical/backends/coin_backend.pyx2
-rw-r--r--src/sage/numerical/backends/cplex_backend.pyx2
-rw-r--r--src/sage/numerical/backends/cvxopt_backend.pyx2
-rw-r--r--src/sage/numerical/backends/generic_backend.pyx23
-rw-r--r--src/sage/numerical/backends/glpk_backend.pyx2
-rw-r--r--src/sage/numerical/backends/glpk_exact_backend.pxd17
-rw-r--r--src/sage/numerical/backends/glpk_exact_backend.pyx194
-rw-r--r--src/sage/numerical/backends/gurobi_backend.pyx2
-rw-r--r--src/sage/numerical/backends/interactivelp_backend.pyx20
-rw-r--r--src/sage/numerical/backends/ppl_backend.pyx12
-rw-r--r--src/sage/numerical/knapsack.py2
-rw-r--r--src/sage/numerical/linear_functions.pxd17
-rw-r--r--src/sage/numerical/linear_functions.pyx591
-rw-r--r--src/sage/numerical/linear_tensor_constraints.py6
-rw-r--r--src/sage/numerical/mip.pyx3
-rw-r--r--src/sage/numerical/optimize.py2
-rw-r--r--src/sage/plot/matrix_plot.py27
-rw-r--r--src/sage/plot/plot3d/base.pyx18
-rw-r--r--src/sage/plot/plot3d/parametric_surface.pyx15
-rw-r--r--src/sage/plot/plot3d/platonic.py130
-rw-r--r--src/sage/plot/plot3d/plot3d.py250
-rw-r--r--src/sage/plot/plot3d/shapes.pyx218
-rw-r--r--src/sage/quadratic_forms/quadratic_form.py57
-rw-r--r--src/sage/quadratic_forms/quadratic_form__mass__Siegel_densities.py36
-rw-r--r--src/sage/quadratic_forms/special_values.py36
-rw-r--r--src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py2
-rw-r--r--src/sage/rings/complex_interval.pyx2
-rw-r--r--src/sage/rings/continued_fraction.py5
-rw-r--r--src/sage/rings/finite_rings/conway_polynomials.py2
-rw-r--r--src/sage/rings/finite_rings/finite_field_base.pyx2
-rw-r--r--src/sage/rings/finite_rings/integer_mod.pyx2
-rw-r--r--src/sage/rings/fraction_field_element.pyx2
-rw-r--r--src/sage/rings/infinity.py8
-rw-r--r--src/sage/rings/number_field/small_primes_of_degree_one.py2
-rw-r--r--src/sage/rings/number_field/totallyreal_data.pyx2
-rw-r--r--src/sage/rings/polynomial/laurent_polynomial.pyx12
-rw-r--r--src/sage/rings/polynomial/multi_polynomial_ring_generic.pyx6
-rw-r--r--src/sage/rings/polynomial/multi_polynomial_sequence.py2
-rw-r--r--src/sage/rings/polynomial/polynomial_element.pyx2
-rw-r--r--src/sage/rings/polynomial/polynomial_ring.py4
-rw-r--r--src/sage/rings/polynomial/symmetric_ideal.py6
-rw-r--r--src/sage/rings/real_mpfr.pyx11
-rw-r--r--src/sage/rings/ring.pyx2
-rw-r--r--src/sage/rings/universal_cyclotomic_field.py2
-rw-r--r--src/sage/schemes/elliptic_curves/BSD.py20
-rw-r--r--src/sage/schemes/elliptic_curves/ell_rational_field.py6
-rw-r--r--src/sage/schemes/elliptic_curves/height.py6
-rw-r--r--src/sage/schemes/elliptic_curves/isogeny_class.py2
-rw-r--r--src/sage/schemes/elliptic_curves/isogeny_small_degree.py4
-rw-r--r--src/sage/schemes/elliptic_curves/period_lattice.py2
-rw-r--r--src/sage/schemes/elliptic_curves/period_lattice_region.pyx2
-rw-r--r--src/sage/schemes/elliptic_curves/sha_tate.py6
-rw-r--r--src/sage/schemes/hyperelliptic_curves/mestre.py6
-rw-r--r--src/sage/schemes/product_projective/wehlerK3.py8
-rw-r--r--src/sage/schemes/projective/endPN_minimal_model.py4
-rw-r--r--src/sage/schemes/projective/projective_morphism.py6
-rw-r--r--src/sage/structure/coerce.pyx14
-rw-r--r--src/sage/structure/parent.pxd25
-rw-r--r--src/sage/structure/parent.pyx1
-rw-r--r--src/sage/symbolic/expression.pyx4
-rw-r--r--src/sage/symbolic/expression_conversions.py3
-rw-r--r--src/sage/symbolic/function.pxd1
-rw-r--r--src/sage/symbolic/function.pyx33
-rw-r--r--src/sage/version.py4
-rw-r--r--src/sage_setup/docbuild/__init__.py2
-rw-r--r--src/sage_setup/docbuild/ext/multidocs.py17
-rw-r--r--src/sage_setup/docbuild/ext/sage_autodoc.py73
-rw-r--r--src/sage_setup/docbuild/sphinxbuild.py8
340 files changed, 13271 insertions, 4078 deletions
diff --git a/Makefile b/Makefile
index 37bf501..1e92b85 100644
--- a/Makefile
+++ b/Makefile
@@ -91,34 +91,37 @@ test: all
check: test
testall: all
- $(TESTALL) --optional=all --logfile=logs/testall.log
+ $(TESTALL) --optional=sage,optional,external --logfile=logs/testall.log
testlong: all
$(TESTALL) --long --logfile=logs/testlong.log
testalllong: all
- $(TESTALL) --long --optional=all --logfile=logs/testalllong.log
+ $(TESTALL) --long --optional=sage,optional,external --logfile=logs/testalllong.log
ptest: all
$(PTESTALL) --logfile=logs/ptest.log
ptestall: all
- $(PTESTALL) --optional=all --logfile=logs/ptestall.log
+ $(PTESTALL) --optional=sage,optional,external --logfile=logs/ptestall.log
ptestlong: all
$(PTESTALL) --long --logfile=logs/ptestlong.log
ptestalllong: all
- $(PTESTALL) --long --optional=all --logfile=logs/ptestalllong.log
+ $(PTESTALL) --long --optional=sage,optional,external --logfile=logs/ptestalllong.log
+testoptional: all
+ $(TESTALL) --optional=sage,optional --logfile=logs/testoptional.log
-testoptional: testall # just an alias
+testoptionallong: all
+ $(TESTALL) --long --optional=sage,optional --logfile=logs/testoptionallong.log
-testoptionallong: testalllong # just an alias
+ptestoptional: all
+ $(PTESTALL) --optional=sage,optional --logfile=logs/ptestoptional.log
-ptestoptional: ptestall # just an alias
-
-ptestoptionallong: ptestalllong # just an alias
+ptestoptionallong: all
+ $(PTESTALL) --long --optional=sage,optional --logfile=logs/ptestoptionallong.log
configure: configure.ac src/bin/sage-version.sh m4/*.m4
./bootstrap -d
diff --git a/VERSION.txt b/VERSION.txt
index 25a6e6c..e37de58 100644
--- a/VERSION.txt
+++ b/VERSION.txt
@@ -1 +1 @@
-SageMath version 7.2.beta5, Release Date: 2016-04-21
+SageMath version 7.2.beta6, Release Date: 2016-04-28
diff --git a/build/pkgs/alabaster/SPKG.txt b/build/pkgs/alabaster/SPKG.txt
new file mode 100644
index 0000000..b6f8231
--- /dev/null
+++ b/build/pkgs/alabaster/SPKG.txt
@@ -0,0 +1,13 @@
+= alabaster =
+
+== Description ==
+
+Alabaster is a visually (c)lean, responsive, configurable theme for the Sphinx
+documentation system. It is Python 2+3 compatible.
+
+It began as a third-party theme, and is still maintained separately, but as of
+Sphinx 1.3, Alabaster is an install-time dependency of Sphinx and is selected
+as the default theme.
+
+Live examples of this theme can be seen on paramiko.org, fabfile.org and
+pyinvoke.org.
diff --git a/build/pkgs/alabaster/checksums.ini b/build/pkgs/alabaster/checksums.ini
new file mode 100644
index 0000000..85eadfd
--- /dev/null
+++ b/build/pkgs/alabaster/checksums.ini
@@ -0,0 +1,4 @@
+tarball=alabaster-VERSION.tar.gz
+sha1=ff3e575ee7eb4ba1721f17d91ec5a54b16283603
+md5=957c665d7126dea8121f98038debcba7
+cksum=738605178
diff --git a/build/pkgs/alabaster/dependencies b/build/pkgs/alabaster/dependencies
new file mode 100644
index 0000000..d5dab72
--- /dev/null
+++ b/build/pkgs/alabaster/dependencies
@@ -0,0 +1,5 @@
+$(PYTHON) | pip
+
+----------
+All lines of this file are ignored except the first.
+It is copied by SAGE_ROOT/build/make/install into SAGE_ROOT/build/make/Makefile.
diff --git a/build/pkgs/alabaster/package-version.txt b/build/pkgs/alabaster/package-version.txt
new file mode 100644
index 0000000..879be8a
--- /dev/null
+++ b/build/pkgs/alabaster/package-version.txt
@@ -0,0 +1 @@
+0.7.7
diff --git a/build/pkgs/alabaster/spkg-install b/build/pkgs/alabaster/spkg-install
new file mode 100755
index 0000000..afb3f30
--- /dev/null
+++ b/build/pkgs/alabaster/spkg-install
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+cd src && python setup.py install
diff --git a/build/pkgs/alabaster/type b/build/pkgs/alabaster/type
new file mode 100644
index 0000000..a6a7b9c
--- /dev/null
+++ b/build/pkgs/alabaster/type
@@ -0,0 +1 @@
+standard
diff --git a/build/pkgs/brial/patches/build/cygwin-gnucpp.patch b/build/pkgs/brial/patches/build/cygwin-gnucpp.patch
new file mode 100644
index 0000000..6fe26c1
--- /dev/null
+++ b/build/pkgs/brial/patches/build/cygwin-gnucpp.patch
@@ -0,0 +1,10 @@
+--- a/common.mk 2016-04-07 15:53:44.907758600 +0200
++++ b/common.mk 2016-04-07 15:54:02.599770500 +0200
+@@ -3,6 +3,6 @@
+ -I$(top_srcdir)/libpolybori/include
+
+ AM_CFLAGS = -std=c99
+-AM_CXXFLAGS = -std=c++98 -ftemplate-depth-100
++AM_CXXFLAGS = -std=gnu++98 -ftemplate-depth-100
+
+ AM_DEFAULT_SOURCE_EXT = .cc
diff --git a/build/pkgs/brial/patches/cygwin-gnucpp.patch b/build/pkgs/brial/patches/cygwin-gnucpp.patch
new file mode 100644
index 0000000..13593a5
--- /dev/null
+++ b/build/pkgs/brial/patches/cygwin-gnucpp.patch
@@ -0,0 +1,51 @@
+diff --git a/Cudd/cudd/Makefile.in b/Cudd/cudd/Makefile.in
+index 645eb7d..760278b
+--- a/Cudd/cudd/Makefile.in
++++ b/Cudd/cudd/Makefile.in
+@@ -350,7 +350,7 @@ AM_CPPFLAGS = \
+ -I$(top_srcdir)/libpolybori/include
+
+ AM_CFLAGS = -std=c99
+-AM_CXXFLAGS = -std=c++98 -ftemplate-depth-100
++AM_CXXFLAGS = -std=gnu++98 -ftemplate-depth-100
+ AM_DEFAULT_SOURCE_EXT = .cc
+ noinst_LTLIBRARIES = libcudd.la
+ libcudd_la_SOURCES = \
+diff --git a/common.mk b/common.mk
+index 7915587..0afda02 100755
+--- a/common.mk
++++ b/common.mk
+@@ -3,6 +3,6 @@ AM_CPPFLAGS = \
+ -I$(top_srcdir)/libpolybori/include
+
+ AM_CFLAGS = -std=c99
+-AM_CXXFLAGS = -std=c++98 -ftemplate-depth-100
++AM_CXXFLAGS = -std=gnu++98 -ftemplate-depth-100
+
+ AM_DEFAULT_SOURCE_EXT = .cc
+diff --git a/groebner/src/Makefile.in b/groebner/src/Makefile.in
+index ef7882c..cb3b04f
+--- a/groebner/src/Makefile.in
++++ b/groebner/src/Makefile.in
+@@ -372,7 +372,7 @@ AM_CPPFLAGS = \
+ -I$(top_srcdir)/libpolybori/include
+
+ AM_CFLAGS = -std=c99
+-AM_CXXFLAGS = -std=c++98 -ftemplate-depth-100
++AM_CXXFLAGS = -std=gnu++98 -ftemplate-depth-100
+ AM_DEFAULT_SOURCE_EXT = .cc
+ lib_LTLIBRARIES = libpolybori_groebner.la
+ libpolybori_groebner_la_CXXFLAGS = $(AM_CXXFLAGS) $(SIMMD_CFLAGS)
+diff --git a/libpolybori/src/Makefile.in b/libpolybori/src/Makefile.in
+index 4e4e60a..4d110c2
+--- a/libpolybori/src/Makefile.in
++++ b/libpolybori/src/Makefile.in
+@@ -323,7 +323,7 @@ AM_CPPFLAGS = \
+ -I$(top_srcdir)/libpolybori/include
+
+ AM_CFLAGS = -std=c99
+-AM_CXXFLAGS = -std=c++98 -ftemplate-depth-100
++AM_CXXFLAGS = -std=gnu++98 -ftemplate-depth-100
+ AM_DEFAULT_SOURCE_EXT = .cc
+ noinst_LTLIBRARIES = libpolybori_base.la
+ libpolybori_base_la_SOURCES = \
diff --git a/build/pkgs/configure/checksums.ini b/build/pkgs/configure/checksums.ini
index a4c5bec..8631429 100644
--- a/build/pkgs/configure/checksums.ini
+++ b/build/pkgs/configure/checksums.ini
@@ -1,4 +1,4 @@
tarball=configure-VERSION.tar.gz
-sha1=443f6e49b23bbc1e9004f32c802b83e35abe3a77
-md5=bb7132154839ae45a55ca1c46331289d
-cksum=2428928852
+sha1=dedd72dbd12d4b2d3101616a7946cacd7704046d
+md5=fc0e4afaf65bd5f241380893d5f72d30
+cksum=3500657664
diff --git a/build/pkgs/configure/package-version.txt b/build/pkgs/configure/package-version.txt
index 3f7d191..a762560 100644
--- a/build/pkgs/configure/package-version.txt
+++ b/build/pkgs/configure/package-version.txt
@@ -1 +1 @@
-159
+160
diff --git a/build/pkgs/imagesize/SPKG.txt b/build/pkgs/imagesize/SPKG.txt
new file mode 100644
index 0000000..2ec0272
--- /dev/null
+++ b/build/pkgs/imagesize/SPKG.txt
@@ -0,0 +1,5 @@
+= imagesize =
+
+== Description ==
+
+It parses image files' header and return image size.
diff --git a/build/pkgs/imagesize/checksums.ini b/build/pkgs/imagesize/checksums.ini
new file mode 100644
index 0000000..c4b13a9
--- /dev/null
+++ b/build/pkgs/imagesize/checksums.ini
@@ -0,0 +1,4 @@
+tarball=imagesize-VERSION.tar.gz
+sha1=cf95cf234c88d5400acfa922cdc3c1f5b6a7e713
+md5=23cb4b0b5ec76fb26942d6cc0b1cf31c
+cksum=40173098
diff --git a/build/pkgs/imagesize/dependencies b/build/pkgs/imagesize/dependencies
new file mode 100644
index 0000000..d5dab72
--- /dev/null
+++ b/build/pkgs/imagesize/dependencies
@@ -0,0 +1,5 @@
+$(PYTHON) | pip
+
+----------
+All lines of this file are ignored except the first.
+It is copied by SAGE_ROOT/build/make/install into SAGE_ROOT/build/make/Makefile.
diff --git a/build/pkgs/imagesize/package-version.txt b/build/pkgs/imagesize/package-version.txt
new file mode 100644
index 0000000..faef31a
--- /dev/null
+++ b/build/pkgs/imagesize/package-version.txt
@@ -0,0 +1 @@
+0.7.0
diff --git a/build/pkgs/imagesize/spkg-install b/build/pkgs/imagesize/spkg-install
new file mode 100755
index 0000000..afb3f30
--- /dev/null
+++ b/build/pkgs/imagesize/spkg-install
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+cd src && python setup.py install
diff --git a/build/pkgs/imagesize/type b/build/pkgs/imagesize/type
new file mode 100644
index 0000000..a6a7b9c
--- /dev/null
+++ b/build/pkgs/imagesize/type
@@ -0,0 +1 @@
+standard
diff --git a/build/pkgs/sagetex/SPKG.txt b/build/pkgs/sagetex/SPKG.txt
index 1d45452..43f0ba5 100644
--- a/build/pkgs/sagetex/SPKG.txt
+++ b/build/pkgs/sagetex/SPKG.txt
@@ -21,16 +21,13 @@ this license, visit [[http://creativecommons.org/licenses/by-sa/3.0/]]
or send a letter to Creative Commons, 171 Second Street, Suite 300, San
Francisco, California, 94105, USA.
-The included files `tkz-berge.sty` and `tkz-graph.sty` are from
-[[http://altermundus.com/pages/tkz/]] and are licensed under the "LaTeX
-Project Public License Distributed from CTAN archives in directory
-macros/latex/base/lppl.txt"; see
-[[http://mirror.ctan.org/macros/latex/base/lppl.txt]].
+== SPKG Maintainers ==
+
+Dan Drake (dr.dan.drake at gmail)
== Upstream Contact ==
-Author: Dan Drake. Web: [[http://www.bitbucket.org/ddrake/sagetex]] and
-[[http://mathsci.kaist.ac.kr/~drake]].
+Author: Dan Drake. Web: [[https://github.com/dandrake/sagetex]]
== Dependencies ==
@@ -43,97 +40,15 @@ it cannot find "latex" in your path.
To use SageTeX, both Sage and LaTeX need to know about it. SageTeX comes
standard with Sage, so you only need to make sure LaTeX can find what it
needs. Full details are in the Sage installation guide at
-http://sagemath.org/doc/installation/ .
+http://sagemath.org/doc/installation/ and
+http://doc.sagemath.org/html/en/tutorial/sagetex.html .
-The directory `$SAGE_ROOT/local/share/texmf/tex/generic/sagetex`
-contains documentation and an example file. If you have problems or
-suggestions see [[http://groups.google.com/group/sage-support|the
-sage-support group]].
+The directory `$SAGE_ROOT/local/share/doc/sagetex` contains
+documentation and an example file. See
+`$SAGE_ROOT/local/share/texmf/tex/latex/sagetex` for the source code and
+some possibly useful scripts. If you have problems or suggestions see
+[[http://groups.google.com/group/sage-support|the sage-support group]].
-If you want to help develop SageTeX, please clone the bitbucket
-Mercurial repository (see the "Upstream Contact" above) and send me
+If you want to help develop SageTeX, please clone the github
+repository (see the "Upstream Contact" above) and send me
patches based on that.
-
-Finally, note that you can actually use SageTeX without Sage! The
-`remote-sagetex.py` script uses any remote Sage server to do the
-computations for you. If you can't or don't want to install Sage on your
-computer, you can use the `remote-sagetex` script to use SageTeX,
-although if you are in such a situation, you probably want to get
-SageTeX [[http://tug.ctan.org/pkg/sagetex|from CTAN]] instead of
-downloading this spkg.
-
-== Changelog ==
-
-=== sagetex-2.3.4 (Dan Drake, 20 Mar 2013) ===
- * Copy example.tex into the doc directory too. (Ticket #14246)
-
-=== sagetex-2.3.3.p2 (John Palmieri, 11 Feb 2012) ===
- * Use "#!/usr/bin/env bash" at the top of spkg-check so it works on
- OpenSolaris (ticket #12500).
-
-=== sagetex-2.3.3.p1 (Dan Drake, 16 Jan 2012) ===
-
- * Improve mechanism for preventing multiply-defined labels (ticket
- 12267), and also keep track of label names when recording maximum
- counter seen. Also improve version mismatch checking to be backwards
- compatible (fixes ticket 8035).
-
-=== sagetex-2.3.1.p1 (Dan Drake, 18 Nov 2011) ===
-
- * Comment out tkz-berge and other TikZ stuff from example file; don't
- distribute tkz-* with SageTeX; fix spkg-check so that we can actually
- run and pass checks on this spkg. See #11583.
-
-=== sagetex-2.3.1 (Dan Drake, 27 May 2011) ===
-
- * Include various fixes; see #10146. This now installs the PDFs of the
- documentation to SAGE_ROOT/local/share/doc/sagetex as a sort of
- halfway-not-really implementation of the SAGE_SPKG_INSTALL_DOCS
- stuff. (See #10908 and #11197.)
-
-=== sagetex-2.3 (Dan Drake, 20 Oct 2010) ===
-
- * Now includes the sagecommandline environment by Volker Braun.
-
-=== sagetex-2.2.5 (Dan Drake, 25 Mar 2010) ===
-
- * Better implementation of the sageexample environment; 3D plots now
- automatically fall back to using PNG.
-
-=== sagetex-2.2.4 (Dan Drake, 14 Mar 2010) ===
-
- * Special spkg for Nicolas Thiery; this includes the sageexample
- environment and some basic documentation. This spkg won't get
- distributed with Sage.
-
-=== sagetex-2.2.3.p0 (Dan Drake, 2 Mar 2010) ===
-
- * Couple documentation fixes; spkg-check now bails if it can't find
- tkz-berge.sty (since the example file needs that)
-
-=== sagetex-2.2.3 (Dan Drake, 30 Dec 2009) ===
-
- * New spkg, with instructions that reflect SageTeX's inclusion as a
- standard spkg.
-
-=== sagetex-2.2.1 (Dan Drake, 20 June 2009) ===
-
- * Update to version 2.2.1, which includes the remote-sagetex script and
- synchronizes with the current version available on CTAN.
-
-=== sagetex-2.1.1 (Dan Drake, 28 May 2009) ===
-
- * Update to version 2.1.1, which adds pause/unpause support.
-
-=== sagetex-2.0.2 (Dan Drake, 21 Apr 2008) ===
-
- * Update source, improve spkg-check.
-
-=== sagetex-2.0.p0 (Dan Drake, 9 Jan 2008) ===
-
- * Proper SPKG.txt, spkg-check, md5sums
- * Split repos, get directory structure right
-
-=== sagetex-2.0 (Dan Drake, 18 Dec 2008) ===
-
- * Initial release
diff --git a/build/pkgs/sagetex/checksums.ini b/build/pkgs/sagetex/checksums.ini
index ae971e6..15d70cc 100644
--- a/build/pkgs/sagetex/checksums.ini
+++ b/build/pkgs/sagetex/checksums.ini
@@ -1,4 +1,4 @@
-tarball=sagetex-VERSION.tar.bz2
-sha1=0d4ff45b97e591a22b225f0d7d1469ff903d4846
-md5=55d2293116a391631daaf7847e618646
-cksum=1506200788
+tarball=sagetex-VERSION.tar.gz
+sha1=b14a1be391d7697b83179d451ea9405a9186c3b6
+md5=89f539ac31dd35555eb4f7959280ff89
+cksum=43653548
diff --git a/build/pkgs/sagetex/package-version.txt b/build/pkgs/sagetex/package-version.txt
index 3f684d2..9f55b2c 100644
--- a/build/pkgs/sagetex/package-version.txt
+++ b/build/pkgs/sagetex/package-version.txt
@@ -1 +1 @@
-2.3.4
+3.0
diff --git a/build/pkgs/sagetex/spkg-install b/build/pkgs/sagetex/spkg-install
index 8712950..c280e11 100755
--- a/build/pkgs/sagetex/spkg-install
+++ b/build/pkgs/sagetex/spkg-install
@@ -15,3 +15,5 @@ if [ $? -ne 0 ]; then
exit 1
fi
+echo "Removing old SageTex version(s)"
+rm -rf $SAGE_LOCAL/share/texmf/tex/generic/sagetex
diff --git a/build/pkgs/snowballstemmer/SPKG.txt b/build/pkgs/snowballstemmer/SPKG.txt
new file mode 100644
index 0000000..8a649d2
--- /dev/null
+++ b/build/pkgs/snowballstemmer/SPKG.txt
@@ -0,0 +1,25 @@
+= snowballstemmer =
+
+== Description ==
+
+This package provides 16 stemmer algorithms (15 + Poerter English stemmer) generated from Snowball algorithms.
+
+It includes following language algorithms:
+
+ Danish
+ Dutch
+ English (Standard, Porter)
+ Finnish
+ French
+ German
+ Hungarian
+ Italian
+ Norwegian
+ Portuguese
+ Romanian
+ Russian
+ Spanish
+ Swedish
+ Turkish
+
+This is a pure Python stemming library. If PyStemmer is available, this module uses it to accelerate.
diff --git a/build/pkgs/snowballstemmer/checksums.ini b/build/pkgs/snowballstemmer/checksums.ini
new file mode 100644
index 0000000..6068faf
--- /dev/null
+++ b/build/pkgs/snowballstemmer/checksums.ini
@@ -0,0 +1,4 @@
+tarball=snowballstemmer-VERSION.tar.gz
+sha1=377be08ed935d401a53cba79319d1812cfe46b81
+md5=643b019667a708a922172e33a99bf2fa
+cksum=4243688392
diff --git a/build/pkgs/snowballstemmer/dependencies b/build/pkgs/snowballstemmer/dependencies
new file mode 100644
index 0000000..d5dab72
--- /dev/null
+++ b/build/pkgs/snowballstemmer/dependencies
@@ -0,0 +1,5 @@
+$(PYTHON) | pip
+
+----------
+All lines of this file are ignored except the first.
+It is copied by SAGE_ROOT/build/make/install into SAGE_ROOT/build/make/Makefile.
diff --git a/build/pkgs/snowballstemmer/package-version.txt b/build/pkgs/snowballstemmer/package-version.txt
new file mode 100644
index 0000000..6085e94
--- /dev/null
+++ b/build/pkgs/snowballstemmer/package-version.txt
@@ -0,0 +1 @@
+1.2.1
diff --git a/build/pkgs/snowballstemmer/spkg-install b/build/pkgs/snowballstemmer/spkg-install
new file mode 100755
index 0000000..afb3f30
--- /dev/null
+++ b/build/pkgs/snowballstemmer/spkg-install
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+cd src && python setup.py install
diff --git a/build/pkgs/snowballstemmer/type b/build/pkgs/snowballstemmer/type
new file mode 100644
index 0000000..a6a7b9c
--- /dev/null
+++ b/build/pkgs/snowballstemmer/type
@@ -0,0 +1 @@
+standard
diff --git a/build/pkgs/sphinx/SPKG.txt b/build/pkgs/sphinx/SPKG.txt
index 0fa724f..fce17ba 100644
--- a/build/pkgs/sphinx/SPKG.txt
+++ b/build/pkgs/sphinx/SPKG.txt
@@ -20,51 +20,18 @@ Home Page: http://sphinx.pocoo.org,
see also http://pypi.python.org/pypi/Sphinx
== Dependencies ==
- * Jinja2 >= 2.2
- * Pygments >= 0.8
- * docutils >= 0.5
+ * six >= 1.4
+ * Jinja2 >= 2.3
+ * Pygments >= 2.0
+ * docutils >= 0.11
+ * snowballstemmer >= 1.1
+ * babel >= 1.3
* setuptools / distribute
* Python
* GNU patch (shipped with Sage)
== Special Update/Build Instructions ==
- * Here is a description of patches on top of upstream Sphinx:
-
- - patches/autodoc.patch: This patches
- src/sphinx/ext/autodoc.py. This adds an option to Sphinx to
- provide a function to get the argspecs of built-in functions.
-
- - patches/environment.patch: This patches the file
- src/sphinx/environment.py. Patching it should prevent Sphinx
- from rebuilding documentation that is already built.
-
- - patches/highlighting.patch: This patches the file
- src/sphinx/highlighting.py. The patch should allow Sphinx to
- recognize the Sage prompt "sage:" the same way it recognizes the
- ">>>" from Python.
-
- - patches/inline-latex.patch: see Trac #16396 and
- https://bitbucket.org/birkenfeld/sphinx/issue/1480/latex-math-output-is-broken-for-inline
-
- - patches/pngmath.patch: This replaces \usepackage[utf8x]{inputenc}
- by \usepackage[utf8]{inputenc} in the LaTeX preamble for building
- images in the HTML documentation. This change is done because
- some LaTeX installations have only utf8, not utf8x (utf8x adds
- support for much more Unicode characters, but these are not
- needed to typeset the mathematics in the Sage documentation).
-
- - patches/Makefile.patch: This patches the file
- src/sphinx/texinputs/Makefile to increase the memory sizes for
- LaTeX. These increased stack sizes should be sufficient for LaTeX
- to handle the huge index of the Sage reference manual when
- building the PDF version of that manual.
-
- - patches/nested.patch (submitted upstream: pull request #250, issue #777):
- This changes the sphinx's customized Verbatim environment to use
- \trivlist instead of \list. This fixes the pdf docbuild for
- deeply nested classes/methods revealed in #9107.
-
* The script create_grammar_pickle.py creates the file
Grammar2.7.pickle in site-packages/Sphinx-.../sphinx/pycode/. This
helps to avoid race conditions when building the documentation in
diff --git a/build/pkgs/sphinx/checksums.ini b/build/pkgs/sphinx/checksums.ini
index 7eb5be5..70b234a 100644
--- a/build/pkgs/sphinx/checksums.ini
+++ b/build/pkgs/sphinx/checksums.ini
@@ -1,4 +1,4 @@
tarball=Sphinx-VERSION.tar.gz
-sha1=9e424b03fe1f68e0326f3905738adcf27782f677
-md5=3dc73ccaa8d0bfb2d62fb671b1f7e8a4
-cksum=3972992129
+sha1=d18b856710b22ae9740147e21754ca5b851af9b2
+md5=4c4988e0306a04cef8dccc384281e585
+cksum=282370994
diff --git a/build/pkgs/sphinx/dependencies b/build/pkgs/sphinx/dependencies
index c7304ef..cc22818 100644
--- a/build/pkgs/sphinx/dependencies
+++ b/build/pkgs/sphinx/dependencies
@@ -1,4 +1,4 @@
-$(PYTHON) setuptools docutils jinja2 pygments
+$(PYTHON) | setuptools docutils jinja2 pygments six snowballstemmer imagesize babel alabaster
----------
All lines of this file are ignored except the first.
diff --git a/build/pkgs/sphinx/package-version.txt b/build/pkgs/sphinx/package-version.txt
index aae5f78..cc6f993 100644
--- a/build/pkgs/sphinx/package-version.txt
+++ b/build/pkgs/sphinx/package-version.txt
@@ -1 +1 @@
-1.2.2.p0
+1.4.1.p0
diff --git a/build/pkgs/sphinx/patches/Makefile.patch b/build/pkgs/sphinx/patches/Makefile.patch
index 8dfd02f..8b695e3 100644
--- a/build/pkgs/sphinx/patches/Makefile.patch
+++ b/build/pkgs/sphinx/patches/Makefile.patch
@@ -1,42 +1,21 @@
-diff -ur src/sphinx/texinputs/Makefile src.patched/sphinx/texinputs/Makefile
---- src/sphinx/texinputs/Makefile 2011-11-01 08:38:44.000000000 +0100
-+++ src.patched/sphinx/texinputs/Makefile 2012-02-28 22:04:56.438373064 +0100
-@@ -8,6 +8,7 @@
- ARCHIVEPRREFIX =
- # Additional LaTeX options
- LATEXOPTS =
-+LATEXENV = pool_size=4000000 save_size=50000 extra_mem_top=2000000
+Increase the memory sizes for LaTeX
+
+These increased stack sizes should be sufficient for LaTeX to handle the
+huge index of the Sage PDF reference manual.
+
+diff -ru a/sphinx/texinputs/Makefile b/sphinx/texinputs/Makefile
+--- a/sphinx/texinputs/Makefile 2016-03-06 06:25:30.000000000 +0100
++++ b/sphinx/texinputs/Makefile 2016-04-06 19:33:07.248103397 +0200
+@@ -11,8 +11,10 @@
+ # format: pdf or dvi
+ FMT = pdf
- all: $(ALLPDF)
- all-pdf: $(ALLPDF)
-@@ -43,20 +44,20 @@
- # The number of LaTeX runs is quite conservative, but I don't expect it
- # to get run often, so the little extra time won't hurt.
- %.dvi: %.tex
-- latex $(LATEXOPTS) '$<'
-- latex $(LATEXOPTS) '$<'
-- latex $(LATEXOPTS) '$<'
-+ env </dev/null $(LATEXENV) latex $(LATEXOPTS) '$<'
-+ env </dev/null $(LATEXENV) latex $(LATEXOPTS) '$<'
-+ env </dev/null $(LATEXENV) latex $(LATEXOPTS) '$<'
- -makeindex -s python.ist '$(basename $<).idx'
-- latex $(LATEXOPTS) '$<'
-- latex $(LATEXOPTS) '$<'
-+ env </dev/null $(LATEXENV) latex $(LATEXOPTS) '$<'
-+ env </dev/null $(LATEXENV) latex $(LATEXOPTS) '$<'
-
- %.pdf: %.tex
-- pdflatex $(LATEXOPTS) '$<'
-- pdflatex $(LATEXOPTS) '$<'
-- pdflatex $(LATEXOPTS) '$<'
-+ env </dev/null $(LATEXENV) pdflatex $(LATEXOPTS) '$<'
-+ env </dev/null $(LATEXENV) pdflatex $(LATEXOPTS) '$<'
-+ env </dev/null $(LATEXENV) pdflatex $(LATEXOPTS) '$<'
- -makeindex -s python.ist '$(basename $<).idx'
-- pdflatex $(LATEXOPTS) '$<'
-- pdflatex $(LATEXOPTS) '$<'
-+ env </dev/null $(LATEXENV) pdflatex $(LATEXOPTS) '$<'
-+ env </dev/null $(LATEXENV) pdflatex $(LATEXOPTS) '$<'
+-LATEX = latex
+-PDFLATEX = pdflatex
++LATEXENV = env pool_size=4000000 save_size=50000 extra_mem_top=2000000
++
++LATEX = $(LATEXENV) latex
++PDFLATEX = $(LATEXENV) pdflatex
+ MAKEINDEX = makeindex
- clean:
- rm -f *.dvi *.log *.ind *.aux *.toc *.syn *.idx *.out *.ilg *.pla
+ all: $(ALLPDF)
diff --git a/build/pkgs/sphinx/patches/autodoc.patch b/build/pkgs/sphinx/patches/autodoc.patch
deleted file mode 100644
index 7f0d846..0000000
--- a/build/pkgs/sphinx/patches/autodoc.patch
+++ /dev/null
@@ -1,44 +0,0 @@
---- Sphinx-1.2.2/sphinx/ext/autodoc.py.orig 2014-03-02 20:38:09.000000000 +1300
-+++ Sphinx-1.2.2/sphinx/ext/autodoc.py 2014-10-19 23:02:09.000000000 +1300
-@@ -953,8 +953,13 @@
- def format_args(self):
- if inspect.isbuiltin(self.object) or \
- inspect.ismethoddescriptor(self.object):
-- # cannot introspect arguments of a C function or method
-- return None
-+ # can never get arguments of a C function or method unless
-+ # a function to do so is supplied
-+ if self.env.config.autodoc_builtin_argspec:
-+ argspec = self.env.config.autodoc_builtin_argspec(self.object)
-+ return inspect.formatargspec(*argspec)
-+ else:
-+ return None
- try:
- argspec = getargspec(self.object)
- except TypeError:
-@@ -1216,9 +1221,14 @@
- def format_args(self):
- if inspect.isbuiltin(self.object) or \
- inspect.ismethoddescriptor(self.object):
-- # can never get arguments of a C function or method
-- return None
-- argspec = getargspec(self.object)
-+ # can never get arguments of a C function or method unless
-+ # a function to do so is supplied
-+ if self.env.config.autodoc_builtin_argspec:
-+ argspec = self.env.config.autodoc_builtin_argspec(self.object)
-+ else:
-+ return None
-+ else:
-+ argspec = getargspec(self.object)
- if argspec[0] and argspec[0][0] in ('cls', 'self'):
- del argspec[0][0]
- return inspect.formatargspec(*argspec)
-@@ -1452,6 +1462,7 @@
-
- app.add_config_value('autoclass_content', 'class', True)
- app.add_config_value('autodoc_member_order', 'alphabetic', True)
-+ app.add_config_value('autodoc_builtin_argspec', None, True)
- app.add_config_value('autodoc_default_flags', [], True)
- app.add_config_value('autodoc_docstring_signature', True, True)
- app.add_event('autodoc-process-docstring')
diff --git a/build/pkgs/sphinx/patches/environment.patch b/build/pkgs/sphinx/patches/environment.patch
index d74ba35..d14ae5d 100644
--- a/build/pkgs/sphinx/patches/environment.patch
+++ b/build/pkgs/sphinx/patches/environment.patch
@@ -1,11 +1,13 @@
+Prevent Sphinx from rebuilding documentation that is already built
+
--- Sphinx-1.2.2/sphinx/environment.py.orig 2014-03-02 20:38:09.000000000 +1300
+++ Sphinx-1.2.2/sphinx/environment.py 2014-10-19 23:31:15.000000000 +1300
-@@ -424,10 +424,13 @@
+@@ -540,10 +540,13 @@
else:
# check if a config value was changed that affects how
# doctrees are read
+ import inspect
- for key, descr in config.values.iteritems():
+ for key, descr in iteritems(config.values):
if descr[1] != 'env':
continue
if self.config[key] != config[key]:
diff --git a/build/pkgs/sphinx/patches/highlighting.patch b/build/pkgs/sphinx/patches/highlighting.patch
index 1b4db44..5f0bad3 100644
--- a/build/pkgs/sphinx/patches/highlighting.patch
+++ b/build/pkgs/sphinx/patches/highlighting.patch
@@ -1,11 +1,27 @@
---- Sphinx-1.2.2/sphinx/highlighting.py.orig 2014-03-02 20:38:09.000000000 +1300
-+++ Sphinx-1.2.2/sphinx/highlighting.py 2014-10-19 23:32:23.000000000 +1300
-@@ -167,7 +167,7 @@
+Allow Sphinx to recognize the Sage prompt "sage:"
+the same way it recognizes the ">>>" from Python
+
+diff -ru a/sphinx/highlighting.py b/sphinx/highlighting.py
+--- a/sphinx/highlighting.py 2016-03-28 15:16:34.000000000 +0200
++++ b/sphinx/highlighting.py 2016-04-22 22:34:29.642929758 +0200
+@@ -96,15 +96,19 @@
+ source = source.decode()
# find out which lexer to use
- if lang in ('py', 'python'):
-- if source.startswith('>>>'):
-+ if source.startswith('>>>') or source.startswith('sage: '):
+- if lang in ('py', 'python'):
++ elif lang in ('py', 'python'):
+ if source.startswith('>>>'):
# interactive session
lexer = lexers['pycon']
- elif not force:
++ elif source.startswith('sage: '):
++ lexer = lexers['pycon']
+ else:
+ lexer = lexers['python']
+ elif lang in ('py3', 'python3', 'default'):
+ if source.startswith('>>>'):
+ lexer = lexers['pycon3']
++ elif source.startswith('sage: '):
++ lexer = lexers['pycon']
+ else:
+ lexer = lexers['python3']
+ elif lang == 'guess':
diff --git a/build/pkgs/sphinx/patches/inline-latex.patch b/build/pkgs/sphinx/patches/inline-latex.patch
deleted file mode 100644
index fb29285..0000000
--- a/build/pkgs/sphinx/patches/inline-latex.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- src/sphinx/writers/latex.py.orig 2014-06-05 23:38:03.808669401 -0500
-+++ src/sphinx/writers/latex.py 2014-06-05 23:27:22.752376713 -0500
-@@ -264,6 +264,7 @@
- self.next_figure_ids = set()
- self.next_table_ids = set()
- # flags
-+ self.verbatim = False
- self.in_title = 0
- self.in_production_list = 0
- self.in_footnote = 0
-@@ -1319,6 +1320,7 @@
- (self.curfilestack[-1], node.line))
- if node.rawsource != node.astext():
- # most probably a parsed-literal block -- don't highlight
-+ self.verbatim = True
- self.body.append('\\begin{alltt}\n')
- else:
- code = node.astext().rstrip('\n')
-@@ -1351,6 +1353,7 @@
- raise nodes.SkipNode
- def depart_literal_block(self, node):
- self.body.append('\n\\end{alltt}\n')
-+ self.verbatim = False
- visit_doctest_block = visit_literal_block
- depart_doctest_block = depart_literal_block
-
---- src/sphinx/ext/mathbase.py.orig 2014-06-05 23:39:36.773293241 -0500
-+++ src/sphinx/ext/mathbase.py 2014-06-05 23:18:53.949020605 -0500
-@@ -88,7 +88,10 @@
-
-
- def latex_visit_math(self, node):
-- self.body.append('\\(' + node['latex'] + '\\)')
-+ if self.verbatim:
-+ self.body.append('\\(' + node['latex'] + '\\)')
-+ else:
-+ self.body.append('$' + node['latex'] + '$')
- raise nodes.SkipNode
-
- def latex_visit_displaymath(self, node):
diff --git a/build/pkgs/sphinx/patches/latex_list.patch b/build/pkgs/sphinx/patches/latex_list.patch
new file mode 100644
index 0000000..b5b7e87
--- /dev/null
+++ b/build/pkgs/sphinx/patches/latex_list.patch
@@ -0,0 +1,23 @@
+Fix https://github.com/sphinx-doc/sphinx/issues/777
+
+diff -ru a/sphinx/texinputs/sphinx.sty b/sphinx/texinputs/sphinx.sty
+--- a/sphinx/texinputs/sphinx.sty 2016-04-12 15:07:10.000000000 +0200
++++ b/sphinx/texinputs/sphinx.sty 2016-04-22 22:24:13.671897443 +0200
+@@ -264,7 +264,7 @@
+ \global\Sphinx@myfirstframedpasstrue
+ % The list environement is needed to control perfectly the vertical
+ % space.
+- \list{}{%
++ \trivlist{}{%
+ \setlength\parskip{0pt}%
+ \setlength\itemsep{0ex}%
+ \setlength\topsep{0ex}%
+@@ -278,7 +278,7 @@
+ \renewcommand{\endVerbatim}{%
+ \endOriginalVerbatim
+ \endMakeFramed
+- \endlist
++ \endtrivlist
+ % LaTeX environments always revert local changes on exit, here e.g. \parskip
+ }
+
diff --git a/build/pkgs/sphinx/patches/pngmath.patch b/build/pkgs/sphinx/patches/latex_utf8.patch
index 1356e67..63d2661 100644
--- a/build/pkgs/sphinx/patches/pngmath.patch
+++ b/build/pkgs/sphinx/patches/latex_utf8.patch
@@ -1,3 +1,8 @@
+Some LaTeX installations have only utf8, not utf8x
+
+utf8x adds support for much more Unicode characters, but these are not
+needed to typeset the mathematics in the Sage documentation
+
--- Sphinx-1.2.2/sphinx/ext/pngmath.py.orig 2014-03-02 20:38:09.000000000 +1300
+++ Sphinx-1.2.2/sphinx/ext/pngmath.py 2014-10-19 23:35:17.000000000 +1300
@@ -42,7 +42,7 @@
diff --git a/build/pkgs/sphinx/patches/nested.patch b/build/pkgs/sphinx/patches/nested.patch
deleted file mode 100644
index 1866110..0000000
--- a/build/pkgs/sphinx/patches/nested.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- Sphinx-1.2.2/sphinx/texinputs/sphinx.sty.orig 2014-01-12 02:52:54.000000000 +1300
-+++ Sphinx-1.2.2/sphinx/texinputs/sphinx.sty 2014-10-19 23:34:18.000000000 +1300
-@@ -167,7 +167,7 @@
- \smallskip%
- % The list environement is needed to control perfectly the vertical
- % space.
-- \list{}{%
-+ \trivlist{}{% using trivlist rather than list fixes #777 (too deeply nested error)
- \setlength\parskip{0pt}%
- \setlength\itemsep{0ex}%
- \setlength\topsep{0ex}%
-@@ -181,7 +181,7 @@
- \renewcommand{\endVerbatim}{%
- \endOriginalVerbatim%
- \endMakeFramed%
-- \endlist%
-+ \endtrivlist%
- % close group to restore \parskip
- \egroup%
- }
diff --git a/src/bin/sage-banner b/src/bin/sage-banner
index 1778fbe..87d5716 100644
--- a/src/bin/sage-banner
+++ b/src/bin/sage-banner
@@ -1,5 +1,5 @@
┌────────────────────────────────────────────────────────────────────┐
-│ SageMath version 7.2.beta5, Release Date: 2016-04-21 │
+│ SageMath version 7.2.beta6, Release Date: 2016-04-28 │
│ Type "notebook()" for the browser-based notebook interface. │
│ Type "help()" for help. │
└────────────────────────────────────────────────────────────────────┘
diff --git a/src/bin/sage-runtests b/src/bin/sage-runtests
index ddb8656..5a0fda6 100755
--- a/src/bin/sage-runtests
+++ b/src/bin/sage-runtests
@@ -29,9 +29,10 @@ if __name__ == "__main__":
metavar="SECONDS", help="warn if tests take more time than SECONDS")
parser.add_option("--optional", metavar="PKGS", default="sage,optional",
help='only run tests including one of the "# optional" tags listed in PKGS; '
- 'if "sage" is listed will also test the standard doctests; '
- 'if "optional" is listed will also test all available optional (new-style) packages; '
- 'if set to "all", then all tests will be run; ')
+ 'if "sage" is listed, will also run the standard doctests; '
+ 'if "optional" is listed, will also run tests for installed optional (new-style) packages; '
+ 'if "external" is listed, will also run tests for available external software; '
+ 'if set to "all", then all tests will be run')
parser.add_option("--randorder", type=int, metavar="SEED", help="randomize order of tests")
parser.add_option("--global-iterations", "--global_iterations", type=int, default=0, help="repeat the whole testing process this many times")
parser.add_option("--file-iterations", "--file_iterations", type=int, default=0, help="repeat each file this many times, stopping on the first failure")
diff --git a/src/bin/sage-version.sh b/src/bin/sage-version.sh
index dd74a5a..83b9efe 100644
--- a/src/bin/sage-version.sh
+++ b/src/bin/sage-version.sh
@@ -1,4 +1,4 @@
# Sage version information for shell scripts
# This file is auto-generated by the sage-update-version script, do not edit!
-SAGE_VERSION='7.2.beta5'
-SAGE_RELEASE_DATE='2016-04-21'
+SAGE_VERSION='7.2.beta6'
+SAGE_RELEASE_DATE='2016-04-28'
diff --git a/src/doc/common/conf.py b/src/doc/common/conf.py
index 540cf81..ee3f23a 100644
--- a/src/doc/common/conf.py
+++ b/src/doc/common/conf.py
@@ -75,12 +75,11 @@ release = version
# Else, today_fmt is used as the format for a strftime call.
#today_fmt = '%B %d, %Y'
-# List of documents that shouldn't be included in the build.
-#unused_docs = []
-
-# List of directories, relative to source directory, that shouldn't be searched
-# for source files.
-exclude_trees = ['.build']
+# List of glob-style patterns that should be excluded when looking for
+# source files. [1] They are matched against the source file names
+# relative to the source directory, using slashes as directory
+# separators on all platforms.
+exclude_patterns = ['.build']
# The reST default role (used for this markup: `text`) to use for all documents.
default_role = 'math'
@@ -227,8 +226,9 @@ if (os.environ.get('SAGE_DOC_MATHJAX', 'no') != 'no'
mathjax_static = os.path.join(sagenb_path, mathjax_relative)
html_static_path.append(mathjax_static)
- exclude_patterns=['**/'+os.path.join(mathjax_relative, i) for i in ('docs', 'README*', 'test',
- 'unpacked', 'LICENSE')]
+ exclude_patterns += ['**/'+os.path.join(mathjax_relative, i)
+ for i in ('docs', 'README*', 'test',
+ 'unpacked', 'LICENSE')]
else:
extensions.append('sphinx.ext.pngmath')
@@ -615,7 +615,7 @@ def call_intersphinx(app, env, node, contnode):
sage: for line in open(thematic_index).readlines():
....: if "padics" in line:
....: sys.stdout.write(line)
- <li><a class="reference external" href="../reference/padics/sage/rings/padics/tutorial.html#sage-rings-padics-tutorial" title="(in Sage Reference Manual: p-Adics ...)"><em>Introduction to the -adics</em></a></li>
+ <li><a class="reference external" href="../reference/padics/sage/rings/padics/tutorial.html#sage-rings-padics-tutorial" title="(in Sage Reference Manual: p-Adics ...)"><span>Introduction to the -adics</span></a></li>
"""
debug_inf(app, "???? Trying intersphinx for %s"%node['reftarget'])
builder = app.builder
@@ -724,9 +724,9 @@ base_class_as_func = [
# link to the Python documentation several links where broken because there
# where class listed as functions. Expand the list 'base_class_as_func'
# above instead of marking the link as broken.
-nitpick_ignore = (
+nitpick_ignore = [
('py:class', 'twisted.web2.resource.Resource'),
- ('py:class', 'twisted.web2.resource.PostableResource'))
+ ('py:class', 'twisted.web2.resource.PostableResource')]
def nitpick_patch_config(app):
"""
diff --git a/src/doc/common/themes/sage/theme.conf b/src/doc/common/themes/sage/theme.conf
index 4fbb8e4..3d84627 100644
--- a/src/doc/common/themes/sage/theme.conf
+++ b/src/doc/common/themes/sage/theme.conf
@@ -1,5 +1,5 @@
[theme]
-inherit = default
+inherit = classic
stylesheet = sage.css
pygments_style = sphinx
diff --git a/src/doc/common/themes/sageref/theme.conf b/src/doc/common/themes/sageref/theme.conf
index 4fbb8e4..3d84627 100644
--- a/src/doc/common/themes/sageref/theme.conf
+++ b/src/doc/common/themes/sageref/theme.conf
@@ -1,5 +1,5 @@
[theme]
-inherit = default
+inherit = classic
stylesheet = sage.css
pygments_style = sphinx
diff --git a/src/doc/de/thematische_anleitungen/sage_gymnasium.rst b/src/doc/de/thematische_anleitungen/sage_gymnasium.rst
index 9b7da4c..7d2d175 100644
--- a/src/doc/de/thematische_anleitungen/sage_gymnasium.rst
+++ b/src/doc/de/thematische_anleitungen/sage_gymnasium.rst
@@ -572,7 +572,7 @@ Tupel besteht, welches das Interval des Definitionsbereichs angibt, also z.B. ``
`[-\infty, 0]` und einer für das Interval geltende Funktionsgleichung. Als letztes Argument muss angegeben werden,
welche Variable durch die Funktion gebunden werden soll::
- sage: f = Piecewise([[(-oo,0), -x^2],[(0,oo), x^2]], x)
+ sage: f = piecewise([[(-oo,0), -x^2],[(0,oo), x^2]], var=x)
sage: f(3)
9
sage: f(-3)
diff --git a/src/doc/de/tutorial/bibliography.rst b/src/doc/de/tutorial/bibliography.rst
index c760e5c..7ce77e2 100644
--- a/src/doc/de/tutorial/bibliography.rst
+++ b/src/doc/de/tutorial/bibliography.rst
@@ -41,7 +41,7 @@ Literaturverzeichnis
.. [SA] Sage web site, http://www.sagemath.org/.
-.. [Si] W. Decker, G.-M. Greuel, G. Pfister, and
+.. [Si] \W. Decker, G.-M. Greuel, G. Pfister, and
H. Schönemann. Singular 3.3.1. A Computer Algebra System for
Polynomial Computations. University of Kaiserslautern (2010),
http://www.singular.uni-kl.de/.
diff --git a/src/doc/en/constructions/calculus.rst b/src/doc/en/constructions/calculus.rst
index 5db1230..039dbd6 100644
--- a/src/doc/en/constructions/calculus.rst
+++ b/src/doc/en/constructions/calculus.rst
@@ -81,7 +81,7 @@ You can find critical points of a piecewise defined function:
sage: f2 = 1-x
sage: f3 = 2*x
sage: f4 = 10*x-x^2
- sage: f = Piecewise([[(0,1),f1],[(1,2),f2],[(2,3),f3],[(3,10),f4]])
+ sage: f = piecewise([((0,1),f1), ((1,2),f2), ((2,3),f3), ((3,10),f4)])
sage: f.critical_points()
[5.0]
@@ -177,9 +177,10 @@ where :math:`f(x)=1`, :math:`0<x<1`:
::
sage: x = PolynomialRing(QQ, 'x').gen()
- sage: f = Piecewise([[(0,1),1*x^0]])
+ sage: f = piecewise([((0,1),1*x^0)])
sage: g = f.convolution(f)
sage: h = f.convolution(g)
+ sage: set_verbose(-1)
sage: P = f.plot(); Q = g.plot(rgbcolor=(1,1,0)); R = h.plot(rgbcolor=(0,1,1))
To view this, type ``show(P+Q+R)``.
@@ -212,18 +213,13 @@ where :math:`f` is a piecewise defined function, can
sage: f1(x) = x^2
sage: f2(x) = 5-x^2
- sage: f = Piecewise([[(0,1),f1],[(1,2),f2]])
- sage: f.trapezoid(4)
- Piecewise defined function with 4 parts, [[(0, 1/2), 1/2*x],
- [(1/2, 1), 9/2*x - 2], [(1, 3/2), 1/2*x + 2],
- [(3/2, 2), -7/2*x + 8]]
- sage: f.riemann_sum_integral_approximation(6,mode="right")
- 19/6
- sage: f.integral()
- Piecewise defined function with 2 parts,
- [[(0, 1), x |--> 1/3*x^3], [(1, 2), x |--> -1/3*x^3 + 5*x - 13/3]]
- sage: f.integral(definite=True)
- 3
+ sage: f = piecewise([[[0,1], f1], [RealSet.open_closed(1,2), f2]])
+ sage: t = f.trapezoid(2); t
+ piecewise(x|-->1/2*x on (0, 1/2), x|-->3/2*x - 1/2 on (1/2, 1), x|-->7/2*x - 5/2 on (1, 3/2), x|-->-7/2*x + 8 on (3/2, 2); x)
+ sage: t.integral()
+ piecewise(x|-->1/4*x^2 on (0, 1/2), x|-->3/4*x^2 - 1/2*x + 1/8 on (1/2, 1), x|-->7/4*x^2 - 5/2*x + 9/8 on (1, 3/2), x|-->-7/4*x^2 + 8*x - 27/4 on (3/2, 2); x)
+ sage: t.integral(definite=True)
+ 9/4
.. index: Laplace transform
@@ -242,7 +238,7 @@ computation.
(x, s)
sage: f1(x) = 1
sage: f2(x) = 1-x
- sage: f = Piecewise([[(0,1),f1],[(1,2),f2]])
+ sage: f = piecewise([((0,1),f1), ((1,2),f2)])
sage: f.laplace(x, s)
-e^(-s)/s + (s + 1)*e^(-2*s)/s^2 + 1/s - e^(-s)/s^2
@@ -382,7 +378,7 @@ illustrating how the Gibbs phenomenon is mollified).
sage: f1 = lambda x: -1
sage: f2 = lambda x: 2
- sage: f = Piecewise([[(0,pi/2),f1],[(pi/2,pi),f2]])
+ sage: f = piecewise([((0,pi/2),f1), ((pi/2,pi),f2)])
sage: f.fourier_series_cosine_coefficient(5,pi)
-3/5/pi
sage: f.fourier_series_sine_coefficient(2,pi)
diff --git a/src/doc/en/constructions/plotting.rst b/src/doc/en/constructions/plotting.rst
index f46f3b3..1be93b6 100644
--- a/src/doc/en/constructions/plotting.rst
+++ b/src/doc/en/constructions/plotting.rst
@@ -34,13 +34,13 @@ You can plot piecewise-defined functions:
::
- sage: f1 = lambda x:1
- sage: f2 = lambda x:1-x
- sage: f3 = lambda x:exp(x)
- sage: f4 = lambda x:sin(2*x)
- sage: f = Piecewise([[(0,1),f1],[(1,2),f2],[(2,3),f3],[(3,10),f4]])
- sage: f.plot()
- Graphics object consisting of 4 graphics primitives
+ sage: f1 = 1
+ sage: f2 = 1-x
+ sage: f3 = exp(x)
+ sage: f4 = sin(2*x)
+ sage: f = piecewise([((0,1),f1), ((1,2),f2), ((2,3),f3), ((3,10),f4)])
+ sage: f.plot(x,0,10)
+ Graphics object consisting of 1 graphics primitive
Other function plots can be produced as well:
diff --git a/src/doc/en/developer/coding_basics.rst b/src/doc/en/developer/coding_basics.rst
index 6b039c7..d94118f 100644
--- a/src/doc/en/developer/coding_basics.rst
+++ b/src/doc/en/developer/coding_basics.rst
@@ -308,7 +308,7 @@ information. You can use the existing functions of Sage as templates.
REFERENCES:
- .. [Nat2000] M.B. Nathanson. Elementary Methods in Number Theory.
+ .. [Nat2000] \M. B. Nathanson. Elementary Methods in Number Theory.
Springer, 2000.
- A **NOTE** block for tips/tricks (optional). ::
@@ -370,6 +370,13 @@ information. You can use the existing functions of Sage as templates.
.. [SC] Conventions for coding in sage.
http://www.sagemath.org/doc/developer/conventions.html.
+ When abbreviating the first name of an author, be sure to put a
+ backslash in front of it. This ensures that the letter (``C.``
+ in the example below) will not be interpreted as a list
+ enumerator::
+
+ .. [Gauss] \C. F. Gauss, Disquisitiones Arithmeticae, 1801.
+
See the `Sphinx/ReST markup for citations <http://sphinx.pocoo.org/rest.html#citations>`_. For links toward trac tickets or wikipedia, see :ref:`chapter-sage_manuals_links`.
- A **TESTS** block (optional)
diff --git a/src/doc/en/developer/doctesting.rst b/src/doc/en/developer/doctesting.rst
index 60ae52a..dbe87f4 100644
--- a/src/doc/en/developer/doctesting.rst
+++ b/src/doc/en/developer/doctesting.rst
@@ -830,6 +830,25 @@ In order to just run the tests that are marked as requiring magma, omit ``sage``
cpu time: 0.1 seconds
cumulative wall time: 2.0 seconds
+If you want Sage to detect external software or other capabilities
+(such as magma, latex, internet) automatically and run all of the
+relevant tests, then add ``external``::
+
+ $ sage -t --optional=external src/sage/rings/real_mpfr.pyx
+ Running doctests with ID 2016-03-16-14-10-21-af2ebb67.
+ Using --optional=external
+ External software to be detected: cplex,gurobi,internet,latex,macaulay2,magma,maple,mathematica,matlab,octave,scilab
+ Doctesting 1 file.
+ sage -t --warn-long 28.0 src/sage/rings/real_mpfr.pyx
+ [5 tests, 0.04 s]
+ ----------------------------------------------------------------------
+ All tests passed!
+ ----------------------------------------------------------------------
+ Total time for all tests: 0.5 seconds
+ cpu time: 0.0 seconds
+ cumulative wall time: 0.0 seconds
+ External software detected for doctesting: magma
+
To run all tests, regardless of whether they are marked optional, pass ``all`` as the ``optional`` tag::
[roed@sage sage-6.0]$ sage -t --optional=all src/sage/rings/real_mpfr.pyx
diff --git a/src/doc/en/reference/categories/index.rst b/src/doc/en/reference/categories/index.rst
index 5ce3350..b7deab4 100644
--- a/src/doc/en/reference/categories/index.rst
+++ b/src/doc/en/reference/categories/index.rst
@@ -55,6 +55,7 @@ Individual Categories
sage/categories/commutative_ring_ideals
sage/categories/commutative_rings
sage/categories/complete_discrete_valuation
+ sage/categories/complex_reflection_groups
sage/categories/coxeter_group_algebras
sage/categories/coxeter_groups
sage/categories/crystals
@@ -70,6 +71,7 @@ Individual Categories
sage/categories/filtered_algebras_with_basis
sage/categories/filtered_modules
sage/categories/filtered_modules_with_basis
+ sage/categories/finite_complex_reflection_groups
sage/categories/finite_coxeter_groups
sage/categories/finite_crystals
sage/categories/finite_dimensional_algebras_with_basis
@@ -93,6 +95,7 @@ Individual Categories
sage/categories/function_fields
sage/categories/g_sets
sage/categories/gcd_domains
+ sage/categories/generalized_coxeter_groups
sage/categories/graded_algebras
sage/categories/graded_algebras_with_basis
sage/categories/graded_bialgebras
@@ -148,6 +151,7 @@ Individual Categories
sage/categories/sets_cat
sage/categories/sets_with_grading
sage/categories/sets_with_partial_maps
+ sage/categories/shephard_groups
sage/categories/simplicial_complexes
sage/categories/super_algebras
sage/categories/super_algebras_with_basis
diff --git a/src/doc/en/reference/combinat/module_list.rst b/src/doc/en/reference/combinat/module_list.rst
index 4456ff7..16c87d0 100644
--- a/src/doc/en/reference/combinat/module_list.rst
+++ b/src/doc/en/reference/combinat/module_list.rst
@@ -221,6 +221,8 @@ Comprehensive Module list
sage/combinat/root_system/non_symmetric_macdonald_polynomials
sage/combinat/root_system/pieri_factors
sage/combinat/root_system/plot
+ sage/combinat/root_system/reflection_group_complex
+ sage/combinat/root_system/reflection_group_real
sage/combinat/root_system/root_lattice_realization_algebras
sage/combinat/root_system/root_lattice_realizations
sage/combinat/root_system/root_space
diff --git a/src/doc/en/reference/conf.py b/src/doc/en/reference/conf.py
index 261ded5..9e55717 100644
--- a/src/doc/en/reference/conf.py
+++ b/src/doc/en/reference/conf.py
@@ -53,7 +53,7 @@ latex_elements['preamble'] += r'''
'''
#Ignore all .rst in the _sage subdirectory
-exclude_trees = exclude_trees + ['_sage']
+exclude_patterns = exclude_patterns + ['_sage']
multidocs_is_master = True
@@ -67,6 +67,6 @@ multidocs_subdoc_list = sorted([x for x in os.listdir(ref_src)
# List of directories, relative to source directory, that shouldn't be
# searched for source files.
-exclude_trees += multidocs_subdoc_list + [
+exclude_patterns += multidocs_subdoc_list + [
'sage', 'sagenb', 'options'
]
diff --git a/src/doc/en/reference/conf_sub.py b/src/doc/en/reference/conf_sub.py
index 15cc055..078e0dc 100644
--- a/src/doc/en/reference/conf_sub.py
+++ b/src/doc/en/reference/conf_sub.py
@@ -62,6 +62,6 @@ latex_documents = [
]
#Ignore all .rst in the _sage subdirectory
-exclude_trees = exclude_trees + ['_sage']
+exclude_patterns = exclude_patterns + ['_sage']
multidocs_is_master = False
diff --git a/src/doc/en/reference/doctest/index.rst b/src/doc/en/reference/doctest/index.rst
index a537ed8..88ec7a5 100644
--- a/src/doc/en/reference/doctest/index.rst
+++ b/src/doc/en/reference/doctest/index.rst
@@ -9,6 +9,7 @@ Sage's Doctesting Framework
sage/doctest/forker
sage/doctest/parsing
sage/doctest/reporting
+ sage/doctest/external
sage/doctest/test
sage/doctest/util
sage/doctest/fixtures
diff --git a/src/doc/en/reference/numerical/index.rst b/src/doc/en/reference/numerical/index.rst
index 68eb094..383db1a 100644
--- a/src/doc/en/reference/numerical/index.rst
+++ b/src/doc/en/reference/numerical/index.rst
@@ -14,14 +14,16 @@ Numerical Optimization
sage/numerical/optimize
sage/numerical/interactive_simplex_method
-Linear Optimization (LP) Solver backends
-----------------------------------------
+Linear Optimization (LP) and Mixed Integer Linear Optimization (MIP) Solver backends
+------------------------------------------------------------------------------------
.. toctree::
:maxdepth: 1
sage/numerical/backends/generic_backend
+ sage/numerical/backends/interactivelp_backend
sage/numerical/backends/glpk_backend
+ sage/numerical/backends/glpk_exact_backend
sage/numerical/backends/glpk_graph_backend