[sage-devel] gcd for multivariate polynomials over numberfields using pari

2007-05-18 Thread Michel

As far as I know singular does not have gcd for multivariate
polynomials over numberfields
(Martin: is this true?)
but it seems pari does. Is there a reason why this functionality is
not exported to sage (or is it)?
I did a bit of timing and it does not seem to be particularly slow.

I tried gp.gcd but I don't understand what it is supposed to do. It
seems to be undocumented (I did not look in the source yet).

sage: Q=NumberField(t^2+1,'s')
sage: s=Q.gen()
sage:  K=Q['p','q']
sage: p,q=K.gens()
sage: gp.gcd((p+s*q)^3,(p+s*q)^5)
1  == wrong!!

I don't know pari, but after some trying I think the equivalent direct
command is

sage: gp('gcd((p+Mod(s,s^2+1)*q)^5,(p+Mod(s,s^2+1)*q)^3)')
p^3 + Mod(3*q*s, s^2 + 1)*p^2 + Mod(-3*q^2, s^2 + 1)*p + Mod(-q^3*s,
s^2 + 1)

which produces slightly odd but sensible looking output (I tried to
coerce it back
into K but that didn't work :-()

Michel


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: gcd for multivariate polynomials over numberfields using pari

2007-05-18 Thread Michel

 and Q(a). I am not exactly sure what is meant by the latter but
 I assume its a one dimensional algebraic extension of QQ.

Yep you are right! Just tried it. I assume you have no intention
implementing
this in libsingular...?

Did you keep the old singular implementation of MPolynomials in the
source? Perhaps I can
enhance it so that it so that it does gcd over number fields.

Michel


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: gcd for multivariate polynomials over numberfields using pari

2007-05-18 Thread Martin Albrecht

On Friday 18 May 2007 12:06, Michel wrote:
 As far as I know singular does not have gcd for multivariate
 polynomials over numberfields
 (Martin: is this true?)

The SINGULAR source states that they only support GCDs over:
Q, Fp, Fp(a), and Q(a). I am not exactly sure what is meant by the latter but 
I assume its a one dimensional algebraic extension of QQ.

 but it seems pari does. Is there a reason why this functionality is
 not exported to sage (or is it)?

Probably because no one got around writing this code yet.

 I tried gp.gcd but I don't understand what it is supposed to do. It
 seems to be undocumented (I did not look in the source yet).

You just witnessed the true power of SAGE :-). Every gp function is available 
in SAGE through the expect interface. That is, if you know the pari code for 
a gcd over number fields you can use than in SAGE. Still, this should be a 
convenient method of the appropriate class.

Martin

-- 
name: Martin Albrecht
_pgp: http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0x8EF0DC99
_www: http://www.informatik.uni-bremen.de/~malb
_jab: [EMAIL PROTECTED]


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: Patch for matrix slicing

2007-05-18 Thread William Stein

On 5/17/07, Nick Alexander [EMAIL PROTECTED] wrote:
 While I'm here, what's the good way to get a column slice?  Say the
 moral equivalent of matrix(...)[,:4], which gets the first four
 columns?

Nick -- nice patch.  It will be in sage-2.5.1.  And, I agree that
calling getitem on range then using the result is a good way
of reducing the possibility of bugs and should be used elsewhere
instead of us trying to implement getslice.


 Nick


 




-- 
William Stein
Associate Professor of Mathematics
University of Washington
http://www.williamstein.org

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: SAGE polynomail algebra problems

2007-05-18 Thread Michel

I am running the new libsingular and I get the following

sage: R = PolynomialRing(QQ, ['a','b','c','d','e'], 5)
sage: K = R.fraction_field()
sage: a,b,c,d,e = K.gens()
sage:
sage: ig = 12*a*e-3*b*d+c^2
sage: jg = 72*a*c*e+9*b*c*d-27*a*d^2-27*e*b^2-2*c^3
sage: hg = 8*a*c-3*b^2
sage: deltag = 4*ig^3-jg^2
sage:
sage: Ky.y = PolynomialRing(K,'y')
sage: phipoly = y^3-3*ig*y+jg
---
type 'exceptions.TypeError' Traceback (most recent call
last)

/home/vdbergh/sage-2.5/ipython console in module()

/home/vdbergh/sage-2.5/element.pyx in element.ModuleElement.__add__()

/home/vdbergh/sage-2.5/element.pyx in element.bin_op_c()

type 'exceptions.TypeError': unsupported operand parent(s) for '+':
'Univariat e Polynomial Ring in y over Fraction Field of Polynomial
Ring in a, b, c, d, e o ver Rational Field' and 'Fraction Field of
Polynomial Ring in a, b, c, d, e over  Rational Field'

At least it tells you exactly where the error is. I tried to reproduce
it on a simple example but could not so far.

Michel



On May 17, 5:47 pm, William Stein [EMAIL PROTECTED] wrote:
 On 5/17/07, Prof. J. E. Cremona [EMAIL PROTECTED] wrote:





  Problem:  when executing the following, the last line takes forever and
  had to be killed:

  R = PolynomialRing(QQ, ['a','b','c','d','e'], 5)
  K = R.fraction_field()
  a,b,c,d,e = K.gens()

  ig = 12*a*e-3*b*d+c^2
  jg = 72*a*c*e+9*b*c*d-27*a*d^2-27*e*b^2-2*c^3
  hg = 8*a*c-3*b^2
  deltag = 4*ig^3-jg^2

  Ky.y = PolynomialRing(K,'y')
  phipoly = y^3-3*ig*y+jg

  What am I missing?

 Nothing --  You have found a subtle bug in SAGE's coercion code.
 If you make the coercion that is going on in the last line very explicit,
 then the above line works, e.g., this works (note that I've used some
 more compact notation at the beginning, but it's equivalent to
 what you wrote):

 {{{
 R.a,b,c,d,e = QQ[]
 K = R.fraction_field()
 a,b,c,d,e = K.gens()
 ig = 12*a*e-3*b*d+c^2
 jg = 72*a*c*e+9*b*c*d-27*a*d^2-27*e*b^2-2*c^3
 hg = 8*a*c-3*b^2
 deltag = 4*ig^3-jg^2

 }}}

 {{{
 Ky.y = PolynomialRing(K,'y')
 phipoly = y^3-3*ig*y+Ky([jg])
 phipoly
 ///
 y^3 + (-3*c^2 + 9*b*d - 36*a*e)*y + -2*c^3 + 9*b*c*d - 27*b^2*e -
 27*a*d^2 + 72*a*c*e

 }}}

 The difference is that I put Ky([jg]) explicitly instead of jg.

 Whatever is causing this is a serious bug, and I hope somebody fixes
 it soon (or that I do).  It's trac #365:
http://www.sagemath.org:9002/sage_trac/ticket/365





  John

  --
   Prof. J. E. Cremona |
   University of Nottingham| Tel.:  +44-115-9514920
   School of Mathematical Sciences | Fax:   +44-115-9514951
   University Park | Email: [EMAIL PROTECTED]
   Nottingham NG7 2RD, UK  |

  This message has been checked for viruses but the contents of an attachment
  may still contain software viruses, which could damage your computer system:
  you are advised to perform your own checks. Email communications with the
  University of Nottingham may be monitored as permitted by UK legislation.

 --
 William Stein
 Associate Professor of Mathematics
 University of Washingtonhttp://www.williamstein.org


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: SAGE polynomail algebra problems

2007-05-18 Thread Michel

I could reproduce it!

sage: Q=FractionField(QQ['x'])
sage: x=Q.gens()
sage: V=Q['z']
sage: z=V.gen()
sage: x+z

type 'exceptions.TypeError': unsupported operand parent(s) for '+':
'type 'tuple'' and 'Univariate Polynomial Ring in z over Fraction
Field of Univariate Polynomial Ring in x over Rational Field'

A missing automatic coercion! Should be trivial to fix now.

Michel


On May 17, 5:47 pm, William Stein [EMAIL PROTECTED] wrote:
 On 5/17/07, Prof. J. E. Cremona [EMAIL PROTECTED] wrote:





  Problem:  when executing the following, the last line takes forever and
  had to be killed:

  R = PolynomialRing(QQ, ['a','b','c','d','e'], 5)
  K = R.fraction_field()
  a,b,c,d,e = K.gens()

  ig = 12*a*e-3*b*d+c^2
  jg = 72*a*c*e+9*b*c*d-27*a*d^2-27*e*b^2-2*c^3
  hg = 8*a*c-3*b^2
  deltag = 4*ig^3-jg^2

  Ky.y = PolynomialRing(K,'y')
  phipoly = y^3-3*ig*y+jg

  What am I missing?

 Nothing --  You have found a subtle bug in SAGE's coercion code.
 If you make the coercion that is going on in the last line very explicit,
 then the above line works, e.g., this works (note that I've used some
 more compact notation at the beginning, but it's equivalent to
 what you wrote):

 {{{
 R.a,b,c,d,e = QQ[]
 K = R.fraction_field()
 a,b,c,d,e = K.gens()
 ig = 12*a*e-3*b*d+c^2
 jg = 72*a*c*e+9*b*c*d-27*a*d^2-27*e*b^2-2*c^3
 hg = 8*a*c-3*b^2
 deltag = 4*ig^3-jg^2

 }}}

 {{{
 Ky.y = PolynomialRing(K,'y')
 phipoly = y^3-3*ig*y+Ky([jg])
 phipoly
 ///
 y^3 + (-3*c^2 + 9*b*d - 36*a*e)*y + -2*c^3 + 9*b*c*d - 27*b^2*e -
 27*a*d^2 + 72*a*c*e

 }}}

 The difference is that I put Ky([jg]) explicitly instead of jg.

 Whatever is causing this is a serious bug, and I hope somebody fixes
 it soon (or that I do).  It's trac #365:
http://www.sagemath.org:9002/sage_trac/ticket/365





  John

  --
   Prof. J. E. Cremona |
   University of Nottingham| Tel.:  +44-115-9514920
   School of Mathematical Sciences | Fax:   +44-115-9514951
   University Park | Email: [EMAIL PROTECTED]
   Nottingham NG7 2RD, UK  |

  This message has been checked for viruses but the contents of an attachment
  may still contain software viruses, which could damage your computer system:
  you are advised to perform your own checks. Email communications with the
  University of Nottingham may be monitored as permitted by UK legislation.

 --
 William Stein
 Associate Professor of Mathematics
 University of Washingtonhttp://www.williamstein.org


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: SAGE polynomail algebra problems

2007-05-18 Thread Michel

Now I could reproduce it.

sage: Q=FractionField(QQ['x','y'])
sage: x,y=Q.gens()
sage: V=Q['z']
sage: z=V.gen()

sage: x+z

---
type 'exceptions.TypeError' Traceback (most recent call
last)

/home/vdbergh/sage-2.5/ipython console in module()

/home/vdbergh/sage-2.5/element.pyx in element.ModuleElement.__add__()

/home/vdbergh/sage-2.5/element.pyx in element.bin_op_c()

type 'exceptions.TypeError': unsupported operand parent(s) for '+':
'Fraction Field of Polynomial Ring in x, y over Rational Field' and
'Univariate Polynomial Ring in z over Fraction Field of Polynomial
Ring in x, y over Rational Field'

A missing automatic coercion. Should be trivial to fix.

Michel


On May 18, 4:22 pm, Michel [EMAIL PROTECTED] wrote:
 I am running the new libsingular and I get the following

 sage: R = PolynomialRing(QQ, ['a','b','c','d','e'], 5)
 sage: K = R.fraction_field()
 sage: a,b,c,d,e = K.gens()
 sage:
 sage: ig = 12*a*e-3*b*d+c^2
 sage: jg = 72*a*c*e+9*b*c*d-27*a*d^2-27*e*b^2-2*c^3
 sage: hg = 8*a*c-3*b^2
 sage: deltag = 4*ig^3-jg^2
 sage:
 sage: Ky.y = PolynomialRing(K,'y')
 sage: phipoly = y^3-3*ig*y+jg
 ---
 type 'exceptions.TypeError' Traceback (most recent call
 last)

 /home/vdbergh/sage-2.5/ipython console in module()

 /home/vdbergh/sage-2.5/element.pyx in element.ModuleElement.__add__()

 /home/vdbergh/sage-2.5/element.pyx in element.bin_op_c()

 type 'exceptions.TypeError': unsupported operand parent(s) for '+':
 'Univariat e Polynomial Ring in y over Fraction Field of Polynomial
 Ring in a, b, c, d, e o ver Rational Field' and 'Fraction Field of
 Polynomial Ring in a, b, c, d, e over  Rational Field'

 At least it tells you exactly where the error is. I tried to reproduce
 it on a simple example but could not so far.

 Michel

 On May 17, 5:47 pm, William Stein [EMAIL PROTECTED] wrote:

  On 5/17/07, Prof. J. E. Cremona [EMAIL PROTECTED] wrote:

   Problem:  when executing the following, the last line takes forever and
   had to be killed:

   R = PolynomialRing(QQ, ['a','b','c','d','e'], 5)
   K = R.fraction_field()
   a,b,c,d,e = K.gens()

   ig = 12*a*e-3*b*d+c^2
   jg = 72*a*c*e+9*b*c*d-27*a*d^2-27*e*b^2-2*c^3
   hg = 8*a*c-3*b^2
   deltag = 4*ig^3-jg^2

   Ky.y = PolynomialRing(K,'y')
   phipoly = y^3-3*ig*y+jg

   What am I missing?

  Nothing --  You have found a subtle bug in SAGE's coercion code.
  If you make the coercion that is going on in the last line very explicit,
  then the above line works, e.g., this works (note that I've used some
  more compact notation at the beginning, but it's equivalent to
  what you wrote):

  {{{
  R.a,b,c,d,e = QQ[]
  K = R.fraction_field()
  a,b,c,d,e = K.gens()
  ig = 12*a*e-3*b*d+c^2
  jg = 72*a*c*e+9*b*c*d-27*a*d^2-27*e*b^2-2*c^3
  hg = 8*a*c-3*b^2
  deltag = 4*ig^3-jg^2

  }}}

  {{{
  Ky.y = PolynomialRing(K,'y')
  phipoly = y^3-3*ig*y+Ky([jg])
  phipoly
  ///
  y^3 + (-3*c^2 + 9*b*d - 36*a*e)*y + -2*c^3 + 9*b*c*d - 27*b^2*e -
  27*a*d^2 + 72*a*c*e

  }}}

  The difference is that I put Ky([jg]) explicitly instead of jg.

  Whatever is causing this is a serious bug, and I hope somebody fixes
  it soon (or that I do).  It's trac #365:
 http://www.sagemath.org:9002/sage_trac/ticket/365

   John

   --
Prof. J. E. Cremona |
University of Nottingham| Tel.:  +44-115-9514920
School of Mathematical Sciences | Fax:   +44-115-9514951
University Park | Email: [EMAIL PROTECTED]
Nottingham NG7 2RD, UK  |

   This message has been checked for viruses but the contents of an 
   attachment
   may still contain software viruses, which could damage your computer 
   system:
   you are advised to perform your own checks. Email communications with the
   University of Nottingham may be monitored as permitted by UK legislation.

  --
  William Stein
  Associate Professor of Mathematics
  University of Washingtonhttp://www.williamstein.org


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: SAGE polynomail algebra problems

2007-05-18 Thread Michel

Sorry I sent the wrong counterexample:-) I deleted the post but you
were too fast. Now I submitted
the correct example.

Michel

On May 18, 4:33 pm, Martin Albrecht [EMAIL PROTECTED]
wrote:
 On Friday 18 May 2007 16:25, Michel wrote:

  sage: Q=FractionField(QQ['x'])
  sage: x=Q.gens()
  sage: V=Q['z']
  sage: z=V.gen()
  sage: x+z

 Thats something different. x is a tuple as gens (note the plural) returns a
 tuple.

 Martin

 --
 name: Martin Albrecht
 _pgp:http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0x8EF0DC99
 _www:http://www.informatik.uni-bremen.de/~malb
 _jab: [EMAIL PROTECTED]


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: More polynomial algebra problems!

2007-05-18 Thread David Harvey


On May 18, 2007, at 10:43 AM, Michel wrote:


 Look at

 sage: Q=FractionField(QQ['x'])
 sage: x=Q.gen()
 sage: V=Q['z']
 sage: z=V.gen()
 sage: x+z
 2*z

 Any explanations for this?

Basically -- this is my point of view only -- the semantics of 
automatic coercions in SAGE are not as well worked out as they could 
be, and to the extent that they are well worked out, they are often not 
correctly implemented. The kind of thing you are pointing out happens 
all over the place. This is a problem that many developers are keen to 
address, and a number of us are planning to devote considerable time to 
it at the next SAGE developer's workshop in mid-June. My guess, without 
looking at the code, is that it's probably not worth trying to fix the 
particular problem you noted, it would probably end up being a band-aid 
solution to a much deeper problem.

david


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: More polynomial algebra problems!

2007-05-18 Thread William Stein
On 5/18/07, David Harvey [EMAIL PROTECTED] wrote:
 On May 18, 2007, at 10:43 AM, Michel wrote:
  Look at
 
  sage: Q=FractionField(QQ['x'])
  sage: x=Q.gen()
  sage: V=Q['z']
  sage: z=V.gen()
  sage: x+z
  2*z
 
  Any explanations for this?

The attached patch fixes this.  The problem was that the method
for coercing into polynomial rings if at all possible didn't handle optimally
the case when the element being coerced in was already in the base
ring of the polynomial ring.  The canonical coercion code, on the other
hand, assumed that this case was handled correctly.

There have recently been a few comments that some abstract
nonsense is going to magically fix coercion in SAGE.  I am pessimistic.
The commutative diagram proposal is going to make
SAGE more powerful, flexible, and *more complicated*.
Automatic coercion in the context of
a complicated system of types is, well, complicated. It takes a lot of work,
examples, debugging, etc., to get it right.   It doesn't matter how
good the design is: when you have hundreds of different rings
and you want to automatically do coercions and arithmetic with them,
there is going to be a lot of nontrivial code that implements said coercions,
and it won't work perfectly the first time.

-- 
William Stein
Associate Professor of Mathematics
University of Washington
http://www.williamstein.org

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



4432.patch
Description: Binary data


[sage-devel] Re: More polynomial algebra problems!

2007-05-18 Thread David Harvey


On May 18, 2007, at 11:40 AM, William Stein wrote:

 There have recently been a few comments that some abstract
 nonsense is going to magically fix coercion in SAGE.  I am pessimistic.

This must be the first time I am more optimistic than William about 
something related to SAGE :-)

 The commutative diagram proposal is going to make
 SAGE more powerful, flexible, and *more complicated*.

I think the point of introducing the abstract nonsense is to make 
things *simpler*. If it doesn't do that, then I agree it will most 
likely fail.

But I guess we'll be able to discuss this more easily at SD4.

david


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: More polynomial algebra problems!

2007-05-18 Thread William Stein

On 5/18/07, David Harvey [EMAIL PROTECTED] wrote:
 On May 18, 2007, at 11:40 AM, William Stein wrote:
  There have recently been a few comments that some abstract
  nonsense is going to magically fix coercion in SAGE.  I am pessimistic.

 This must be the first time I am more optimistic than William about
 something related to SAGE :-)

:-)

  The commutative diagram proposal is going to make
  SAGE more powerful, flexible, and *more complicated*.

 I think the point of introducing the abstract nonsense is to make
 things *simpler*. If it doesn't do that, then I agree it will most
 likely fail.

Wait -- I don't think it is going to fail!   I really really like it.
I just don't think it will be easy, a magic fix, or anything else
like that.  I think it won't make what we have now (much) simpler;
but what it will do is make much more sophisticated canonical
coercions possible, which the current system doesn't support.
I very much want to see such more sophisticated coercions
be supported in the future.   Robert Bradshaw and I spent
a lot of time thinking up almost the same system as David
Roe coincidentally on the same afternoon, so the time is right.
I just don't think this is going to make what we already do easier.
But that's no reason not to do it.

-- 
William Stein
Associate Professor of Mathematics
University of Washington
http://www.williamstein.org

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: automatic sage upgrade notification?

2007-05-18 Thread Hamptonio

Pop-up windows about upgrades are really annoying.  But a simple text
output of the sort described, that doesn't ask for any input, would be
a good idea I think.

-M.Hampton

On May 18, 11:18 am, William Stein [EMAIL PROTECTED] wrote:
 Hi,

 This is a discussion of update/upgrade notification for SAGE for normal users.
 Feel free to read it and share your thoughts.

 -- Forwarded message --
  Another suggestion I have, automatic notification of major new
  version releases:

  Say once a week, when  you start SAGE, it checks with the canonical
  SAGE server on the Net and if a significant version (like  2.5) has
  been released, it just says something like A newer version of SAGE
  with software enhancements, version 2.5, is now available.  If you
  have administrative privileges for SAGE you may wish to install it
  with the command sage -upgrade from the command line.  Note that
  this may take some time, depending on the speed of your computer and
  network connection.

 Maybe.  I'll running it by sage-devel.  One of the things I hate most
 about software is stupid frickin' automatic notifications about upgrades...
 They drive me crazy. Especially Adobe Acrobat's.



  Otherwise, people may get way behind without ever knowing it, and run
  into problems/difficulties/errors/frustrations you've already long
  since solved.

  I don't know how often, for example, I see people still running
  Firefox 1.0 or 1.5, both insecure and  long since superceded, with no
  idea that there's a newer, better version available.

  And, on the SysAdmin side, the mathematicians bugging the SysAdmins
  due to the upgrade message will get the SysAdmins to install the
  newer version, which they otherwise may have no clue was even released.

  Of course,  you've got to be real sure that the -upgrade works real
  well!

  Arthur
   Maybe.  I'll running it by sage-devel.  One of the things I hate most
   about software is stupid frickin' automatic notifications about
   upgrades...
   They drive me crazy. Especially Adobe Acrobat's.

  You don't want to make it too obtrusive, but if someone's not on Sage-
  announce (or one of the other mailing lists) which I assume most
  normal users aren't,

 True.

  or you don't go to sagmath.org (which I assume
  most wouldn't  much if they're just a normal user) how would someone
  ever know if a new and improved version came out?

 They wouldn't, unless they type upgrade().

  I mean, I'm in the new and improved software business, mathematicians
  just want to do math... they mostly don't want to screw around with
  computers so mostly don't pay much attention to software at all,
  unless something breaks, and often not so much even then.

  Adobe Acrobat's upgrade notifications suck.  But so do Adobe's
  installs, especially their network installs.

  *Don't* ever make it an automatic upgrade, though.  I hate those.
  Those massively suck.

 --
 William Stein
 Associate Professor of Mathematics
 University of Washingtonhttp://www.williamstein.org


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: automatic sage upgrade notification?

2007-05-18 Thread Nick Alexander

William Stein [EMAIL PROTECTED] writes:

 Hi,

 This is a discussion of update/upgrade notification for SAGE for normal users.
 Feel free to read it and share your thoughts.

 -- Forwarded message --
 Another suggestion I have, automatic notification of major new
 version releases:

 Say once a week, when  you start SAGE, it checks with the canonical
 SAGE server on the Net and if a significant version (like  2.5) has
 been released, it just says something like A newer version of SAGE
 with software enhancements, version 2.5, is now available.  If you
 have administrative privileges for SAGE you may wish to install it
 with the command sage -upgrade from the command line.  Note that
 this may take some time, depending on the speed of your computer and
 network connection.

 Maybe.  I'll running it by sage-devel.  One of the things I hate most
 about software is stupid frickin' automatic notifications about upgrades...
 They drive me crazy. Especially Adobe Acrobat's.

One way to make notifications less obtrusive is to make them
omnipresent.  That is, the banner could always read

--
| SAGE Version 2.5.alpha2, Release Date: 2007-05-02
| Latest version is 2.5.alpha3, type upgrade() to upgrade.
| Type notebook() for the GUI, and license() for information.|
--

While we're at it, maybe the banner should also tell you if you're
running a vanilla sage or a hacked sage and maybe what the last hg tag
was.

Nick

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: automatic sage upgrade notification?

2007-05-18 Thread David Joyner

How would this work? If sagemath was down or there wasn't a net connection
would there be a weird error? Would it confuse users who could not update
(eg, students using the SAGE notebook in a lab)?



On 5/18/07, Nick Alexander [EMAIL PROTECTED] wrote:

 William Stein [EMAIL PROTECTED] writes:

  Hi,
 
  This is a discussion of update/upgrade notification for SAGE for normal 
  users.
  Feel free to read it and share your thoughts.
 
  -- Forwarded message --
  Another suggestion I have, automatic notification of major new
  version releases:
 
  Say once a week, when  you start SAGE, it checks with the canonical
  SAGE server on the Net and if a significant version (like  2.5) has
  been released, it just says something like A newer version of SAGE
  with software enhancements, version 2.5, is now available.  If you
  have administrative privileges for SAGE you may wish to install it
  with the command sage -upgrade from the command line.  Note that
  this may take some time, depending on the speed of your computer and
  network connection.
 
  Maybe.  I'll running it by sage-devel.  One of the things I hate most
  about software is stupid frickin' automatic notifications about upgrades...
  They drive me crazy. Especially Adobe Acrobat's.

 One way to make notifications less obtrusive is to make them
 omnipresent.  That is, the banner could always read

 --
 | SAGE Version 2.5.alpha2, Release Date: 2007-05-02
 | Latest version is 2.5.alpha3, type upgrade() to upgrade.
 | Type notebook() for the GUI, and license() for information.|
 --

 While we're at it, maybe the banner should also tell you if you're
 running a vanilla sage or a hacked sage and maybe what the last hg tag
 was.

 Nick

 


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: automatic sage upgrade notification?

2007-05-18 Thread Robert Bradshaw

On May 18, 2007, at 11:28 AM, William Stein wrote:

 On 5/18/07, David Joyner [EMAIL PROTECTED] wrote:

 Would it confuse users who could not update
 (eg, students using the SAGE notebook in a lab)?

 The message would be invisible to notebook users.  (??)

As more and more (non-dev) users will probably be using exclusively  
the notebook, I think that it should be available there too. Perhaps  
as part of the control panel GUI mentioned in the OS X .dmg thread,  
as that way people in a lab, etc. wouldn't see it, but people  
starting it up as a normal app would.

- Robert

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: automatic sage upgrade notification?

2007-05-18 Thread William Stein

On 5/18/07, David Joyner [EMAIL PROTECTED] wrote:
 How would this work? If sagemath was down or there wasn't a net connection
 would there be a weird error?

No.  It would try to contact sagemath once during each 1 week period.  If
during that time it found that an upgrade is available, it would mark that fact
in a file.  That file would be printed on startup of SAGE from the command line.

If contacting sagemath.org fails after 2 seconds, it would silently fail,
and another attempt wouldn't be made for a week.

This will set off all kinds of firewall software in some
environments... and rightfully so.

 Would it confuse users who could not update
 (eg, students using the SAGE notebook in a lab)?

The message would be invisible to notebook users.  (??)





 On 5/18/07, Nick Alexander [EMAIL PROTECTED] wrote:
 
  William Stein [EMAIL PROTECTED] writes:
 
   Hi,
  
   This is a discussion of update/upgrade notification for SAGE for normal 
   users.
   Feel free to read it and share your thoughts.
  
   -- Forwarded message --
   Another suggestion I have, automatic notification of major new
   version releases:
  
   Say once a week, when  you start SAGE, it checks with the canonical
   SAGE server on the Net and if a significant version (like  2.5) has
   been released, it just says something like A newer version of SAGE
   with software enhancements, version 2.5, is now available.  If you
   have administrative privileges for SAGE you may wish to install it
   with the command sage -upgrade from the command line.  Note that
   this may take some time, depending on the speed of your computer and
   network connection.
  
   Maybe.  I'll running it by sage-devel.  One of the things I hate most
   about software is stupid frickin' automatic notifications about 
   upgrades...
   They drive me crazy. Especially Adobe Acrobat's.
 
  One way to make notifications less obtrusive is to make them
  omnipresent.  That is, the banner could always read
 
  --
  | SAGE Version 2.5.alpha2, Release Date: 2007-05-02
  | Latest version is 2.5.alpha3, type upgrade() to upgrade.
  | Type notebook() for the GUI, and license() for information.|
  --
 
  While we're at it, maybe the banner should also tell you if you're
  running a vanilla sage or a hacked sage and maybe what the last hg tag
  was.
 
  Nick
 
  
 

 



-- 
William Stein
Associate Professor of Mathematics
University of Washington
http://www.williamstein.org

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: automatic sage upgrade notification?

2007-05-18 Thread Robert Bradshaw

On May 18, 2007, at 10:01 AM, Nick Alexander wrote:

 One way to make notifications less obtrusive is to make them
 omnipresent.  That is, the banner could always read

 --
 | SAGE Version 2.5.alpha2, Release Date: 2007-05-02
 | Latest version is 2.5.alpha3, type upgrade() to upgrade.
 | Type notebook() for the GUI, and license() for information.|
 --

 While we're at it, maybe the banner should also tell you if you're
 running a vanilla sage or a hacked sage and maybe what the last hg tag
 was.

I like this idea. It would be nice if you could get this information  
from the notebook too--and if (somewhere unobtrusively) it had the  
name of the branch you were working on (assuming it's not main, this  
is something I've actually wanted for a while).

I might also have something like Latest stable version..., not  
alphas, etc. Perhaps only major releases, (or x.x.1 'cause those  
often catch the last couple bugs if any, but don't introduce new  
ones--it might even be worth having a bug fix branch which is the  
latest stable release + bug fixes only if we're thinking of automatic  
upgrade prompts).

- Robert

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Fwd: [sage-devel] Re: automatic sage upgrade notification?

2007-05-18 Thread William Stein

Te next question arises -- do we gather information about the number
of users based on this?  I'm scared -- I don't want SAGE to be called
evil spyware!

-- Forwarded message --
From: Arthur Gaer [EMAIL PROTECTED]
Date: May 18, 2007 12:01 PM
Subject: Re: [sage-devel] Re: automatic sage upgrade notification?
To: William Stein [EMAIL PROTECTED]


William,

I go off to a meeting and, like, you and your cohort solve the
problem! :)

Yeah, I think this could be a really good way to go, including the
suggestion of latest stable version... in the banner.

And, btw, this would also be a way of getting a rough idea of number
of current SAGE users--very rough (behind NATing firewalls and
stuff), but still, counting every unique IP address query every week/
month or so.

Arthur


On May 18, 2007, at 2:37 PM, William Stein wrote:

 -- Forwarded message --
 From: Robert Bradshaw [EMAIL PROTECTED]
 Date: May 18, 2007 11:29 AM
 Subject: [sage-devel] Re: automatic sage upgrade notification?
 To: sage-devel@googlegroups.com



 On May 18, 2007, at 10:01 AM, Nick Alexander wrote:

 One way to make notifications less obtrusive is to make them
 omnipresent.  That is, the banner could always read

 -
 -
 | SAGE Version 2.5.alpha2, Release Date: 2007-05-02
 | Latest version is 2.5.alpha3, type upgrade() to upgrade.
 | Type notebook() for the GUI, and license() for
 information.|
 -
 -

 While we're at it, maybe the banner should also tell you if you're
 running a vanilla sage or a hacked sage and maybe what the last hg
 tag
 was.

 I like this idea. It would be nice if you could get this information
 from the notebook too--and if (somewhere unobtrusively) it had the
 name of the branch you were working on (assuming it's not main, this
 is something I've actually wanted for a while).

 I might also have something like Latest stable version..., not
 alphas, etc. Perhaps only major releases, (or x.x.1 'cause those
 often catch the last couple bugs if any, but don't introduce new
 ones--it might even be worth having a bug fix branch which is the
 latest stable release + bug fixes only if we're thinking of automatic
 upgrade prompts).

 - Robert

 


 --
 William Stein
 Associate Professor of Mathematics
 University of Washington
 http://www.williamstein.org



-- 
William Stein
Associate Professor of Mathematics
University of Washington
http://www.williamstein.org

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: More polynomial algebra problems!

2007-05-18 Thread Nick Alexander

Michel [EMAIL PROTECTED] writes:


 And just for the record, I have a patch that coerces polynomial rings
 in any number of variables into rings with a superset of those
 variables, but its not yet ready for submission.

 There is an implementation independent method for doing this which is
 simply to use
 __call__. For this the target ring does not even have to be a
 polynomial ring.

As far as I understand the SAGE coercion model, this is not correct.

_coerce_ is supposed to be canonical, in a sense that is defined but
not entirely clear to me.

__call__ is emphatically *not* canonical.  So calling __call__ in
_coerce_ is never a good idea, and certainly not right by default.

Also, for usability, setting up a massive tower and writing all the
coercions by hand is a huge pain in the ass.  And it gets even worse
when you start working with multivariate quotient rings.

Nick

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: automatic sage upgrade notification?

2007-05-18 Thread David Joyner

I'm worried that this check is going to slow down a developer
working on a cloned copy. In this case, one is probably not interested
in updating. Could this auto-update be turned off by default in all clones?



William Stein wrote:
 On 5/18/07, David Joyner [EMAIL PROTECTED] wrote:
 How would this work? If sagemath was down or there wasn't a net connection
 would there be a weird error?
 
 No.  It would try to contact sagemath once during each 1 week period.  If
 during that time it found that an upgrade is available, it would mark that 
 fact
 in a file.  That file would be printed on startup of SAGE from the command 
 line.
 
 If contacting sagemath.org fails after 2 seconds, it would silently fail,
 and another attempt wouldn't be made for a week.
 
 This will set off all kinds of firewall software in some
 environments... and rightfully so.
 
 Would it confuse users who could not update
 (eg, students using the SAGE notebook in a lab)?
 
 The message would be invisible to notebook users.  (??)
 
 


 On 5/18/07, Nick Alexander [EMAIL PROTECTED] wrote:
 William Stein [EMAIL PROTECTED] writes:

 Hi,

 This is a discussion of update/upgrade notification for SAGE for normal 
 users.
 Feel free to read it and share your thoughts.

 -- Forwarded message --
 Another suggestion I have, automatic notification of major new
 version releases:

 Say once a week, when  you start SAGE, it checks with the canonical
 SAGE server on the Net and if a significant version (like  2.5) has
 been released, it just says something like A newer version of SAGE
 with software enhancements, version 2.5, is now available.  If you
 have administrative privileges for SAGE you may wish to install it
 with the command sage -upgrade from the command line.  Note that
 this may take some time, depending on the speed of your computer and
 network connection.
 Maybe.  I'll running it by sage-devel.  One of the things I hate most
 about software is stupid frickin' automatic notifications about upgrades...
 They drive me crazy. Especially Adobe Acrobat's.
 One way to make notifications less obtrusive is to make them
 omnipresent.  That is, the banner could always read

 --
 | SAGE Version 2.5.alpha2, Release Date: 2007-05-02
 | Latest version is 2.5.alpha3, type upgrade() to upgrade.
 | Type notebook() for the GUI, and license() for information.|
 --

 While we're at it, maybe the banner should also tell you if you're
 running a vanilla sage or a hacked sage and maybe what the last hg tag
 was.

 Nick

 
 


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: Fwd: [sage-devel] Re: automatic sage upgrade notification?

2007-05-18 Thread mabshoff



On May 18, 10:07 pm, [EMAIL PROTECTED] wrote:
 I HATE it when software phones home.  There should be, at least, a config 
 entry available to disable this behavior.  And IMO, it should be disabled by 
 default.


Yes, Opt in is the way to go. Anything else is just plain EVIL(tm).

The other suggestion about counting uniq IPs won't tell you much about
the number of installations of SAGE either, because with my DSL
connection at home I get a shiny new one every 24 hours. The same more
or less applies to my IP at the office I get via dhcp. You could log
the MACs, but let's just say that this isn't exactly nice either.

Another possibility would be that people who use SAGE and like it
should send an email to some specified address. Then somebody could
send them back an email stating you are registered SAGE user #,
similar to the Linux user counter one sees in signatures every once in
a while. Should I venture a guess who will be SAGE user #1?

Cheers,

Michel


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: Fwd: [sage-devel] Re: automatic sage upgrade notification?

2007-05-18 Thread Hamptonio

I would like to register to use sage.

Marshall Hampton,
SAGE user #1

:)

On May 18, 3:47 pm, mabshoff [EMAIL PROTECTED]
dortmund.de wrote:
 On May 18, 10:07 pm, [EMAIL PROTECTED] wrote:

  I HATE it when software phones home.  There should be, at least, a config 
  entry available to disable this behavior.  And IMO, it should be disabled 
  by default.

 Yes, Opt in is the way to go. Anything else is just plain EVIL(tm).

 The other suggestion about counting uniq IPs won't tell you much about
 the number of installations of SAGE either, because with my DSL
 connection at home I get a shiny new one every 24 hours. The same more
 or less applies to my IP at the office I get via dhcp. You could log
 the MACs, but let's just say that this isn't exactly nice either.

 Another possibility would be that people who use SAGE and like it
 should send an email to some specified address. Then somebody could
 send them back an email stating you are registered SAGE user #,
 similar to the Linux user counter one sees in signatures every once in
 a while. Should I venture a guess who will be SAGE user #1?

 Cheers,

 Michel


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---



[sage-devel] Re: More polynomial algebra problems!

2007-05-18 Thread Nick Alexander

Michel [EMAIL PROTECTED] writes:

As far as I understand the SAGE coercion model, this is not correct.

_coerce_ is supposed to be canonical, in a sense that is defined but
not entirely clear to me.

__call__ is emphatically *not* canonical.  So calling __call__ in
_coerce_ is never a good idea, and certainly not right by default.


 Sorry I was not clear. I meant to say you can **implement** coerce in
 terms of
  __call__. Simply call a polynomial with as argument the generators of
 the target
 with the same names as the generators of the source.  This works
 when the source is a free object and is fully canonical (and generic).

I disagree with the claim that this is canonical.  Perhaps you can
write _coerce_ such that it is canonical and such that it uses
__call__, but I think such a thing is tricky and deserves some
attention and thought.

Consider the following situation: rings R and S such that there is no
canonical coercion R - S but there is a noncanonical coercion R - S,
given by S.__call__.

I would expect S['x']._coerce_(R['x'](...)) to fail, but
S['x'](R['x'](...)) to succeed.  That probably means that S['x']
should not be implemented in terms of its own __call__ method.

If you don't like that example, build a large tower such that _coerce_
has to look back several levels before deciding there is no
canonical coercion.

Nick

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---