Sage 9.2.beta10 released

209 views
Skip to first unread message

Volker Braun

unread,
Aug 23, 2020, 6:15:43 PM8/23/20
to sage-release
As always, you can get the latest beta version from the "develop" git branch. Alternatively, the self-contained source tarball is at http://www.sagemath.org/download-latest.html 

This is most likely the last beta of this series so if you want something merged now is a good time to get it ready ;-)

30cac80dd7 (tag: 9.2.beta10) Updated SageMath version to 9.2.beta10
e0e5b0c014 Trac #27986: Add function to return the nth s-gonal number
2c076c48c6 Trac #30397: Remove old Python 2 code from cython files
097aaee588 Trac #30376: fix a bunch of little doc details
3bb73d6f81 Trac #30357: Add missing SPKG.rst file for pybind11
0ab19d73ea Trac #30347: fix some lgtm suggestions
9746d70e4a Trac #30322: Deprecate import of classes Sigma, Euler_Phi, Moebius to the global namespace
7237719dcd Trac #30035: Invariants of Ternary Cubic Forms do not live in the base ring
bf3e00c750 Trac #29782: BSD normalization for some elliptic curve quantities
b9fd68f163 Trac #29709: Frobenius on elliptic curves in Weierstrass form
5f89699d18 Trac #29468: QQbar decorators should handle sequences
c051d996ac Trac #29412: Deprecate cotangent methods named "cotan" to "cot"
7795239d3e Trac #27734: Fractional chromatic number
0ddbeb876f Trac #27593: sage.plot.plot3d.texture minor refactoring
90dfcf32f4 Trac #25253: Singular can't handle nested lists
0d2e44469d Trac #24302: Different of an Element of a Number Field
25ec75f9fe Trac #30391: Fixing a misplaced `::` in doc/en/developer/packaging.rst
027d34ee64 Trac #30372: Replace NumberField_generic.__latex_variable_name by ._latex_names
be525d64c3 Trac #30368: use libgap for ordered partitions
d2c63395d1 Trac #30367: use libgap in combination.py
a23096cbfb Trac #30366: refresh the coding_basics rst file
5141739a82 Trac #30359: remove deprecated syntax for octal integers input
78ff9c0f79 Trac #30355: Graphs: simple bipartite double method added to undirected graphs
b93c021016 Trac #30354: Remove cddlib spkg-src useless file
e8498b4e39 Trac #30341: pexpect bug with Magma: conversion of rational polynomials
4bca77e5a0 Trac #30297: Elliptic curve lift_x with extend for p-adics needs names argument
1019f535e4 Trac #30295: Hyperbolic Functions for PowerSeriesRing
c1f0e5d754 Trac #30293: bug in lawrence_extension
873aa6264d Trac #30273: Add Ribbon and Mobile Poset examples
e40d538ba1 Trac #29600: number_of_partitions returns wrong results under the Windows Subsystem for Linux
10ec4fa3cd Trac #29171: Move giacpy_sage into sage source code
611a2d616f Trac #30063: Upgrade Maxima to 5.44.0
044f48839e Trac #30058: refresh the tachyon.py file
51eebcb9fe Trac #29653: Add system package information for FreeBSD
8632d84054 Trac #27309: Update FriCAS to 1.3.6
5f8d2b01d4 Trac #30342: update sagetex to version 3.5
21758951e3 Trac #29456: configure: Accept gcc/gfortran 10.x
eb2156d170 Trac #30281: remove __reduce__ method from Mutability
578233da45 Trac #30269: memory efficient implementation of distances distribution
ce564f35b1 Trac #30265: Add functionalities to edges(...)
9fed3e96e6 Trac #30247: memory efficient implementation of Wiener index
db5a79e805 Trac #30221: MR46: Fix some compiler warnings, mostly by using size_t for indexing
b598711b16 Trac #30214: Add to_digraph method to Permutation
6e894c8390 Trac #30144: tox.ini / tox.yml: Move code for tagging/pushing docker images into tox.ini
07b404e360 Trac #30140: remove deprecated method set_planar_positions
22152dc8b8 Trac #30073: Laurent series ring constructor crashes on negative exponents
c8a3320d5d Trac #27842: Symbolic eigenvector computation gives unexpected results
765827bdea Trac #24658: Don't call Maxima with no-variable symbolic relation tests
a115649f40 Trac #28517: Make the evaluation of symbolic functions on intervals more reliable
548666e9f2 (tag: 9.2.beta9) Updated SageMath version to 9.2.beta9

Thierry Dumont

unread,
Aug 24, 2020, 5:02:06 AM8/24/20
to sage-r...@googlegroups.com
Ubuntu 20-04, migration from 9.2 beta9 to beta 10.

-compilation ok.
-make ptestlong: All tests passed!
t.d.
tdumont.vcf

Thierry

unread,
Aug 24, 2020, 6:06:15 AM8/24/20
to sage-r...@googlegroups.com
Hi,

apparently, fricas-1.3.6-full.tar.bz2 is missing on the mirrors.

Related ticket : https://trac.sagemath.org/ticket/27309

Ciao,
Thierry
> --
> You received this message because you are subscribed to the Google Groups "sage-release" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-release...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/da0bbb90-2c46-9145-4312-57f1f6db7f0e%40math.univ-lyon1.fr.

> begin:vcard
> fn:Thierry Dumont
> n:Dumont;Thierry
> org;quoted-printable;quoted-printable:CNRS & Universit=C3=A9 Lyon 1.;Institut Camille Jordan -- Math=C3=A9matiques / Mathematics.
> adr:;;43 Bd du 11 Novembre 1918;Villeurbanne;;69621;France
> email;internet:tdu...@math.univ-lyon1.fr
> tel;work:04 72 44 85 23.
> tel;fax:04 72 44 80 53
> note:github: https://github.com/thierry-dumont
> x-mozilla-html:FALSE
> url:http://math.univ-lyon1.fr/~tdumont
> version:2.1
> end:vcard
>

Dima Pasechnik

unread,
Aug 24, 2020, 6:35:57 AM8/24/20
to sage-release
On Mon, Aug 24, 2020 at 11:06 AM Thierry
<sage-goo...@lma.metelu.net> wrote:
>
> Hi,
>
> apparently, fricas-1.3.6-full.tar.bz2 is missing on the mirrors.
>
> Related ticket : https://trac.sagemath.org/ticket/27309
>

in view of --enable-download-from-upstream-url option, this is mostly
important for stable releases.
By the way, shouldn't this option be default, at least for development purposes?
It's annoying to type it all the time.

Dima
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/20200824100614.5urjpahnm5mqn6fp%40metelu.net.

Kenji Iohara

unread,
Aug 24, 2020, 9:09:59 AM8/24/20
to sage-r...@googlegroups.com
I could compile (first built) on Mac OS 10.15.6 (2.3 GHz dualcore Intel Core i5).
But for ptestlong, I had

File "src/sage/libs/singular/polynomial.pyx", line 187, in sage.libs.singular.polynomial.singular_polynomial_call
Warning, slow doctest:
    for i in range(30):  # long time
        n = leak(10000)
        print("Leaked {} bytes".format(n))
        if n == 0:
            zeros += 1
            if zeros >= 6:
                break
        else:
            zeros = 0
Test ran for 171.10 s
    [55 tests, 171.55 s]
----------------------------------------------------------------------
sage -t --long --warn-long 123.6 --random-seed=0 src/sage/misc/sageinspect.py  # 1 doctest failed
sage -t --long --warn-long 123.6 --random-seed=0 src/sage/interfaces/r.py  # 1 doctest failed
sage -t --long --warn-long 123.6 --random-seed=0 src/sage/interfaces/interface.py  # 1 doctest failed
sage -t --long --warn-long 123.6 --random-seed=0 src/sage/repl/ipython_tests.py  # 1 doctest failed
sage -t --long --warn-long 123.6 --random-seed=0 src/doc/en/prep/Quickstarts/Statistics-and-Distributions.rst  # 1 doctest failed
sage -t --long --warn-long 123.6 --random-seed=0 src/sage/stats/r.py  # 1 doctest failed
----------------------------------------------------------------------
Total time for all tests: 6261.5 seconds
    cpu time: 17069.8 seconds
    cumulative wall time: 24215.9 seconds
make: *** [ptestlong] Error 1

ptestlong.log

Andrey Novoseltsev

unread,
Aug 24, 2020, 9:59:14 AM8/24/20
to sage-release
I am not personally working on getting it ready, but I strongly believe that no release should happen until
is resolved - while it does not affect doctests, it hugely affects live usage.

Emmanuel Charpentier

unread,
Aug 24, 2020, 11:54:36 AM8/24/20
to sage-release
I second your passing of this issue to "blocker".

Emmanuel Charpentier

unread,
Aug 24, 2020, 11:57:56 AM8/24/20
to sage-release
FWIW, on Debian testing running on core i7 + 16 GB RAM, upgrading from 9.2.beta9 + ptestlong gives me the same permanent failures obtained since 9.2.beta5.

HTH, 

Justin C. Walker

unread,
Aug 30, 2020, 4:06:00 PM8/30/20
to sage-r...@googlegroups.com


> On Aug 23, 2020, at 15:15 , Volker Braun <vbrau...@gmail.com> wrote:
>
> As always, you can get the latest beta version from the "develop" git branch. Alternatively, the self-contained source tarball is at http://www.sagemath.org/download-latest.html

Built from fresh clones of the 9.2.b10 tree on three macOS systems: 10.13.6 (2019 iMac Pro, 18-core Xeon W), 10.14.6 (2017 MBP, Quad-core Core i7), and 10.15.6 (2019 MBP, 8-core Core i9).

The builds completed w/o problems on all systems, and all tests passed.

Justin

--
Justin C. Walker, Curmudgeon-At-Large
Institute for the Enhancement of the Director's Income
--------
When LuteFisk is outlawed,
Only outlaws will have LuteFisk
--------



david....@gmail.com

unread,
Aug 31, 2020, 6:02:12 AM8/31/20
to sage-release
After incremental build from 9.2.beta9, I'm having troubles with 9.2.beta10 running doctests on macOS 10.15.6.
I can do ./sage -t src/sage/graphs/orientations.py
but ./sage -t src/sage/graphs/graph.py  never ends :(

I can try make dist-clean if we have no other solution... 

====
sapristi:sage dcoudert$ ./sage -t src/sage/graphs/orientations.py
Running doctests with ID 2020-08-31-11-56-11-afbcd973.
Git branch: develop
Using --optional=benzene,bliss,build,dochtml,igraph,plantri,python_igraph,sage,tdlib
Doctesting 1 file.
sage -t --warn-long 135.8 --random-seed=0 src/sage/graphs/orientations.py
    [28 tests, 0.25 s]
----------------------------------------------------------------------
All tests passed!
----------------------------------------------------------------------
Total time for all tests: 0.3 seconds
    cpu time: 0.2 seconds
    cumulative wall time: 0.3 seconds
sapristi:sage dcoudert$
sapristi:sage dcoudert$ ./sage -t --verbose src/sage/graphs/graph.py
Running doctests with ID 2020-08-31-11-53-01-8842808d.
Git branch: develop
Using --optional=benzene,bliss,build,dochtml,igraph,plantri,python_igraph,sage,tdlib
Doctesting 1 file.
sage -t --warn-long 135.8 --random-seed=0 src/sage/graphs/graph.py
Trying (line 105):    d = {0: [1,4,5], 1: [2,6], 2: [3,7], 3: [4,8], 4: [9], 5: [7, 8], 6: [8,9], 7: [9]}
Expecting nothing
ok [0.00 s]
Trying (line 107):    G = Graph(d); G
Expecting:
    Graph on 10 vertices
ok [0.01 s]
Trying (line 109):    G.plot().show()    # or G.show()
Expecting nothing
^CKilling test src/sage/graphs/graph.py
----------------------------------------------------------------------
Doctests interrupted: 0/1 files tested
----------------------------------------------------------------------
Total time for all tests: 88.0 seconds
    cpu time: 0.0 seconds
    cumulative wall time: 0.0 seconds

Dima Pasechnik

unread,
Aug 31, 2020, 6:35:18 AM8/31/20
to sage-release
can you run this at sage prompt?

> Expecting nothing
> ^CKilling test src/sage/graphs/graph.py
> ----------------------------------------------------------------------
> Doctests interrupted: 0/1 files tested
> ----------------------------------------------------------------------
> Total time for all tests: 88.0 seconds
> cpu time: 0.0 seconds
> cumulative wall time: 0.0 seconds
>
> Le dimanche 30 août 2020 à 22:06:00 UTC+2, jus...@mac.com a écrit :
>>
>>
>>
>> > On Aug 23, 2020, at 15:15 , Volker Braun <vbrau...@gmail.com> wrote:
>> >
>> > As always, you can get the latest beta version from the "develop" git branch. Alternatively, the self-contained source tarball is at http://www.sagemath.org/download-latest.html
>>
>> Built from fresh clones of the 9.2.b10 tree on three macOS systems: 10.13.6 (2019 iMac Pro, 18-core Xeon W), 10.14.6 (2017 MBP, Quad-core Core i7), and 10.15.6 (2019 MBP, 8-core Core i9).
>>
>> The builds completed w/o problems on all systems, and all tests passed.
>>
>> Justin
>>
>> --
>> Justin C. Walker, Curmudgeon-At-Large
>> Institute for the Enhancement of the Director's Income
>> --------
>> When LuteFisk is outlawed,
>> Only outlaws will have LuteFisk
>> --------
>>
>>
>>
> --
> You received this message because you are subscribed to the Google Groups "sage-release" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-release...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/03fa662d-69da-497e-b915-a297a613e3b4n%40googlegroups.com.

David Coudert

unread,
Aug 31, 2020, 7:54:09 AM8/31/20
to sage-r...@googlegroups.com
Yes, it runs on sage prompt as expected. Below the tests up to line 396 in graph.py


sage:        sage: d = {0: [1,4,5], 1: [2,6], 2: [3,7], 3: [4,8], 4: [9], \ 
....:              5: [7, 8], 6: [8,9], 7: [9]} 
....:        sage: G = Graph(d); G 
....:                                                                                                                               
Graph on 10 vertices
sage:        sage: G.plot().show()    # or G.show() 
....:                                                                                                                               
Launched png viewer for Graphics object consisting of 26 graphics primitives
sage:        sage: import networkx 
....:        sage: K = networkx.complete_bipartite_graph(12,7
....:        sage: G = Graph(K) 
....:        sage: G.degree() 
....:                                                                                                                               
[7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 12, 12, 12, 12, 12, 12, 12]
sage:        sage: s = ':I`AKGsaOs`cI]Gb~' 
....:        sage: G = Graph(s, sparse=True); G 
....:                                                                                                                               
Looped multi-graph on 10 vertices
sage:        sage: G.plot().show()    # or G.show() 
....:                                                                                                                               
Launched png viewer for Graphics object consisting of 28 graphics primitives
sage:        sage: G = Graph('Ihe\n@GUA'
....:                                                                                                                               
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-7-732afd85eb01> in <module>
----> 1 G = Graph('Ihe\n@GUA')

~/sage/local/lib/python3.7/site-packages/sage/graphs/graph.py in __init__(self, data, pos, loops, format, weighted, data_structure, vertex_labels, name, multiedges, convert_empty_dict_labels_to_None, sparse, immutable)
   1141             self.allow_multiple_edges(multiedges if multiedges else False, check=False)
   1142             from .graph_input import from_graph6
-> 1143             from_graph6(self, data)
   1144 
   1145         elif format == 'sparse6':

~/sage/local/lib/python3.7/site-packages/sage/graphs/graph_input.py in from_graph6(G, g6_string)
     57         raise RuntimeError("the string (%s) seems corrupt: for n = %d, the string is too long"%(ss, n))
     58     elif len(m) < expected:
---> 59         raise RuntimeError("the string (%s) seems corrupt: for n = %d, the string is too short"%(ss, n))
     60     G.add_vertices(range(n))
     61     k = 0

RuntimeError: the string (Ihe) seems corrupt: for n = 10, the string is too short
sage:        sage: G = Graph('Ihe\\n@GUA'
....:        sage: G.plot().show()    # or G.show() 
....:                                                                                                                               
Launched png viewer for Graphics object consisting of 31 graphics primitives
sage:        sage: M = Matrix([(0,1,0,0,1,1,0,0,0,0),(1,0,1,0,0,0,1,0,0,0), \ 
....:        (0,1,0,1,0,0,0,1,0,0), (0,0,1,0,1,0,0,0,1,0),(1,0,0,1,0,0,0,0,0,1), \ 
....:        (1,0,0,0,0,0,0,1,1,0), (0,1,0,0,0,0,0,0,1,1),(0,0,1,0,0,1,0,0,0,1), \ 
....:        (0,0,0,1,0,1,1,0,0,0), (0,0,0,0,1,0,1,1,0,0)]) 
....:        sage: M 
....:                                                                                                                               
[0 1 0 0 1 1 0 0 0 0]
[1 0 1 0 0 0 1 0 0 0]
[0 1 0 1 0 0 0 1 0 0]
[0 0 1 0 1 0 0 0 1 0]
[1 0 0 1 0 0 0 0 0 1]
[1 0 0 0 0 0 0 1 1 0]
[0 1 0 0 0 0 0 0 1 1]
[0 0 1 0 0 1 0 0 0 1]
[0 0 0 1 0 1 1 0 0 0]
[0 0 0 0 1 0 1 1 0 0]
sage:        sage: G = Graph(M); G 
....:                                                                                                                               
Graph on 10 vertices
sage:        sage: G.plot().show()    # or G.show() 
....:                                                                                                                               
Launched png viewer for Graphics object consisting of 26 graphics primitives
sage:        sage: M = Matrix([(-1, 0, 0, 0, 1, 0, 0, 0, 0, 0,-1, 0, 0, 0, 0), 
....:        ....:             ( 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1, 0, 0, 0), 
....:        ....:             ( 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1, 0, 0), 
....:        ....:             ( 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1, 0), 
....:        ....:             ( 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1), 
....:        ....:             ( 0, 0, 0, 0, 0,-1, 0, 0, 0, 1, 1, 0, 0, 0, 0), 
....:        ....:             ( 0, 0, 0, 0, 0, 0, 0, 1,-1, 0, 0, 1, 0, 0, 0), 
....:        ....:             ( 0, 0, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 1, 0, 0), 
....:        ....:             ( 0, 0, 0, 0, 0, 0, 0, 0, 1,-1, 0, 0, 0, 1, 0), 
....:        ....:             ( 0, 0, 0, 0, 0, 0, 1,-1, 0, 0, 0, 0, 0, 0, 1)]) 
....:        sage: M 
....:                                                                                                                               
[-1  0  0  0  1  0  0  0  0  0 -1  0  0  0  0]
[ 1 -1  0  0  0  0  0  0  0  0  0 -1  0  0  0]
[ 0  1 -1  0  0  0  0  0  0  0  0  0 -1  0  0]
[ 0  0  1 -1  0  0  0  0  0  0  0  0  0 -1  0]
[ 0  0  0  1 -1  0  0  0  0  0  0  0  0  0 -1]
[ 0  0  0  0  0 -1  0  0  0  1  1  0  0  0  0]
[ 0  0  0  0  0  0  0  1 -1  0  0  1  0  0  0]
[ 0  0  0  0  0  1 -1  0  0  0  0  0  1  0  0]
[ 0  0  0  0  0  0  0  0  1 -1  0  0  0  1  0]
[ 0  0  0  0  0  0  1 -1  0  0  0  0  0  0  1]
sage:        sage: G = Graph(M); G 
....:                                                                                                                               
Graph on 10 vertices
sage:        sage: G.plot().show()    # or G.show() 
....:        sage: DiGraph(matrix(2,[0,0,-1,1]), format="incidence_matrix"
....:                                                                                                                               
Launched png viewer for Graphics object consisting of 26 graphics primitives
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-14-77b37bcdd962> in <module>
      1 G.plot().show()    # or G.show()
----> 2 DiGraph(matrix(Integer(2),[Integer(0),Integer(0),-Integer(1),Integer(1)]), format="incidence_matrix")

~/sage/local/lib/python3.7/site-packages/sage/graphs/digraph.py in __init__(self, data, pos, loops, format, weighted, data_structure, vertex_labels, name, multiedges, convert_empty_dict_labels_to_None, sparse, immutable)
    756         elif format == 'incidence_matrix':
    757             from .graph_input import from_oriented_incidence_matrix
--> 758             from_oriented_incidence_matrix(self, data, loops=loops, multiedges=multiedges, weighted=weighted)
    759 
    760         elif format == 'DiGraph':

~/sage/local/lib/python3.7/site-packages/sage/graphs/graph_input.py in from_oriented_incidence_matrix(G, M, loops, multiedges, weighted)
    413             continue
    414         if len(NZ) != 2:
--> 415             raise ValueError("there must be two nonzero entries (-1 & 1) per column")
    416         L = sorted([c[i] for i in NZ])
    417         if L != [-1, 1]:

ValueError: there must be two nonzero entries (-1 & 1) per column
sage:        sage: g = Graph([(1,3),(3,8),(5,2)]) 
....:        sage: g 
....:                                                                                                                               
Graph on 5 vertices
sage:        sage: import igraph                                # optional - python_igraph 
....:        sage: g = Graph(igraph.Graph([(1,3),(3,2),(0,2)])) # optional - python_igraph 
....:        sage: g                                            # optional - python_igraph 
....:                                                                                                                               
Graph on 4 vertices
sage:     sage: for g in graphs(4): 
....:     ....:     print(g.degree_sequence()) 
....:                                                                                                                               
[0, 0, 0, 0]
[1, 1, 0, 0]
[2, 1, 1, 0]
[3, 1, 1, 1]
[1, 1, 1, 1]
[2, 2, 1, 1]
[2, 2, 2, 0]
[3, 2, 2, 1]
[2, 2, 2, 2]
[3, 3, 2, 2]
[3, 3, 3, 3]
sage:     sage: for g in graphs(): 
....:     ....:     if g.chromatic_number() > 3
....:     ....:         break 
....:     sage: g.is_isomorphic(graphs.CompleteGraph(4)) 
....:                                                                                                                               
True
sage:     sage: graphs.[tab]          # not tested 
....:                                                                                                                               
  File "<ipython-input-19-b9a8bd3b27c1>", line 1
    graphs.[tab]          # not tested
           ^
SyntaxError: invalid syntax

sage:     sage: G = graphs.PetersenGraph() 
....:     sage: G.plot().show()    # or G.show() 
....:     sage: G.degree_histogram() 
....:                                                                                                                               
Launched png viewer for Graphics object consisting of 26 graphics primitives
[0, 0, 0, 10]
sage:     sage: G.adjacency_matrix() 
....:                                                                                                                               
[0 1 0 0 1 1 0 0 0 0]
[1 0 1 0 0 0 1 0 0 0]
[0 1 0 1 0 0 0 1 0 0]
[0 0 1 0 1 0 0 0 1 0]
[1 0 0 1 0 0 0 0 0 1]
[1 0 0 0 0 0 0 1 1 0]
[0 1 0 0 0 0 0 0 1 1]
[0 0 1 0 0 1 0 0 0 1]
[0 0 0 1 0 1 1 0 0 0]
[0 0 0 0 1 0 1 1 0 0]
sage:     sage: S = G.subgraph([0,1,2,3]) 
....:     sage: S.plot().show()    # or S.show() 
....:     sage: S.density() 
....:                                                                                                                               
Launched png viewer for Graphics object consisting of 8 graphics primitives
1/2
sage:     sage: G = GraphQuery(display_cols=['graph6'], num_vertices=7, diameter=5
....:     sage: L = G.get_graphs_list() 
....:     sage: graphs_list.show_graphs(L) 
....:                                                                                                                               
Launched png viewer for Graphics Array of size 3 x 4
sage:     sage: M = Matrix( [[0,0],[0,0]] ) 
....:     sage: G = Graph({ 0 : { M : None } }) 
....:                                                                                                                               
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-24-3f4096333918> in <module>
      1 M = Matrix( [[Integer(0),Integer(0)],[Integer(0),Integer(0)]] )
----> 2 G = Graph({ Integer(0) : { M : None } })

~/sage/local/lib/python3.7/site-packages/sage/matrix/matrix0.pyx in sage.matrix.matrix0.Matrix.__hash__ (build/cythonized/sage/matrix/matrix0.c:38650)()
   5693         """
   5694         if not self._is_immutable:
-> 5695             raise TypeError("mutable matrices are unhashable")
   5696         if self.hash != -1:
   5697             return self.hash

TypeError: mutable matrices are unhashable
sage:     sage: d = {0 : graphs.DodecahedralGraph(), 1 : graphs.FlowerSnark(), \ 
....:           2 : graphs.MoebiusKantorGraph(), 3 : graphs.PetersenGraph() } 
....:     sage: d[2
....:                                                                                                                               
Moebius-Kantor Graph: Graph on 16 vertices
sage:     sage: T = graphs.TetrahedralGraph() 
....:     sage: T.vertices() 
....:                                                                                                                               
[0, 1, 2, 3]
sage:     sage: T.set_vertices(d) 
....:     sage: T.get_vertex(1
....:                                                                                                                               
Flower Snark: Graph on 20 vertices
sage:     sage: graph_db_info() 
....:                                                                                                                               
{'graph_data': ['complement_graph6',
  'eulerian',
  'graph6',
  'lovasz_number',
  'num_cycles',
  'num_edges',
  'num_hamiltonian_cycles',
  'num_vertices',
  'perfect',
  'planar'],
 'aut_grp': ['aut_grp_size',
  'num_orbits',
  'num_fixed_points',
  'vertex_transitive',
  'edge_transitive'],
 'degrees': ['degree_sequence',
  'min_degree',
  'max_degree',
  'average_degree',
  'degrees_sd',
  'regular'],
 'misc': ['vertex_connectivity',
  'edge_connectivity',
  'num_components',
  'girth',
  'radius',
  'diameter',
  'clique_number',
  'independence_number',
  'num_cut_vertices',
  'min_vertex_cover_size',
  'num_spanning_trees',
  'induced_subgraphs'],
 'spectrum': ['spectrum',
  'min_eigenvalue',
  'max_eigenvalue',
  'eigenvalues_sd',
  'energy']}
sage:     sage: Q = GraphQuery(display_cols=['graph6'],num_vertices=7, diameter=5
....:     sage: Q.show() 
....:                                                                                                                               
Graph6              
--------------------
F?`po               
F?gqg               
F@?]O               
F@OKg               
F@R@o               
FA_pW               
FEOhW               
FGC{o               
FIAHo               
sage:     sage: for g in Q: 
....:     ....:     show(g) 
....:                                                                                                                               
Launched png viewer for Graphics object consisting of 15 graphics primitives
Launched png viewer for Graphics object consisting of 15 graphics primitives
Launched png viewer for Graphics object consisting of 14 graphics primitives
Launched png viewer for Graphics object consisting of 14 graphics primitives
Launched png viewer for Graphics object consisting of 15 graphics primitives
Launched png viewer for Graphics object consisting of 15 graphics primitives
Launched png viewer for Graphics object consisting of 16 graphics primitives
Launched png viewer for Graphics object consisting of 16 graphics primitives
Launched png viewer for Graphics object consisting of 15 graphics primitives
sage:     sage: G = graphs.RandomGNP(15,.3
....:     sage: G.show() 
....:                                                                                                                               
Launched png viewer for Graphics object consisting of 47 graphics primitives
sage:     sage: G.show3d() 
....:                                                                                                                               
Launched html viewer for Graphics3d Object
sage:     sage: from sage.graphs.graph_latex import check_tkz_graph 
....:     sage: check_tkz_graph()  # random - depends on TeX installation 
....:     sage: latex(G) 
....:                                                                                                                               

Warning: `tkz-graph.sty` is not part of this computer's TeX installation.
This package is required to render graphs in LaTeX.


Warning: `tkz-berge.sty` is not part of this computer's TeX installation.
This package is required to render graphs in LaTeX.

\begin{tikzpicture}
\definecolor{cv0}{rgb}{0.0,0.0,0.0}
\definecolor{cfv0}{rgb}{1.0,1.0,1.0}
\definecolor{clv0}{rgb}{0.0,0.0,0.0}
\definecolor{cv1}{rgb}{0.0,0.0,0.0}
\definecolor{cfv1}{rgb}{1.0,1.0,1.0}
\definecolor{clv1}{rgb}{0.0,0.0,0.0}
\definecolor{cv2}{rgb}{0.0,0.0,0.0}
\definecolor{cfv2}{rgb}{1.0,1.0,1.0}
\definecolor{clv2}{rgb}{0.0,0.0,0.0}
\definecolor{cv3}{rgb}{0.0,0.0,0.0}
\definecolor{cfv3}{rgb}{1.0,1.0,1.0}
\definecolor{clv3}{rgb}{0.0,0.0,0.0}
\definecolor{cv4}{rgb}{0.0,0.0,0.0}
\definecolor{cfv4}{rgb}{1.0,1.0,1.0}
\definecolor{clv4}{rgb}{0.0,0.0,0.0}
\definecolor{cv5}{rgb}{0.0,0.0,0.0}
\definecolor{cfv5}{rgb}{1.0,1.0,1.0}
\definecolor{clv5}{rgb}{0.0,0.0,0.0}
\definecolor{cv6}{rgb}{0.0,0.0,0.0}
\definecolor{cfv6}{rgb}{1.0,1.0,1.0}
\definecolor{clv6}{rgb}{0.0,0.0,0.0}
\definecolor{cv7}{rgb}{0.0,0.0,0.0}
\definecolor{cfv7}{rgb}{1.0,1.0,1.0}
\definecolor{clv7}{rgb}{0.0,0.0,0.0}
\definecolor{cv8}{rgb}{0.0,0.0,0.0}
\definecolor{cfv8}{rgb}{1.0,1.0,1.0}
\definecolor{clv8}{rgb}{0.0,0.0,0.0}
\definecolor{cv9}{rgb}{0.0,0.0,0.0}
\definecolor{cfv9}{rgb}{1.0,1.0,1.0}
\definecolor{clv9}{rgb}{0.0,0.0,0.0}
\definecolor{cv10}{rgb}{0.0,0.0,0.0}
\definecolor{cfv10}{rgb}{1.0,1.0,1.0}
\definecolor{clv10}{rgb}{0.0,0.0,0.0}
\definecolor{cv11}{rgb}{0.0,0.0,0.0}
\definecolor{cfv11}{rgb}{1.0,1.0,1.0}
\definecolor{clv11}{rgb}{0.0,0.0,0.0}
\definecolor{cv12}{rgb}{0.0,0.0,0.0}
\definecolor{cfv12}{rgb}{1.0,1.0,1.0}
\definecolor{clv12}{rgb}{0.0,0.0,0.0}
\definecolor{cv13}{rgb}{0.0,0.0,0.0}
\definecolor{cfv13}{rgb}{1.0,1.0,1.0}
\definecolor{clv13}{rgb}{0.0,0.0,0.0}
\definecolor{cv14}{rgb}{0.0,0.0,0.0}
\definecolor{cfv14}{rgb}{1.0,1.0,1.0}
\definecolor{clv14}{rgb}{0.0,0.0,0.0}
\definecolor{cv0v2}{rgb}{0.0,0.0,0.0}
\definecolor{cv0v13}{rgb}{0.0,0.0,0.0}
\definecolor{cv1v8}{rgb}{0.0,0.0,0.0}
\definecolor{cv1v10}{rgb}{0.0,0.0,0.0}
\definecolor{cv1v12}{rgb}{0.0,0.0,0.0}
\definecolor{cv1v14}{rgb}{0.0,0.0,0.0}
\definecolor{cv2v5}{rgb}{0.0,0.0,0.0}
\definecolor{cv2v6}{rgb}{0.0,0.0,0.0}
\definecolor{cv2v7}{rgb}{0.0,0.0,0.0}
\definecolor{cv2v14}{rgb}{0.0,0.0,0.0}
\definecolor{cv3v9}{rgb}{0.0,0.0,0.0}
\definecolor{cv3v13}{rgb}{0.0,0.0,0.0}
\definecolor{cv4v6}{rgb}{0.0,0.0,0.0}
\definecolor{cv4v9}{rgb}{0.0,0.0,0.0}
\definecolor{cv4v11}{rgb}{0.0,0.0,0.0}
\definecolor{cv5v7}{rgb}{0.0,0.0,0.0}
\definecolor{cv5v12}{rgb}{0.0,0.0,0.0}
\definecolor{cv5v14}{rgb}{0.0,0.0,0.0}
\definecolor{cv6v12}{rgb}{0.0,0.0,0.0}
\definecolor{cv6v13}{rgb}{0.0,0.0,0.0}
\definecolor{cv7v12}{rgb}{0.0,0.0,0.0}
\definecolor{cv7v13}{rgb}{0.0,0.0,0.0}
\definecolor{cv8v9}{rgb}{0.0,0.0,0.0}
\definecolor{cv8v10}{rgb}{0.0,0.0,0.0}
\definecolor{cv8v13}{rgb}{0.0,0.0,0.0}
\definecolor{cv8v14}{rgb}{0.0,0.0,0.0}
\definecolor{cv9v11}{rgb}{0.0,0.0,0.0}
\definecolor{cv9v12}{rgb}{0.0,0.0,0.0}
\definecolor{cv9v13}{rgb}{0.0,0.0,0.0}
\definecolor{cv10v14}{rgb}{0.0,0.0,0.0}
\definecolor{cv11v14}{rgb}{0.0,0.0,0.0}
%
\Vertex[style={minimum size=1.0cm,draw=cv0,fill=cfv0,text=clv0,shape=circle},LabelOut=false,L=\hbox{$0$},x=5.0cm,y=1.6717cm]{v0}
\Vertex[style={minimum size=1.0cm,draw=cv1,fill=cfv1,text=clv1,shape=circle},LabelOut=false,L=\hbox{$1$},x=0.3941cm,y=1.4984cm]{v1}
\Vertex[style={minimum size=1.0cm,draw=cv2,fill=cfv2,text=clv2,shape=circle},LabelOut=false,L=\hbox{$2$},x=3.4706cm,y=1.1162cm]{v2}
\Vertex[style={minimum size=1.0cm,draw=cv3,fill=cfv3,text=clv3,shape=circle},LabelOut=false,L=\hbox{$3$},x=3.5613cm,y=4.5421cm]{v3}
\Vertex[style={minimum size=1.0cm,draw=cv4,fill=cfv4,text=clv4,shape=circle},LabelOut=false,L=\hbox{$4$},x=1.9203cm,y=5.0cm]{v4}
\Vertex[style={minimum size=1.0cm,draw=cv5,fill=cfv5,text=clv5,shape=circle},LabelOut=false,L=\hbox{$5$},x=2.5032cm,y=0.0cm]{v5}
\Vertex[style={minimum size=1.0cm,draw=cv6,fill=cfv6,text=clv6,shape=circle},LabelOut=false,L=\hbox{$6$},x=3.0445cm,y=3.2048cm]{v6}
\Vertex[style={minimum size=1.0cm,draw=cv7,fill=cfv7,text=clv7,shape=circle},LabelOut=false,L=\hbox{$7$},x=3.4704cm,y=0.2442cm]{v7}
\Vertex[style={minimum size=1.0cm,draw=cv8,fill=cfv8,text=clv8,shape=circle},LabelOut=false,L=\hbox{$8$},x=1.2499cm,y=2.035cm]{v8}
\Vertex[style={minimum size=1.0cm,draw=cv9,fill=cfv9,text=clv9,shape=circle},LabelOut=false,L=\hbox{$9$},x=2.1548cm,y=3.442cm]{v9}
\Vertex[style={minimum size=1.0cm,draw=cv10,fill=cfv10,text=clv10,shape=circle},LabelOut=false,L=\hbox{$10$},x=0.0cm,y=0.5403cm]{v10}
\Vertex[style={minimum size=1.0cm,draw=cv11,fill=cfv11,text=clv11,shape=circle},LabelOut=false,L=\hbox{$11$},x=0.8443cm,y=3.7805cm]{v11}
\Vertex[style={minimum size=1.0cm,draw=cv12,fill=cfv12,text=clv12,shape=circle},LabelOut=false,L=\hbox{$12$},x=2.2124cm,y=1.6595cm]{v12}
\Vertex[style={minimum size=1.0cm,draw=cv13,fill=cfv13,text=clv13,shape=circle},LabelOut=false,L=\hbox{$13$},x=3.4563cm,y=2.3906cm]{v13}
\Vertex[style={minimum size=1.0cm,draw=cv14,fill=cfv14,text=clv14,shape=circle},LabelOut=false,L=\hbox{$14$},x=1.3299cm,y=1.1024cm]{v14}
%
\Edge[lw=0.1cm,style={color=cv0v2,},](v0)(v2)
\Edge[lw=0.1cm,style={color=cv0v13,},](v0)(v13)
\Edge[lw=0.1cm,style={color=cv1v8,},](v1)(v8)
\Edge[lw=0.1cm,style={color=cv1v10,},](v1)(v10)
\Edge[lw=0.1cm,style={color=cv1v12,},](v1)(v12)
\Edge[lw=0.1cm,style={color=cv1v14,},](v1)(v14)
\Edge[lw=0.1cm,style={color=cv2v5,},](v2)(v5)
\Edge[lw=0.1cm,style={color=cv2v6,},](v2)(v6)
\Edge[lw=0.1cm,style={color=cv2v7,},](v2)(v7)
\Edge[lw=0.1cm,style={color=cv2v14,},](v2)(v14)
\Edge[lw=0.1cm,style={color=cv3v9,},](v3)(v9)
\Edge[lw=0.1cm,style={color=cv3v13,},](v3)(v13)
\Edge[lw=0.1cm,style={color=cv4v6,},](v4)(v6)
\Edge[lw=0.1cm,style={color=cv4v9,},](v4)(v9)
\Edge[lw=0.1cm,style={color=cv4v11,},](v4)(v11)
\Edge[lw=0.1cm,style={color=cv5v7,},](v5)(v7)
\Edge[lw=0.1cm,style={color=cv5v12,},](v5)(v12)
\Edge[lw=0.1cm,style={color=cv5v14,},](v5)(v14)
\Edge[lw=0.1cm,style={color=cv6v12,},](v6)(v12)
\Edge[lw=0.1cm,style={color=cv6v13,},](v6)(v13)
\Edge[lw=0.1cm,style={color=cv7v12,},](v7)(v12)
\Edge[lw=0.1cm,style={color=cv7v13,},](v7)(v13)
\Edge[lw=0.1cm,style={color=cv8v9,},](v8)(v9)
\Edge[lw=0.1cm,style={color=cv8v10,},](v8)(v10)
\Edge[lw=0.1cm,style={color=cv8v13,},](v8)(v13)
\Edge[lw=0.1cm,style={color=cv8v14,},](v8)(v14)
\Edge[lw=0.1cm,style={color=cv9v11,},](v9)(v11)
\Edge[lw=0.1cm,style={color=cv9v12,},](v9)(v12)
\Edge[lw=0.1cm,style={color=cv9v13,},](v9)(v13)
\Edge[lw=0.1cm,style={color=cv10v14,},](v10)(v14)
\Edge[lw=0.1cm,style={color=cv11v14,},](v11)(v14)
%
\end{tikzpicture}
sage:     sage: G = graphs.PetersenGraph() 
....:     sage: {G:1}[G] 
....:                                                                                                                               
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-34-f2fe9aaf41b1> in <module>
      1 G = graphs.PetersenGraph()
----> 2 {G:Integer(1)}[G]

~/sage/local/lib/python3.7/site-packages/sage/misc/cachefunc.pyx in sage.misc.cachefunc.CachedMethodCallerNoArgs.__call__ (build/cythonized/sage/misc/cachefunc.c:12907)()
   2308         if self.cache is None:
   2309             f = self.f
-> 2310             self.cache = f(self._instance)
   2311         return self.cache
   2312 

~/sage/local/lib/python3.7/site-packages/sage/graphs/generic_graph.py in __hash__(self)
    711                          self._weighted,
    712                          frozenset(edge_items)))
--> 713         raise TypeError("This graph is mutable, and thus not hashable. "
    714                         "Create an immutable copy by `g.copy(immutable=True)`")
    715 

TypeError: This graph is mutable, and thus not hashable. Create an immutable copy by `g.copy(immutable=True)`
sage:     sage: G_immutable = Graph(G, immutable=True
....:     sage: G_immutable == G 
....:                                                                                                                               
True
sage:     sage: {G_immutable:1}[G_immutable] 
....:                                                                                                                               
1
sage:                                                                                                                               




david....@gmail.com

unread,
Sep 2, 2020, 5:25:02 PM9/2/20
to sage-release
I just build beta11 (incremental build from beta10) and the problem has disappeared...
Reply all
Reply to author
Forward
0 new messages