[sage-devel] Re: Bug in positivity test of a real expression

2018-02-04 Thread Simon King
On 2018-02-04, Thierry wrote: > On Sun, Feb 04, 2018 at 10:24:55PM +0000, Simon King wrote: > What is wrong ? val is a NEGATIVE real number converted into SR. val evaluates POSITIVE, even though the conversion of val into RR still evaluates negative. -- You received this message becau

[sage-devel] Bug in positivity test of a real expression

2018-02-04 Thread Simon King
Hi! I found this sage: val = SR(-5.68242325601396e-24) sage: bool(val>0) False sage: bool(val<0) True sage: RR(val)>0 False sage: RR(val)<0 True I am not so familiar with the symbolic ring, thus, I don't know if it is a known bug or not. If you tell me that you don't recognise the bug I

[sage-devel] Re: Inverse of a p-adic matrix fails. Is this a bug?

2018-01-30 Thread Simon King
Hi! I am afraid I don't know a definitive answer to your question. But at least I find the following a bit strange: sage: d = M.det() sage: d == -1 True sage: d == 0 False So, the inversion of M should work, I think. Let us do compute the inverse "manually" (i.e., by applying Gaussian e

[sage-devel] Re: TypeError: unsupported operand parent(s) for *: <(1,3)(2,4), (1,4,3,2)> and S4

2018-01-30 Thread Simon King
PS: On 2018-01-30, Simon King wrote: > The coercion model chooses coercion to the left factor's parent, if > there are coercions available in *both* directions. However, if there > only is a coercion from the left factor's parent to the right factor's > parent but no

[sage-devel] Re: TypeError: unsupported operand parent(s) for *: <(1,3)(2,4), (1,4,3,2)> and S4

2018-01-30 Thread Simon King
Dear Hsin-Po Wang, On 2018-01-30, Hsin-Po Wang wrote: > But it is still interesting to see if this is an unintentional bug in, say, > the coercion model and can be fixed. We have sage: S4.has_coerce_map_from(S4.subgroups()[19]) True Hence, the coercion model is supposed to *automatically*

[sage-devel] Re: Sage Days next July in Zaragoza (Spain)

2018-01-17 Thread Simon King
Hi Miguel, On 2018-01-16, mmarco wrote: > In order to organize the schedule, I would like to know how many hours do > you plan to spend in the miny course that you will give. If possible, > separate them in theoretical explanations and practical lessons (or maybe > even coding sprints). Do I

[sage-devel] Re: Internet access during package tests

2018-01-13 Thread Simon King
On 2018-01-13, Simon King wrote: > On 2018-01-13, Volker Braun wrote: >> Packages must work without internet access; We poison cache environment >> variables to prevent accidental internet access. > > OK. What to do instead? Would access to local files via urllib2 work? >

[sage-devel] Re: Internet access during package tests

2018-01-13 Thread Simon King
On 2018-01-13, Volker Braun wrote: > Packages must work without internet access; We poison cache environment > variables to prevent accidental internet access. OK. What to do instead? Would access to local files via urllib2 work? That's to say urllib2.urlopen('file:///...') ? In that case, I

[sage-devel] Internet access during package tests

2018-01-13 Thread Simon King
Hi! In my group cohomology package, I have a couple of tests that require internet access (namely access to some data base). The tests work in an interactive session, and they also work if I do them in a sage shell using "sage -t --force_lib". My spkg-check script is also just doing "sage -t --for

[sage-devel] Re: Singular quotient rings in doctests

2018-01-13 Thread Simon King
Hi Dima, On 2018-01-13, Dima Pasechnik wrote: > One can search the source code of Singular for > this string, to see what library (.LIB file) loads it. Thank you! I should have thought of searching .LIB files myself, actually. It turns out that nctools.lib sets option(qringNF), and I indeed use

[sage-devel] Re: Singular quotient rings in doctests

2018-01-13 Thread Simon King
Hi Volker, On 2018-01-13, Volker Braun wrote: > Just to point out the obvious: If qringNF isn't enabled explicitly then it > must be set by some singular package that is being imported in a test. Sure. But I wonder if someone on the list knows what Singular packages do such kind of things. Bes

[sage-devel] Re: Singular quotient rings in doctests

2018-01-13 Thread Simon King
On 2018-01-13, Simon King wrote: > I wonder: Is the doctest framework adding certain options to > Singular that are not used in an interactive session? If yes, > how can I prevent that (at least during one test)? Indeed, I see this during the failing test: singular.option() //optio

[sage-devel] Singular quotient rings in doctests

2018-01-13 Thread Simon King
Hi! I am currently trying to create some doc tests, that involve computations by Singular in quotients of polynomial rings. I observe that the results in an interactive session differ from those obtained during the tests. It seems to me that the elements are automatically put into normal form wrt.

[sage-devel] Re: Trac sometimes delays displaying commits until next comment

2018-01-09 Thread Simon King
On 2018-01-09, Jeroen Demeyer wrote: > On 2018-01-09 00:38, Nils Bruin wrote: >> An alternative workaround is to put a comment on the ticket yourself. > > Even an empty comment works. Even reloading the page works (IIRC). -- You received this message because you are subscribed to the Google Gro

[sage-devel] Re: Trac sometimes delays displaying commits until next comment

2018-01-08 Thread Simon King
Hi! Personally, I think there are much more annoying things happening in trac (such as: the browser suddenly jumping to a totally wrong place while writing a comment, so that one cannot see what one types). Actually, I can not totally confirm what Samuel was complaining about: - Yes, if one pushe

[sage-devel] Re: cvxopt failed to install

2017-12-31 Thread Simon King
On 2017-12-30, Simon King wrote: > Hi! > > As it turns out, building cvxopt's docs requires > 'sphinxcontrib-websupport'. Would it be acceptable to add this to Sage's > sphinx installation? I suppose it is more than just acceptable. Without it, in a Sage shell

[sage-devel] Re: cvxopt failed to install

2017-12-30 Thread Simon King
Hi! As it turns out, building cvxopt's docs requires 'sphinxcontrib-websupport'. Would it be acceptable to add this to Sage's sphinx installation? Cheers, Simon -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and s

[sage-devel] Re: cvxopt failed to install

2017-12-30 Thread Simon King
On 2017-12-30, Simon King wrote: > Hi Dima, > > On 2017-12-30, Dima Pasechnik wrote: >> On Friday, December 29, 2017 at 6:04:34 PM UTC, Simon King wrote: >>> Is it a known problem that the documentation doesn't build for cvxopt? >>> >> it used to wor

[sage-devel] Re: cvxopt failed to install

2017-12-30 Thread Simon King
Hi Dima, On 2017-12-30, Dima Pasechnik wrote: > On Friday, December 29, 2017 at 6:04:34 PM UTC, Simon King wrote: >> Is it a known problem that the documentation doesn't build for cvxopt? >> > it used to work. > Open a ticket... Done: #24447 Cheers, Simon --

[sage-devel] cvxopt failed to install

2017-12-29 Thread Simon King
Hi! Trying to upgrade to Sage 8.2.beta1, cvxopt fails to install after being successfully installed. More precisely, near the end of the logs, I see this: [cvxopt-1.1.8.p2] Removing source in /tmp/pip-efK92a-build [cvxopt-1.1.8.p2] Successfully installed cvxopt-1.1.8 [cvxopt-1.1.8.p2] Clean

[sage-devel] Uninstalling packages

2017-12-29 Thread Simon King
Hi! It has occasionally been discussed how to uninstall spkgs, but I don't recall the outcome: Have we got a framework for it? I.e., is it possible to do, say, sage -d foo or sage -u foo to delete resp. uninstall the foo package? And how would one hook into that framework? By an spkg-unin

[sage-devel] Re: a functor need and name

2017-12-26 Thread Simon King
Dear Vincent, On 2017-12-26, Vincent Delecroix <20100.delecr...@gmail.com> wrote: > In my situation, the (mathematical) specifications are > > INPUT: a field K and an element x of K > OUTPUT: K[x^(1/2), x^(1/3), x^(1/4), ...] > > I came up with the above specifications because I thought about two

[sage-devel] Re: a functor need and name

2017-12-26 Thread Simon King
Hi Vincent, On 2017-12-26, Vincent Delecroix <20100.delecr...@gmail.com> wrote: > While working on Puiseux series [1] I wanted to introduce a construction > functor for them. When the base ring is algebraically closed then it is > an algebraic closure functor (from power series). But when it is

[sage-devel] Re: Mechanism to choose NamedConvertMap as coercion map?

2017-12-19 Thread Simon King
On 2017-12-19, Jeroen Demeyer wrote: >> My >> understanding is that B._coerce_map_from_(A) returning "True" is a >> mathematical statement > > Right, but this isn't how Sage works. There is no way to ask for > mathematical properties of a Parent. There are categories, but those are > much too we

[sage-devel] Re: Mechanism to choose NamedConvertMap as coercion map?

2017-12-19 Thread Simon King
On 2017-12-19, Jeroen Demeyer wrote: > On 2017-12-18 18:31, Simon King wrote: >> One way to answer the question whether a coercion from A to B exists is >> by implementing the method B._coerce_map_from_. > > Right, I was asking the question because I need to implement such a

[sage-devel] Re: 8.2.beta0 Doctest error on tensorfield.py

2017-12-18 Thread Simon King
Hi Eric, On 2017-12-18, Eric Gourgoulhon wrote: > Le lundi 18 décembre 2017 15:58:30 UTC+1, Vincent Klein a écrit : > I don't know what is the policy here: should all the lines that depend on > the one marked "# long time" be marked "# long time" as well, so that "sage > -t" without "--long" is

[sage-devel] Re: Mechanism to choose NamedConvertMap as coercion map?

2017-12-18 Thread Simon King
Hi Jeroen, On 2017-12-18, Jeroen Demeyer wrote: > Sage has NamedConvertMap to convert via special methods like > _real_mpfi_(). When looking for a conversion map, it first tries to find > a coercion map and then it checks for a default conversion map, ... > Why try to find a coercion map first

[sage-devel] Re: Should the "Element = ..." trick require categories?

2017-12-11 Thread Simon King
Hi Jeroen, On 2017-12-11, Jeroen Demeyer wrote: > On 2017-12-11 13:31, Simon King wrote: >> Except if the basic functionality refers to category stuff. Element >> creation does! > > Can you elaborate on this? In the case where a Parent has an > element_class attri

[sage-devel] Re: Should the "Element = ..." trick require categories?

2017-12-11 Thread Simon King
Hi Jeroen, On 2017-12-11, Jeroen Demeyer wrote: > On 2017-12-10 22:29, Nicolas M. Thiery wrote: >> As far as I remember, it's stipulated that any Parent should be in >> Sets. > > I don't think that this is stipulated somewhere. I think I stated it in the thematic tutorial on "how to implement ne

[sage-devel] Re: Another build error

2017-12-08 Thread Simon King
Hi Travis, On 2017-12-07, Travis Scrimshaw wrote: > IMO, a better practice is to merge in old branches to a branch based off > develop. If you want to rebase, then run rebase. That way you never have > old cruft and have to watch Sage do a massive rebuild of things with only > changed timestam

[sage-devel] Re: Build error

2017-12-08 Thread Simon King
Hi Jeroen, thanks, I'll do the changes accordingly. Best regards, Simon On 2017-12-08, Jeroen Demeyer wrote: > On 2017-12-07 23:57, Simon King wrote: >> from libc.string cimport memcpy > > This one is fine. > >> include "cysignals/signals.pxi"

[sage-devel] Re: Another build error

2017-12-07 Thread Simon King
On 2017-12-07, François Bissey wrote: > Seems like it. Which is why I asked if there was anything in it. I think it was empty before I removed it. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving

[sage-devel] Re: Build error

2017-12-07 Thread Simon King
On 2017-12-07, Simon King wrote: > On 2017-12-07, François Bissey wrote: >> No. I believe we stopped relying on that file when upgrading to cysignals >> 1.6.x. >> So the proper include to get that file may have been removed from somewhere. >> Your branch would be

[sage-devel] Re: Another build error

2017-12-07 Thread Simon King
Hi François, On 2017-12-07, François Bissey wrote: >> Strangely, git status mentions >>src/sage/libs/cypari2/ >> which my local branch is *not* touching. So, what's happening? >> > > Anything in that folder? That folder has been removed when cypari2 has been > made a separate package. git s

[sage-devel] Re: Build error

2017-12-07 Thread Simon King
On 2017-12-07, François Bissey wrote: > No. I believe we stopped relying on that file when upgrading to cysignals > 1.6.x. > So the proper include to get that file may have been removed from somewhere. > Your branch would be quite peculiar to be caught between two changes. > Could you rebase it?

[sage-devel] Re: Another build error

2017-12-07 Thread Simon King
On 2017-12-07, Simon King wrote: > Hi! > > Building Sage again, I get the error > InternalError: Internal compiler error: 'cysignals/signals.pxi' not > found > > Unfortunately, the error did not go away after "make distclean". > > What

[sage-devel] Re: Build error

2017-12-07 Thread Simon King
Hi! On 2017-12-07, François Bissey wrote: > OK this looks suspiciously like > https://bugs.python.org/issue30074 > which was fixed by > https://github.com/python/cpython/pull/1154 > which should be in 2.7.14. > What I suspect is happening is that those failures happen when > people upgrade pyth

[sage-devel] Another build error

2017-12-07 Thread Simon King
Hi! Building Sage again, I get the error InternalError: Internal compiler error: 'cysignals/signals.pxi' not found Unfortunately, the error did not go away after "make distclean". What can I do? The error occurs on some local branch (different from develop), however I didn't touch cysignals.

[sage-devel] Re: [OT] Re: Issue with quick start

2017-12-07 Thread Simon King
On 2017-12-07, Jeroen Demeyer wrote: > On 2017-12-02 01:24, d...@shorewestern.com wrote: >> communicative human nature yearns for >> abbreviation > > My impression is that this is mostly an American phenomenon. When I did my PhD in Strasbourg, I thought it was a French phenomenon. Unless you see

[sage-devel] Build error

2017-12-07 Thread Simon King
Hi! On a laptop that I haven't used for a while, I tried to upgrade Sage. I.e., I did "git checkout develop", "git pull" and "make". While building python2-2.7.15.p2, I get [python2-2.7.14.p2] ImportError: No module named _ctypes [python2-2.7.14.p2] ctypes module failed to import and [pyt

[sage-devel] Re: Sage Days next July in Zaragoza (Spain)

2017-11-07 Thread Simon King
On 2017-11-07, mmarco wrote: > I have to clarify: Tomer Bauer did not volunteer to give a talk about > creating extensions; he actually showed interest in learning about it. He > mostly means following this approach: > > https://github.com/sagemath/sage_sample > > Any takers? Not I, but just fo

[sage-devel] Re: Sage Days next July in Zaragoza (Spain)

2017-11-07 Thread Simon King
Hi Miguel, On 2017-11-07, mmarco wrote: > - The sage development workflow (Trac, git, doctests...) -> Eric > Gourgoulhon > - The coercion model & Implementation of Parents and elements -> Simon King > - The category framework -> Travis Scrimshaw > - Cython &a

[sage-devel] Re: Polyhedron.integral_points_count() gives inconsistent answers on slices

2017-11-03 Thread Simon King
I opened trac ticket #24152 for the bug in converting the polyhedron into polymake. On 2017-11-03, Simon King wrote: > First of all, there seems to be some bug in the polymake interface > (that I authored, so: Sorry...): > sage: P = Polyhedron(eqns = eqns, ieqs=ieqs) > sage: PP

[sage-devel] Re: Polyhedron.integral_points_count() gives inconsistent answers on slices

2017-11-03 Thread Simon King
Hi! On 2017-11-03, 'Mark Bell' via sage-devel wrote: > And so I did: >> Polyhedron(eqns=eqns, ieqs=ieqs).integral_points_count() > 1260 > > However, if I look at all of the slices obtained by fixing the first > variable x_0 (which must be 1 <= x_0 <= 100 by the first equation and > inequality)

[sage-devel] Re: floor division for integer matrices

2017-11-01 Thread Simon King
On 2017-11-01, David Roe wrote: > I don't think you're missing anything, and I would support adding this > feature to matrices. I wouldn't support it. If you have an integral domain R, then the quotient x/y for x,y in R will live in the fraction field of R, whereas floor division x//y (I think)

[sage-devel] Re: Sage Days next July in Zaragoza (Spain)

2017-10-31 Thread Simon King
Hi Marco, On 2017-10-31, mmarco wrote: > We will be organizing the next meeting of the spanish network of computer > algebra in Zaragoza (Spain); the proposed dates are July 4th-6th. As a > satellite event we plan to organize also a Sage Days (right before, or > right after the meeting), in th

[sage-devel] Re: Getting rid of the pickle jar

2017-10-30 Thread Simon King
Hi Jeroen, On 2017-10-30, Jeroen Demeyer wrote: > On 2017-10-30 08:41, Simon King wrote: >> would you rather have no test at all than a >> superficial consistency test on a wide range of objects, versions and >> machines? > > Yes. A test which doesn't actually tes

[sage-devel] Re: Getting rid of the pickle jar

2017-10-30 Thread Simon King
Hi Jeroen, On 2017-10-30, Jeroen Demeyer wrote: > Another very relevant question: are pickles supposed to be > hardware/OS-independent? In other words: can I take a pickle from one > machine and unpickle it on a different machine (assuming that the > software version is the same)? Should be,

[sage-devel] Re: Trac: getting logged out instantly

2017-10-30 Thread Simon King
On 2017-10-30, Jeroen Demeyer wrote: > On 2017-10-30 10:09, Jeroen Demeyer wrote: >> It seems to work if I make an edit very quickly after logging in. So it >> looks as if I'm being automatically logged out 5 minutes after I log in >> or so. > > It's actually much less than 5 minutes, more like a

[sage-devel] Re: Some sparse matrices cleanup and question on parallelism

2017-10-30 Thread Simon King
Hi Travis, On 2017-10-30, Travis Scrimshaw wrote: > My first question is that the method _strassen_default_echelon_cutoff seems > to return -1 and never be overwritten. This means that by default, the > echelonize will always use the classical in-place, making having a default > algorithm that

[sage-devel] Re: Getting rid of the pickle jar

2017-10-30 Thread Simon King
On 2017-10-29, Volker Braun wrote: > Thats still only addressing that objects can be unpickled No, it is also addressing that "the same" objects unpickled from different SageMath versions and different machines evaluate equal. > ; You'd also have > to run the entire testsuite with the unpickled

[sage-devel] Re: Getting rid of the pickle jar

2017-10-29 Thread Simon King
On 2017-10-29, David Roe wrote: > I agree that removing pickles from 6+ years ago is a good idea. > > I do think, however, that the idea of being able to save objects between > versions of Sage is valuable. And we need some way to test it. Maybe we > could move to some sort of rolling pickle jar

[sage-devel] Re: Getting rid of the pickle jar

2017-10-29 Thread Simon King
Hi Erik, On 2017-10-27, Erik Bray wrote: > Plus, while pickling has many valid runtime use-cases, particularly > for IPC, and short-term preservation of objects between interpreter > sessions, it was *never* intended for long-term data storage, Seriously? Said who? I always thought of pickles a

[sage-devel] Re: How do I overwrite comparison for modules?

2017-10-22 Thread Simon King
Hi Travis, On 2017-10-23, Travis Scrimshaw wrote: > (how often is the first > thing you do is verify the object has a compatible type?). Almost never, at least for elements! For elements (not for parents, though), one is supposed to implement single underscore arithmetic *and* comparison metho

[sage-devel] Re: What does MPolynomial_libsingular.reduce() do?

2017-10-18 Thread Simon King
Hi Luca, On 2017-10-18, Luca De Feo wrote: > However, what's the use of such a function with > implementation-dependent outputs? > > If I understand Martin's argument correctly, he is saying that > .reduce() *could* be used for a schoolbook "implementation of Gröbner > basis algorithms in Sage wh

[sage-devel] Re: What does MPolynomial_libsingular.reduce() do?

2017-10-18 Thread Simon King
Hi Luca, On 2017-10-18, Luca De Feo wrote: > I hate to sound snarky, but... No offence taken... > Yet, none of us seems to be able to second guess what kind of normal > form is actually implemented by .reduce() (Singular's kNF, actually). > And from the answers to this thread, it seems to me th

[sage-devel] Re: What does MPolynomial_libsingular.reduce() do?

2017-10-17 Thread Simon King
On 2017-10-17, Luca De Feo wrote: >> It takes I as the generators of the ideal and uses that as the reduction >> set. > > That's not a definition. I'm in front of a class asking what this > function does, and I'm unable to give a mathematical definition of > what Sage means by "reduction" modulo s

[sage-devel] Re: What does MPolynomial_libsingular.reduce() do?

2017-10-17 Thread Simon King
On 2017-10-17, Daniel Krenn wrote: > What about the following fix: When the input is a list/tuple, we check > if it is a Groebner basis or not. Too expensive. Cheers, Simon -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from thi

[sage-devel] Re: What does MPolynomial_libsingular.reduce() do?

2017-10-17 Thread Simon King
Hi Luca, On 2017-10-16, Luca De Feo wrote: > On Mon, Oct 16, 2017 at 7:35 PM, 'Martin R. Albrecht' via sage-devel > wrote: >> Hi there, >> >> this is already documented: >> >> “ Return the normal form of self w.r.t. "I", i.e. return the >> remainder of this polynomial with respect to the polyno

[sage-devel] Re: Please help with #23967 Coercion pushout for FGP_modules

2017-10-09 Thread Simon King
On 2017-10-09, Simon Brandhorst wrote: > Would someone please guide me through this? > I would like to learn now to implement such a thing in sage. Yet I wouldn't > know where to start here. > It is mathematically quite simple. Does http://doc.sagemath.org/html/en/thematic_tutorials/coercion_

[sage-devel] Re: submodules subvectorspaces violate the unique parent condition. Why? Should we change that?

2017-10-09 Thread Simon King
Hi Simon, On 2017-10-09, Simon Brandhorst wrote: > "While *parents* are unique, equal *elements* of a parent in Sage are not > necessarily identical. " > in > http://doc.sagemath.org/html/en/tutorial/tour_coercion.html Indeed that's too strict, IMHO. In http://doc.sagemath.org/html/en/thematic_

[sage-devel] Re: Should parent(x) call x.parent()?

2017-09-22 Thread Simon King
On 2017-09-21, Vincent Delecroix <20100.delecr...@gmail.com> wrote: > So +1 for type(x) on non Element. More precisely: If isinstance(x,Element), then one shouldn't call .parent() either. Instead, one could use x._parent. Mild complication: What should be done if x._parent is None? -- You recei

[sage-devel] Re: Faster way to load python code

2017-09-18 Thread Simon King
Hi all! On 2017-09-18, Dima Pasechnik wrote: > loading Python/Sage code is slow. Surely it should be possible to load > libGAP data, > and use it to create the necessary Python data in memory. > In particular I suppose you want to bypass Sage generic matrices, and > directly build the matrices

[sage-devel] Re: Faster way to load python code

2017-09-17 Thread Simon King
Hi Dima, On 2017-09-17, Dima Pasechnik wrote: > Isn't it what pickle/cPickle is for? I don't want to store data, I want to read them. And I am not the one who stored them. So, I have to take the textfiles as I get them. Cheers, Simon -- You received this message because you are subscribed to

[sage-devel] Re: Huma

2017-09-16 Thread Simon King
Hi Thierry, On 2017-09-16, Thierry wrote: > How does raw "exec" behaves with your large file ? > > sage: with open('your_file.txt') as f: > : exec(preparse(f.read())) Time for my preparser that translates the gap readable into Python readable data is about 3 minutes. The result is a stri

[sage-devel] Re: Huma

2017-09-16 Thread Simon King
On 2017-09-16, Thierry wrote: > Do you have it in the Python/Sage format ? K = GF(8,'x') x = K.gen() D = { "group": "A5", "generators": [ "1a", "1b", "1a1b1", "1b1a1" ], "npims": 2, "pimnames": [ "1a", "1b" ], "cartan": [ [ 2, 1 ], [ 1, 2 ] ], "dim": [ 3, 3 ], "adjmat": [ [ 0, 1 ],

[sage-devel] Re: Faster way to load python code

2017-09-16 Thread Simon King
Hi John, On 2017-09-16, John Cremona wrote: > When I read in files containing a lot of data I don't format the files > to be python code but just data, then write a python function to parse > the input. I tried that, and it is of course no problem to iterate over the matrix entries defined in th

[sage-devel] Re: Faster way to load python code

2017-09-16 Thread Simon King
Hi Thierry, On 2017-09-16, Thierry wrote: > could you please give us access to the file (or a sample of it), so that > we understand how it looke like ? Here is my smallest example (in gap-readable format): basicalg:=rec( group := "A5", generators := [ "1a", "1b", "1a1b1", "1b1a1" ], npim

[sage-devel] Faster way to load python code

2017-09-16 Thread Simon King
Hi! I have a large file (2.7*10^6 lines, 204.5*10^6 bytes) of code that defines a python dict, some dict values are matrices of dimension roughly 800x1200 over GF(8), some dict values are other dicts. Problem: When I try to load the file with sage.repl.load.load, my laptop very soon starts swappi

[sage-devel] Re: yet another sage-python performance puzzle

2017-09-15 Thread Simon King
Hi! On 2017-09-16, Nils Bruin wrote: > On Friday, September 15, 2017 at 2:28:06 PM UTC-7, Travis Scrimshaw wrote: >>> Why are you proposing local imports? If python puts a performance penalty >>> on them (in fact a significant performance penalty), they should be >>> avoided, no? >>> >> It is

[sage-devel] Re: Question about libgap_enter/exit

2017-09-08 Thread Simon King
On 2017-09-08, Simon King wrote: > Hi Vincent, > > On 2017-09-08, Vincent Delecroix <20100.delecr...@gmail.com> wrote: >> In the above code you are *not* calling the C API. Just avoid the >> libgap_enter / libgap_exit. > > I know. But part of my question was wh

[sage-devel] Re: Question about libgap_enter/exit

2017-09-08 Thread Simon King
Hi Vincent, On 2017-09-08, Vincent Delecroix <20100.delecr...@gmail.com> wrote: > In the above code you are *not* calling the C API. Just avoid the > libgap_enter / libgap_exit. I know. But part of my question was whether it is safe to have python calls inside a libgap_enter/exit pair. Apparentl

[sage-devel] Re: Question about libgap_enter/exit

2017-09-08 Thread Simon King
On 2017-09-08, Simon King wrote: > When I do libgap_enter() and then >cdef GapElement_FiniteField zero = libgap(F.zero()) > (where F=GF(2)), I get a crash. I am about to test whether I can make > up a minimal example from it. Voilà : sage: cython("""

[sage-devel] Re: Question about libgap_enter/exit

2017-09-08 Thread Simon King
On 2017-09-07, Simon King wrote: > I expected a crash when *not* using libgap_enter/exit. But actually I am > getting the crash when I *do* use it. I see the message > sig_error() without sig_on() > followed by a lng gdb backtrace. > > So, does one need sig_on()/sig_of

[sage-devel] Re: Question about libgap_enter/exit

2017-09-07 Thread Simon King
Hi Vincent, On 2017-09-07, Vincent Delecroix <20100.delecr...@gmail.com> wrote: > I believe that GAP should also be initialized before calling any > non-trivial function using the stack. How do you initalize it? (the call > "import sage.libs.gap.libgap should do the job). I do from sage.libs

[sage-devel] Re: Question about libgap_enter/exit

2017-09-07 Thread Simon King
Hi! On 2017-09-07, Simon King wrote: > On 2017-09-07, Volker Braun wrote: >> Second question: Move the libgap_enter/exit outside of the loop, assuming >> that the python functions don't themselves call libgap. If they do, you >> will get a "RuntimeError: Ente

[sage-devel] Re: Question about libgap_enter/exit

2017-09-07 Thread Simon King
Hi Volker, On 2017-09-07, Volker Braun wrote: > First question: The GAP garbage collector might delete objects, or it might > move existing objects around in memory (it is a compacting garbage > collector). If your code contains C pointers to GAP objects, bad things > will happen after that.

[sage-devel] Re: Question about libgap_enter/exit

2017-09-07 Thread Simon King
Hi Volker, On 2017-09-07, Volker Braun wrote: > For the record, using the libgap Python interface (i.e. from > sage.libs.gap.libgap import libgap) automatically takes care of the > libgap_enter/exit business. This is only an issue if you want to the libGAP > C API directly, which is what Simon

[sage-devel] Re: Question about libgap_enter/exit

2017-09-07 Thread Simon King
Hi Dima, On 2017-09-07, Dima Pasechnik wrote: > I don't think anything special like libgap_enter/exit is needed when > calling libgap.* stuff from > Python or Cython. The documentation in sage.libs.gap.libgap says: """ In particular, you must call ``libgap_mark_stack_bottom()`` in every functi

[sage-devel] Question about libgap_enter/exit

2017-09-07 Thread Simon King
Hi! My questions are about how/when to use libgap_enter/exit when calling a libGAP_* function. First question: What should happen if one doesn't use libgap_enter/exit? I ask since I called libGAP_EQ without libgap_enter/exit, but there is no crash and it just works. So, can one do without it, in

[sage-devel] Re: Some polynomial timings

2017-09-01 Thread Simon King
Hi Travis, On 2017-09-02, Travis Scrimshaw wrote: > sage: R. = ZZ[] > sage: %time f = (1+x+y+z+t)^30 > CPU times: user 232 ms, sys: 0 ns, total: 232 ms > Wall time: 241 ms > sage: g = f+1 > sage: %time temp = f * g > CPU times: user 16min 34s, sys: 8 ms, total: 16min 34s > Wall time: 16min 34s >

[sage-devel] Re: Wrong way to pickle element classes?

2017-08-28 Thread Simon King
Hi Jeroen, On 2017-08-28, Jeroen Demeyer wrote: >> If not, then I think magical methods should be >> banned from the category framework. > > De facto, this is already the case. Good. But, as Travis pointed out at #23707, there is a __getitem__ in ModulesWithBasis.ElementMethods. As I just found,

[sage-devel] Re: Wrong way to pickle element classes?

2017-08-28 Thread Simon King
Hi Nicolas, On 2017-08-28, Nicolas M. Thiery wrote: >> - Use the fact that when creating a dynamic class, one can provide >> information on how it should be pickled. Namely, P.element_class >> should be pickled as getattr, (P, 'element_class') so that in >> future it will be guaranteed that

[sage-devel] Wrong way to pickle element classes?

2017-08-28 Thread Simon King
Hi! Let P be a parent and P.Element=EC a subclass of Element. - If EC is a Python class, then P.element_class is a dynamic class obtained from EC and from P.category().element_class. - If EC is a Cython class, then P.element_class is just EC. Why? It should still inherit methods from P.categor

[sage-devel] Re: Status of @lazy_attribute for cdef classes

2017-08-25 Thread Simon King
Hi Jeroen, On 2017-08-25, Jeroen Demeyer wrote: > On 2017-08-25 13:37, Simon King wrote: >> Not much, actually: > > My point was that a __dict__ makes any attribute access slower, not just > this lazy attribute. It will also seriously slow down cpdef methods. OK, if it co

[sage-devel] Re: Status of @lazy_attribute for cdef classes

2017-08-25 Thread Simon King
Hi Jeroen, On 2017-08-25, Jeroen Demeyer wrote: > One workaround is adding a __dict__: > ... > This does make everything slower though, so I guess it's not what you want. Not much, actually: sage: cython(""" : from sage.structure.element cimport Element : cdef class CyElement(Element): .

[sage-devel] Re: Status of @lazy_attribute for cdef classes

2017-08-25 Thread Simon King
Hi! I just realise that @property works for Cython, and it is competitive! Namely: sage: cython(""" : from sage.structure.element cimport Element : cdef class CyElement(Element): : cdef object _test : def __init__(self, P): : Element.__init__(self,P) :

[sage-devel] Status of @lazy_attribute for cdef classes

2017-08-25 Thread Simon King
Hi! I know that to @lazy_attribute supports Python classes written in a Cython extension module. Also, I just tested that even a cdef class compiles if @lazy_attribute is used: sage: cython(""" : from sage.misc.lazy_attribute import lazy_attribute : from sage.structure.element

[sage-devel] Re: Senseless leading_ methods introduced on all matrices

2017-08-18 Thread Simon King
Hi Johan, On 2017-08-18, Johan S. H. Rosenkilde wrote: > My question here is whether it is really intended that all matrices get > stuck with these (almost) senseless methods? I didn't introduce them, but I believe it would be quite useful for my applications (provided it is a *fast* method!). S

[sage-devel] Re: Would it be a good idea to start working on a module on Population Dynamics?

2017-07-29 Thread Simon King
On 2017-07-27, Travis Scrimshaw wrote: > I am assuming by "this process" is the Sage peer review. It also does > usually improve the quality of the code and the documentation. +1 > That is precisely what could be a problem. Doing things one-by-one means > you may not see how one dependency aff

[sage-devel] Re: Would it be a good idea to start working on a module on Population Dynamics?

2017-07-29 Thread Simon King
On 2017-07-25, Vincent Delecroix <20100.delecr...@gmail.com> wrote: > The code quality is up to the project developers and not the consequence > of the peer review process that we have in Sage. Of course, if the project developers decide on using peer review and unit/doc testing, then they'll get

[sage-devel] Re: Ergodic Theory

2017-07-29 Thread Simon King
Hi Marc, On 2017-07-27, Marc Masdeu wrote: > @Simon maybe it would help the OP if you elaborated on why the group > cohomology code was not included in the standard Sage... 1. It depends on an optional package with GPL-compatible licence at build time and on an optional package with GPL-inco

[sage-devel] Re: Ergodic Theory

2017-07-25 Thread Simon King
Hi Travis, On 2017-07-25, Travis Scrimshaw wrote: > There is no discussion about why separate packages: only suggestions about > doing it without mentioning any of the advantages or disadvantages. Yes, my > wording is (heavily) loaded, but I did give an advantage to developing a > separate pac

[sage-devel] Re: How to ask the patchbots to use an optional package?

2017-07-15 Thread Simon King
On 2017-07-15, Simon King wrote: > That's exactly why my suggestion is good: The patchbots should verify > that all tests pass with any subset of the optional packages that > are dealt with in the ticket (of course including the empty subset). On second thought: My suggestion

[sage-devel] Re: How to ask the patchbots to use an optional package?

2017-07-15 Thread Simon King
PS: On 2017-07-15, Vincent Delecroix <20100.delecr...@gmail.com> wrote: > If you want a patchbot to test meataxe then the package needs to be > installed on the computer! That's all it needs. It only depends on the > patchbot administrator. You can run one with meataxe if you need it. Of course

[sage-devel] Re: How to ask the patchbots to use an optional package?

2017-07-15 Thread Simon King
On 2017-07-15, Vincent Delecroix <20100.delecr...@gmail.com> wrote: > Your suggestion about optional packages is not good: all the tests > should pass, with or without meataxe being installed. That's exactly why my suggestion is good: The patchbots should verify that all tests pass with any subse

[sage-devel] How to ask the patchbots to use an optional package?

2017-07-15 Thread Simon King
Hi! Currently I do some work on the optional meataxe package. Problem: I got the impression that the patchbots run the tests *without* meataxe being installed, as they detect forgotten "# optional: meataxe" marks in the tests. But it would be nice if they would also test *with* meataxe installed.

[sage-devel] Re: Bug in groebner_basis()?

2017-07-14 Thread Simon King
Hi Daniel, On 2017-07-14, Daniel Krenn wrote: >>> R. = PolynomialRing(QQ, 'lex') >> That's not what you want. >> [...] >> Instead you have to do >> sage: R. = PolynomialRing(QQ, order='lex') >> (i.e., specify what parameter is 'lex' being assigned to) > > What does the polynomial ring construct

[sage-devel] Re: Bug in groebner_basis()?

2017-07-14 Thread Simon King
Hi Johannes, On 2017-07-14, Johannes Schwab wrote: > Here is the code: > R. = PolynomialRing(QQ, 'lex') That's not what you want. sage: R.term_order() Degree reverse lexicographic term order Instead you have to do sage: R. = PolynomialRing(QQ, order='lex') (i.e., specify what parameter is

[sage-devel] Re: Question on git merge

2017-07-12 Thread Simon King
Hi Nils, On 2017-07-12, Nils Bruin wrote: > On Wednesday, July 12, 2017 at 8:46:00 AM UTC+2, Simon King wrote: >> >> Actually I still miss the old sage development workflow with mercurial. > > Are you sure? It led to some precious losses of code: > > https://tra

<    1   2   3   4   5   6   7   8   9   10   >