Re: [sage-devel] Re: AlgebraicReal.minpoly slow

2016-09-20 Thread Jonas Jermann
Hi Factoring first and then calculating the roots of the factors (you don't need the multiplicity of the factor) worked fast for me... Side note: In AA I noticed that most operations become much faster after a num.simplify(). But in this case the simplify operation is slow itself... Best

Re: [sage-devel] subs semantic

2015-12-06 Thread Jonas Jermann
Hi +1 by me. How is the order of variables for "call" determined? How would this work for SR? Regards Jonas On 06.12.2015 15:24, Vincent Delecroix wrote: Hello, We have substitution available for various objects (e.g. matrices when the base ring is a polynomial ring). I would like to fix the

Re: [sage-devel] Re: Do we really need Element, RingElement, AdditiveGroupElement, ...?

2015-11-28 Thread Jonas Jermann
What if it is inconvenient to define multiplication in terms of the basis (e.g. what if we don't want to work with a basis unless it is really necessary)? What if we have infinite dimensional spaces but multiplication can still be defined (without using a basis)? Best Jonas On 28.11.2015 20:4

Re: [sage-devel] Re: Do we really need Element, RingElement, AdditiveGroupElement, ...?

2015-11-27 Thread Jonas Jermann
Hi In one case I was forced to use CommutativeAlgebraElement because I needed it's operations (e.g. __mul__) even though the category/class from the parent (module) doesn't support it: It sometimes makes sense to view (homogeneous) elements of a graded ring as module elements (because operations

Re: [sage-devel] Review of tickets #17909, #17943, #18043

2015-11-21 Thread Jonas Jermann
Hi again Ping: Can someone review #17909 (and/or #17943)? #18043 was reviewed and applied/closed (thanks Travis). Best Jonas On 02.11.2015 15:40, Jonas Jermann wrote: Hi all I already sent this to sage-nt but didn't get a response, so I try again: Can someone maybe have a look at o

[sage-devel] [sage-nt] Review of tickets #17909, #17943, #18043

2015-11-02 Thread Jonas Jermann
Hi all I already sent this to sage-nt but didn't get a response, so I try again: Can someone maybe have a look at one of the tickets above (in particular #17909)? They are for modular forms for Hecke triangle groups. In particular this includes (classical) modular forms for SL2(Z) and for the

Re: [sage-devel] Re: Algebraic numbers: the '?' could be more informative (e.g.: 1.4142?)

2015-07-13 Thread Jonas Jermann
On 13.07.2015 19:33, Nathann Cohen wrote: I agree with Simon, although finding a nice expression like sqrt(2)+3^(1/3) can be very costly deppending on how the algebraic number was constructed. Yepyep. As Simon said we cannot always express algebraic numbers in such a nice way, though. Well,

Re: [sage-devel] Re: polynomial ring (bis)

2015-05-09 Thread Jonas Jermann
Hi Just a side question: What if there are infinitely/arbitrary many variables and the need to print/reference/etc them (fetch the next) appropriately? A PhD colleague of mine had this issue (iirc with Power-series rings)... Regards Jonas On 10.05.2015 01:54, Nils Bruin wrote: On Saturday, M

Re: [sage-devel] Re: help with conventions for python properties and __init__ question

2015-03-29 Thread Jonas Jermann
Hi Martin What about something like this: class A(SageObject): def __new__(cls, a, b=None, c=None): if isinstance(a, A): print "just use a" return a else: print "create new instance" return super(A, cls).__new__(cls, a, b, c)

Re: [sage-devel] 'git trac' instructions for rebasing/merging

2015-03-13 Thread Jonas Jermann
Hi On 12.03.2015 08:28, Nathann Cohen wrote: Hello everybody, I just noticed that we do not seem to have in our developer's manual instructions about how to rebase/merge a branch when it becomes incompatible with the latest beta. I do not use 'git trac' myself, but it would be cool if anybody

[sage-devel] Review 17261

2015-02-28 Thread Jonas Jermann
Hi Can someone review the following (small) ticket: http://trac.sagemath.org/ticket/17261 It's an enhancement for modular forms for hecke triangle groups. It adds support for coercions from form spaces/rings over the full modular group to form spaces/rings over the Theta subgroup. Best Jon

Re: [sage-devel] Re: Addition of zero in the coercion model

2015-02-23 Thread Jonas Jermann
Hi In my case there is a cm.coercion_map(parent(myElement), parent(0)) (line 907) namely the coercions into the modular forms ring. These maps are then used to map both myElement and 0 to the modular forms ring (in contrast to the (vector) space myElement.parent()). Unfortunately the check for

Re: [sage-devel] Re: Addition of zero in the coercion model

2015-02-21 Thread Jonas Jermann
which case ZZ coerces into the space. In any case, it's ok. I can work around these issues. Best Jonas On 21.02.2015 23:44, Eric Gourgoulhon wrote: Le samedi 21 février 2015 23:09:24 UTC+1, Jonas Jermann a écrit : Hi It's a good idea but it won't work (in fact t

Re: [sage-devel] Re: Addition of zero in the coercion model

2015-02-21 Thread Jonas Jermann
21 février 2015 21:59:05 UTC+1, Jonas Jermann a écrit : The parent is a vector space / module not a ring. Every vector space contains zero, so in my opinion from a conceptual point of view adding zero should not change the parent space. However since it views 0 as an integer and

Re: [sage-devel] Re: Addition of zero in the coercion model

2015-02-21 Thread Jonas Jermann
Hi On 21.02.2015 22:13, Nils Bruin wrote: On Saturday, February 21, 2015 at 12:57:44 PM UTC-8, Simon King wrote: I.e., if P is a commutative additive group, then P.coerce_map_from(ZZ) should return a morphism in the category of commutative additive groups. Then, x+0 should work

Re: [sage-devel] Re: Addition of zero in the coercion model

2015-02-21 Thread Jonas Jermann
Hi On 21.02.2015 21:57, Simon King wrote: On 2015-02-21, Simon King wrote: If ZZ does not coerce into the parent of your element, then the parent is not a (unitary) ring. PS: And if it is not a ring, then many things don't work as smoothly as they should. For example, if P is a commutative

Re: [sage-devel] Re: Addition of zero in the coercion model

2015-02-21 Thread Jonas Jermann
Hi Simon On 21.02.2015 21:47, Simon King wrote: Hi Jonas, On 2015-02-21, Jonas Jermann wrote: ZZ does not coerce into myElement.parent() so I end up in a much larger space than myElement.parent(). However I would prefer if adding zero didn't change the parent space. If ZZ does not c

[sage-devel] Addition of zero in the coercion model

2015-02-21 Thread Jonas Jermann
Hi When I do "0 + myElement" the coercion framework seems to map this to a common parent of 0 and myElement (by checking the parent of 0 and myElement). ZZ does not coerce into myElement.parent() so I end up in a much larger space than myElement.parent(). However I would prefer if adding zero di

Re: [sage-devel] coercion issue

2015-02-05 Thread Jonas Jermann
Hi Set x=GF(5)['x'].gen() I dunno if this helps but here is an explanation why one gets a different behavior for x/7 than cm.bin_op(x,7,operator.div): If you do "x/7" then I think it calls __div__ from polynomial_element (Polynomial class): try: if not isinstance(right, Element) or right.pa

Re: [sage-devel] .one() vs .one_element()

2015-01-30 Thread Jonas Jermann
+01:00, Jonas Jermann : Hi Just for your information: When I implemented modular forms spaces (with module elements that still have a multiplication/etc defined) I had to add both methods. one() to allow to take the power 0 of an element and one_element() to allow to take negative powers of

Re: [sage-devel] .one() vs .one_element()

2015-01-30 Thread Jonas Jermann
Hi Just for your information: When I implemented modular forms spaces (with module elements that still have a multiplication/etc defined) I had to add both methods. one() to allow to take the power 0 of an element and one_element() to allow to take negative powers of elements. I hope everything

Re: [sage-devel] help with QQbar conversion to complex number

2014-11-24 Thread Jonas Jermann
Hi In particular: Try .simplify()! In my case that produced an improvement factor >1000 in some cases. Best Jonas On 24.11.2014 20:54, Ben Hutz wrote: Thanks Vincent. I can give that a try. We did try to approximate earlier with CC and the errors were compounding too much (we do a bunch m

Re: [sage-devel] Re: Should NaN be in RR?

2014-10-17 Thread Jonas Jermann
On 16.10.2014 23:09, Volker Braun wrote: sage: RR('nan') NaN Its one of the possible elements of RR, but not ZZ. sage: RR(NaN)*RR(infinity) NaN sage: RR(NaN)*infinity -Infinity Huh? Regards Jonas -- You received this message because you are subscribed to the Google Groups "sage-devel"

Re: [sage-devel] Buildbot link on "needs work" tickets.

2014-10-04 Thread Jonas Jermann
Hi On 04.10.2014 11:18, Ralf Stephan wrote: On Saturday, October 4, 2014 12:09:19 AM UTC+2, Jonas Jermann wrote: -- sage -t src/sage/crypto/mq/sr.py # 5 doctests failed sage -t src/sage/modular/modform

Re: [sage-devel] Buildbot link on "needs work" tickets.

2014-10-03 Thread Jonas Jermann
Hi Regarding (the) buildbot(s), for the ticket #16936 it says "Failure" even though it builds fine for me and the doctests work fine. shell_13 doctested failed: -- sage -t src/sage/crypto/mq/sr.py # 5 doctests failed sage -t s

Re: [sage-devel] Re: sign() and comparison in AA

2014-09-17 Thread Jonas Jermann
Hi Erik [sorry, the first mail was sent to you directly] On 17.09.2014 19:21, Erik Massop wrote: > On Wed, 17 Sep 2014 17:59:49 +0200 >> It doesn't (also note that the polynomials here have deg=4 < 8). > > "the polynomials"? > >sage: el2 = (791264*AA(2*cos(pi/8))^2 - 463492).sqrt() >sage

Re: [sage-devel] Re: sign() and comparison in AA

2014-09-17 Thread Jonas Jermann
On 17.09.2014 19:02, Jonas Jermann wrote: Hi again After a closer look it seems that almost all time is spent in the calculation of "el2._exact_field().pari_field()" which occurs in "gen = left._exact_field().union(right._exact_field())" from line 7851 of qqbar.py.

Re: [sage-devel] Re: sign() and comparison in AA

2014-09-17 Thread Jonas Jermann
mediately) replace "element._exact_field" with the field given by the minpoly of element. 3rd: Try to figure out why pari_field() is so slow... Best Jonas On 17.09.2014 17:29, Marc Mezzarobba wrote: Jonas Jermann wrote: What would you suggest I do to get a fast exact sign/compariso

Re: [sage-devel] Re: sign() and comparison in AA

2014-09-17 Thread Jonas Jermann
Hi On 17.09.2014 17:29, Marc Mezzarobba wrote: Jonas Jermann wrote: What would you suggest I do to get a fast exact sign/comparison? Just a wild guess, but you may want to see if the patch at http://trac.sagemath.org/ticket/15600 helps. It doesn't (also note that the polynomials

Re: [sage-devel] sign() and comparison in AA

2014-09-17 Thread Jonas Jermann
Hi I use AA(2*cos(pi/n)) for the default embedding in the corresponding (totally real) NumberField (of which I later take a relative (real) quadratic extension for which I also try to find the "correct" embedding). -> Ticket #16936, #16976. I choose "AA" as my "default embedding field" because

[sage-devel] sign() and comparison in AA

2014-09-17 Thread Jonas Jermann
Hi How can I do exact comparison of numbers in AA? I noticed that this doesn't work very reliably: el1 = AA((x^4 - 2238072*x^2 + 44133904).roots()[1][0]) el2 = (791264*AA(2*cos(pi/8))^2 - 463492).sqrt() el1 == el2 ^- This fails for me (resp. never stops) [el1-el2 gives "0.?e-15"] Best Jon

Re: [sage-devel] Re: issues with pushout construction?

2014-08-30 Thread Jonas Jermann
Hi Robert On 30.08.2014 07:48, Robert Bradshaw wrote: I'm not sure (as mentioned the pushout construction is complex and there are many cases). But yes, that might work: Do a/several coercion check(s) _during_ pushout (during the while loop starting at line 3210) if needed instead of only at the

Re: [sage-devel] Re: issues with pushout construction?

2014-08-27 Thread Jonas Jermann
On 27.08.2014 15:06, Peter Bruin wrote: Hi Jonas, I just realized that my example was maybe a bad one. But imagine the same example for a space where the base ring _does_ coerce into the space. A base-changed base ring would then not coerce, so the pushout construction would be used and it wou

Re: [sage-devel] Re: issues with pushout construction?

2014-08-27 Thread Jonas Jermann
Hi Simon On 27.08.2014 14:46, Simon King wrote: On 2014-08-27, Jonas Jermann wrote: I was talking/thinking about the implicit call of pushout when e.g. adding two elements from different parents... ... which is exactly what coercion is about. Hence, if your functorial construction does not

Re: [sage-devel] Re: issues with pushout construction?

2014-08-27 Thread Jonas Jermann
arguments would make more sense there, no? Best Jonas On 27.08.2014 14:27, Jonas Jermann wrote: On 27.08.2014 14:01, Peter Bruin wrote: What if there is no coercion in either direction? E.g. (base_ring, cusp forms ring) Maybe #16507 would make this work too if the CuspForms construction were

Re: [sage-devel] Re: issues with pushout construction?

2014-08-27 Thread Jonas Jermann
Hi Peter, On 27.08.2014 14:01, Peter Bruin wrote: Hi Jonas, What if there is no coercion in either direction? E.g. (base_ring, cusp forms ring) Maybe #16507 would make this work too if the CuspForms construction were implemented as a composition: ModularForms followed by CuspidalSubspace, wh

Re: [sage-devel] Re: issues with pushout construction?

2014-08-27 Thread Jonas Jermann
Hi Peter On 27.08.2014 13:03, Peter Bruin wrote: Hi Jonas, When I implemented Modular forms rings/spaces for Hecke triangle groups I ran into some issues with pushout / functors / constructions (correct me if I missunderstood something): Apparently the pushout construction implicitely assumes

Re: [sage-devel] Re: issues with pushout construction?

2014-08-27 Thread Jonas Jermann
Hi On 27.08.2014 13:21, Simon King wrote: Hi Jonas, On 2014-08-27, Jonas Jermann wrote: There is supposed to be a coercion from A and B to C=pushout(A,B). But if e.g. B is constructed from A without having a coercion from A then the pushout will fail this (also see line 3217 of pushout.py

[sage-devel] issues with pushout construction?

2014-08-27 Thread Jonas Jermann
Hi all When I implemented Modular forms rings/spaces for Hecke triangle groups I ran into some issues with pushout / functors / constructions (correct me if I missunderstood something): Apparently the pushout construction implicitely assumes that there exists a coercion from the "construction ar

Re: [sage-devel] Re: flint revert_series

2014-07-27 Thread Jonas Jermann
Hi On 22.07.2014 14:47, Jean-Pierre Flori wrote: My point of view is "let's make one step at a time" or we'll just never include anything in Sage. So I think the little wrapper you submitted is a good inclusion. For sure we should also implement all that Fredrik and you suggested, but let's alre

Re: [sage-devel] Re: flint revert_series

2014-07-22 Thread Jonas Jermann
On 22.07.2014 14:42, Fredrik Johansson wrote:> On Tue, Jul 22, 2014 at > The reversion of t - t^3 + O(t^5) to length n = 5 should be t + t^3 + > O(t^5). This is what I get when I call flint directly from a C > program. Are you getting something different? I meant to write revert_series(6) which d

Re: [sage-devel] Re: flint revert_series

2014-07-22 Thread Jonas Jermann
Hi On 21.07.2014 13:10, Fredrik Johansson wrote: On Mon, Jul 21, 2014 at 7:37 AM, Jonas Jermann wrote: I agree, but somehow the "flint import" details are slightly different. I also saw a different name somewhere, "reverse_series". So I was not sure how to exactly import

Re: [sage-devel] Re: flint revert_series

2014-07-20 Thread Jonas Jermann
Hi Frederik On 20.07.2014 15:20, Fredrik Johansson wrote: There is also an nmod_poly_revert_series in flint for polynomials over Z/nZ for word-size n. It would not hurt to wrap that function in the same patch. I agree, but somehow the "flint import" details are slightly different. I also saw a

Re: [sage-devel] Re: flint revert_series

2014-07-19 Thread Jonas Jermann
Hi On 19.07.2014 23:48, Jean-Pierre Flori wrote: I can have a look next week. Thanks! Would you mind opening a ticket on trac for this? http://trac.sagemath.org/ticket/16685 Best Jonas On Saturday, July 19, 2014 8:10:33 PM UTC+2, Jonas Jermann wrote: Hi all Could someone

[sage-devel] flint revert_series

2014-07-19 Thread Jonas Jermann
Hi all Could someone familiar with flint/sage enable flint's revert_series (for rational/integer polynomials)? (Sorry if it was already implemented somewhere and I missed it). Attached is a small, non-intrusive patch (done with help from IRC) in that direction which simply adds series reversion