On Apr 9, 2014 1:21 AM, "Kevin Buzzard" <[email protected]> wrote:
>
> Thanks William and Niels!
>
> So now I can write better code than yesterday and, as John says, the only
remaining question is how someone with no sage experience is supposed to
work out for themselves that if R is a polynomial ring then R([1,2,3]) is
the way to create 3x^2+2x+1.
> Let me stress that I am not ruling out that there is a sensible
algorithmic way to do this from the docs! I'm just saying I couldn't figure
out how to use the docs to answer this sort of question yesterday, whereas
my experience with other programming languages is that in the end I find a
resource (possibly via google) which, whenever you want to know about how
to know about foobars, will offer you a page titled "foobars" with an
essentially complete list of how to create foobars, coerce them to and from
other data structures, and manipulate them. I'm not talking about a
tutorial with examples, I'm talking about a resource giving essentially
complete documentation about certain common objects.
>
> Of course it could well be just a matter of experience. For all I know,
it might be a general thing in sage that if the parent of f is R, and if S
is a bunch of data that can be used to build an f, then R(S) will pretty
much always work. If this is the case then I should just do some more
coding until I get the hang of it.
>

This is the case in Python more generally.  R(S) in Python is supposes to
be the analog of R!S in Magma.

> Kevin
>
>
>
> On Wednesday, 9 April 2014 08:59:11 UTC+1, John Cremona wrote:
>>
>> These clever hacks do not take away from Kevin's main points:  that
>> getting field automorphisms to act on objects like polynomials over
>> the field, with related functionality (norms etc);  and that basic
>> functions related to polynomials (extracting coefficients and creating
>> a poly from a list of coeffs) should not be hard to find in the
>> documentation.
>>
>> John
>>
>> On 9 April 2014 00:05, Nils Bruin <[email protected]> wrote:
>> > On Tuesday, April 8, 2014 1:55:49 PM UTC-7, Nils Bruin wrote:
>> >>
>> >> F=Qxz(f)                       #this conveniently lifts z to a
>> >> transcendental in Q[x,z]
>> >
>> >
>> > Oops, that only works because of the last-resort attempt of converting
f to
>> > a string and then feeding the string to Qxz. One probably shouldn't
rely on
>> > such code in production situations. You'd be better off using
>> >
>> > F=Qxz({ (degx,degz) :cfz for degx,cfx in enumerate(f.list()) for
degz,cfz in
>> > enumerate(cfx.list())})
>> >
>> > which won't win any prizes for legibility and only qualifies as a
one-liner
>> > in the technical sense, but it is much faster than the string-based
>> > conversion.
>> >
>> > --
>> > You received this message because you are subscribed to the Google
Groups
>> > "sage-support" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
an
>> > email to [email protected].
>> > To post to this group, send email to [email protected].
>> > Visit this group at http://groups.google.com/group/sage-support.
>> > For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups
"sage-support" group.
> To unsubscribe from this group and stop receiving emails from it, send an
email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/sage-support.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to