Re: [sage-devel] Re: issues with pushout construction?

2014-08-29 Thread Robert Bradshaw
On Wed, Aug 27, 2014 at 8:36 AM, Peter Bruin  wrote:
> Hi Jonas,
>
 I just realized that my example was maybe a bad one.  But imagine
 the same example for a space where the base ring _does_ coerce into
 the space. A base-changed base ring would then not coerce, so the
 pushout construction would be used and it would return the wrong
 space, resp. my arguments would make more sense there, no?
>>>
>>> Do you mean something like the following?  Assume you have a
>>> construction EvenSubspace() that applies to spaces of polynomials and
>>> returns the subspace of all polynomials that only have even powers of
>>> x.  This of course includes constants.  Suppose you have a ring
>>> homomorphism A -> B and you want to do
>>>
>>> pushout(B, EvenSubspace(PolynomialRing(A, 'x')))

Very interesting example.

>> Yes. I call this (implicit) "base change" where I mean "base" in the
>> sense of "base of construction" (which in many cases starts as a
>> ring).  This assumes that the base object coerces into the constructed
>> object.
>
> The fact that you need this last assumption may be a sign that pushout()
> is not the right tool to do such a base change.  An alternative would be
> to implement the base_extend() method (for the objects you are
> interested in) in such a way as to repeat the construction of that
> object with the new base ring.
>
>>> I guess my approach would indeed eliminate the application of
>>> EvenSubspace() because it doesn't know that B still coerces into
>>> EvenSubspace(PolynomialRing(B, 'x')).
>>
>> "1.1 + x^2" would e.g. fail resp. not lie in EvenSubSpace.
>
> Yes, exactly.
>
>>> If this is the case, the criterion for eliminating a
>>> "coercion-reversed" construction step F probably needs to be made
>>> more strict: if both of the original objects still coerce into the
>>> result of applying F, then we do want to apply F.  Does that sound
>>> reasonable?
>>
>> I'm not sure. I was hoping for a simple system where it is clear what
>> happens. But since this would probably involve a partial redesign of
>> the pushout construction all-together and since so many things depend
>> on the old system I don't see this happening any time soon. :(
>
> Ideally (in my opinion), doing pushout(X, Y) would look for the most
> specific common category C in which X and Y are objects, and ask that
> category C to return the categorical push-out of X and Y in C (as an
> object Z with maps X -> Z and Y -> Z, which would then be used as
> coercion maps).  But this is tricky: if X = ZZ[[x]] and Y = FF_p[x],
> then you first want to deduce that C is the category of commutative
> ZZ[x]-algebras, and to know that the push-out is the tensor product.
> Then you have to implement this tensor product in a sufficiently
> concrete way that it returns F_p[[x]] and not some abstract tensor
> product object.  This is definitely not doable yet.

That would be cool. We're not there yet...

>> Regarding your suggestion/fix:
>> I'm not sure (as mentioned the pushout construction is complex and
>> there are many cases). But yes, that might work:
>> Do a/several coercion check(s) _during_ pushout (during the while loop
>> starting at line 3210) if needed instead of only at the end.
>>
>> So "coercion_reversed=False" (default) would mean that we assume that
>> the current base coerces into construction(base) and
>> "coercion_reversed=False" would mean that a coercion check should be
>> done.
>>
>> If yes: Maybe something like "force_coercion_check" fits better?
>
> That's an interesting suggestion.  I'll try thinking about it a bit more
> to see if this is an improvement over coercion_reversed.

I think that coercion_reversed is the essential property here, as
dropping this construction is essentially applying the reverse
coercion, but checking for coercion allows one to see whether this
reverse coercion must be applied to find a common parent.

- Robert

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


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-08-29 Thread Robert Bradshaw
Replying to an old thread I realized I'd starred...

On Thu, May 29, 2014 at 6:48 PM, kcrisman  wrote:
> Well, I am thankful that my rant led to some pretty substantive discussion.
> Here let me summarize some thoughts.
>
> A) +1 to having something where a github-like editing thing works.  I've
> used this at least once with matplotlib.  My beef with github is orthogonal
> to the web interface piece.  If there is a good workflow where we can direct
> contributors to make smaller edits on the github mirror and they'll be taken
> care of, that's great.

All pull requests on github turn into tickets, so this easy web
interface flow works now.

> B) I didn't realize that the "release manager" commits were separate from
> the "author" ones.  That is strange to me, but I guess it's there.
> Nonetheless, I think that the vast majority of ticket descriptions are (or
> at least start as) fairly half-baked notions of what could be added or
> fixed, and are entirely inappropriate for a commit message to siphon through
> in "git log".  Especially since they are so long compared to most commit
> messages (and not for good reasons).

This is an awareness issue--ticket descriptions should be well written
descriptions of what's in the ticket, and now there's further
motivation to do so as they're also stored in the git log when the
ticket in question is closed.

> C) I haven't heard any -1's to "Merged in" being resuscitated, so maybe that
> should really happen.
>
> [More thoughts: Robert B: I think Travis' point about doing it near the
> release time is so that people know where to start from.  My whole trouble
> earlier today ended up being because, since it said closed, I assumed the
> Maxima upgrade HAD to be in the latest beta - which it wasn't.  And several
> "git pull" attempts in my develop branch did nothing, since develop is still
> at 6.3.beta2 as of this writing (on github at least).  As it turned out, it
> wasn't based on the right ticket, so I guess that could have been "needs
> work", but it *says* "Depends on #13973" so in the old workflow that should
> have been enough (install #13973, then install this one). I feel like this
> is closely related.]

You can still have "depends on." The nice thing is that if you merge a
depends on that's already in it's a no-op.

> D) Patchbot?  What patchbot?  At least the colorings aren't working right
> now, it seems.  But I would love to trust that again and not have to rebuild
> trivial things.

Just checked, it's still up. There may eventually be a replacement,
but if you want tickets to get updated faster, run a patchbot client
on your own machine. (You can even configure it to test your
tickets/favorite category first.)

> E) Please everyone let's put Trac #s back in the commit messages, then, if
> the immutability is a barrier there.  Some of the most recent ones are
> completely mystifying.  And then it will be possible to figure out where the
> new code IS in the tree, as opposed to just the merges which can be
> patchbombs.
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.

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


Re: [sage-devel] Re: [sage-release] You don't really think that Sage has failed, do you? (a comment about it)

2014-08-29 Thread Robert Bradshaw
On Fri, Aug 29, 2014 at 4:16 PM, Francesco Biscani  wrote:
> I don't have any direct experience with EU funding, but I did work at a
> European-level institution (ESA) for a few years and I must say that what
> Bill says rings true to my ears. You have to understand that anything
> "European" is really undertaken by a patchwork of different nations pulling
> towards different directions and often competing with each other. ESA for
> instance has a policy of "geographic return" that regulates many aspects of
> the activity of the agency, from hiring to funding:
>
> http://www.esa.int/About_Us/Industry/Industry_how_to_do_business/Industrial_policy_and_geographical_distribution
>
> Any type of interaction with non-European entities is very complicated, to
> the point, e.g., of requiring special permission from upper management to
> hire unpaid interns from outside Europe. Going to conferences outside Europe
> is very difficult. When we started SOCIS some years ago,
>
> http://sophia.estec.esa.int/socis/
>
> I remember going through numerous meetings in which we had to came up with a
> way to make the project "European", whereas our first impulse was to just
> let it open to any student in the world. In the end we found a compromise in
> the requirement that any participating student needs to be enrolled in a
> European University.
>
> I have no difficulties believing the EU operates under similar constraints.

Fair point. The NSF and other US agency funding often come with
similar restrictions...

> On 29 August 2014 19:03, Bill Hart  wrote:
>>
>> To be fair, in context, you were talking about nationalism and objecting
>> to me apparently characterising Sage as a US project. The *mathematical*
>> diversity of the contributors is completely tangential to that argument.
>>
>> I think I made my argument transparent enough. You aren't going to help
>> European mathematical software projects, such as the ones listed, by
>> applying for money to work directly on Sage. Referees will see through it
>> immediately if you try to make that claim.
>>
>> To my knowledge, the European Union funding agencies did not have a
>> significant stake in the origin and development of Sage, but the NSF and
>> other US institutions did. From the point of view of the European Union, as
>> far as I can tell, Sage is a US originating project. As such, you aren't
>> going to have a chance of convincing them that development of Sage is
>> funding a European software project!
>>
>> On the other hand, a European software project, which is focused on
>> cooperation (at the technical and professional level) of existing European
>> mathematical software projects, *whether or not* making use of Sage, can be
>> sold to referees and stakeholders. Then, as was pointed out by someone else,
>> you make the case that Sage is an *international collaboration*, not a US
>> project. At that level, Sage is not a US project.
>>
>> But any European project must really and substantially benefit European
>> software projects and the primary impact should be to the European economy!
>>
>> My very first sentence was "Nicolas, I wish you the best with a European
>> grant based on Sage." Indeed, I hope a large scale European software project
>> based on Sage is successful. But it needs to directly address the issue of
>> how it helps mathematical software developed here in Europe. I hope it is
>> also clear from those words that I was fully anticipating that Nicolas did
>> have have in mind something of great benefit to those of us in Europe
>> working on libraries and software projects used by Sage!
>>
>> It's difficult to come up with an example that makes the European
>> situation clear, since for example Magma has received substantial funding
>> from the US, precisely because it benefits US stakeholders. That in spite of
>> the fact that most of its IP belongs to USyd. However, the argument would be
>> similar if I applied for money from the EU to develop Magma on account of it
>> having a numerous developers in Europe and that it uses European developed
>> software libraries. Obviously the primary beneficiaries in such an
>> arrangement would be Australian taxpayers and certainly not those European
>> software projects! Referees just aren't going to go for that.
>>
>> That doesn't mean that Magma can't be part of the overall strategy of such
>> a grant, as I'm sure is the case for a number of projects funded from within
>> the EU currently. But it can't be the focus of such a grant.
>>
>> Anyway, we've drifted way off topic. I merely wanted to encourage Nicolas,
>> to mention some of the things that I personally think might be factors in
>> such a proposal being successful in Europe, and to vaguely bring his
>> attention to other similar efforts, without getting deeply involved myself
>> (I'm just a lowly postdoc and have no say in these matters).
>>
>> I'm sorry I wasn't clearer in the first instance. I hope I'm being clear
>> now.
>>
>> Bill.
>>
>> On Frid

[sage-devel] Re: Trac update

2014-08-29 Thread R. Andrew Ohana
Ok, I'm done updating. Let me know if I broke anything.


On Fri, Aug 29, 2014 at 7:38 PM, R. Andrew Ohana 
wrote:

> I'm about to update the trac server with some bug fixes + the initial
> buildbot support I mentioned in
> https://groups.google.com/forum/#!topic/sage-devel/zYpEM7W-7cQ, so trac
> will not be reliable for the next little bit. I'll post back here when I'm
> done.
>
> --
> Andrew
>



-- 
Andrew

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


[sage-devel] Trac update

2014-08-29 Thread R. Andrew Ohana
I'm about to update the trac server with some bug fixes + the initial
buildbot support I mentioned in
https://groups.google.com/forum/#!topic/sage-devel/zYpEM7W-7cQ, so trac
will not be reliable for the next little bit. I'll post back here when I'm
done.

-- 
Andrew

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


Re: [sage-devel] Re: [sage-release] You don't really think that Sage has failed, do you? (a comment about it)

2014-08-29 Thread Francesco Biscani
I don't have any direct experience with EU funding, but I did work at a
European-level institution (ESA) for a few years and I must say that what
Bill says rings true to my ears. You have to understand that anything
"European" is really undertaken by a patchwork of different nations pulling
towards different directions and often competing with each other. ESA for
instance has a policy of "geographic return" that regulates many aspects of
the activity of the agency, from hiring to funding:

http://www.esa.int/About_Us/Industry/Industry_how_to_do_business/Industrial_policy_and_geographical_distribution

Any type of interaction with non-European entities is very complicated, to
the point, e.g., of requiring special permission from upper management to
hire unpaid interns from outside Europe. Going to conferences outside
Europe is very difficult. When we started SOCIS some years ago,

http://sophia.estec.esa.int/socis/

I remember going through numerous meetings in which we had to came up with
a way to make the project "European", whereas our first impulse was to just
let it open to any student in the world. In the end we found a compromise
in the requirement that any participating student needs to be enrolled in a
European University.

I have no difficulties believing the EU operates under similar constraints.


On 29 August 2014 19:03, Bill Hart  wrote:

> To be fair, in context, you were talking about nationalism and objecting
> to me apparently characterising Sage as a US project. The *mathematical*
> diversity of the contributors is completely tangential to that argument.
>
> I think I made my argument transparent enough. You aren't going to help
> European mathematical software projects, such as the ones listed, by
> applying for money to work directly on Sage. Referees will see through it
> immediately if you try to make that claim.
>
> To my knowledge, the European Union funding agencies did not have a
> significant stake in the origin and development of Sage, but the NSF and
> other US institutions did. From the point of view of the European Union, as
> far as I can tell, Sage is a US originating project. As such, you aren't
> going to have a chance of convincing them that development of Sage is
> funding a European software project!
>
> On the other hand, a European software project, which is focused on
> cooperation (at the technical and professional level) of existing European
> mathematical software projects, *whether or not* making use of Sage, can be
> sold to referees and stakeholders. Then, as was pointed out by someone
> else, you make the case that Sage is an *international collaboration*, not
> a US project. At that level, Sage is not a US project.
>
> But any European project must really and substantially benefit European
> software projects and the primary impact should be to the European economy!
>
> My very first sentence was "Nicolas, I wish you the best with a European
> grant based on Sage." Indeed, I hope a large scale European software
> project based on Sage is successful. But it needs to directly address the
> issue of how it helps mathematical software developed here in Europe. I
> hope it is also clear from those words that I was fully anticipating that
> Nicolas did have have in mind something of great benefit to those of us in
> Europe working on libraries and software projects used by Sage!
>
> It's difficult to come up with an example that makes the European
> situation clear, since for example Magma has received substantial funding
> from the US, precisely because it benefits US stakeholders. That in spite
> of the fact that most of its IP belongs to USyd. However, the argument
> would be similar if I applied for money from the EU to develop Magma on
> account of it having a numerous developers in Europe and that it uses
> European developed software libraries. Obviously the primary beneficiaries
> in such an arrangement would be Australian taxpayers and certainly not
> those European software projects! Referees just aren't going to go for that.
>
> That doesn't mean that Magma can't be part of the overall strategy of such
> a grant, as I'm sure is the case for a number of projects funded from
> within the EU currently. But it can't be the focus of such a grant.
>
> Anyway, we've drifted way off topic. I merely wanted to encourage Nicolas,
> to mention some of the things that I personally think might be factors in
> such a proposal being successful in Europe, and to vaguely bring his
> attention to other similar efforts, without getting deeply involved myself
> (I'm just a lowly postdoc and have no say in these matters).
>
> I'm sorry I wasn't clearer in the first instance. I hope I'm being clear
> now.
>
> Bill.
>
> On Friday, 29 August 2014 17:10:53 UTC+2, Volker Braun wrote:
>>
>> On Friday, August 29, 2014 1:03:06 PM UTC+1, Bill Hart wrote:
>>>
>>> What sets Sage apart from GAP/Singular (and, I dare say: Flint) is the
 scale and the diversity of its contributors.
>>

Re: [sage-devel] Re: [sage-release] You don't really think that Sage has failed, do you? (a comment about it)

2014-08-29 Thread Robert Bradshaw
On Fri, Aug 29, 2014 at 5:03 AM, Bill Hart  wrote:
>
> On Friday, 29 August 2014 13:17:40 UTC+2, Volker Braun wrote:
>>
>> First of all, it always saddens me when the ugly head of nationalism rears
>> its head. I thought the time where we only support German science were
>> over...

+1

> You have misunderstood. When applying for German funding, the rules will
> naturally state that the project must benefit the people paying for the
> work, namely German companies and Mutter und Vater taxpayer.
>
> When applying for European funding, the rules will naturally state that the
> funding must benefit the people paying for the work, namely the European
> Union members.

I would say that the beneficiaries are (1) those funded to do the work
and (2) all users of the work. It's not like the money would go to the
US or even "the project."

> The idea that European funds should be used primarily to support an
> international project *with no direct benefit to European projects* invoked
> in the grant is patently a non-starter. That's just as bad, in my opinion,
> as taking public funds to work on a closed source mathematical system!

You're a big fan of Julia. However, would you argue that European
funds should not be used to support it because it's not a "European
Project?" I'd say the criteria would be whether Europeans benefit from
Julia (and I one could argue from a protectionist economic perspective
whether Europeans are the ones being paid to do the work, though I'd
just rather pay the best available person).

Sadly, if the people judging these grants have this perspective, one
might have to sell efforts like "sage-combinat" as a "European
project" rather than part of Sage.

I, personally, don't see Sage as belonging to Europeans, it belongs to
Mathematicians.

> One of the biggest things European software projects like Pari, Gap, Singular 
> need is contributions. I congratulate Peter Bruin on announcing that he is 
> writing a power series module for Sage based on Pari instead of on 
> polynomials. However, in a project like that, I hope that when some 
> functionality (mathematical or otherwise) is perceived to be missing from 
> Pari, that it will be contributed *to the Pari project directly*. And I don't 
> mean as a set of Sage build patches or bug reports. I mean as a set of Pari 
> contributions, to their code base, in their coding style, instead of writing 
> more code in Sage directly!

I strongly disagree that the best (or only) way to contribute to Sage
is to contribute to some of its component projects, and writing more
code in Sage directly should be discouraged. Sage is *much* more than
just glue, which is the perspective you seem to be coming from. That's
not to discount the enormous value these projects add to Sage (and it
often makes little sense to re-implement existing code) but taking the
attitude that all new work should be done in sub-projects and wrapped
by Sage is not the best approach, or in my opinion the best way to
make a good product.

Here's some disadvantages of contributing the code directly to X as
opposed to Sage:

   * It narrows the pool of potential contributors.
   * It may not be the best choice of language for a high level
algorithm. (Many of these projects were started before high(er) level
languages were even an option.)
   * Languages, style, conventions (e.g. Pari memory management),
development procedures, etc. are not transferable to working on
sub-product Y or Z or Sage itself.
   * It's harder to find and read the source (unless we make the
command-line ?? somehow descend into C libraries), but even then
there's probably more indirection.
   * It makes it more difficult to integrate with other systems. E.g.
if you find yourself needing an algorithm that's in Y but not in X you
can't use it.
   * It requires the additional step of writing and maintaining
wrappers for use in Sage. It's also a two (or more) step process to
get the code in X and start using it in Sage (possibly along with Y or
Z).

I'm not passing judgement on this particular patch, nor saying we
shouldn't contribute to sub projects like Pari where it makes sense
(especially bug fixes), but there are significant drawbacks as well.

I'm also not saying that everything should be implemented in Sage
directly. There are things where it makes much more sense to provide a
low-level library, in particular functionality with a well-defined
purpose and API (e.g. linear algebra, arbitrary precision integers,
...).

But if Sage aims to be a system useful for doing mathematics teaching
and research, and has any advantage over using one of the subsystems
alone, the same advantage would carry over when implementing new
functionality.

> Why is this important? Because otherwise you would be taking European money 
> and using it to fund a project which originated in the US (I think it fair to 
> call it a US project). It does not enrich European software to be developing 
> Sage. This is crucial from the point of vi

Re: [sage-devel] Workshop announcement

2014-08-29 Thread TB

  
  
Sorry sage-devel. Please ignore the
  previous message...
  
  On 08/30/2014 12:16 AM, TB wrote:


  
  
  
On 08/28/2014 12:21 PM, Simon King wrote:
  
  
Dear Sage developers,

  

[snip]

  

For more details please visit the web page

   * http://cogral2015.uni-jena.de/.

We would be very glad if this convinced you to visit Jena and
to attend the workshop. We are looking forward to seeing you!

With kind regards
   S.K., J.M., B.S.

%


  
  


  




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


Re: [sage-devel] Workshop announcement

2014-08-29 Thread TB

  
  
Dear Prof. King,
  
  My name is Tomer Bauer and I am a Ph.D. student at Bar-Ilan
  University. As I am quiet enthusiastic about Sage (my trac
  username is mathzeta2), the CoGrAl2015 workshop sounds great.
  
  At the moment, I am not sure if I have another conflicting
  obligation at the dates of the workshop. Is it possible to
  "reserve a seat", and get back to you when I am sure that it is
  possible for me to attend?
  
  By the way, the homepage of the workshop says (at the bottom) that
  registration is until January 11th, *2014*. Is this correct?
  
  Best regards,
  Tomer
  
  On 08/28/2014 12:21 PM, Simon King wrote:


  Dear Sage developers,

please allow me to draw your attention to a workshop on "Computations in
Groups and Algebras" that I am co-organising. It is Sage-related in the
sense that several topics are available in Sage (groups via GAP,
group cohomology by optional packages, commutative algebra via Singular,
path algebras even made it into the Sage library), or should be implemented
in Sage (e.g., fusion systems, blocks of finite groups).

Details are below.
Best regards,
Simon

%

Dear colleagues,

This is the first announcement of a forthcoming workshop entitled

   Computations in Groups and Algebras (CoGrAl2015)
   ===

organised by Simon King, Jürgen Müller, and Benjamin Sambale,
and taking place at

   * Friedrich Schiller University Jena (Germany),
   * from Monday, February 16th, to Thursday, February 19th, 2015.

The aim of the workshop is to shed some light on various recent
aspects of finite group theory, with a particular view towards
algorithms and computations. More specifically, we will focus
on the following topics:

   * Cohomology of finite-dimensional algebras
   * Structure of p-groups and fusion systems
   * Block theory of finite groups

Invited speakers are: (*) to be confirmed

   Jon Carlson(Chicago)
   David Craven(*)(Birmingham)
   Heiko Dietrich(*)  (Melbourne)
   Bettina Eick   (Braunschweig)
   Graham Ellis   (Galway)
   David Green(Jena)
   Ellen Henke(Kopenhagen)
   Frank Himstedt (München)
   Max Horn   (Gießen)
   Gregor Kemper  (München)
   Viktor Levandovskyy(*) (Aachen)
   Nadia Mazza(Lancaster)
   Eamonn O'Brien(*)  (Auckland)
   Götz Pfeiffer  (Galway)
   Peter Symonds  (Manchester)

For more details please visit the web page

   * http://cogral2015.uni-jena.de/.

We would be very glad if this convinced you to visit Jena and
to attend the workshop. We are looking forward to seeing you!

With kind regards
   S.K., J.M., B.S.

%




  




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


Re: [sage-devel] Re: problem with polynomial.__iter__

2014-08-29 Thread Travis Scrimshaw
I think it's better to have the iteration of vectors (elt of 
module-with-basis) return pairs of ``(index, coefficient)`` (over some 
fixed total order on the basis index set) since this will be compatible 
with their infinite dimensional analogues (where I do use the iteration 
quite a lot). Note that these are not basis elements. I'm not opposed to 
having to call vec.items() though, but I would like this to be the default. 
I would also think we could (should?) have optional arguments for finite 
dimensional modules-with-basis, such as ``include_zeros`` and variants like 
``iter_scalars()`` for the different behaviors that people find desirable.

Best,
Travis


On Friday, August 29, 2014 12:40:18 PM UTC-7, Nils Bruin wrote:
>
> On Friday, August 29, 2014 3:30:08 AM UTC-7, Volker Braun wrote:
>>
>> I agree, of course.. iterators are still present ;-)  What I'm saying is: 
>> We should call such a method iter() and not iteritems() to be 
>> forward-compatible.
>>
>
> I'm not so sure of that particular name! "iterating" over an element of a 
> module-with-basis  should probably produce the coefficients wrt. the 
> ordered basis, without the basis labels (i.e., a "dense" representation). 
> That will be much more useful in most cases. Having the values that 
> iteration produces be tuples by default is probably a less frequent need. 
> Tangentially, iterating over a "matrix" currently produces the rows, which 
> has been very convenient in various usage scenarios. Doing that doesn't fit 
> with the module-with-basis structure of the matrix space.
>
> There are different possibilities to turn objects into iterators, so just 
> "iter" is probably too generic in most cases
>
>  Thinking of module elements of dictionaries keyed by basis elements and 
> valued by coefficients would mean that plain iteration over a vector would 
> produce the basis elements! That's almost certainly not what we want.
>
> By the way, we should be careful making any of them __iter__ instead 
> (which would make an object "iterable"). It is frequently lamented that 
> strings are iterable in Python (it's a side-effect of strings being 
> indexable). I imagine making vectors etc. iteratable could similarly be a 
> problem [although having matrices iterable has been quite useful; but 
> writing M.row_iter() wouldn't have been so bad either]
>

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


[sage-devel] Re: trac push error

2014-08-29 Thread R. Andrew Ohana
Hi Aly,

So it looks like you cloned the git-trac-command repository under your sage
directory and tried to add it (probably accidentally) in this commit:
http://git.sagemath.org/sage.git/commit/?h=u/aly.deines/ticket/13568&id=87d42644c5909a3c3d02881cbe15f8581a39097a
.

Git won't add other git repositories when you tell it to, instead it just
adds a reference to another project. The trac plugin code assumes that you
never do this, that all references are to files/directories within the
project, so it should be easy enough to fix in the trac plugin code,
although you should make sure to do the following with that branch (from
the root directory):

$ git rm git-trac-command
$ echo "git-trac-command" >> .git/info/exclude

The first command will remove it from whatever you are currently working
on, and the second command will make it so git ignores that directory in
the future.

I should get out a fix for the trac module sometime this afternoon, but in
the meantime doing the above and pushing should make the ticket viewable
again.



On Fri, Aug 29, 2014 at 8:18 AM, Volker Braun  wrote:

> Andrew, I think this is your code.. do you understand what is going on?
>
>
> File
> "/usr/local/lib/python2.7/dist-packages/Trac-1.1.2dev-py2.7.egg/trac/web/main.py",
> line 497, in _dispatch_request
>   dispatcher.dispatch(req)
> File
> "/usr/local/lib/python2.7/dist-packages/Trac-1.1.2dev-py2.7.egg/trac/web/main.py",
> line 233, in dispatch
>   content_type)
> File
> "/usr/local/lib/python2.7/dist-packages/Trac-1.1.2dev-py2.7.egg/trac/web/chrome.py",
> line 995, in render_template
>   stream |= self._filter_stream(req, method, filename, stream, data)
> File "/usr/local/lib/python2.7/dist-packages/genshi/core.py", line 133, in
> __or__
>   return Stream(_ensure(function(self)), serializer=self.serializer)
> File
> "/usr/local/lib/python2.7/dist-packages/Trac-1.1.2dev-py2.7.egg/trac/web/chrome.py",
> line 1175, in inner
>   data)
> File
> "/usr/local/lib/python2.7/dist-packages/sage_trac-0.1-py2.7.egg/sage_trac/ticket_branch.py",
> line 73, in filter_stream
>   ret = self.get_merge(branch)
> File
> "/usr/local/lib/python2.7/dist-packages/sage_trac-0.1-py2.7.egg/sage_trac/git_merger.py",
> line 20, in get_merge
>   ret = self._merge(commit)
> File
> "/usr/local/lib/python2.7/dist-packages/sage_trac-0.1-py2.7.egg/sage_trac/git_merger.py",
> line 110, in _merge
>   merge_tree = recursive_write(repo.get(merge_tree))
> File
> "/usr/local/lib/python2.7/dist-packages/sage_trac-0.1-py2.7.egg/sage_trac/git_merger.py",
> line 108, in recursive_write
>   self._git.write(pygit2.GIT_OBJ_BLOB, obj.read_raw())
>
>
>
> On Friday, August 29, 2014 1:28:54 PM UTC+1, aly.d...@gmail.com wrote:
>>
>> I tried to push a patch to sage trac this morning and got the following
>> error:
>>
>> Trac detected an internal error:
>> AttributeError: 'NoneType' object has no attribute 'read_raw'
>>
>> You can see this error when you look at the ticket:
>> http://trac.sagemath.org/ticket/13568
>>
>> What do I need to do to fix this?
>>
>


-- 
Andrew

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


Re: [sage-devel] Re: problem with polynomial.__iter__

2014-08-29 Thread Nils Bruin
On Friday, August 29, 2014 3:30:08 AM UTC-7, Volker Braun wrote:
>
> I agree, of course.. iterators are still present ;-)  What I'm saying is: 
> We should call such a method iter() and not iteritems() to be 
> forward-compatible.
>

I'm not so sure of that particular name! "iterating" over an element of a 
module-with-basis  should probably produce the coefficients wrt. the 
ordered basis, without the basis labels (i.e., a "dense" representation). 
That will be much more useful in most cases. Having the values that 
iteration produces be tuples by default is probably a less frequent need. 
Tangentially, iterating over a "matrix" currently produces the rows, which 
has been very convenient in various usage scenarios. Doing that doesn't fit 
with the module-with-basis structure of the matrix space.

There are different possibilities to turn objects into iterators, so just 
"iter" is probably too generic in most cases

 Thinking of module elements of dictionaries keyed by basis elements and 
valued by coefficients would mean that plain iteration over a vector would 
produce the basis elements! That's almost certainly not what we want.

By the way, we should be careful making any of them __iter__ instead (which 
would make an object "iterable"). It is frequently lamented that strings 
are iterable in Python (it's a side-effect of strings being indexable). I 
imagine making vectors etc. iteratable could similarly be a problem 
[although having matrices iterable has been quite useful; but writing 
M.row_iter() wouldn't have been so bad either]

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


Re: [sage-devel] Re: [sage-release] You don't really think that Sage has failed, do you? (a comment about it)

2014-08-29 Thread Jakob Kroeker

>
> If Singular were not maintained, all those thousands of man-hours of work 
> would bitrot and become unavailable to the Open Source community, and it 
> would/could not be replaced!
> The most valuable commodity of the Singular project is the existing code, 
> and it needs direct and continued investment to maintain that functionality 
> and to extend and improve it.
>
[...] There's no point building a dog house if you don't feed the dog!


 
I'm with you here, so the new project should use a different funding and 
the funding of Singular+GAP should not be shut down (and I guess that the 
reviewers realize that, too)
However, I predict that Singular (kernel and interpreter) will slowly fade 
away.

Case in point. No less than 5 minutes ago, someone just showed me 
> parallelised polynomial factorisation code that will be in Singular 
> (hopefully) in the next release. It was developed as part of Singular's 
> Factory. That represents years of investment by the DFG.
> That code, on a single core, was already faster than Magma. It is now much 
> faster. Not a bad investment, I'd say!
>

Yes, it looks like. But consider that Martin Lee (he is currently the main 
factory developer)  leaves in a couple of weeks, but only 30 percent of the 
source code is documented. References to the implemented algorithms and 
code examples are mostly missing. There are only interface tests, no small 
meshed ones (that is, for every internal routine). 
I can't say much about factorization, but in 'char_series()', which is part 
of 'factory' I observed about 10 bugs in the last weeks. Does that still 
sound like a good investment?
For me it currently sounds that without appropriate counteractions the 
success story may turn into a Pyrrhic victory.


There has been some talk of making the Gap language a standard. Some people 
> seem to think it could be made so.
>

In comparison to Singular GAP is in my opinion the lesser of two evils. So 
if I would have to choose between Singular and GAP I would go with GAP.

Jakob


Am Freitag, 29. August 2014 16:30:43 UTC+2 schrieb Bill Hart:
>
>
>
> On Friday, 29 August 2014 15:12:05 UTC+2, Jakob Kroeker wrote:
>>
>> Bill Hart::
>>> ... There is a lack of documentation on what algorithms are implemented, 
>>> what their complexities are, or references. Some projects are not 
>>> threadsafe. Testing is lacking and quite a bit of stuff just doesn't work 
>>> and never did. And there is a general lack of credit given to individual 
>>> developers in Europe by their own projects. Most importantly there is a 
>>> culture of not giving appropriate academic credit to individuals who have 
>>> made significant contributions to writing mathematical software.
>>>
>>> I don't see that Sage has contributed to fixing a single one of these 
>>> hard problems. 
>>>
>>
>> I'm not sure if Singular/GAP did solve that problems either or has not 
>> more problems. Even if in general it is good to have alternatives (to 
>> Sage), in my opinion Singular+Gap is not the right way to do.  
>>
>
> I didn't know it had even had much of a chance to get going. I do know 
> that it needs a lot more investment of time and money.
>  
>
>> So I hope there will be a new CAS star at the sky which blasts the dated 
>> Singular and GAP away.
>>
>
> I think that is the wrong approach. You are looking at it from a user's 
> perspective, in that you'd like to have a nice Sage-like interface with all 
> the functionality you require. 
>
> But just writing a shiny new CAS doesn't give that to you. You still need 
> the fast Groebner basis engine underneath, and the years of development 
> that has gone into the multivariate arithmetic and to some extent the 
> thousands of man-hours that have gone into libraries that use those things 
> developed by mathematical researchers, who whilst working on those projects 
> were the leading experts in their field.
>
> No amount of shiny CAS or even new funding, will give that to you all over 
> again.
>
> Case in point. No less than 5 minutes ago, someone just showed me 
> parallelised polynomial factorisation code that will be in Singular 
> (hopefully) in the next release. It was developed as part of Singular's 
> Factory. That represents years of investment by the DFG.
>
> That code, on a single core, was already faster than Magma. It is now much 
> faster. Not a bad investment, I'd say!
>  
>
>>
>> @referees: if you are reading this, just (let experts) evaluate the code 
>> quality (readability, test coverage, correctness, maintainability, 
>> extensibility,...) or the development process. You will not like the 
>> outcome. Every couple of days I hit a bug in Singular and meanwhile I'm not 
>> always officially file an issue in their bug tracking system because I was 
>> asked to do so. 
>>
>
> Unfortunately referees tend to not have time to examine large codebases in 
> detail. They will however look at things such as past return on investment, 
> the merits of the scientific/mathe

Re: [sage-devel] Re: Is 1 a prime power?

2014-08-29 Thread John Cremona
I would regard the old (existing ) behaviour as a BUG in which case no
depreciation message would be needed ?!
On Aug 29, 2014 5:55 PM, "Jeroen Demeyer"  wrote:

> On 2014-08-29 18:36, Vincent Delecroix wrote:
>
>> Note:  If we change is_prime_power, we also have to change the
>>> prime_powers function
>>>
>> And next_prime_power().
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.
>

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


Re: [sage-devel] Re: [sage-release] You don't really think that Sage has failed, do you? (a comment about it)

2014-08-29 Thread Bill Hart
To be fair, in context, you were talking about nationalism and objecting to 
me apparently characterising Sage as a US project. The *mathematical* 
diversity of the contributors is completely tangential to that argument.

I think I made my argument transparent enough. You aren't going to help 
European mathematical software projects, such as the ones listed, by 
applying for money to work directly on Sage. Referees will see through it 
immediately if you try to make that claim.

To my knowledge, the European Union funding agencies did not have a 
significant stake in the origin and development of Sage, but the NSF and 
other US institutions did. From the point of view of the European Union, as 
far as I can tell, Sage is a US originating project. As such, you aren't 
going to have a chance of convincing them that development of Sage is 
funding a European software project!

On the other hand, a European software project, which is focused on 
cooperation (at the technical and professional level) of existing European 
mathematical software projects, *whether or not* making use of Sage, can be 
sold to referees and stakeholders. Then, as was pointed out by someone 
else, you make the case that Sage is an *international collaboration*, not 
a US project. At that level, Sage is not a US project.

But any European project must really and substantially benefit European 
software projects and the primary impact should be to the European economy! 

My very first sentence was "Nicolas, I wish you the best with a European 
grant based on Sage." Indeed, I hope a large scale European software 
project based on Sage is successful. But it needs to directly address the 
issue of how it helps mathematical software developed here in Europe. I 
hope it is also clear from those words that I was fully anticipating that 
Nicolas did have have in mind something of great benefit to those of us in 
Europe working on libraries and software projects used by Sage!

It's difficult to come up with an example that makes the European situation 
clear, since for example Magma has received substantial funding from the 
US, precisely because it benefits US stakeholders. That in spite of the 
fact that most of its IP belongs to USyd. However, the argument would be 
similar if I applied for money from the EU to develop Magma on account of 
it having a numerous developers in Europe and that it uses European 
developed software libraries. Obviously the primary beneficiaries in such 
an arrangement would be Australian taxpayers and certainly not those 
European software projects! Referees just aren't going to go for that.

That doesn't mean that Magma can't be part of the overall strategy of such 
a grant, as I'm sure is the case for a number of projects funded from 
within the EU currently. But it can't be the focus of such a grant.

Anyway, we've drifted way off topic. I merely wanted to encourage Nicolas, 
to mention some of the things that I personally think might be factors in 
such a proposal being successful in Europe, and to vaguely bring his 
attention to other similar efforts, without getting deeply involved myself 
(I'm just a lowly postdoc and have no say in these matters).

I'm sorry I wasn't clearer in the first instance. I hope I'm being clear 
now.

Bill.
 
On Friday, 29 August 2014 17:10:53 UTC+2, Volker Braun wrote:
>
> On Friday, August 29, 2014 1:03:06 PM UTC+1, Bill Hart wrote:
>>
>> What sets Sage apart from GAP/Singular (and, I dare say: Flint) is the 
>>> scale and the diversity of its contributors. 
>>>
>>
>> No, what sets it apart is the number of contributors. Flint has had 
>> contributors from all over the world. I would say from every continent 
>> except Africa and Antarctica.
>>
>
> No, it is NOT just the number of contributors. Sage is nothing like Fint 
> with 20x the number of programmers. In fact, all of your posts generally 
> come from that assumption, but it couldn't be further from the truth. 
>
> When I said "diversity", I meant diversity in mathematical interests of 
> course. Not geographical diversity or color of the skin. 
>
> There is no single person that understands all of the algorithms in Sage, 
> or would be qualified to implement them across disciplines. Instead, there 
> are many people taking on leadership roles in their respective field of 
> research. Sage is very much a collaborative effort where no single person / 
> university decides on where to go. 
>

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


Re: [sage-devel] Re: Is 1 a prime power?

2014-08-29 Thread Jeroen Demeyer

On 2014-08-29 18:36, Vincent Delecroix wrote:

Note:  If we change is_prime_power, we also have to change the
prime_powers function

And next_prime_power().

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


Re: [sage-devel] Re: Is 1 a prime power?

2014-08-29 Thread Vincent Delecroix
> Note:  If we change is_prime_power, we also have to change the
> prime_powers function, e.g.,
>
> sage: prime_powers(10)
> [1, 2, 3, 4, 5, 7, 8, 9]

Glad to see it will be better with prime_powers avoiding 1... We
planned to changed it in #16880 (which can be seen as a follow up of
#16878). I am not sure about introducing a deprecation warning because
it will be present whatever you do... would you like something like
{{{
sage: prime_powers(10)
DeprecationWarning: the output of this function has changed... 1 will
not be there!
[2, 3, 4, 5, 7, 8, 9]
}}}
It would be worse than simply remove it!

As far as I can see, this function was slow (see #16869) and is used
nowhere in Sage except in the design code that we are currently
writing with Nathann.

Tell me if avoiding a deprecation warning would be terrific.

Vincent

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


Re: [sage-devel] Re: Is 1 a prime power?

2014-08-29 Thread William A Stein
Note:  If we change is_prime_power, we also have to change the
prime_powers function, e.g.,

sage: prime_powers(10)
[1, 2, 3, 4, 5, 7, 8, 9]

I use this prime_powers function a lot in my Riemann Hypothesis book
(co-authored with Mazur).There's a bunch of code like this:

for pn in prime_powers(bound+1):
if pn == 1: continue
do stuff

See -- https://github.com/williamstein/rh/blob/master/rh/code/code.sage

In other words, my code would all be a lot cleaner if

sage: prime_powers(10)
[2, 3, 4, 5, 7, 8, 9]

Stinking deprecation warnings...

On Fri, Aug 29, 2014 at 6:00 PM, Ralf Stephan  wrote:
> After unanimous discussion the title of the OEIS entry was changed.
>
> https://oeis.org/A000961
>
> Regards,
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.



-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
wst...@uw.edu

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


[sage-devel] Re: Is 1 a prime power?

2014-08-29 Thread Ralf Stephan
After unanimous discussion the title of the OEIS entry was changed.

https://oeis.org/A000961

Regards,

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


[sage-devel] sig_on versus sig_check

2014-08-29 Thread Jeroen Demeyer

Dear sage-devel,

It seems to me that the interrupt-handling function sig_check() is not 
not so well known. I created the documentation ticket #16902 to remedy 
this, it would be good if somebody who is not too familiar with signals 
could review this and tell me whether it's clear enough.


The short version is: if you are just running your own Cython code 
without calls to external libraries, then sig_check() instead of 
sig_on() is probably the better choice. Moreover, sig_check() is a lot 
safer and easier to use.


Jeroen.


PS: another interrupt-related ticket which needs review is #16233.

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


[sage-devel] Re: trac push error

2014-08-29 Thread Volker Braun
Andrew, I think this is your code.. do you understand what is going on?


File 
"/usr/local/lib/python2.7/dist-packages/Trac-1.1.2dev-py2.7.egg/trac/web/main.py",
 
line 497, in _dispatch_request
  dispatcher.dispatch(req)
File 
"/usr/local/lib/python2.7/dist-packages/Trac-1.1.2dev-py2.7.egg/trac/web/main.py",
 
line 233, in dispatch
  content_type)
File 
"/usr/local/lib/python2.7/dist-packages/Trac-1.1.2dev-py2.7.egg/trac/web/chrome.py",
 
line 995, in render_template
  stream |= self._filter_stream(req, method, filename, stream, data)
File "/usr/local/lib/python2.7/dist-packages/genshi/core.py", line 133, in 
__or__
  return Stream(_ensure(function(self)), serializer=self.serializer)
File 
"/usr/local/lib/python2.7/dist-packages/Trac-1.1.2dev-py2.7.egg/trac/web/chrome.py",
 
line 1175, in inner
  data)
File 
"/usr/local/lib/python2.7/dist-packages/sage_trac-0.1-py2.7.egg/sage_trac/ticket_branch.py",
 
line 73, in filter_stream
  ret = self.get_merge(branch)
File 
"/usr/local/lib/python2.7/dist-packages/sage_trac-0.1-py2.7.egg/sage_trac/git_merger.py",
 
line 20, in get_merge
  ret = self._merge(commit)
File 
"/usr/local/lib/python2.7/dist-packages/sage_trac-0.1-py2.7.egg/sage_trac/git_merger.py",
 
line 110, in _merge
  merge_tree = recursive_write(repo.get(merge_tree))
File 
"/usr/local/lib/python2.7/dist-packages/sage_trac-0.1-py2.7.egg/sage_trac/git_merger.py",
 
line 108, in recursive_write
  self._git.write(pygit2.GIT_OBJ_BLOB, obj.read_raw())



On Friday, August 29, 2014 1:28:54 PM UTC+1, aly.d...@gmail.com wrote:
>
> I tried to push a patch to sage trac this morning and got the following 
> error: 
>
> Trac detected an internal error:
> AttributeError: 'NoneType' object has no attribute 'read_raw'
>
> You can see this error when you look at the ticket: 
> http://trac.sagemath.org/ticket/13568 
>
>
> What do I need to do to fix this?
>

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


Re: [sage-devel] Re: [sage-release] You don't really think that Sage has failed, do you? (a comment about it)

2014-08-29 Thread Volker Braun
On Friday, August 29, 2014 1:03:06 PM UTC+1, Bill Hart wrote:
>
> What sets Sage apart from GAP/Singular (and, I dare say: Flint) is the 
>> scale and the diversity of its contributors. 
>>
>
> No, what sets it apart is the number of contributors. Flint has had 
> contributors from all over the world. I would say from every continent 
> except Africa and Antarctica.
>

No, it is NOT just the number of contributors. Sage is nothing like Fint 
with 20x the number of programmers. In fact, all of your posts generally 
come from that assumption, but it couldn't be further from the truth. 

When I said "diversity", I meant diversity in mathematical interests of 
course. Not geographical diversity or color of the skin. 

There is no single person that understands all of the algorithms in Sage, 
or would be qualified to implement them across disciplines. Instead, there 
are many people taking on leadership roles in their respective field of 
research. Sage is very much a collaborative effort where no single person / 
university decides on where to go. 

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


Re: [sage-devel] Re: [sage-release] You don't really think that Sage has failed, do you? (a comment about it)

2014-08-29 Thread Bill Hart
And eclib. Sorry, but there are lots of these!

On Friday, 29 August 2014 16:52:04 UTC+2, Bill Hart wrote:
>
> Someone has just reminded me that mpfr and mpc are European projects.
>
> I mainly mentioned Singular, Gap and Pari because they aim to be CAS's of 
> sorts, not just libraries.
>
> It goes without saying that there are lots of opportunities for 
> collaboration here in Europe between groups that are already very friendly 
> with one another, including the libraries (flint, mpir, mpfr, mpc, etc, 
> etc).
>
> My perception is that there is a push for a combined European Group 
> Theory, Commutative/non-commutative Algebra, Number Theory project and all 
> that entails. It sounds a lot like Magma on steroids to me. :-)
>
> Bill.
>

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


Re: [sage-devel] Re: [sage-release] You don't really think that Sage has failed, do you? (a comment about it)

2014-08-29 Thread Bill Hart
Someone has just reminded me that mpfr and mpc are European projects.

I mainly mentioned Singular, Gap and Pari because they aim to be CAS's of 
sorts, not just libraries.

It goes without saying that there are lots of opportunities for 
collaboration here in Europe between groups that are already very friendly 
with one another, including the libraries (flint, mpir, mpfr, mpc, etc, 
etc).

My perception is that there is a push for a combined European Group Theory, 
Commutative/non-commutative Algebra, Number Theory project and all that 
entails. It sounds a lot like Magma on steroids to me. :-)

Bill.

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


Re: [sage-devel] Re: [sage-release] You don't really think that Sage has failed, do you? (a comment about it)

2014-08-29 Thread Bill Hart


On Friday, 29 August 2014 15:12:05 UTC+2, Jakob Kroeker wrote:
>
> Bill Hart::
>> ... There is a lack of documentation on what algorithms are implemented, 
>> what their complexities are, or references. Some projects are not 
>> threadsafe. Testing is lacking and quite a bit of stuff just doesn't work 
>> and never did. And there is a general lack of credit given to individual 
>> developers in Europe by their own projects. Most importantly there is a 
>> culture of not giving appropriate academic credit to individuals who have 
>> made significant contributions to writing mathematical software.
>>
>> I don't see that Sage has contributed to fixing a single one of these 
>> hard problems. 
>>
>
> I'm not sure if Singular/GAP did solve that problems either or has not 
> more problems. Even if in general it is good to have alternatives (to 
> Sage), in my opinion Singular+Gap is not the right way to do.  
>

I didn't know it had even had much of a chance to get going. I do know that 
it needs a lot more investment of time and money.
 

> So I hope there will be a new CAS star at the sky which blasts the dated 
> Singular and GAP away.
>

I think that is the wrong approach. You are looking at it from a user's 
perspective, in that you'd like to have a nice Sage-like interface with all 
the functionality you require. 

But just writing a shiny new CAS doesn't give that to you. You still need 
the fast Groebner basis engine underneath, and the years of development 
that has gone into the multivariate arithmetic and to some extent the 
thousands of man-hours that have gone into libraries that use those things 
developed by mathematical researchers, who whilst working on those projects 
were the leading experts in their field.

No amount of shiny CAS or even new funding, will give that to you all over 
again.

Case in point. No less than 5 minutes ago, someone just showed me 
parallelised polynomial factorisation code that will be in Singular 
(hopefully) in the next release. It was developed as part of Singular's 
Factory. That represents years of investment by the DFG.

That code, on a single core, was already faster than Magma. It is now much 
faster. Not a bad investment, I'd say!
 

>
> @referees: if you are reading this, just (let experts) evaluate the code 
> quality (readability, test coverage, correctness, maintainability, 
> extensibility,...) or the development process. You will not like the 
> outcome. Every couple of days I hit a bug in Singular and meanwhile I'm not 
> always officially file an issue in their bug tracking system because I was 
> asked to do so. 
>

Unfortunately referees tend to not have time to examine large codebases in 
detail. They will however look at things such as past return on investment, 
the merits of the scientific/mathematical proposal, benefit to 
stakeholders, track record, how sound the proposal is from a technical 
perspective, their judgement of the likely outcomes,publication record, 
contribution to the progress of science.

I'm pretty sure referees will acknowledge (even expect) that software 
systems contain bugs and that 20-30 year old systems will necessarily 
contain legacy code which hasn't yet been replaced or retired. So I think 
that even if referees did what you ask, and hired experts to evaluate the 
code, they'd find exactly what they expected to find (if competent).

It would be very poor form to judge a scientific proposal on how perfect 
the code was, instead of on the scientific merits of the proposal and its 
importance and relevance to stakeholders.

Singulars interpreter language has not even support of references (yes, on 
> a function call the data is (mostly) copied! ) and we are not talking about 
> data structures for trees or hash tables. 
>

The Singular interpreter serves a completely different purpose than the 
Sage front-end. One of the things it has to keep doing for the foreseeable 
future is to support all the extant code written in the Singular language, 
for the original tasks Singular was designed to solve, and to support 
ongoing research work of the same kind (though the scope of the Singular 
project does seem to be growing lately). No new CAS can supply that demand. 
Nor should it!

The current Singular interpreter may not provide you with all the modern 
language features, stability and performance you (or I) would like. But it 
it does provide important features, such as backwards compatibility with 
the huge legacy Singular codebase. 

To solve your problem you need new developers, paid with additional grant 
funding to work alongside the people maintaining the Singular interpreter, 
language, kernel and libraries, and definitely not for those people to stop 
what they are doing and work on something else! There's no point building a 
dog house if you don't feed the dog!

If Singular were not maintained, all those thousands of man-hours of work 
would bitrot and become unavailable to the Open Source community, and it 
w

Re: [sage-devel] Re: Is 1 a prime power?

2014-08-29 Thread Ralf Stephan
On Friday, August 29, 2014 12:47:23 PM UTC+2, John Cremona wrote:
>
> No! No! No!  please don't let Sage match OEIS here!
>

I've sent a mail to the OEIS editors list. 

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


Re: [sage-devel] Re: [sage-release] You don't really think that Sage has failed, do you? (a comment about it)

2014-08-29 Thread Jakob Kroeker

>
> Bill Hart::
> ... There is a lack of documentation on what algorithms are implemented, 
> what their complexities are, or references. Some projects are not 
> threadsafe. Testing is lacking and quite a bit of stuff just doesn't work 
> and never did. And there is a general lack of credit given to individual 
> developers in Europe by their own projects. Most importantly there is a 
> culture of not giving appropriate academic credit to individuals who have 
> made significant contributions to writing mathematical software.
>
> I don't see that Sage has contributed to fixing a single one of these hard 
> problems. 
>

I'm not sure if Singular/GAP did solve that problems either or has not more 
problems. Even if in general it is good to have alternatives (to Sage), in 
my opinion Singular+Gap is not the right way to do.  
So I hope there will be a new CAS star at the sky which blasts the dated 
Singular and GAP away.

@referees: if you are reading this, just (let experts) evaluate the code 
quality (readability, test coverage, correctness, maintainability, 
extensibility,...) or the development process. You will not like the 
outcome. Every couple of days I hit a bug in Singular and meanwhile I'm not 
always officially file an issue in their bug tracking system because I was 
asked to do so. Singulars interpreter language has not even support of 
references (yes, on a function call the data is (mostly) copied! ) and we 
are not talking about data structures for trees or hash tables. Their 
groebner basis computation over intergers is buggy over years and nobody 
noticed or cared ( well, I do, and now Adi Popescu and Anne 
Fruehbis-Krueger are working on that issues ) 

Why is this important? Because otherwise you would be taking European money 
> and using it to fund a project which originated in the US [...] This is 
> crucial from the point of view of referees, in my opinion (again, please 
> bear in mind this is my own personal opinion, and doesn't necessarily 
> reflect the opinion of anyone else I have anything to do with).
>

Unfortunately in the eyes of the referees some of this arguments (EU vs US) 
could play a role, since what I'm heard from rumors was that one argument 
of the Singular+GAP proposal was to have 
an European alternative to the Sage project...

Am Freitag, 29. August 2014 14:30:16 UTC+2 schrieb Bill Hart:
>
> One other important point when interpreting my interjection (which again I 
> stress is my own personal opinion), is that when mounting a campaign for a 
> large grant, here in Europe or elsewhere, one must very clearly communicate 
> what *need* is being addressed. If there isn't a clear need, you won't get 
> money.
>
> If your project is perfect, and you go around telling everyone that it is, 
> you will never be successful in getting the funding you desperately need. 
> The reality here in Europe is that mathematical research projects of a 
> computational nature struggle for their very existence. They are often run 
> out of a single lab with one or two main developers and a few postdocs and 
> PhD's if they are lucky.
>
> Some European mathematical software projects may not even be around 
> tomorrow if they don't get appropriate funding. Not because they aren't 
> worthy, or didn't have sufficient novelty, research value or smart people 
> working on them or because they weren't feasible, but because everyone just 
> assumed they would keep going on their own. They won't.
>
> These projects do not exist for the benefit of Sage. And in its current 
> state, no matter how noble or well-intentioned or international Sage is, 
> they can't!
>
> Sage does add value to those projects by widening the usership of those 
> projects, by contributing bug reports and build patches, by bringing them 
> publicity and in other ways. But one should never confuse this kind of 
> support with sustained funding. In the same way, those project are 
> benefiting Sage by being the best possible core components they can, given 
> the heavy constraints they have on manpower, time and budget. But the end 
> of those projects is not the enrichment of Sage, but the enrichment of 
> their direct beneficiaries, which from the perspective of a grant 
> application is the economy of the country who provided the grants, or the 
> scientific enrichment of the union.
>
> To that end, we must, in my opinion, be very careful when applying for 
> funds to "work on Sage". Who are the beneficiaries? How will they benefit? 
> What is the strategy to achieve that goal? Is it sustainable, practical? 
> What scientific merit does it have? How does it leverage the local 
> expertise? What is its novelty? How well is it engineered?
>
> That's another 2c I'm owed for my personal opinion.
>
> Bill.
>
> On Friday, 29 August 2014 14:03:06 UTC+2, Bill Hart wrote:
>>
>>
>>
>> On Friday, 29 August 2014 13:17:40 UTC+2, Volker Braun wrote:
>>>
>>> First of all, it always saddens me when the ugly head of nationalism 
>>> 

Re: [sage-devel] Re: [sage-release] You don't really think that Sage has failed, do you? (a comment about it)

2014-08-29 Thread Bill Hart
One other important point when interpreting my interjection (which again I 
stress is my own personal opinion), is that when mounting a campaign for a 
large grant, here in Europe or elsewhere, one must very clearly communicate 
what *need* is being addressed. If there isn't a clear need, you won't get 
money.

If your project is perfect, and you go around telling everyone that it is, 
you will never be successful in getting the funding you desperately need. 
The reality here in Europe is that mathematical research projects of a 
computational nature struggle for their very existence. They are often run 
out of a single lab with one or two main developers and a few postdocs and 
PhD's if they are lucky.

Some European mathematical software projects may not even be around 
tomorrow if they don't get appropriate funding. Not because they aren't 
worthy, or didn't have sufficient novelty, research value or smart people 
working on them or because they weren't feasible, but because everyone just 
assumed they would keep going on their own. They won't.

These projects do not exist for the benefit of Sage. And in its current 
state, no matter how noble or well-intentioned or international Sage is, 
they can't!

Sage does add value to those projects by widening the usership of those 
projects, by contributing bug reports and build patches, by bringing them 
publicity and in other ways. But one should never confuse this kind of 
support with sustained funding. In the same way, those project are 
benefiting Sage by being the best possible core components they can, given 
the heavy constraints they have on manpower, time and budget. But the end 
of those projects is not the enrichment of Sage, but the enrichment of 
their direct beneficiaries, which from the perspective of a grant 
application is the economy of the country who provided the grants, or the 
scientific enrichment of the union.

To that end, we must, in my opinion, be very careful when applying for 
funds to "work on Sage". Who are the beneficiaries? How will they benefit? 
What is the strategy to achieve that goal? Is it sustainable, practical? 
What scientific merit does it have? How does it leverage the local 
expertise? What is its novelty? How well is it engineered?

That's another 2c I'm owed for my personal opinion.

Bill.

On Friday, 29 August 2014 14:03:06 UTC+2, Bill Hart wrote:
>
>
>
> On Friday, 29 August 2014 13:17:40 UTC+2, Volker Braun wrote:
>>
>> First of all, it always saddens me when the ugly head of nationalism 
>> rears its head. I thought the time where we only support German science 
>> were over...
>>
>
> You have misunderstood. When applying for German funding, the rules will 
> naturally state that the project must benefit the people paying for the 
> work, namely German companies and Mutter und Vater taxpayer.
>
> When applying for European funding, the rules will naturally state that 
> the funding must benefit the people paying for the work, namely the 
> European Union members.
>
> The idea that European funds should be used primarily to support an 
> international project *with no direct benefit to European projects* invoked 
> in the grant is patently a non-starter. That's just as bad, in my opinion, 
> as taking public funds to work on a closed source mathematical system!
>  
>
>>
>> What sets Sage apart from GAP/Singular (and, I dare say: Flint) is the 
>> scale and the diversity of its contributors. 
>>
>
> No, what sets it apart is the number of contributors. Flint has had 
> contributors from all over the world. I would say from every continent 
> except Africa and Antarctica.
>
> We are talking about how to mount a campaign for European funding, not 
> about nationalising Open Source projects. And we are talking about the 
> maintainers and core developers of projects, not their volunteer 
> contributors.
>
> The reality is Singular is run out of Kaiserslautern, Germany, Pari out of 
> Bordeaux, France and Gap out of St. Andrews UK. They all have volunteer 
> contributors all over the place. But these are not paid employees, or at 
> the least volunteers paid by another University (to primarily do teaching 
> or research)!
>
> Flint is too small to be owned by a given university. The two core 
> developers currently aren't even at the same institution. It has received 
> EPSRC (UK support), DFG (German support), Austrian support and had a 
> developer at Harvard for a time. Even its maintainer (me) has been 
> supported from grants in two separate European countries! Flint has also 
> had salaries/stipends paid for from Google Summer of Code and from MSRI.
>
> Saying that it is a US (or European) project is just completely wrong. 
>>
>>
> It was started by William Stein at the University of Washington. A large 
> portion of the funding that built that project up came from grants of 
> William Stein and other funding he obtained, including from the NSF. He is 
> also in the process of trying to build a company in col

[sage-devel] trac push error

2014-08-29 Thread Alyson Deines
I tried to push a patch to sage trac this morning and got the following
error:

Trac detected an internal error:
AttributeError: 'NoneType' object has no attribute 'read_raw'

You can see this error when you look at the ticket:
http://trac.sagemath.org/ticket/13568


What do I need to do to fix this?

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


Re: [sage-devel] Re: On scientific computing, Python and Julia

2014-08-29 Thread Rafael Fourquet
> In my code I actually have
>
> myfun{T <: Ring}(a::Poly{T}, b::Poly{T})
>
> a lot. Is there a shorthand for this?

I don't think so. According to
https://github.com/JuliaLang/julia/issues/6984, it may be possible to
have the following in the future:

myfun{P<:Poly{<:Ring}}(a::P, b::P)

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


Re: [sage-devel] Re: [sage-release] You don't really think that Sage has failed, do you? (a comment about it)

2014-08-29 Thread Bill Hart


On Friday, 29 August 2014 13:17:40 UTC+2, Volker Braun wrote:
>
> First of all, it always saddens me when the ugly head of nationalism rears 
> its head. I thought the time where we only support German science were 
> over...
>

You have misunderstood. When applying for German funding, the rules will 
naturally state that the project must benefit the people paying for the 
work, namely German companies and Mutter und Vater taxpayer.

When applying for European funding, the rules will naturally state that the 
funding must benefit the people paying for the work, namely the European 
Union members.

The idea that European funds should be used primarily to support an 
international project *with no direct benefit to European projects* invoked 
in the grant is patently a non-starter. That's just as bad, in my opinion, 
as taking public funds to work on a closed source mathematical system!
 

>
> What sets Sage apart from GAP/Singular (and, I dare say: Flint) is the 
> scale and the diversity of its contributors. 
>

No, what sets it apart is the number of contributors. Flint has had 
contributors from all over the world. I would say from every continent 
except Africa and Antarctica.

We are talking about how to mount a campaign for European funding, not 
about nationalising Open Source projects. And we are talking about the 
maintainers and core developers of projects, not their volunteer 
contributors.

The reality is Singular is run out of Kaiserslautern, Germany, Pari out of 
Bordeaux, France and Gap out of St. Andrews UK. They all have volunteer 
contributors all over the place. But these are not paid employees, or at 
the least volunteers paid by another University (to primarily do teaching 
or research)!

Flint is too small to be owned by a given university. The two core 
developers currently aren't even at the same institution. It has received 
EPSRC (UK support), DFG (German support), Austrian support and had a 
developer at Harvard for a time. Even its maintainer (me) has been 
supported from grants in two separate European countries! Flint has also 
had salaries/stipends paid for from Google Summer of Code and from MSRI.

Saying that it is a US (or European) project is just completely wrong. 
>
>
It was started by William Stein at the University of Washington. A large 
portion of the funding that built that project up came from grants of 
William Stein and other funding he obtained, including from the NSF. He is 
also in the process of trying to build a company in collaboration with the 
University of Washington to make money to fund Sage development.

The Sage Foundation is run through the University of Washington. If I 
donate to the project, the money is handled by the University of Washington.

There is no way that you can justify the assertion that Sage is not 
primarily administered out of the US. And it has oodles of unpaid 
developers all over the world. 
 

>
> On Friday, August 29, 2014 11:46:14 AM UTC+1, Bill Hart wrote:
>>
>> This is all to say nothing of the glaring problems, such as the lack of 
>> Windows 64 support 
>>
>
> Wait, did you just do a 180 and say that we should drop everything to 
> boost the market share of a failing north American software company?  ;-)
>

No. I never suggested that contributions of code should be made to 
Microsoft.

Bill. 

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


Re: [sage-devel] Re: [sage-release] You don't really think that Sage has failed, do you? (a comment about it)

2014-08-29 Thread John Cremona
On 29 August 2014 12:43, William A Stein  wrote:

>
>
> On Friday, August 29, 2014, Volker Braun  wrote:
>
>> First of all, it always saddens me when the ugly head of nationalism
>> rears its head. I thought the time where we only support German science
>> were over...
>>
>> What sets Sage apart from GAP/Singular (and, I dare say: Flint) is the
>> scale and the diversity of its contributors. Saying that it is a US (or
>> European) project is just completely wrong.
>>
>
> Huge +1
>

I'm sure that Bill was not actually promoting any nationalistic view, which
surely we would all strongly disapprove of.  But when applying for funding
from the EU one has to answer silly questions about how the project would
benefit the EU specifically.  For this reason it is very important *not* to
describe Sage as a US project, but an international one.

John


>
>
>>
>>
>> On Friday, August 29, 2014 11:46:14 AM UTC+1, Bill Hart wrote:
>>>
>>> This is all to say nothing of the glaring problems, such as the lack of
>>> Windows 64 support
>>>
>>
>> Wait, did you just do a 180 and say that we should drop everything to
>> boost the market share of a failing north American software company?  ;-)
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "sage-devel" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to sage-devel+unsubscr...@googlegroups.com.
>> To post to this group, send email to sage-devel@googlegroups.com.
>> Visit this group at http://groups.google.com/group/sage-devel.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
> --
> William Stein
> Professor of Mathematics
> University of Washington
> http://wstein.org
> wst...@uw.edu
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.
>

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


[sage-devel] Re: [sage-release] You don't really think that Sage has failed, do you? (a comment about it)

2014-08-29 Thread William A Stein
On Friday, August 29, 2014, Volker Braun  wrote:

> First of all, it always saddens me when the ugly head of nationalism rears
> its head. I thought the time where we only support German science were
> over...
>
> What sets Sage apart from GAP/Singular (and, I dare say: Flint) is the
> scale and the diversity of its contributors. Saying that it is a US (or
> European) project is just completely wrong.
>

Huge +1


>
>
> On Friday, August 29, 2014 11:46:14 AM UTC+1, Bill Hart wrote:
>>
>> This is all to say nothing of the glaring problems, such as the lack of
>> Windows 64 support
>>
>
> Wait, did you just do a 180 and say that we should drop everything to
> boost the market share of a failing north American software company?  ;-)
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com
> 
> .
> To post to this group, send email to sage-devel@googlegroups.com
> .
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.
>


-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
wst...@uw.edu

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


Re: [sage-devel] Re: [sage-release] You don't really think that Sage has failed, do you? (a comment about it)

2014-08-29 Thread Volker Braun
First of all, it always saddens me when the ugly head of nationalism rears 
its head. I thought the time where we only support German science were 
over...

What sets Sage apart from GAP/Singular (and, I dare say: Flint) is the 
scale and the diversity of its contributors. Saying that it is a US (or 
European) project is just completely wrong. 


On Friday, August 29, 2014 11:46:14 AM UTC+1, Bill Hart wrote:
>
> This is all to say nothing of the glaring problems, such as the lack of 
> Windows 64 support 
>

Wait, did you just do a 180 and say that we should drop everything to boost 
the market share of a failing north American software company?  ;-)

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


[sage-devel] Re: SageTeX

2014-08-29 Thread Ron Bannon
I have prepared a ~50 page tutorial on using Sage/SageTeX with TeXShop. It 
is a living document and I welcome comments from users about how to 
improve. You can download the guide at: http://devio.us/~bannon/sage/



On Sunday, July 15, 2012 4:56:04 PM UTC-4, Justin C. Walker wrote:
>
> Hi, all, 
>
> This deals with the use of SageTeX on Mac OS X/TeXShop, so if that's not 
> of interest, feel free to delete and move on. 
>
> I just got finished a long detour into using SageTeX with TeXShop on Mac 
> OS X, and have a question and a couple of comments. 
>
> It's been mentioned here that SageTeX changed, between the Sage 4.x and 
> Sage 5.x, the naming of the intermediate sage files produced during 
> typesetting. 
>
> The impact of this for the Mac world is that the TeXShop engine that is 
> provided for SageTeX has to change. 
>
> So the question is: is this change necessary?  Is it the first of many?  I 
> did a quick check of Trac and didn't see anything pertaining to this change 
> (although my facility with the Trac search scheme is not always that 
> productive). 
>
> That's more than one question, so I should add one more to round up to an 
> even three: 
> Is it sufficient to do something like this in the TeXShop's sage engine: 
>XXX=`sage -version` 
>if "first character" is < 5 
>then 
>   use old naming convention 
>else 
>   use new naming convention 
>fi 
> ? 
>
> Thanks! 
>
> -- 
> Justin C. Walker 
> Curmudgeon-at-large 
> -- 
> Network, n., Difference between work 
> charged for and work done 
>
>
>
>

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


Re: [sage-devel] Is 1/2 a prime power?

2014-08-29 Thread John Cremona
On 29 August 2014 11:29, William A Stein  wrote:

> On Fri, Aug 29, 2014 at 12:23 PM, John Cremona 
> wrote:
> >
> >
> >
> > On 29 August 2014 11:21, Vincent Delecroix <20100.delecr...@gmail.com>
> > wrote:
> >>
> >> I guess Wikipedia is a good source for a definition and it says:
> >>
> >> "In mathematics, a prime power is a positive integer power of a single
> >> prime number."
> >>
> >> So +1 for 1/2 not being a prime power. Though, if we really want to we
> >> can add a keyword 'non_positive_powers'.
> >>
> >> Vincent
> >>
> >> 2014-08-29 12:18 UTC+02:00, Jeroen Demeyer :
> >> > Usually, with "prime powers" people mean integers, but in Sage:
> >> >
> >> > sage: is_prime_power(1/2)
> >> > True
> >> >
> >> > Even though 1/2 = 2^(-1), I would restrict prime powers to strictly
> >> > positive integer powers.
> >
> >
> > +1.   I cannot imagine the need for checking negative prime powers.
>
> If you really cannot "imagine a need for checking", then maybe
> is_prime_power should raise a ValueError (like Magma) on such input,
> to avoid confusion...
>

I think you misunderstood.  I can imagine checking for prime powers (with
integers, >1) certainly.  I cannot imagine doing such a test in which I
would want the result to be True for 1/2.  So I am happy with


sage: a = QQ(1)
sage: a.is_prime_power()
...
AttributeError: 'sage.rings.rational.Rational' object has no attribute
'is_prime_power'


(where of course it is the same for a=QQ(2)).  The problem arises with the
non-method top-level function is_prime_power, which has to make its own
decisions about which types to accept:

sage: is_prime_power(QQ(2)) # fine by me, it converts to ZZ
True
sage: is_prime_power(QQ(1)) # should give False in my opinion
True
sage: is_prime_power(QQ(1)/2) # should raise an error saiying it's only
defined for integers?
True

John




>
> william
>
>
> >
> > John
> >
> >>
> >> >
> >> > --
> >> > You received this message because you are subscribed to the Google
> >> > Groups
> >> > "sage-devel" group.
> >> > To unsubscribe from this group and stop receiving emails from it, send
> >> > an
> >> > email to sage-devel+unsubscr...@googlegroups.com.
> >> > To post to this group, send email to sage-devel@googlegroups.com.
> >> > Visit this group at http://groups.google.com/group/sage-devel.
> >> > For more options, visit https://groups.google.com/d/optout.
> >> >
> >>
> >> --
> >> You received this message because you are subscribed to the Google
> Groups
> >> "sage-devel" group.
> >> To unsubscribe from this group and stop receiving emails from it, send
> an
> >> email to sage-devel+unsubscr...@googlegroups.com.
> >> To post to this group, send email to sage-devel@googlegroups.com.
> >> Visit this group at http://groups.google.com/group/sage-devel.
> >> For more options, visit https://groups.google.com/d/optout.
> >
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "sage-devel" group.
> > To unsubscribe from this group and stop receiving emails from it, send an
> > email to sage-devel+unsubscr...@googlegroups.com.
> > To post to this group, send email to sage-devel@googlegroups.com.
> > Visit this group at http://groups.google.com/group/sage-devel.
> > For more options, visit https://groups.google.com/d/optout.
>
>
>
> --
> William Stein
> Professor of Mathematics
> University of Washington
> http://wstein.org
> wst...@uw.edu
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.
>

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


Re: [sage-devel] Re: Is 1 a prime power?

2014-08-29 Thread John Cremona
On 29 August 2014 11:32, Simon King  wrote:

> Hi John,
>
> On 2014-08-29, John Cremona  wrote:
> > 1 is definitely not a prime power.
>
> OEIS says it is: http://oeis.org/A000961
>

... and the very first comment there says "Since 1 = p^0 does not have a
well defined prime base p, it is sometimes not regarded as a prime power."


>
> > It's basically the same reason that 1
> > is not a prime.
>
> It's basically the same reason that the empty product evaluates to 1.
>

No! No! No!  please don't let Sage match OEIS here!

John


>
> Best regards,
> Simon
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.
>

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


Re: [sage-devel] SPKGs that installs Python code

2014-08-29 Thread Volker Braun
On Friday, August 29, 2014 3:02:39 AM UTC+1, François wrote:
>
> Well technically you can install something directly in the sage tree.


Also, whatever you install into local/lib/python/site-packages/sage will be 
deleted when you run "sage -b" the next time.

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


Re: [sage-devel] Re: [sage-release] You don't really think that Sage has failed, do you? (a comment about it)

2014-08-29 Thread Bill Hart
Nicolas,

I wish you the best with a European grant based on Sage. Don't forget 
Singular! (Flint and MPIR are also European, but these might be too low 
level for your interests, I don't know.)

The key to success with these European grants, I have been led to believe 
(by people who have gotten them and who have applied), is demonstrating 
that you have a strong network of interested individuals willing to 
participate in the project, and who will directly benefit from doing so. 
It's not the only key, but an important one.

Now I will add my 2c worth. And bear in mind this is coming from someone 
who doesn't contribute to Sage directly, and who only recently began doing 
computer algebra proper.

One of the biggest things European software projects like Pari, Gap, 
Singular need is contributions. I congratulate Peter Bruin on announcing 
that he is writing a power series module for Sage based on Pari instead of 
on polynomials. However, in a project like that, I hope that when some 
functionality (mathematical or otherwise) is perceived to be missing from 
Pari, that it will be contributed *to the Pari project directly*. And I 
don't mean as a set of Sage build patches or bug reports. I mean as a set 
of Pari contributions, to their code base, in their coding style, instead 
of writing more code in Sage directly!

Why is this important? Because otherwise you would be taking European money 
and using it to fund a project which originated in the US (I think it fair 
to call it a US project). It does not enrich European software to be 
developing Sage. This is crucial from the point of view of referees, in my 
opinion (again, please bear in mind this is my own personal opinion, and 
doesn't necessarily reflect the opinion of anyone else I have anything to 
do with).

Another thing to consider in such a proposal is building bridges between 
such projects. At present, some of the projects I've mentioned would 
desperately like to be in a wider Europe-wide collaboration (that is my 
understanding, anyway). But a bridge needs to be built between the 
projects, both technologically and cooperatively, in order to achieve this. 
Both desperately need funding and competent engineers to do the work!

I don't personally see Sage as an ideal vehicle for this because its needs 
are strongly biased towards other things. But I wish you all the best with 
such an endeavour. 

By the way, I don't think Sage is a bandwagon in Europe any longer. It has 
pockets of strong support, especially in education in France. The fact that 
it is Free certainly appeals to the European sense of human rights, open 
access, fairness, liberty, respect for all persons, etc. But these points 
only help push a proposal over the line. They don't constitute the core 
thrust of such a proposal.

Please talk to people running projects locally here in Europe, because you 
apparently aren't the only one with the same idea at this time. And please 
try to view this from the perspective of developers working in those 
projects. They have no interest whatsoever in contracts expire for working 
on their respective projects and being rehired to work on Sage itself. Any 
such proposal should be geared towards benefiting those European software 
projects directly and improving the (dire) state of affairs here in Europe.

Sage has some great things going for it. It provides an interface to 
numerous Open Source projects that otherwise don't and can't talk to each 
other (I mean technologically). As a glue, Sage is awesome.

Sage is also great in that it maintains interfaces to numerous projects 
with the *same* functionality. This makes it possible to compare results 
from different projects, or to get results from a different project if your 
preferred system has a problem. Or naturally, if the computation you want 
is too slow in one system, you can ask another system. 

But Sage alone doesn't solve the bridge problem. The component projects are 
still no more connected than they were before. A Singular user can no more 
talk to Gap or Pari than they could before. The only beneficiaries are Sage 
users.

Furthermore, Sage is a cobbled inconsistent mess, precisely because of all 
the differing conventions in these projects. Assumptions in one system may 
not be the same in another, and input/output will be presented in differing 
ways. Exceptions are handled inconsistently. And most importantly, there 
may not even be mathematical consistency.

Remember, Europeans absolutely love coming up with standards! (Not that 
they are very good at it. :-()

This is all to say nothing of the glaring problems, such as the lack of 
Windows 64 support in such systems or indeed Sage. There are difficulties 
in finding which files are involved in implementing a given algorithm (the 
easiest way I know in Sage is to run the algorithms in a loop and press 
CTRL-C to get a stack trace!!). There is a lack of documentation on what 
algorithms are implemented, what their compl

Re: [sage-devel] Is 1/2 a prime power?

2014-08-29 Thread Jeroen Demeyer

On 2014-08-29 12:29, William A Stein wrote:

If you really cannot "imagine a need for checking", then maybe
is_prime_power should raise a ValueError (like Magma) on such input,
to avoid confusion...


For rationals, it's easy to raise a TypeError. However, I think it is 
better to define whether or not 1 is a prime power. Otherwise 
next_prime_power(0) should also be undefined and I like that less.


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


Re: [sage-devel] Re: speed regression testing

2014-08-29 Thread Volker Braun
On Friday, August 29, 2014 11:28:47 AM UTC+1, François wrote:
>
> OK. How do we benchmark?


This is the real question. We should have a set of benchmark tests that are 
longer than ordinary doctests (and not part of the testsuite) that mostly 
rely on the underlying blas.


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


[sage-devel] Re: Is 1 a prime power?

2014-08-29 Thread Simon King
Hi John,

On 2014-08-29, John Cremona  wrote:
> 1 is definitely not a prime power.

OEIS says it is: http://oeis.org/A000961

> It's basically the same reason that 1
> is not a prime.

It's basically the same reason that the empty product evaluates to 1.

Best regards,
Simon

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


Re: [sage-devel] Re: problem with polynomial.__iter__

2014-08-29 Thread Volker Braun
On Friday, August 29, 2014 7:10:31 AM UTC+1, Nils Bruin wrote:
>
> On Thursday, August 28, 2014 1:56:31 PM UTC-7, Volker Braun wrote:
>>
>> iteritems() is gone in Python 3...
>>
> It is, but the functionality is still provided by .items() . So the 
> discussion of what the semantics in sage should be, is still relevant.
>

I agree, of course.. iterators are still present ;-)  What I'm saying is: 
We should call such a method iter() and not iteritems() to be 
forward-compatible.
 

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


Re: [sage-devel] Is 1/2 a prime power?

2014-08-29 Thread William A Stein
On Fri, Aug 29, 2014 at 12:23 PM, John Cremona  wrote:
>
>
>
> On 29 August 2014 11:21, Vincent Delecroix <20100.delecr...@gmail.com>
> wrote:
>>
>> I guess Wikipedia is a good source for a definition and it says:
>>
>> "In mathematics, a prime power is a positive integer power of a single
>> prime number."
>>
>> So +1 for 1/2 not being a prime power. Though, if we really want to we
>> can add a keyword 'non_positive_powers'.
>>
>> Vincent
>>
>> 2014-08-29 12:18 UTC+02:00, Jeroen Demeyer :
>> > Usually, with "prime powers" people mean integers, but in Sage:
>> >
>> > sage: is_prime_power(1/2)
>> > True
>> >
>> > Even though 1/2 = 2^(-1), I would restrict prime powers to strictly
>> > positive integer powers.
>
>
> +1.   I cannot imagine the need for checking negative prime powers.

If you really cannot "imagine a need for checking", then maybe
is_prime_power should raise a ValueError (like Magma) on such input,
to avoid confusion...

william

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



-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
wst...@uw.edu

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


Re: [sage-devel] Re: speed regression testing

2014-08-29 Thread Francois Bissey
OK. How do we benchmark? Actually I haven't ever linked the whole thing
against a proprietary lib. In theory it all works but I never tested that bit 
in 
the field.

On 29/08/2014, at 22:24, Volker Braun  wrote:

> I do have a MKL license (Linux + OSX) for the Sage project
> 
> 
> 
> On Friday, August 29, 2014 10:55:32 AM UTC+1, François wrote:
> I currently drive my sage install with openblas, it would be interesting if 
> someone 
> has a MKL license. 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.


This email may be confidential and subject to legal privilege, it may
not reflect the views of the University of Canterbury, and it is not
guaranteed to be virus free. If you are not an intended recipient,
please notify the sender immediately and erase all copies of the message
and any attachments.

Please refer to http://www.canterbury.ac.nz/emaildisclaimer for more
information.

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


Re: [sage-devel] Re: speed regression testing

2014-08-29 Thread Volker Braun
I do have a MKL license (Linux + OSX) for the Sage project



On Friday, August 29, 2014 10:55:32 AM UTC+1, François wrote:
>
> I currently drive my sage install with openblas, it would be interesting 
> if someone 
> has a MKL license. 
>

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


Re: [sage-devel] Is 1/2 a prime power?

2014-08-29 Thread John Cremona
On 29 August 2014 11:21, Vincent Delecroix <20100.delecr...@gmail.com>
wrote:

> I guess Wikipedia is a good source for a definition and it says:
>
> "In mathematics, a prime power is a positive integer power of a single
> prime number."
>
> So +1 for 1/2 not being a prime power. Though, if we really want to we
> can add a keyword 'non_positive_powers'.
>
> Vincent
>
> 2014-08-29 12:18 UTC+02:00, Jeroen Demeyer :
> > Usually, with "prime powers" people mean integers, but in Sage:
> >
> > sage: is_prime_power(1/2)
> > True
> >
> > Even though 1/2 = 2^(-1), I would restrict prime powers to strictly
> > positive integer powers.
>

+1.   I cannot imagine the need for checking negative prime powers.

John


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

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


Re: [sage-devel] Is 1/2 a prime power?

2014-08-29 Thread Vincent Delecroix
I guess Wikipedia is a good source for a definition and it says:

"In mathematics, a prime power is a positive integer power of a single
prime number."

So +1 for 1/2 not being a prime power. Though, if we really want to we
can add a keyword 'non_positive_powers'.

Vincent

2014-08-29 12:18 UTC+02:00, Jeroen Demeyer :
> Usually, with "prime powers" people mean integers, but in Sage:
>
> sage: is_prime_power(1/2)
> True
>
> Even though 1/2 = 2^(-1), I would restrict prime powers to strictly
> positive integer powers.
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.
>

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


Re: [sage-devel] speed regression testing

2014-08-29 Thread Volker Braun
On Friday, August 29, 2014 9:28:23 AM UTC+1, Jeroen Demeyer wrote:
>
> I already dislike Volker's automatic --warn-long since it gives a flood 
> of warnings on some machines

 
Note that it scales the time limit with the timing data from the last test 
run, so it tries to take slow machines into account. Of course sometimes 
its only subsystems that are slow (e.g NFS vs. local ssd) and some tests 
mostly depend on certain subsystems. 

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


[sage-devel] Is 1/2 a prime power?

2014-08-29 Thread Jeroen Demeyer

Usually, with "prime powers" people mean integers, but in Sage:

sage: is_prime_power(1/2)
True

Even though 1/2 = 2^(-1), I would restrict prime powers to strictly 
positive integer powers.


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


Re: [sage-devel] Re: speed regression testing

2014-08-29 Thread Francois Bissey
Volker and me had some kind of plan to get sage to to compile with any 
blas/lapack
based on providing .pc file for blas/cblas/lapack. It is already 100% done in 
sage-on-gentoo
and I have the patches to convert the sage library.
I currently drive my sage install with openblas, it would be interesting if 
someone
has a MKL license.

François

On 29/08/2014, at 20:57, Jeroen Demeyer  wrote:

> On 2014-08-29 10:53, Clement Pernet wrote:
>> http://www.openblas.net/
>> 
>> The compile & configuration times are much shorter which would impact sage 
>> compile time.
> +100 to getting rid of ATLAS in Sage!
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.


This email may be confidential and subject to legal privilege, it may
not reflect the views of the University of Canterbury, and it is not
guaranteed to be virus free. If you are not an intended recipient,
please notify the sender immediately and erase all copies of the message
and any attachments.

Please refer to http://www.canterbury.ac.nz/emaildisclaimer for more
information.

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


Re: [sage-devel] Is 1 a prime power?

2014-08-29 Thread William A Stein
On Fri, Aug 29, 2014 at 10:53 AM, John Cremona  wrote:
> pari:
>
> ? isprimepower(1)
> %4 = 0
>
> magma:
>
>>> IsPrimePower(1);
>^
> Runtime error in 'IsPrimePower': Argument 1 (1) should be >= 2
>
> gap> IsPrimePowerInt(1);
> false
>
> I'll let others try Maple.

That seems like enough of an argument for Sage to return False to me.

 -- William

>
> John
>
>
> On 29 August 2014 09:50, Vincent Delecroix <20100.delecr...@gmail.com>
> wrote:
>>
>> What is the status of 1 in pari, GAP, Maple, Magma, Mathematica?
>>
>> Vincent
>>
>> 2014-08-29 10:31 UTC+02:00, Jeroen Demeyer :
>> > Personally, I think "1" should not be considered a prime power, but Sage
>> > thinks otherwise:
>> >
>> > sage: 1.is_prime_power()
>> > True
>> >
>> > Of course, one could argue that 1 = p^0 for every prime p...
>> >
>> > Should this be changed, any opinions?
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups
>> > "sage-devel" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> > an
>> > email to sage-devel+unsubscr...@googlegroups.com.
>> > To post to this group, send email to sage-devel@googlegroups.com.
>> > Visit this group at http://groups.google.com/group/sage-devel.
>> > For more options, visit https://groups.google.com/d/optout.
>> >
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "sage-devel" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to sage-devel+unsubscr...@googlegroups.com.
>> To post to this group, send email to sage-devel@googlegroups.com.
>> Visit this group at http://groups.google.com/group/sage-devel.
>> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.



-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
wst...@uw.edu

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


Re: [sage-devel] Re: speed regression testing

2014-08-29 Thread Jeroen Demeyer

On 2014-08-29 10:53, Clement Pernet wrote:

http://www.openblas.net/

The compile & configuration times are much shorter which would impact sage 
compile time.

+100 to getting rid of ATLAS in Sage!

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


Re: [sage-devel] Is 1 a prime power?

2014-08-29 Thread John Cremona
pari:

? isprimepower(1)
%4 = 0

magma:

>> IsPrimePower(1);
   ^
Runtime error in 'IsPrimePower': Argument 1 (1) should be >= 2

gap> IsPrimePowerInt(1);
false

I'll let others try Maple.

John


On 29 August 2014 09:50, Vincent Delecroix <20100.delecr...@gmail.com>
wrote:

> What is the status of 1 in pari, GAP, Maple, Magma, Mathematica?
>
> Vincent
>
> 2014-08-29 10:31 UTC+02:00, Jeroen Demeyer :
> > Personally, I think "1" should not be considered a prime power, but Sage
> > thinks otherwise:
> >
> > sage: 1.is_prime_power()
> > True
> >
> > Of course, one could argue that 1 = p^0 for every prime p...
> >
> > Should this be changed, any opinions?
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "sage-devel" group.
> > To unsubscribe from this group and stop receiving emails from it, send an
> > email to sage-devel+unsubscr...@googlegroups.com.
> > To post to this group, send email to sage-devel@googlegroups.com.
> > Visit this group at http://groups.google.com/group/sage-devel.
> > For more options, visit https://groups.google.com/d/optout.
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.
>

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


Re: [sage-devel] Re: speed regression testing

2014-08-29 Thread Clement Pernet
Hi,

Let me clarify a few things:
- LinBox's approach to link against numerical BLAS has never changed, and 
probably will not in the
near future.
- LAPACK is not BLAS: BLAS provides optimized numerical matrix multiplication 
kernels (that LinBox
uses) and other basic routines, whereas LAPACK provides more advanced routines 
such as gaussian
elimination, QR factorization, etc, designed to work on top of a BLAS.
- LinBox links against LAPACK too (in the past and still now), but only for 
some variants of
computations that are AFAIK, not hooked in the sage interface: e.g. computing 
first invariant of the
Smith form.

I also recently remarked that many linalg computations over finite fields and 
ZZ were shamefully
slow. There definitely is a misconfiguration somewhere, as we do not observe 
any such regression in
LinBox. Instead, the library has gotten actually significantly faster.

So in the short term: I'm definitely willing to look into improving the sage 
interface, and fix this
misconfiguration. I'll have very little time before the end of september, 
though, but can start
working on it in october.

We're also planning on cutting a new release of Linbox this fall (october) an 
this could be a good
time to update the linbox spkg.

I also would like to mention that sage rely on Atlas BLAS which is no longer 
state of the art as far
as computation speed is concerned.
We consider switching to OpenBLAS, (formerely GOTOBLAS), that is now released 
under BSD.

http://www.openblas.net/

The compile & configuration times are much shorter which would impact sage 
compile time.

Best
Clément


Le 29/08/2014 10:26, William A Stein a écrit :
> On Fri, Aug 29, 2014 at 10:24 AM, Jean-Pierre Flori  wrote:
>> I don't know for sure, but I think linbox does not link to LAPACK
>> (anymore?).
>> Maybe that make a small difference already.
> That's precisely what I'm worried about -- not linking lapack would
> perhaps  change linbox from being world class to absolutely terrible.
>
>> I opened a ticket about that some monthes ago.
> Thanks!
>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "sage-devel" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to sage-devel+unsubscr...@googlegroups.com.
>> To post to this group, send email to sage-devel@googlegroups.com.
>> Visit this group at http://groups.google.com/group/sage-devel.
>> For more options, visit https://groups.google.com/d/optout.
>
>


-- 
   Clément Pernet


Lab. de l'Informatique Parallélisme, AriC office LUG 277
ENS de Lyon, CNRS  tel: +33 (0)4 37 28 74 75
46 Allée d'Italie  fax: +33 (0)4 72 72 80 80
69364 LYON Cedex 07- France http://membres-liglab.imag.fr/pernet
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xAF8B61347AE8C23D



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


Re: [sage-devel] Is 1 a prime power?

2014-08-29 Thread John Cremona
1 is definitely not a prime power.  It's basically the same reason that 1
is not a prime.

Some reasons: (1)  positive integers are uniqely products of prime powers
(with 1 being the empty product!)  Uniqueness would fail if 1 were allowed.
(2) a positive integer n is a prime power iff nZ is a primary ideal of Z
(that got you 2 marks in an exam I set this year), and the definition of
primary ideal (as with prime ideal) explicitly requires the ideal to be
proper.

John




On 29 August 2014 09:31, Jeroen Demeyer  wrote:

> Personally, I think "1" should not be considered a prime power, but Sage
> thinks otherwise:
>
> sage: 1.is_prime_power()
> True
>
> Of course, one could argue that 1 = p^0 for every prime p...
>
> Should this be changed, any opinions?
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.
>

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


Re: [sage-devel] Is 1 a prime power?

2014-08-29 Thread Vincent Delecroix
What is the status of 1 in pari, GAP, Maple, Magma, Mathematica?

Vincent

2014-08-29 10:31 UTC+02:00, Jeroen Demeyer :
> Personally, I think "1" should not be considered a prime power, but Sage
> thinks otherwise:
>
> sage: 1.is_prime_power()
> True
>
> Of course, one could argue that 1 = p^0 for every prime p...
>
> Should this be changed, any opinions?
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.
>

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


[sage-devel] Is 1 a prime power?

2014-08-29 Thread Jeroen Demeyer
Personally, I think "1" should not be considered a prime power, but Sage 
thinks otherwise:


sage: 1.is_prime_power()
True

Of course, one could argue that 1 = p^0 for every prime p...

Should this be changed, any opinions?

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


Re: [sage-devel] speed regression testing

2014-08-29 Thread Jeroen Demeyer

On 2014-08-29 09:59, William A Stein wrote:

Hi,

What's the situation with speed regression testing in Sage?  A couple
of years ago I think people wrote a regression testing framework
(maybe David Roe or Robert Bradshaw?)
I think that never progressed beyond the "idea" phase. It's also hard to 
tell what exactly this "speed regression framework" should do. Once you 
know that, writing the code will be the easy part.


I already dislike Volker's automatic --warn-long since it gives a flood 
of warnings on some machines, so this speed regression thing should be 
more clever than that.


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


Re: [sage-devel] Re: speed regression testing

2014-08-29 Thread William A Stein
On Fri, Aug 29, 2014 at 10:24 AM, Jean-Pierre Flori  wrote:
> I don't know for sure, but I think linbox does not link to LAPACK
> (anymore?).
> Maybe that make a small difference already.

That's precisely what I'm worried about -- not linking lapack would
perhaps  change linbox from being world class to absolutely terrible.

> I opened a ticket about that some monthes ago.

Thanks!

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



-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
wst...@uw.edu

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


[sage-devel] Re: speed regression testing

2014-08-29 Thread Jean-Pierre Flori
I don't know for sure, but I think linbox does not link to LAPACK 
(anymore?).
Maybe that make a small difference already.
I opened a ticket about that some monthes ago.

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


[sage-devel] speed regression testing

2014-08-29 Thread William A Stein
Hi,

What's the situation with speed regression testing in Sage?  A couple
of years ago I think people wrote a regression testing framework
(maybe David Roe or Robert Bradshaw?)

MOTIVATION: I ask because at Sage Days 61 I keep hearing about how our
exact linear algebra in Sage is terrible (with remarks like: 'maybe we
need to look into writing our own fast linear algebra'... a road
actually well traveled in Sage many years ago), how people are having
to use Magma for basic modular symbols computations instead of Sage
due to linear algebra speed, and there is this massive patch
http://trac.sagemath.org/ticket/16803 about fixing the ridiculously
slow dense matrices over ZZ -- which used to be ridiculously fast ?!.

So I started looking into 16803 and looks to me like the function
_multiply_linbox is like 10-20 times slower than it was when we
introduced it as the default for matrix multiplication over ZZ.  (see
the ticket for timings).  I suspect that we're linking linbox
incorrectly, which could easily result in this sort of slowdown, since
linbox uses a floating point BLAS at a certain point.  If we mess up
linbox, then tons of stuff all over sage involving linear algebra
would be slowed down as a result.  E.g., we use linbox for charpoly
computations.

Anyway, there are a ton of people working on Sage, and even very tiny
changes in one part can have speed impacts in far away places... so it
would be good if we were to run a speed regression test on each
version, compare timings, see if anything dropped in a new version,
etc.   Does anybody have any relevant code...?

That said, regarding 16803, switching to building our dense matrix
algebra over ZZ on one single clean modern C library is a great
improvement (thanks FLINT'ers and Marc), and if some regressions
motivated that, I'm not complaining!

William


-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
wst...@uw.edu

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


Re: [sage-devel] Re: On scientific computing, Python and Julia

2014-08-29 Thread Bill Hart


On Thursday, 28 August 2014 18:13:10 UTC+2, R. Fourquet wrote:
>
> > or to constrain argument types, e.g. 
> > myfun{T}(a::Poly{T}, b::Poly{T}) = a+b # a and b must be Polys of the 
> same type 
> which is better expressed as : 
>
> myfun{P<:Poly}(a::P, b::P) = a+b 
>

Thanks. I've figured this one out since.

In my code I actually have

myfun{T <: Ring}(a::Poly{T}, b::Poly{T})

a lot. Is there a shorthand for this?
 

>
> So a better example: 
>
> myfun{T}(a::Poly{T}, b::Monomial{T}) = ... 
>

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


Re: [sage-devel] Re: On scientific computing, Python and Julia

2014-08-29 Thread Bill Hart


On Thursday, 28 August 2014 16:48:31 UTC+2, R. Fourquet wrote:
>
> > Sorry, I had some errors in this next bit. 
>
> >> myfun(a :: Union(EuclideanPoly, Poly)) 
>
> > It should have been 
> > myfun{T <: Union(EuclideanPoly, Poly)}(a :: T) 
>
> The first version is perfectly ok and more idiomatic in this case. You 
> said earlier: 
>
> > So typically function signatures will look like 
> > fnname{T <: Z}(a :: T) 
> > where we have: 
> > a is a value 
> > T is a type 
> > Z is a typeclass 
>
> Function signatures typically look like this only when T (a type 
> variable) is used in the function definition, e.g. 
> myfun{T}(::Poly{T}) = T 
>
> or to constrain argument types, e.g. 
> myfun{T}(a::Poly{T}, b::Poly{T}) = a+b # a and b must be Polys of the same 
> type 
>
> or to constrain the type variable, e.g. 
> myfun{T<:Field}(a::Poly{T}) = 1/coeff(a)[1] # method of myfun working 
> only with Polys over fields (and "myfun(a::Poly{<:Field})" is 
> envisioned) 
>
> Otherwise, "fname(a :: Z)" is the way, even if Z is abstract 
> (typeclass). And even then, the concrete type of "a" can be referred 
> to via "typeof(a)". And fname will be compiled separately for each 
> concrete type it is called on. 
>

Thanks very much for pointing that out. I was not aware of this trick! 

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