Hi Dave:

I'm also just learning the basics of interacting with Singular through
Sage.  So probably someone else on the list can answer your question
better than me.  Still, i'll take a stab at it.

Carrying on with your/Singular's notation, try

sage: singular.setring(AC)
sage: sol= singular('SOL').sage_structured_str_list()

to save the output of SOL as a structured list of Sage strings.  (I
found this command by typing help(sage.interfaces.singular) and
browsing the documentation page that popped up.)  Now all you have to
do is convert those Sage strings to Sage numbers with the eval()
command.  For instance,

sage: a= eval(sol[1][1][1][1])

Does that work?

Alex

P.S. I'll be jumping for joy if/when the Singular people fix the bug
that's breaking the potentially super-useful variety() command.

On Feb 27, 5:54 am, davidp <dav...@reed.edu> wrote:
> Thanks for your response.  I tried what you suggested and got the
> error you anticipated.  So it looks like I need to work within
> Singular.  The relevant page at the Singular site:
>
> http://www.singular.uni-kl.de/Manual/latest/sing_1168.htm#SEC1227
>
> Using the notation from the site just referenced, I end up with a
> ring, AC, in which the solutions are supposed to be stored in 'SOL'.
> I can execute singular.setring(AC), but cannot subsequently access the
> solutions.
>
> Thanks,
> Dave
>
> On Feb 25, 1:49 pm, Alex Raichev <tortoise.s...@gmail.com> wrote:
>
> > Hi Dave:
>
> > Once you have your zero-dimensional ideal K within a Sage ring, you
> > could try the variety() command
>
> > K.variety(ring=QQbar) or
> > K.variety(ring=CC)
>
> > to get its solutions as algebraic numbers or complex floating point
> > numbers, respectively.  See 'variety()' under
>
> >http://www.sagemath.org/doc/ref/module-sage.rings.polynomial.multi-po...
>
> > for more details. Problem is, variety() sometimes 
> > fails:http://sagetrac.org/sage_trac/ticket/4622.
>
> > Alex
>
> > On Feb 25, 7:27 am,davidp<dav...@reed.edu> wrote:
>
> > > Hi,
>
> > > I have the following homogeneous Singular ideal defining a finite set
> > > of points in projective space.  I would like to get numerical
> > > approximations for these points.
>
> > > sage: S.ring()
>
> > > //   characteristic : 0
> > > //   number of vars : 4
> > > //        block   1 : ordering dp
> > > //                  : names    x_3 x_2 x_1 x_0
> > > //        block   2 : ordering C
> > > sage: S.ideal()
>
> > > x_1^3-x_3*x_2*x_0,
> > > x_3*x_2*x_1-x_0^3,
> > > x_2^3-x_3*x_1*x_0,
> > > x_3^3-x_2*x_1*x_0,
> > > x_2^2*x_1^2-x_3^2*x_0^2,
> > > x_3^2*x_1^2-x_2^2*x_0^2,
> > > x_3^2*x_2^2-x_1^2*x_0^2
> > > sage: type(S.ideal())
> > > <class 'sage.interfaces.singular.SingularElement'>
>
> > > One way to go might be to map to a new ring, setting x_0 = 1, then use
> > > the nice Singular algorithm for finding the solutions:
>
> > >http://www.singular.uni-kl.de/Manual/3-0-4/sing_582.htm
>
> > > I couldn't figure out how to get the Singular "map" function to work
> > > with Sage, so I just converted equations using string commands (saved
> > > in "y" in the following code) then tried:
>
> > > sage: R = singular.ring(0,'(x_3,x_2,x_1)','lp')
> > > sage: J = singular.ideal(y)
> > > sage: J
>
> > > -x_3*x_2+x_1^3,
> > > x_3*x_2*x_1-1,
> > > -x_3*x_1+x_2^3,
> > > x_3^3-x_2*x_1,
> > > -x_3^2+x_2^2*x_1^2,
> > > x_3^2*x_1^2-x_2^2,
> > > x_3^2*x_2^2-x_1^2
> > > sage: K = J.groebner()
> > > sage: M = K.solve(10,1)
>
> > > I'm not sure where to go from there.  Of course, I might be taking the
> > > wrong approach altogether.
>
> > > Any advice would be appreciated.
>
> > > Thanks,
> > > Dave
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to 
sage-support-unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to