- 08 Sep, 2017 1 commit
-
-
Jeroen Demeyer authored
-
- 05 Sep, 2017 1 commit
-
-
Volker Braun authored
-
- 03 Sep, 2017 38 commits
-
-
Release Manager authored
Implement as in multivariate polynomial ring {{{ sage: L = LaurentPolynomialRing(QQ, 'x', 3) sage: L.monomial(5, -7, 3) x0^5*x1^-7*x2^3 }}} URL: https://trac.sagemath.org/23727 Reported by: vdelecroix Ticket author(s): Vincent Delecroix Reviewer(s): Frédéric Chapoton
-
Release Manager authored
{{{ sage: l = libgap([0,1]) sage: l sage: copy(l) NULL }}} URL: https://trac.sagemath.org/23721 Reported by: vdelecroix Ticket author(s): Vincent Delecroix Reviewer(s): Aly Deines
-
Release Manager authored
Even the latest upstream version (3.3.4, not in Sage yet) still ships with old autotools. URL: https://trac.sagemath.org/23710 Reported by: jdemeyer Ticket author(s): Jeroen Demeyer Reviewer(s): François Bissey
-
Release Manager authored
as another step to py3 needs that a bot checks that nothing got broken URL: https://trac.sagemath.org/23709 Reported by: chapoton Ticket author(s): Frédéric Chapoton Reviewer(s): Travis Scrimshaw
-
Release Manager authored
as another step to py3 URL: https://trac.sagemath.org/23708 Reported by: chapoton Ticket author(s): Frédéric Chapoton Reviewer(s): Travis Scrimshaw
-
Release Manager authored
improve getitem so that the following works {{{ sage: l = libgap.eval('[[0,1],[2,3]]') sage: l[0,0] }}} and implement setitem in order to be able to do {{{ sage: l = libgap.eval('[[0,1],[2,3]]') sage: l[0,0] = -3 }}} URL: https://trac.sagemath.org/23704 Reported by: vdelecroix Ticket author(s): Vincent Delecroix Reviewer(s): Travis Scrimshaw
-
Release Manager authored
as another step to py3 URL: https://trac.sagemath.org/23698 Reported by: chapoton Ticket author(s): Frédéric Chapoton Reviewer(s): Travis Scrimshaw
-
Release Manager authored
some occurrences in the doc, plus one in code of multi-polynomials URL: https://trac.sagemath.org/23697 Reported by: chapoton Ticket author(s): Frédéric Chapoton Reviewer(s): Travis Scrimshaw
-
Release Manager authored
Arithmetic with complex `I` may involve symbolic equation solving using Maxima because `QQbar` calls `minpoly.roots` every time, which uses Maxima's solve for symbolic output. Special code in `sage/rings/polynomial/polynomial_element.pyx` reduces time 100x for the first call (Maxima startup) and 2x for any following. URL: https://trac.sagemath.org/23695 Reported by: rws Ticket author(s): Ralf Stephan Reviewer(s): Travis Scrimshaw
-
Release Manager authored
Free (sub)modules have a `dimension()` and a `degree()` which is the dimension of the ambient space. To complement this, there should be `codimension()` which is the difference between these two. URL: https://trac.sagemath.org/23690 Reported by: jdemeyer Ticket author(s): Jeroen Demeyer Reviewer(s): Travis Scrimshaw
-
Release Manager authored
There's a typo in the `greedy` function; the following should be the same. {{{ sage: S = ClusterSeed(Matrix([[0,1],[-4,0]])); S A seed for a cluster algebra of rank 2 sage: S.greedy(1,2) (x1^4 + x0^2 + 2*x0 + 1)/(x0*x1^2) sage: S.greedy(1,2,'by_combinatorics') (x0*x1^4 + x1^4 + x0^2 + 2*x0 + 1)/(x0*x1^2) }}} URL: https://trac.sagemath.org/23688 Reported by: llpku Ticket author(s): Li Li Reviewer(s): Gregg Musiker
-
Release Manager authored
Followup to #23193. Function field doctests take 10 minutes on reasonable machines. That's way too much. The changes introduced here drop this again to 7/70 seconds for the doctests/long doctests. URL: https://trac.sagemath.org/23683 Reported by: saraedum Ticket author(s): Julian Rüth Reviewer(s): Travis Scrimshaw, Frédéric Chapoton
-
Release Manager authored
as another step to py3 URL: https://trac.sagemath.org/23682 Reported by: chapoton Ticket author(s): Frédéric Chapoton Reviewer(s): Travis Scrimshaw
-
Release Manager authored
Make the following two examples work {{{ sage: G = cartesian_product([Zmod(3), Zmod(6), Zmod(5)]) sage: G((1,1,1)).additive_order() 30 }}} and {{{ sage: G1 = SymmetricGroup(3) sage: G2 = SL(2,3) sage: G = cartesian_product([G1,G2]) sage: G((G1.gen(0), G2.gen(1))).multiplicative_order() 12 }}} URL: https://trac.sagemath.org/23679 Reported by: vdelecroix Ticket author(s): Vincent Delecroix Reviewer(s): Travis Scrimshaw
-
Release Manager authored
It is currently not doctested and broken. URL: https://trac.sagemath.org/23677 Reported by: chapoton Ticket author(s): Frédéric Chapoton Reviewer(s): Marcelo Forets
-
Release Manager authored
step to python3 URL: https://trac.sagemath.org/23676 Reported by: chapoton Ticket author(s): Frédéric Chapoton Reviewer(s): Travis Scrimshaw
-
Release Manager authored
and removing one scaring "import sage.all" URL: https://trac.sagemath.org/23675 Reported by: chapoton Ticket author(s): Frédéric Chapoton Reviewer(s): Travis Scrimshaw
-
Release Manager authored
As discussed in https://groups.google.com/forum/#!topic/sage- devel/b1pWen3lrKA, the documentation of Fourier series as implemented in piecewise-defined functions needs some improvement. This ticket provides it, as well as a simplification of the user interface: the half-period is now an optional argument; if not provided, it is inferred from the domain of the piecewise-defined function: {{{ sage: f = piecewise([((0, 2*pi), cos(x))]) sage: f.fourier_series_cosine_coefficient(1) # results in TypeError in Sage 8.0 1 sage: f.fourier_series_cosine_coefficient(1, pi) # compatible with Sage 8.0 1 }}} The ticket also corrects two bugs: - computation of Fourier coefficients when the domain width does not coincide with the period: {{{ sage: f = piecewise([((0, 4*pi), cos(x))]) sage: f.fourier_series_cosine_coefficient(1, pi) # yields 2 in Sage 8.0 1 }}} - despite what it claimed, the method `fourier_series_partial_sum` did not return ''S,,N,,(x)'' but ''S,,N-1,,(x)'' (this is because the summation was governed by `srange(1, N)` instead of `srange(1, N+1)`); we have now {{{ sage: f = piecewise([((0, 2*pi), cos(x))]) sage: f.fourier_series_partial_sum(1, pi) # yields 0 in Sage 8.0 cos(x) }}} URL: https://trac.sagemath.org/23672 Reported by: egourgoulhon Ticket author(s): Eric Gourgoulhon Reviewer(s): Richard L Lozes
-
Release Manager authored
In particular, the following example used to fail: {{{ sage: P0.<x> = ZZ[] sage: P1.<y> = Frac(P0)[] sage: frac = (x/(x^2 + 1))*y + 1/(x^3 + 1) sage: Frac(ZZ['x,y'])(frac) (x^4*y + x^2 + x*y + 1)/(x^5 + x^3 + x^2 + 1) }}} URL: https://trac.sagemath.org/23664 Reported by: mmezzarobba Ticket author(s): Marc Mezzarobba Reviewer(s): Vincent Delecroix
-
Release Manager authored
The implementation contains an infinite loop that is broken when a quantity is less than or equal to 1, however the loop never ends on the following input: {{{ sage: g=graphs.PetersenGraph() sage: g.fractional_chromatic_index(solver="GLPK") }}} The problem seems to depend on the LP solver, using PPL seems to work just fine. Issue seems to be GLPK and CBC/Coin. Relevant sage-devel thread at [1]. Relevant ask.sagemath thread at [2]. [1]: https://groups.google.com/forum/#!topic/sage-devel/hsKxANYAeQI [2]: https://ask.sagemath.org/question/38543/fractional_chromatic_index- in-sage-76-gets-stuck-in-loop-adding-constraints/ URL: https://trac.sagemath.org/23658 Reported by: fidelbarrera Ticket author(s): David Coudert Reviewer(s): Dima Pasechnik
-
Release Manager authored
namely, do not use an element and its inverse as generators This helps to fix partially #15341 URL: https://trac.sagemath.org/23656 Reported by: chapoton Ticket author(s): Frédéric Chapoton Reviewer(s): Vincent Delecroix
-
Release Manager authored
Some more easy cases as part of #10483. URL: https://trac.sagemath.org/23638 Reported by: jdemeyer Ticket author(s): Simon King, Ralf Stephan Reviewer(s): Jeroen Demeyer, Ralf Stephan
-
Release Manager authored
1) `Posets.DiamondPoset(5).is_join_distributive(certificate=True)` gives "global name 'DiGraph' is not defined". 2) Same applies to `is_meet_distributive`. 3) In the doc of `is_join_pseudocomplemented` a "greatest" should be "least". 4) `is_vertically_decomposable` has some mutually exclusive properties. 5) Some seealso-blocks completed. URL: https://trac.sagemath.org/23625 Reported by: jmantysalo Ticket author(s): Jori Mäntysalo Reviewer(s): Travis Scrimshaw
-
Release Manager authored
This ticket implements the fast method `is_trivial_zero` in coordinate functions (classes `sage.manifolds.coord_func.CoordFunction` and `sage.manifolds.coord_func_symb.CoordFunctionSymb`) and scalar fields (class `sage.manifolds.scalarfield.ScalarField`). The method `is_trivial_zero` is then used instead of `== 0` in tensor calculus, especially in tensor assignement, where the check for zero is performed because only nonzero components of a tensor are stored. This avoids the call to Maxima, which can be problematic in some cases, as reported in this [https://groups.google.com/forum/#!topic/sage-devel/teLBaNipBDM sage-devel post]. Moreover, this results in a significant speed-up factor. For instance, the computation time of the coefficients of the Levi-Civita connection of the Kerr-Newman metric, as performed in cell 20 of this [http://nbviewer.jupyter.org/github/sagemanifolds/SageManifol ds/blob/master/Worksheets/v1.0/SM_Kerr_Newman.ipynb example notebook], is reduced from 5.37 s to 4.11 s (this is on a Intel Core i7-6700HQ computer). URL: https://trac.sagemath.org/23623 Reported by: egourgoulhon Ticket author(s): Eric Gourgoulhon Reviewer(s): Richard L Lozes
-
Release Manager authored
Routine upgrade. I have enough of seeing various doctests failing in sage-on-gentoo when using this version. tarball: [https://pypi.python.org/packages/52/67/d9ef9b5058d4a9e3f0ae641 ec151790622cbeb37f157de5773358e2bf3da/scipy-0.19.1.tar.gz] URL: https://trac.sagemath.org/23594 Reported by: fbissey Ticket author(s): François Bissey Reviewer(s): Vincent Delecroix, Jean-Pierre Flori
-
Release Manager authored
Currently Gauss sums are available as method of Dirichlet Groups. Here is code for an implementation for general finite fields. added in src/sage/arith/misc.py URL: https://trac.sagemath.org/23585 Reported by: chapoton Ticket author(s): Frédéric Chapoton Reviewer(s): Vincent Delecroix
-
Release Manager authored
URL: https://trac.sagemath.org/23560 Reported by: aschilling Ticket author(s): Franco Saliola, Travis Scrimshaw, Anne Schilling Reviewer(s): Ben Brubaker
-
Release Manager authored
Standard autotools packages allow variables such as CC to be set at configure time using {{{ ./configure CC=/path/to/gcc }}} In this ticket, we add support for this. (The syntax already works, but the settings right now only end up in the unused file `build/make /Makefile-auto`.) New configure tarball: [https://trac.sagemath.org/raw- attachment/ticket/22646/configure-235.tar.gz] URL: https://trac.sagemath.org/22646 Reported by: mkoeppe Ticket author(s): François Bissey Reviewer(s): Matthias Koeppe, Jeroen Demeyer, Vincent Delecroix, John Palmieri, Dima Pasechnik
-
Release Manager authored
Trac #21526: package autotools: '$SAGE_LOCAL/automake-1.11.6/share/aclocal': No such file or directory I get this when installing `ecm`. A workaround is: {{{ cd automake-1.11.6/share/ && ln -s aclocal-1.11/ aclocal }}} Unclear if this a bug of a specific automake version, or a general shortcoming of the installation scheme of our autotools. This needs investigating. URL: https://trac.sagemath.org/21526 Reported by: mkoeppe Ticket author(s): Erik Bray Reviewer(s): Matthias Koeppe
-
Release Manager authored
{{{ sage: QQx.<x> = QQ[[]] sage: (1+x+O(x^100)).pade(2,2) ------------------------------------------------------------------------ --- IndexError Traceback (most recent call last) <ipython-input-2-9cb1c03a10fc> in <module>() ----> 1 (Integer(1)+x+O(x**Integer(100))).pade(Integer(2),Integer(2)) /Applications/sage-7.3/src/sage/rings/power_series_poly.pyx in sage.rings.power_series_poly.PowerSeries_poly.pade (/Applications/sage-7 .3/src/build/cythonized/sage/rings/power_series_poly.c:12104)() 1120 for i in range(1, n + 1): 1121 for j in range(n + 1): -> 1122 mat[i, j] = c[m + i - j] 1123 for j in range(n + 1): 1124 mat[0, j] = z ** j IndexError: list index out of range }}} Here is a quick fix: {{{ for i in range(1, n + 1): for j in range(n + 1): if m + i - j < len(c): # new line # or # if m + i - j < self.degree(): mat[i, j] = c[m + i - j] }}} URL: https://trac.sagemath.org/21212 Reported by: edgarcosta Ticket author(s): Edgar Costa Reviewer(s): Frédéric Chapoton, Aly Deines, Travis Scrimshaw
-
Release Manager authored
The purpose of this patch is to improve the complexity of is_symmetric function for words from quadratic to linear. To do this, we modify the lps (longest palindrome suffix) function to make it linear (using the last value of lps_lengths), and use a property of the longest palindrome suffix of a square. Apart of the interest for the function in itself, the goal is to make an is_christoffel function that computes the answer in linear time (see ticket #19159). URL: https://trac.sagemath.org/19155 Reported by: nadialafreniere Ticket author(s): Nadia Lafrenière Reviewer(s): Mélodie Lapointe
-
Release Manager authored
Let ''f'' be a newform of weight ''k'' for Γ,,1,,(''n''), and let ''d'' be a divisor of ''n'' that is coprime to ''n/d''. Then the Atkin-Lehner operator ''W,,d,,'' acts by a ''pseudo-eigenvalue'' on ''f'': this is (in the normalisation used by Sage) a complex number ''η'' of absolute value ''d''^''k''/2 - 1^ such that ''W,,d,,f'' = ''ηf''^*^, where ''f''^*^ is a certain twist of ''f''. The main goal of this ticket is to add a method `Newform.atkin_lehner_action(d)` that, given a newform `f`, returns a pair `(eta, g)`, where `eta` is the pseudo-eigenvalue of ''W,,d,,'' on `f` and `g` is the appropriate twist of `f`. This also fixes the following bug. Consider the following newform of weight 2 for Γ,,1,,(30) with coefficients in '''Q'''(''i''): {{{ sage: f = Newforms(Gamma1(30), 2, names='a')[1]; f q + a1*q^2 - a1*q^3 - q^4 + (a1 - 2)*q^5 + O(q^6) sage: f.base_ring() Number Field in a1 with defining polynomial x^2 + 1 sage: f.character() Dirichlet character modulo 30 of conductor 5 mapping 11 |--> 1, 7 |--> -1 }}} The method `atkin_lehner_eigenvalue()` returns a nonsensical result: {{{ sage: f.atkin_lehner_eigenvalue() -2 }}} This is just the upper left entry of the matrix of the Atkin-Lehner operator ''W'',,30,, with respect to some basis of the space of modular symbols attached to ''f'': {{{ sage: f.modular_symbols(sign=1).atkin_lehner_operator() Hecke module morphism Atkin-Lehner operator W_30 defined by the matrix [-2 -3] [ 1 2] Domain: Modular Symbols subspace of dimension 2 of Modular Symbols space ... Codomain: Modular Symbols subspace of dimension 2 of Modular Symbols space ... }}} URL: https://trac.sagemath.org/18061 Reported by: pbruin Ticket author(s): Peter Bruin, David Loeffler Reviewer(s): Peter Bruin, David Loeffler, Frédéric Chapoton
-
Release Manager authored
In `sage/env.py`, the function `_add_variable_or_fallback` does some variable substitution: if a string contains `$VAR`, it substitutes the value of `VAR` in the dictionary `SAGE_ENV`. It does this by iterating through the items of `SAGE_ENV`, which means that if both `VAR` and `VAR_OTHER` are in `SAGE_ENV`, it's sort of a coin toss as to what happens when it comes across `$VAR_OTHER`. (This arose when I was working on #21469: the string `$SAGE_SRC_ROOT` was being replaced by the value of `SAGE_SRC`, followed by the string `_ROOT`.) URL: https://trac.sagemath.org/23758 Reported by: jhpalmieri Ticket author(s): John H. Palmieri Reviewer(s): Matthias Koeppe
-
Release Manager authored
{{{ sage: X = SchubertPolynomialRing(ZZ) sage: a = X([3,2,4,1]) sage: a.divided_difference(2) python: : Unknown error -315708632 }}} The error number is random every time. The result should be 0. URL: https://trac.sagemath.org/23403 Reported by: tscrim Ticket author(s): Travis Scrimshaw Reviewer(s): Darij Grinberg
-
Release Manager authored
#23485 mistakenly used `def _richcmp_` instead of `cpdef _richmp_`. URL: https://trac.sagemath.org/23750 Reported by: jdemeyer Ticket author(s): Jeroen Demeyer Reviewer(s): Travis Scrimshaw
-
Release Manager authored
Stopgap for #17696. URL: https://trac.sagemath.org/23644 Reported by: saraedum Ticket author(s): Julian Rüth, Maarten Derickx Reviewer(s): David Roe
-
Release Manager authored
At #20913 pip was patched so that it works without ssl support, and this patch was also submitted upstream. Upstream has since merged the patch at https://github.com/pypa/pip/issues/1165 into 9.0.1. So it makes sense to upgrade pip to this new version in order to have an unpatched pip in sage. The pip tarbal can be found at [https://pypi.python.org/packages/11/b6/a bcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.ta r.gz#md5=35f01da33009719497f01a4ba69d63c9] URL: https://trac.sagemath.org/23615 Reported by: mderickx Ticket author(s): Maarten Derickx Reviewer(s): Jeroen Demeyer
-
Release Manager authored
I have implemented rational reconstruct over a generic univariate polynomial ring. I'm not sure if I put in the right place, if not, please let me know. URL: https://trac.sagemath.org/23534 Reported by: edgarcosta Ticket author(s): Edgar Costa Reviewer(s): Aly Deines, Travis Scrimshaw
-