1. 20 Aug, 2018 1 commit
2. 05 Aug, 2018 4 commits
• Updated SageMath version to 8.4.beta0 · ada43b34
Volker Braun authored
• Trac #25897: Incorrect Comparison of embedding index in projective_embedding · 5a9630a7
Release Manager authored
```Consider this example:

{{{
sage: A.<x,y> = AffineSpace(ZZ, 2)
sage: A.projective_embedding(4)
1 A = AffineSpace(ZZ, Integer(2), names=('x', 'y',)); (x, y,) =
A._first_ngens(2)
----> 2 A.projective_embedding(Integer(3))

/home/raghukul/sage/sage/local/lib/python2.7/site-
packages/sage/schemes/affine/affine_space.pyc in
projective_embedding(self, i, PP)
724         self.__projective_embedding[i] = phi
725         #make affine patch and projective embedding match
--> 726         PP.affine_patch(i,self)
727         return phi
728

/home/raghukul/sage/sage/local/lib/python2.7/site-
packages/sage/schemes/projective/projective_space.pyc in
affine_patch(self, i, AA)
978         n = self.dimension_relative()
979         if i < 0 or i > n:
--> 980             raise ValueError("argument i (= %s) must be between
0 and %s"%(i, n))
981         try:
982             A = self.__affine_patches[i]

ValueError: argument i (= 3) must be between 0 and 2
}}}

This however returns a `ValueError`, but only when the affine patch is
generated for corresponding `ProjectiveSpace`. It simply skips the check
for index in projective_embedding().

Following line in projective_embedding needs to be corrected:
{{{
#!python
if n < 0 or n >self.dimension_relative():
raise ValueError("argument i (=%s) must be betwzzeen 0 and
%s, inclusive"%(i,n))
}}}

URL: https://trac.sagemath.org/25897
Reported by: raghukul01
Ticket author(s): Raghukul Raman
Reviewer(s): Ben Hutz```
• Trac #25895: LatticePoset, optimize congruence-related functions for trivial cases · 2220712b
Release Manager authored
```This patch adds an internal function to find "double-double
-irreducible". To be used for counting out trivial cases for
`is_isoform` etc.

URL: https://trac.sagemath.org/25895
Reported by: jmantysalo
Ticket author(s): Jori Mäntysalo
Reviewer(s): Travis Scrimshaw```
• Trac #25893: some care for sphinx warnings · 7a3b5b69
Release Manager authored
```but not all of them..

URL: https://trac.sagemath.org/25893
Reported by: chapoton
Ticket author(s): Frédéric Chapoton
Reviewer(s): Travis Scrimshaw```
3. 03 Aug, 2018 35 commits
• Trac #25881: adding some doctests in interval-posets · 6c7cbb32
Release Manager authored
```URL: https://trac.sagemath.org/25881
Reported by: chapoton
Ticket author(s): Frédéric Chapoton
Reviewer(s): Travis Scrimshaw```
• Trac #25880: cleanup of free Zinbiel algebras · e4e2c03f
Release Manager authored
```full pep8, pyflakes and coverage

URL: https://trac.sagemath.org/25880
Reported by: chapoton
Ticket author(s): Frédéric Chapoton
Reviewer(s): Travis Scrimshaw```
• Trac #25879: Residue incorrect for extensions of CA and FM extensions · 4fd68dba
Release Manager authored
```This has been reported on sage-devel recently:
{{{
sage: K = ZpCA(3,5)
sage: R.<a> = K[]
sage: L.<a> = K.extension(a^2 - 3)
sage: a.residue()
1
}}}

URL: https://trac.sagemath.org/25879
Reported by: saraedum
Ticket author(s): Julian Rüth
Reviewer(s): Frédéric Chapoton```
• Trac #25878: Implement Height function for product morphism · 47959c3f
Release Manager authored
```Implement `local_height` and `global_height` function for product
morphism.

URL: https://trac.sagemath.org/25878
Reported by: raghukul01
Ticket author(s): Raghukul Raman
Reviewer(s): Ben Hutz```
• Trac #25876: pyflakes fix in tableau · ccacb995
Release Manager authored
```a minimal fix to get rid of an annoying pyflakes warning.

URL: https://trac.sagemath.org/25876
Reported by: mantepse
Ticket author(s): Martin Rubey
Reviewer(s): Frédéric Chapoton```
• Trac #25873: removing some "if len(...) > 0" in various pyx files · 18e8dc71
Release Manager authored
```URL: https://trac.sagemath.org/25873
Reported by: chapoton
Ticket author(s): Frédéric Chapoton
Reviewer(s): Vincent Klein```
• Trac #25871: Add option to control GC during doctests · 588f0354
Release Manager authored
```A new option `--gc` is proposed to the Sage doctesting framework. It can
be used to control garbage collection as follows:

- `--gc=default`: Python default

- `--gc=always`: run `gc.collect()` before every single test (unless GC
was explicitly disabled)

- `--gc=never`: completely disable GC during doctests

I would have found this useful several times for debugging GC-related
failures or for more consistent timing of tests.

Note that `--gc=always` causes a few doctest failures
{{{
sage -t src/sage/modular/abvar/abvar_ambient_jacobian.py  # 1 doctest
failed
sage -t src/sage/categories/fields.py  # 1 doctest failed
sage -t src/sage/modular/abvar/abvar.py  # 1 doctest failed
}}}
but it's not the goal of this ticket to fix these.

URL: https://trac.sagemath.org/25871
Reported by: jdemeyer
Ticket author(s): Jeroen Demeyer
Reviewer(s): Travis Scrimshaw```
• Trac #25858: mpir build failures with some Haswell CPUs · 5add43b9
Release Manager authored
```See https://github.com/wbhart/mpir/pull/252

URL: https://trac.sagemath.org/25858
Reported by: embray
Ticket author(s): Erik Bray
Reviewer(s): Travis Scrimshaw```
• Trac #25855: new methods "is_extremal" and "is_left_modular_element" for lattices · accfe220
Release Manager authored
```URL: https://trac.sagemath.org/25855
Reported by: chapoton
Ticket author(s): Frédéric Chapoton
Reviewer(s): Jori Mäntysalo```
• Trac #25848: Some preparations for binding=True · 97401419
Release Manager authored
```These are a few assorted fixes to enable `binding=True`:

1. Enable `binding=True` on some non-performance-critical unpickling
functions. These regularly occur in `__reduce__` doctests, causing
annoying doctest failures. In a few cases, the unpickling function can
be removed completely.

2. Compile `__getmetaclass__` with `binding=False` otherwise it won't
work.

3. Resolve a cyclic import involving `sage.rings.convert.mpfi` by
explicitly importing it.

4. In `src/sage/categories/category.py`, assign the helpers as
staticmethod to prevent binding.

URL: https://trac.sagemath.org/25848
Reported by: jdemeyer
Ticket author(s): Jeroen Demeyer
Reviewer(s): Travis Scrimshaw```
• Trac #25845: Move Set_PythonType to a separate file · d589e8c1
Release Manager authored
```This is done mainly to avoid cyclic imports when enabling `binding=True`
(#22747).

I'm also removing this pointless implementation of `cardinality()`:
{{{
def cardinality(self):
from sage.rings.integer import Integer
two = Integer(2)
if self._type is bool:
return two
elif self._type is int:
import sys
return two * sys.maxsize + 2
elif self._type is float:
return 2 * two**52 * (two**11 - 1) + 3 # all NaN's are the
same from Python's point of view
else:
# probably
import sage.rings.infinity
return sage.rings.infinity.infinity
}}}
Somebody probably found this clever, but it's just silly... who cares
how many different `int` instances there exist? Besides, it's wrong in
Python 3.

URL: https://trac.sagemath.org/25845
Reported by: jdemeyer
Ticket author(s): Jeroen Demeyer
Reviewer(s): Travis Scrimshaw```
• Trac #25843: Move extlinks into the main Sage code · ccfe79a3
Release Manager authored
```Split off from #25786

URL: https://trac.sagemath.org/25843
Reported by: jdemeyer
Ticket author(s): Julian Rüth
Reviewer(s): Jeroen Demeyer```
• Trac #25842: Upgrade to Cython 0.28.4 · e2e495b8
Release Manager authored
```and add a fix for https://github.com/cython/cython/pull/2493

'''Tarball''': https://files.pythonhosted.org/packages/d2/12/8ef44cede25

URL: https://trac.sagemath.org/25842
Reported by: jdemeyer
Ticket author(s): Jeroen Demeyer
Reviewer(s): Travis Scrimshaw```
• Trac #25841: small cleanup in jacobian_generic.py · 42f25330
Release Manager authored
```- removal of {{{_cmp_}}}
- pep and pyflakes

URL: https://trac.sagemath.org/25841
Reported by: chapoton
Ticket author(s): Frédéric Chapoton
Reviewer(s): Travis Scrimshaw```
• Trac #25832: py3: replacing some .vertices() by .vertex_iterator() · 364dd1c8
Release Manager authored
```mainly inside loops.

* This is faster
* This does not sort the vertices

Inspired by ##22349

Found using
{{{
git grep "for.*\.vertices()" src/sage/quivers/
git grep "for.*\.vertices()" src/sage/combinat/
}}}

URL: https://trac.sagemath.org/25832
Reported by: chapoton
Ticket author(s): Frédéric Chapoton
Reviewer(s): David Coudert```
• Trac #25824: py3: get rid of cmp() in the doc of element.pyx · c1a046b0
Release Manager authored
```which is the last call of cmp() anywhere..

URL: https://trac.sagemath.org/25824
Reported by: chapoton
Ticket author(s): Frédéric Chapoton
Reviewer(s): Travis Scrimshaw```
• Trac #25813: Upgrade cypari2 · 503ac464
Release Manager authored
```Upgrade to the new release of `cypari2` which is compatible with newer
versions of PARI/GP.

'''Tarball''': https://files.pythonhosted.org/packages/1e/c6/44db1db0ff3
14ca632c321899ee1a371ea9b6e045f56bb425314d73740b7/cypari2-1.2.1.tar.gz

URL: https://trac.sagemath.org/25813
Reported by: jdemeyer
Ticket author(s): Jeroen Demeyer
Reviewer(s): Travis Scrimshaw```
• Trac #25809: sage --info tries to write to SAGE_SPKG_SCRIPTS · 3ed549f9
Release Manager authored
```sage --info currently unnecessarily needs write access to
SAGE_SPKG_SCRIPTS, which typically will be in a read-only or root owned
location for distros. This fixes that by moving the mkdir commands to
the appropriate section of the file, after `--info` has exited.

URL: https://trac.sagemath.org/25809
Reported by: gh-timokau
Ticket author(s): Timo Kaufmann
Reviewer(s): Erik Bray```
• Trac #25808: py3: fix some details in combinat · 709f2658
Release Manager authored
```in shuffle, asm, subset, growth files

URL: https://trac.sagemath.org/25808
Reported by: chapoton
Ticket author(s): Frédéric Chapoton
Reviewer(s): Travis Scrimshaw```
• Trac #25807: fix equality of subword complexes · 461f55d7
Release Manager authored
```no need for {{{__eq__}}} as this class inherits from
{{{UniqueRepresentation}}}

URL: https://trac.sagemath.org/25807
Reported by: chapoton
Ticket author(s): Frédéric Chapoton
Reviewer(s): Travis Scrimshaw```
• Trac #25799: Remove hardcoded default matplotlib stylesheet · 1293a23e
Release Manager authored
```This does not work:
{{{
import matplotlib as mpl
mpl.rcParams['font.family'] = 'Impact'
text("A text here", (1,1))
}}}
because of hardcoded matplotlib stylesheet (`classic`), which silently
overwrites the rc parameters. Putting configurations in the file
`matplotlibrc` also does not work because of the same reason.

The patch removes the hardcoded default matplotlib stylesheet that
silently applies to all graphics.  With this patch, the usual method to
apply a style to graphics works, like
{{{
import matplotlib.pyplot as plt
plt.style.use('seaborn')
text("A text here", (1,1))
}}}

There was more discussion on this matter before at
ticket:23696#comment:111.

URL: https://trac.sagemath.org/25799
Reported by: klee
Ticket author(s): Kwankyu Lee
Reviewer(s): Eric Gourgoulhon, François Bissey```
• Trac #25788: py3: some details in clusters and graphs · 327e1d17
Release Manager authored
```URL: https://trac.sagemath.org/25788
Reported by: chapoton
Ticket author(s): Frédéric Chapoton
Reviewer(s): Travis Scrimshaw```
• Trac #25784: Typo in Polyhedra tutorial · cb3c5e6e
Release Manager authored
```Fixed a typo in the new thematic tutorial on polyhedra.

URL: https://trac.sagemath.org/25784
Reported by: jipilab
Ticket author(s): Jean-Philippe Labbé
Reviewer(s): Frédéric Chapoton```
• Trac #25783: enable conversion of PrimeField from FriCAS to sage · 7bdd7d9c
Release Manager authored
```The following should work:
{{{
sage: fricas("matrix [[1::PF 3, 2],[2, 0]]").sage().parent()
Full MatrixSpace of 2 by 2 dense matrices over Finite Field of size 3
}}}

URL: https://trac.sagemath.org/25783
Reported by: mantepse
Ticket author(s): Martin Rubey
Reviewer(s): Frédéric Chapoton```
• Trac #25780: Normalize bound checking in points function · bcd7cca6
Release Manager authored
```Consider this example
{{{
sage: P.<x,y> = ProjectiveSpace(QQ, 1)
sage: print sorted(list(P.points_of_bounded_height(bound=3)))
[(-2 : 1), (-1 : 1), (-1/2 : 1), (0 : 1), (1/2 : 1), (1 : 0), (1 : 1),
(2 : 1)]
}}}
Points of height 3 are not present.
{{{
sage: P.<x,y,z> = ProjectiveSpace(2,QQ)
sage: list(P.points_of_bounded_height(bound=5))
}}}
here we have some points like `(2 : -4/3 : 1)` which have height=6, if
we use enum_projective_rational_field function results are as we would
expect. So the underlying definition for height of rational points need
to be uniform in all these functions.

URL: https://trac.sagemath.org/25780
Reported by: raghukul01
Ticket author(s): Raghukul Raman
Reviewer(s): Ben Hutz```
• Trac #25778: py3 really remove __cmp__ in lazy_import.pyx · 0ed2580f
Release Manager authored
```sequel of #21247, 2 years later

URL: https://trac.sagemath.org/25778
Reported by: chapoton
Ticket author(s): Frédéric Chapoton
Reviewer(s): Jeroen Demeyer```
• Trac #25777: adding partition keyword for plot3d of graphs · cff00f0b
Release Manager authored
```URL: https://trac.sagemath.org/25777
Reported by: chapoton
Ticket author(s): Frédéric Chapoton
Reviewer(s): David Coudert, Travis Scrimshaw```
• Trac #25770: py3: adapt two more scripts · 44891681
Release Manager authored
```URL: https://trac.sagemath.org/25770
Reported by: chapoton
Ticket author(s): Frédéric Chapoton
Reviewer(s): Erik Bray```
• Trac #25769: do not sort the vertices inside connected components unless required · 9e9e23c6
Release Manager authored
```This should be helpful for python3

URL: https://trac.sagemath.org/25769
Reported by: chapoton
Ticket author(s): Frédéric Chapoton
Reviewer(s): David Coudert```
• Trac #25767: Update saclib to 2.2.7 and qepcad to B.1.71 · e4fb295e
Release Manager authored
```As the title says.

Tarballs:

-
.gz

URL: https://trac.sagemath.org/25767
Reported by: tmonteil
Ticket author(s): Thierry Monteil
Reviewer(s): Dima Pasechnik```
• Trac #25761: Matrices to elements of finite unitary groups are not unitary! · 5512205f
Release Manager authored
```Example:
{{{
sage: G32=GU(3,2)
sage: g1, g2 =G32.gens()
sage: g1.matrix().is_unitary()
False
}}}

The consequence of this is that the matrix cannot be coerced back to the
group:

{{{
sage: G32(g1.matrix())
Traceback (most recent call last):
...
TypeError: matrix must be unitary
}}}

URL: https://trac.sagemath.org/25761
Reported by: soehms
Ticket author(s): Sebastian Oehms
Reviewer(s): Travis Scrimshaw```
• Trac #25760: Adding other versions to the burau_matrix method of the braid group class · 1dd411a2
Release Manager authored
```1) Version of the Burau matrix according to Wikipeda

2) Unitary version according to: C. C. Squier:`THE BURAU REPRESENTATION
IS UNITARY`, PROCEEDINGS OF THE AMERICAN MATHEMATICAL SOCIETY, Volume
90. Number 2, February 1984

URL: https://trac.sagemath.org/25760
Reported by: soehms
Ticket author(s): Sebastian Oehms
Reviewer(s): Travis Scrimshaw```
• Trac #25756: Converting symbolic product to sympy fail · 16d68b73
Release Manager authored
```Converting symbolic products from Sage expression to sympy's fail
because [http://docs.sympy.org/latest/modules/concrete.html#sympy.concre
te.products.Product sympy expects] two arguments `Product(k, (k, 1, n))`

{{{#!sage
sage: var("n,k")
(n, k)
sage: f = product(factorial(k)*k^7,k,1,n)
sage: f._sympy_()
ValueError                                Traceback (most recent call
last)
[snip]
ValueError: Invalid limits given: (k, 1, n)
}}}

Note that sums do work:
{{{#!sage
sage: g = sum(factorial(k)*k^7,k,1,n)
sage: g._sympy_()
sum(k**7*factorial(k), k, 1, n)
}}}

URL: https://trac.sagemath.org/25756
Reported by: mathzeta2
Ticket author(s): Miguel Marco, Tomer Bauer
Reviewer(s): Miguel Marco, Tomer Bauer```
• Trac #25755: Patch numpy to fix issue with python3.7 · 5c04be1b
Release Manager authored
```Following discussion https://trac.sagemath.org/ticket/25680#comment:35

fix {{{numpy}}}'s ​issue [https://github.com/numpy/numpy/issues/10500
#10500].

Force to recythonize during numpy install.

URL: https://trac.sagemath.org/25755
Reported by: vklein
Ticket author(s): Vincent Klein
Reviewer(s): Jeroen Demeyer```
• Trac #25754: Cache the basis for filtered_modules_with_basis · ca472d3c
Release Manager authored
```We cache the generic `basis()`, and not caching the filtered version
causes significant slowdowns when calling, e.g., `monomial()` of Lie
algebras:
{{{
sage: L = lie_algebras.sl(QQ,5)
sage: %time M = L.killing_form_matrix()
CPU times: user 7.4 s, sys: 33.2 ms, total: 7.43 s
Wall time: 7.37 s
}}}
versus with caching
{{{
sage: L = lie_algebras.sl(QQ,5)
sage: %time M = L.killing_form_matrix()
CPU times: user 1.39 s, sys: 38.3 ms, total: 1.42 s
Wall time: 1.38 s
}}}

URL: https://trac.sagemath.org/25754
Reported by: tscrim
Ticket author(s): Travis Scrimshaw
Reviewer(s): Vít Tuček```