Sure, I'll do this.

On Nov 15, 2006, at 7:56 AM, William Stein wrote:

>
> Hi,
>
> If anybody wants to write a Pyrex (SageX) version of
> Jim's short point-counting program, that would be
> appreciated; let me know.  See below.
>
> ------- Forwarded message -------
> From: "James Carlson" <[EMAIL PROTECTED]>
> To: "William Stein" <[EMAIL PROTECTED]>
> Cc:
> Subject: SAGE question
> Date: Sun, 12 Nov 2006 08:59:05 -0800
>
> Hola,
>
>     I will indeed be able to make good use of the faster finite
> field library.  Attached is some code that computes by
> brute force counting the number of points on a surface in P^3
> over GF(p^k) for a range of k.  I have one question on this
> code which relates to binding order. (See below)
>
>      I'm running this on a dual-dual PPC mac with 2.5 GHz
> cores and 8 Gb of RAM.  I notice that SAGE seems to
> mostly use one core.  This is good in some respects,
> bad in others.  Hmmmmm.
>
>      I'm totally sold on SAGE after less than 24 hours of part-time
> use.
>
>     Jim
>
> ####################################################
>
> # Question.  I'd like to have "f" as an argument to "count2".
> # But the ring R and its indeterminates are not defined
> # when f is called.  Is there a way around this?
>
> # Brute force SAGE code to count the number of
> # points on a surface in P^3(GF(q))
>
> def count2(p, nn):
>     # Count solutions of f(x,y,z,w) = 0
>     # in P^3(GF(p^k)) as k ranges ovr
>     # nn, e.g., nn = range(1,7)
>     for j in nn:
>       # Set up fields, rings, variables
>       K = GF(p^j)
>       R = MPolynomialRing(K, 4, 'xyzw')
>       x,y,z,w = R.gens()
>       f = x^3 + y^3 + z^3 + w^3
>       print p, j, count( f, K )
>
> def count( f, K ):
>     # list of points in the various affine cells of P^3(K)
>     a0 = (1,0,0,0)
>     a1 = ((x,1,0,0) for x in K)
>     a2 = ((x,y,1,0) for x in K for y in K)
>     a3 = ((x,y,z,1) for x in K for y in K for z in K)
>
>     # initialize the count:
>     count = 0
>
>     # count solutions in a0:
>     if f(1,0,0,0) == 0:
>       count = count + 1
>
>     # count solutions in a1:
>     for point in a1:
>       if f(point) == 0:
>         count = count + 1
>
>     # count solutions in a2:
>     for point in a2:
>       if f(point) == 0:
>         count = count + 1
>
>     # count solutions in a3:
>     for point in a3:
>       if f(point) == 0:
>         count = count + 1
>
>     # display the result:
>     return count
>
> #####################################################
>
>
> On Nov 11, 2006, at 8:35 PM, William Stein wrote:
>
>> On Sat, 11 Nov 2006 14:12:39 -0800, James Carlson  
>> <[EMAIL PROTECTED]>
>> wrote:
>>
>>> Dear William,
>>>
>>>    Thanks!  First for the quick reply and second to pointing
>>> me to SAGE, which I had not looked at.  However, I now
>>> have it running on both an Intel and a PPC Mac.  I think
>>> it is the answer to getting my current little experiment,
>>> which requires some computations in GF(p^k) for k > 1.
>>>
>>>    I am having a lot of fun using SAGE already.
>>
>> Let me know if you have any questions or need something to be
>> faster.  SAGE has a new faster finite field library (called
>> Givaro) that we are rolling out in hopefully less than a week,
>> which is highly optimized for GF(p^k) for p^k < 2^16.  Also,
>> there are numerous optimizations tricks that we've been
>> developing lately.
>>
>> William
>
>
>
> >


--~--~---------~--~----~------------~-------~--~----~
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-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to