Hi Jeff,

On Mon, Jan 18, 2010 at 3:27 PM, Jeff Stroomer <[email protected]> wrote:

<SNIP>

> #! /usr/bin/env sage

This line caught my attention. Is your code meant to be put in a
separate Python script (with extension ".py") or in a Sage script
(with extension ".sage")? For example, I created a Python script with
your code and gave it execute permission:

[mv...@mod mvngu]$ ls -g variety.py
-rwxr-xr-x 1 mvngu 579 2010-01-18 00:20 variety.py
[mv...@mod mvngu]$ cat variety.py
#! /usr/bin/env sage

import sys, os
from sage.all import *

R = PolynomialRing(QQ, 4, names = 'u,z,y,x', order = 'lex')
u,z,y,x = R.gens()

G = [
 x^2 + 6/91*z + 6/13*y - 409/91*x + 66/91,
 y*x - 6/91*z - 45/13*y - 410/91*x + 1572/91,
 y^2 + 66/91*z - 129/13*y - 222/91*x + 2000/91,
 z*x - 277/91*z - 4/13*y - 607/91*x + 2049/91,
 z*y - 53/7*z - 5*y - 12/7*x + 313/7,
 z^2 - 849/91*z - 30/13*y - 48/91*x + 2582/91,
 u - 17/91*z - 4/13*y - 9/91*x - 187/91,
]

I = ideal(G)
V = I.variety()

for v in V:
    print v
    for g in G:
        print '  %s(%s): %s' % (g, v, g.subs(v))


Running it as a Python script doesn't work:

[mv...@mod mvngu]$ sage -python variety.py
Traceback (most recent call last):
  File "variety.py", line 10, in <module>
    x^2 + 6/91*z + 6/13*y - 409/91*x + 66/91,
  File "element.pyx", line 532, in
sage.structure.element.Element.__xor__ (sage/structure/element.c:4528)
RuntimeError: Use ** for exponentiation, not '^', which means xor
in Python, and has the wrong precedence.
[mv...@mod mvngu]$ sage variety.py
Traceback (most recent call last):
  File "variety.py", line 10, in <module>
    x^2 + 6/91*z + 6/13*y - 409/91*x + 66/91,
  File "element.pyx", line 532, in
sage.structure.element.Element.__xor__ (sage/structure/element.c:4528)
RuntimeError: Use ** for exponentiation, not '^', which means xor
in Python, and has the wrong precedence.


Now I renamed "variety.py" to "variety.sage" (with same code, but
different file extension). Running "variety.sage" as a Sage script
works fine with Sage 4.3:

[mv...@mod mvngu]$ cat variety.sage
#! /usr/bin/env sage

import sys, os
from sage.all import *

R = PolynomialRing(QQ, 4, names = 'u,z,y,x', order = 'lex')
u,z,y,x = R.gens()

G = [
 x^2 + 6/91*z + 6/13*y - 409/91*x + 66/91,
 y*x - 6/91*z - 45/13*y - 410/91*x + 1572/91,
 y^2 + 66/91*z - 129/13*y - 222/91*x + 2000/91,
 z*x - 277/91*z - 4/13*y - 607/91*x + 2049/91,
 z*y - 53/7*z - 5*y - 12/7*x + 313/7,
 z^2 - 849/91*z - 30/13*y - 48/91*x + 2582/91,
 u - 17/91*z - 4/13*y - 9/91*x - 187/91,
]

I = ideal(G)
V = I.variety()

for v in V:
    print v
    for g in G:
        print '  %s(%s): %s' % (g, v, g.subs(v))

[mv...@mod mvngu]$ sage variety.sage
{y: 5, z: 7, u: 5, x: 1}
  6/91*z + 6/13*y + x^2 - 409/91*x + 66/91({y: 5, z: 7, u: 5, x: 1}): 0
  -6/91*z + y*x - 45/13*y - 410/91*x + 1572/91({y: 5, z: 7, u: 5, x: 1}): 0
  66/91*z + y^2 - 129/13*y - 222/91*x + 2000/91({y: 5, z: 7, u: 5, x: 1}): 0
  z*x - 277/91*z - 4/13*y - 607/91*x + 2049/91({y: 5, z: 7, u: 5, x: 1}): 0
  z*y - 53/7*z - 5*y - 12/7*x + 313/7({y: 5, z: 7, u: 5, x: 1}): 0
  z^2 - 849/91*z - 30/13*y - 48/91*x + 2582/91({y: 5, z: 7, u: 5, x: 1}): 0
  u - 17/91*z - 4/13*y - 9/91*x - 187/91({y: 5, z: 7, u: 5, x: 1}): 0
{y: 7, z: 8, u: 6, x: 3}
  6/91*z + 6/13*y + x^2 - 409/91*x + 66/91({y: 7, z: 8, u: 6, x: 3}): 0
  -6/91*z + y*x - 45/13*y - 410/91*x + 1572/91({y: 7, z: 8, u: 6, x: 3}): 0
  66/91*z + y^2 - 129/13*y - 222/91*x + 2000/91({y: 7, z: 8, u: 6, x: 3}): 0
  z*x - 277/91*z - 4/13*y - 607/91*x + 2049/91({y: 7, z: 8, u: 6, x: 3}): 0
  z*y - 53/7*z - 5*y - 12/7*x + 313/7({y: 7, z: 8, u: 6, x: 3}): 0
  z^2 - 849/91*z - 30/13*y - 48/91*x + 2582/91({y: 7, z: 8, u: 6, x: 3}): 0
  u - 17/91*z - 4/13*y - 9/91*x - 187/91({y: 7, z: 8, u: 6, x: 3}): 0
{y: 8, z: 1, u: 5, x: 3}
  6/91*z + 6/13*y + x^2 - 409/91*x + 66/91({y: 8, z: 1, u: 5, x: 3}): 0
  -6/91*z + y*x - 45/13*y - 410/91*x + 1572/91({y: 8, z: 1, u: 5, x: 3}): 0
  66/91*z + y^2 - 129/13*y - 222/91*x + 2000/91({y: 8, z: 1, u: 5, x: 3}): 0
  z*x - 277/91*z - 4/13*y - 607/91*x + 2049/91({y: 8, z: 1, u: 5, x: 3}): 0
  z*y - 53/7*z - 5*y - 12/7*x + 313/7({y: 8, z: 1, u: 5, x: 3}): 0
  z^2 - 849/91*z - 30/13*y - 48/91*x + 2582/91({y: 8, z: 1, u: 5, x: 3}): 0
  u - 17/91*z - 4/13*y - 9/91*x - 187/91({y: 8, z: 1, u: 5, x: 3}): 0
{y: 2, z: 5, u: 4, x: 4}
  6/91*z + 6/13*y + x^2 - 409/91*x + 66/91({y: 2, z: 5, u: 4, x: 4}): 0
  -6/91*z + y*x - 45/13*y - 410/91*x + 1572/91({y: 2, z: 5, u: 4, x: 4}): 0
  66/91*z + y^2 - 129/13*y - 222/91*x + 2000/91({y: 2, z: 5, u: 4, x: 4}): 0
  z*x - 277/91*z - 4/13*y - 607/91*x + 2049/91({y: 2, z: 5, u: 4, x: 4}): 0
  z*y - 53/7*z - 5*y - 12/7*x + 313/7({y: 2, z: 5, u: 4, x: 4}): 0
  z^2 - 849/91*z - 30/13*y - 48/91*x + 2582/91({y: 2, z: 5, u: 4, x: 4}): 0
  u - 17/91*z - 4/13*y - 9/91*x - 187/91({y: 2, z: 5, u: 4, x: 4}): 0

-- 
Regards
Minh Van Nguyen
-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org

Reply via email to