Re: [sage-devel] Re: Code of Conduct
> Sorry Nathan, but since you asked, these comments clearly violate item (4) > of the proposed code of conduct, and arguably items (1) and (2) as well. Well, then I believe that my only defense is that I was feeling very alone trying to get item 3 observed. Indeed, a bug had been returning wrong answers for 20 months and nothing had been done against it by those who knew the code, despite frequent reminders. I had tried a lot but in vain, I did not understand the code sufficiently. > Also, I can accept that using "he" as a general pronoun is not intended to > be sexist, especially from a non-nature speaker, but I am really struggling > to find a reasonable interpretation this last sentence. The best I can come > up with is that you are trying to be funny and it's lost in translation. Is > this what you intended? It was a joke, indeed. It is getting dangerous to joke, guys Nathann -- 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: Code of Conduct
On Friday, 21 November 2014 17:50:19 UTC+11, Nathann Cohen wrote: > > Which kind of rule would you see in a code of conduct that would make > messages like those you cited (not all were pointing at you, by the way) > illegal ? > Sorry Nathan, but since you asked, these comments clearly violate item (4) of the proposed code of conduct, and arguably items (1) and (2) as well. [1] Please don't accuse me of sexism again. Girls can come and insult us > too if they like, and we will hate them for it, like anybody else. > Also, I can accept that using "he" as a general pronoun is not intended to be sexist, especially from a non-nature speaker, but I am really struggling to find a reasonable interpretation this last sentence. The best I can come up with is that you are trying to be funny and it's lost in translation. Is this what you intended? 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] Better tracebacks (#71)
I don't see any big problems with the overall approach at first glance. And the result is great! David On Thu, Nov 20, 2014 at 10:45 PM, Jeroen Demeyer wrote: > Hello, > > I have a working proof-of-concept to improve tracebacks for preparsed code > and for Cython code. On http://trac.sagemath.org/ticket/71, you can see an > example of a new traceback. > > This isn't a finished patch yet, but I would like some opinions on the > general approach first. > > > The main changes are: > 1) Change the preparser to add the unpreparsed source as comments. Yes, this > increases the size of preparsed code a lot: > > sage: preparse('2 + 3') > 'Integer(2) + Integer(3) #sage_pp#:2 + 3' > > 2) When executing load() or attach(), always save the preparsed source to a > temporary file. This is needed to get any traceback at all for this exec()ed > code. > > 3) Add an upstream patch to IPython (which is likely to be accepted > upstream, I asked ipython-dev) to not replace the .pyx file by the .so file > in tracebacks. > > 4) Write a custom extract_tb() function which undoes preparsing in > tracebacks and which makes paths absolute w.r.t. SAGE_SRC. The latter is > needed because Cython filenames in tracebacks are relative. > > 5) Monkey-patch the Python library function traceback.extract_tb() with this > custom function when the SageTerminalApp starts. > > -- > 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: Code of Conduct
Precisely. Which kind of rule would you see in a code of conduct that would make messages like those you cited (not all were pointing at you, by the way) illegal ? Additionally, I really do not believe that it qualifies as "people insulting each other". Nathann P.S.: for those who never read those messages: the one about "a punch below the belt" was Dima's answer to my message above. On 21 November 2014 12:11, Anne Schilling wrote: > > Hmmm... Well really I would be surprised if anybody can dig through > sage-devel and find people insulting each other there. > > "> Furthermore, I hate with all my heart that the same persons who come > tell > > me that "they do not have sufficient time" suddenly find all the time > they > > need to write Grant proposals to the US or Europe, and get solid real > tens > > of thousands of euros of public money or more "because of what they will > do > > in Sage". To pay for their planes, for their hotels, for their food. > > I don't think you are fair here. This is basically a punch below the belt > from > someone who has great job security to do whatever one wants with their time > aimed, perhaps inderectly, at Sage developers who depend on grant money > for the very possibility to work on Sage, or in science in general. " > > "> Now, all I have to do is write somebody else's code. > > I will not. > > I spent many hours on this yesterday, went back home just to sleep, > and continued today. > > it is too much work, and it is not my job. I cannot do that. I do not > know the code. > > I am stuck here just cause somebody put some badly designed code in > Sage, and now all I can do is rewrite it all from scratch just to > solve a bug, while rebasing all her work above. Hours and hours of > work which is totally pointless to me. It would not be fair. It would > not be fair if by writing bad code she gets me to rewrite it all, only > because it is now "sage code". > > It is too much work. > > I can't do that. " > > > -- > You received this message because you are subscribed to a topic in the > Google Groups "sage-devel" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/sage-devel/iGxa2F01rFc/unsubscribe. > To unsubscribe from this group and all its topics, 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] Better tracebacks (#71)
Hello, I have a working proof-of-concept to improve tracebacks for preparsed code and for Cython code. On http://trac.sagemath.org/ticket/71, you can see an example of a new traceback. This isn't a finished patch yet, but I would like some opinions on the general approach first. The main changes are: 1) Change the preparser to add the unpreparsed source as comments. Yes, this increases the size of preparsed code a lot: sage: preparse('2 + 3') 'Integer(2) + Integer(3) #sage_pp#:2 + 3' 2) When executing load() or attach(), always save the preparsed source to a temporary file. This is needed to get any traceback at all for this exec()ed code. 3) Add an upstream patch to IPython (which is likely to be accepted upstream, I asked ipython-dev) to not replace the .pyx file by the .so file in tracebacks. 4) Write a custom extract_tb() function which undoes preparsing in tracebacks and which makes paths absolute w.r.t. SAGE_SRC. The latter is needed because Cython filenames in tracebacks are relative. 5) Monkey-patch the Python library function traceback.extract_tb() with this custom function when the SageTerminalApp starts. -- 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: Code of Conduct
> Hmmm... Well really I would be surprised if anybody can dig through > sage-devel and find people insulting each other there. "> Furthermore, I hate with all my heart that the same persons who come tell > me that "they do not have sufficient time" suddenly find all the time they > need to write Grant proposals to the US or Europe, and get solid real tens > of thousands of euros of public money or more "because of what they will do > in Sage". To pay for their planes, for their hotels, for their food. I don't think you are fair here. This is basically a punch below the belt from someone who has great job security to do whatever one wants with their time aimed, perhaps inderectly, at Sage developers who depend on grant money for the very possibility to work on Sage, or in science in general. " "> Now, all I have to do is write somebody else's code. I will not. I spent many hours on this yesterday, went back home just to sleep, and continued today. it is too much work, and it is not my job. I cannot do that. I do not know the code. I am stuck here just cause somebody put some badly designed code in Sage, and now all I can do is rewrite it all from scratch just to solve a bug, while rebasing all her work above. Hours and hours of work which is totally pointless to me. It would not be fair. It would not be fair if by writing bad code she gets me to rewrite it all, only because it is now "sage code". It is too much work. I can't do 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: Code of Conduct
On Thursday, November 20, 2014 9:06:53 PM UTC-5, William wrote: > > Can somebody help me count the votes? I made pass through this long > and complicated thread, and here's what I seem to have got: > > FOR a code of conduct, possibly suitably word-smithed (7): > > Jan Groenewald > Travis Scrimshaw > Anne Schilling > Mike Zabrocki > Andrew Mathas > Ben Salisbury > Viviane Pons > I vote for a code of conduct. Franco -- AGAINST having code of conductor (5) > > Robert Dodier > Simon King > mmarco > Nathann Cohen > Harald Schilley (qualified) > > Other proposal or comments, but didn't vote and proposal gained no > significant traction (5): > > william stein > karl dieter > John Perry > rjf > cremona > > Also, important question. Is there anybody who is *seriously* > considering quitting working on Sage if they don't like the way this > vote goes? If you don't want to respond on list, feel free to email > me offlist at wst...@uw.edu . > > Thanks, > > -- William > > > > > > > On Thu, Nov 20, 2014 at 12:37 PM, Robert Dodier > wrote: > > On 2014-11-19, Tom Boothby > wrote: > > > >> In situations where it looks like real abuse has occurred, a committee > >> of arbiters should exist to rule on it. > > > > Instituting a committee of authorities seems misdirected -- unless one > > takes an inclusive approach and declares that all participants are > > hereby authorities. That is, that all participants are equally > > empowered to complain about bad behavior -- anyone can say to anyone, > > "cut that shit out", perhaps worded more tactfully, but the same > > in content at least. > > > > About the fabled rudeness of the inhabitants of NYC, I speculate that > > it's misunderstood by outsiders. What is actually going on is that all > > citizens feel empowered to complain when anyone breaks a rule. Instead > > of suffering in silence as someone cuts in line or stands in a doorway, > > someone just goes ahead and says, "hey, stop it". I'm told (never spent > > much time there myself) that it makes people more polite, because one > > knows that one cannot get away with petty misbehavior. I'd like to > > think the same applies to any informal gathering of humanity. > > > > best, > > > > Robert Dodier > > > > -- > > 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+...@googlegroups.com . > > To post to this group, send email to sage-...@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 > -- 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] Code of Conduct
> On 21/11/2014, at 18:54, William Stein wrote: > > On Thu, Nov 20, 2014 at 9:51 PM, Francois Bissey > wrote: >> I have abstained from the thread but read quite a bit of it and I think >> that the idea there are really two issues is correct. >> >> I have been thinking for a while but abstained because there is a lot of >> stuff already on the thread and we are at a stage where the signal/noise >> is quite low. So anyway since now I started: >> >> We should have a statement of intent on the kind of community we want to >> be. This is not a code of conduct this is the aspirations we have as a >> community. > > We wrote something like this in 2006 [1]: > > "Both the Sage development model and the technology in Sage itself are > distinguished by an extremely strong emphasis on openness, community, > cooperation, and collaboration: we are building the car, not > reinventing the wheel.” > Hum yes I remember that statement now. I haven’t seen it in some time. I remember it as dressing more technical aspect but yes there is a community feel about it. I wouldn’t want to alter it because it has the merit of being short. François -- 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] Code of Conduct
On Thu, Nov 20, 2014 at 9:51 PM, Francois Bissey wrote: > I have abstained from the thread but read quite a bit of it and I think > that the idea there are really two issues is correct. > > I have been thinking for a while but abstained because there is a lot of > stuff already on the thread and we are at a stage where the signal/noise > is quite low. So anyway since now I started: > > We should have a statement of intent on the kind of community we want to > be. This is not a code of conduct this is the aspirations we have as a > community. We wrote something like this in 2006 [1]: "Both the Sage development model and the technology in Sage itself are distinguished by an extremely strong emphasis on openness, community, cooperation, and collaboration: we are building the car, not reinventing the wheel." [1] http://www.sagemath.org/doc/tutorial/ -- William Stein Professor of Mathematics University of Washington http://wstein.org -- 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] Code of Conduct
I have abstained from the thread but read quite a bit of it and I think that the idea there are really two issues is correct. I have been thinking for a while but abstained because there is a lot of stuff already on the thread and we are at a stage where the signal/noise is quite low. So anyway since now I started: We should have a statement of intent on the kind of community we want to be. This is not a code of conduct this is the aspirations we have as a community. François > On 21/11/2014, at 18:38, Vincent Delecroix <20100.delecr...@gmail.com> wrote: > > In the form it was presented at the very beginning I am strongly > against. This is completely infantilizing. That is a good idea to make > a vote, but please make it clear what the vote is about... > > Vincent > > 2014-11-20 14:14 UTC−07:00, Bruno Grenet : >> Dear all, >> >> I've read the whole thread, and I have the impress that there are two >> distinct issues that are addressed. That's part of the reason people >> don't agree I think on the proposals. The first issue is to make sure >> that there are no public insults on sage-devel, trac, etc. by organizing >> a procedure to deal with such events. The second issue is to make this >> "place" (sage-devel, trac, etc.) a friendly place where people, >> especially newcomers, feel good so that they want to contribute. >> >> The two issues are quite different, and we should as a first step make >> sure we know which one we want to address right now. I feel like the >> second one is more important since public insults are not real problem >> here. Any proposal with formal rules that people have to obey to if they >> do not want to be punished won't solve the second issue. In some sense, >> as soon as somebody feels insulted, it is too late. >> >> To me, the only thing that can be done is to have somewhere some advice >> to be as polite as possible, to make constructive comments and be kind >> with people, especially newcomers. Right, this sounds like common sense! >> But if people feel the need that it is written somewhere, why not? >> Personally, I'd rather call this "Advices" than "Code of Conduct" that >> sounds too formal to my taste... >> >> Cheers, >> Bruno >> >> >> -- >> 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: Code of Conduct
Hello !! > I've read the whole thread, and I have the impress that there are two > distinct issues that are addressed. That's part of the reason people don't > agree I think on the proposals. The first issue is to make sure that there > are no public insults on sage-devel, trac, etc. by organizing a procedure to > deal with such events. The second issue is to make this "place" (sage-devel, > trac, etc.) a friendly place where people, especially newcomers, feel good > so that they want to contribute. Hmmm... Well really I would be surprised if anybody can dig through sage-devel and find people insulting each other there. So let us stop claiming that a "code" or a "behaviour advice" in the developper's manual would put an end to that... Newcomers do not often come here to insult us either, and even if one did: who cares ? He will leave soon, and a rule he never read will not stop him [1]. I believe that we are nice with newcomers (never heard differently). If some persons here want a code of conduct they are long-term contributors, and it is to defend themseves against other long-term contributors. And, permit me to say, very probably against myself though I may not be the only one (I've got no idea). Thus the "pro" rethoric is a bit uneasy, for unless you actually give names you have to pretend that the problem is much more general: I believe that it is on the contrary focused on a handful of guys. So. The point of this code is to try to stop those bad guys from misbehaving (and whoever wants such a code must have a clear idea of what this misbehaviour can be). I simply doubt that it will have any effect. "Feeling hurt" is not something you ban/exclude (even temporarily) people for, you need something more objective than that. Actual insults or something, broken arms, blood And I never saw that happen here. > The two issues are quite different, and we should as a first step make sure > we know which one we want to address right now. I feel like the second one > is more important since public insults are not real problem here. Any > proposal with formal rules that people have to obey to if they do not want > to be punished won't solve the second issue. In some sense, as soon as > somebody feels insulted, it is too late. Yes, and hard to formalize. Actually, people hurt each other's feelings because some say things without expecting others to react personally about them, e.g. discuss an implementation, the doc or something. Sometimes you react matter-of-factly, sometimes you can feel a bit insulted... And I do not see how a code could sort that out. > To me, the only thing that can be done is to have somewhere some advice to > be as polite as possible, to make constructive comments and be kind with > people, especially newcomers. Right, this sounds like common sense! But if > people feel the need that it is written somewhere, why not? Personally, I'd > rather call this "Advices" than "Code of Conduct" that sounds too formal to > my taste... Well, if somebody sleeps better with an "Advice" section in the developper's manual why not ? We should help those guys if we can. My own sleep is being interrupted by mosquitoes these days, I sure can relate. Nathann [1] Please don't accuse me of sexism again. Girls can come and insult us too if they like, and we will hate them for it, like anybody else. -- 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: Code of Conduct
In the form it was presented at the very beginning I am strongly against. This is completely infantilizing. That is a good idea to make a vote, but please make it clear what the vote is about... Vincent 2014-11-20 14:14 UTC−07:00, Bruno Grenet : > Dear all, > > I've read the whole thread, and I have the impress that there are two > distinct issues that are addressed. That's part of the reason people > don't agree I think on the proposals. The first issue is to make sure > that there are no public insults on sage-devel, trac, etc. by organizing > a procedure to deal with such events. The second issue is to make this > "place" (sage-devel, trac, etc.) a friendly place where people, > especially newcomers, feel good so that they want to contribute. > > The two issues are quite different, and we should as a first step make > sure we know which one we want to address right now. I feel like the > second one is more important since public insults are not real problem > here. Any proposal with formal rules that people have to obey to if they > do not want to be punished won't solve the second issue. In some sense, > as soon as somebody feels insulted, it is too late. > > To me, the only thing that can be done is to have somewhere some advice > to be as polite as possible, to make constructive comments and be kind > with people, especially newcomers. Right, this sounds like common sense! > But if people feel the need that it is written somewhere, why not? > Personally, I'd rather call this "Advices" than "Code of Conduct" that > sounds too formal to my taste... > > Cheers, > Bruno > > > -- > 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: Code of Conduct
Dear all, I've read the whole thread, and I have the impress that there are two distinct issues that are addressed. That's part of the reason people don't agree I think on the proposals. The first issue is to make sure that there are no public insults on sage-devel, trac, etc. by organizing a procedure to deal with such events. The second issue is to make this "place" (sage-devel, trac, etc.) a friendly place where people, especially newcomers, feel good so that they want to contribute. The two issues are quite different, and we should as a first step make sure we know which one we want to address right now. I feel like the second one is more important since public insults are not real problem here. Any proposal with formal rules that people have to obey to if they do not want to be punished won't solve the second issue. In some sense, as soon as somebody feels insulted, it is too late. To me, the only thing that can be done is to have somewhere some advice to be as polite as possible, to make constructive comments and be kind with people, especially newcomers. Right, this sounds like common sense! But if people feel the need that it is written somewhere, why not? Personally, I'd rather call this "Advices" than "Code of Conduct" that sounds too formal to my taste... Cheers, Bruno -- 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] Bug in abs(I*x).diff(x)
On Thu, Nov 20, 2014 at 7:53 PM, Bill Page wrote: > On 20 November 2014 12:56, Ondřej Čertík wrote: >> ... >> Can you give an example of an expression that cannot be decided by >> the Richardson's theorem? > > Well, no not exactly. Richardson's theorem is not about individual > expressions, it is about decidability, i.e. computability, in general. > Consider an expression of the form > > f(x) - | f(x) | > > where f(x) is composed from integers, the variable x, +, * and sin. > The question that Richardson's theorem answers is whether or not there > exists a program that can determine if f(x) - |f(x)| = 0 for all x. > This problem can be reduced to finding an algorithm to determine if > f(x) is everywhere non-negative. Richardson proves that no such > algorithm exists. I see. But what does this have to do with the derivative of |f(x)| that we are trying to figure out? As you pointed out, the challenge is that if you include conjugate(x), then you might be out of luck. But aren't you out of luck already if you have abs(x) in the expression in the first place? I.e. taking a derivative is not going to change anything, you are still out of luck. > >> How does FriCAS do the zero testing? I.e. if you >> give it >> >> f(x) = sin(x)^2 + cos(x)^2-1 >> >> how does it decide that it is equal to 0? > > This can be done by the function 'normalize' which first uses > 'realElementary' to rewrite the expression using just 4 fundamental > real-valued elementary transcendental functions (kernels): log, exp, > tan, and arctan. E.g. > > sin(x) = 2*tan(x/2)/(tan(x/2)^2+1) > cos(x) = (1-tan(x/2)^2)/(1+tan(x/2)^2) > > For your example this suffices but if necessary it next rewrites the > result again using the minimum number of algebraically independent > kernels. > > There is also a complex-valued version called 'complexElementary' > which uses only log and exp but may introduce the constant sqrt(-1). I see, clever. > >> >> Are we talking about functions of just one variable (f(x)) or more >> (f(x, y, z, ...))? > > In general more than one variable. > >> >> Why cannot you just use the probabilistic testing, where you plug in >> various (complex) numbers into f(x) and test that it is equal to zero, >> numerically. >> > > I suppose that might be pragmatic but I would not call it "computer > algebra" in the mathematical sense. Sure, this might be one of the many methods in a CAS. Ondrej -- 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] Bug in abs(I*x).diff(x)
On 20 November 2014 12:56, Ondřej Čertík wrote: > ... > Can you give an example of an expression that cannot be decided by > the Richardson's theorem? Well, no not exactly. Richardson's theorem is not about individual expressions, it is about decidability, i.e. computability, in general. Consider an expression of the form f(x) - | f(x) | where f(x) is composed from integers, the variable x, +, * and sin. The question that Richardson's theorem answers is whether or not there exists a program that can determine if f(x) - |f(x)| = 0 for all x. This problem can be reduced to finding an algorithm to determine if f(x) is everywhere non-negative. Richardson proves that no such algorithm exists. > How does FriCAS do the zero testing? I.e. if you > give it > > f(x) = sin(x)^2 + cos(x)^2-1 > > how does it decide that it is equal to 0? This can be done by the function 'normalize' which first uses 'realElementary' to rewrite the expression using just 4 fundamental real-valued elementary transcendental functions (kernels): log, exp, tan, and arctan. E.g. sin(x) = 2*tan(x/2)/(tan(x/2)^2+1) cos(x) = (1-tan(x/2)^2)/(1+tan(x/2)^2) For your example this suffices but if necessary it next rewrites the result again using the minimum number of algebraically independent kernels. There is also a complex-valued version called 'complexElementary' which uses only log and exp but may introduce the constant sqrt(-1). > > Are we talking about functions of just one variable (f(x)) or more > (f(x, y, z, ...))? In general more than one variable. > > Why cannot you just use the probabilistic testing, where you plug in > various (complex) numbers into f(x) and test that it is equal to zero, > numerically. > I suppose that might be pragmatic but I would not call it "computer algebra" in the mathematical sense. 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: Code of Conduct
Can somebody help me count the votes? I made pass through this long and complicated thread, and here's what I seem to have got: FOR a code of conduct, possibly suitably word-smithed (7): Jan Groenewald Travis Scrimshaw Anne Schilling Mike Zabrocki Andrew Mathas Ben Salisbury Viviane Pons AGAINST having code of conductor (5) Robert Dodier Simon King mmarco Nathann Cohen Harald Schilley (qualified) Other proposal or comments, but didn't vote and proposal gained no significant traction (5): william stein karl dieter John Perry rjf cremona Also, important question. Is there anybody who is *seriously* considering quitting working on Sage if they don't like the way this vote goes? If you don't want to respond on list, feel free to email me offlist at wst...@uw.edu. Thanks, -- William On Thu, Nov 20, 2014 at 12:37 PM, Robert Dodier wrote: > On 2014-11-19, Tom Boothby wrote: > >> In situations where it looks like real abuse has occurred, a committee >> of arbiters should exist to rule on it. > > Instituting a committee of authorities seems misdirected -- unless one > takes an inclusive approach and declares that all participants are > hereby authorities. That is, that all participants are equally > empowered to complain about bad behavior -- anyone can say to anyone, > "cut that shit out", perhaps worded more tactfully, but the same > in content at least. > > About the fabled rudeness of the inhabitants of NYC, I speculate that > it's misunderstood by outsiders. What is actually going on is that all > citizens feel empowered to complain when anyone breaks a rule. Instead > of suffering in silence as someone cuts in line or stands in a doorway, > someone just goes ahead and says, "hey, stop it". I'm told (never spent > much time there myself) that it makes people more polite, because one > knows that one cannot get away with petty misbehavior. I'd like to > think the same applies to any informal gathering of humanity. > > best, > > Robert Dodier > > -- > 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 -- 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: git config --global push.default matching/simple ?
There isn't anything Sage-specific here. If in doubt use "simple". On Thursday, November 20, 2014 5:24:57 PM UTC, Dima Pasechnik wrote: > > with new git, one has new default behavour of git push. Namely, you can > choose > git config --global push.default matching > or > git config --global push.default simple > > Which one should one choose for Sage workflow? > (sorry for possibly dumb question). > > Dima > > > -- 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] git config --global push.default matching/simple ?
http://www.lmgtfy.com/?q=git+config+global+push.default+simple&l=1 On 11/20/2014 09:04 PM, John Cremona wrote: > On 20 November 2014 17:24, Dima Pasechnik wrote: >> with new git, one has new default behavour of git push. Namely, you can >> choose >> git config --global push.default matching >> or >> git config --global push.default simple >> >> Which one should one choose for Sage workflow? >> (sorry for possibly dumb question). > > An even dumber question: what is the difference? > > 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.
[sage-devel] Re: Code of Conduct
On 2014-11-19, Tom Boothby wrote: > In situations where it looks like real abuse has occurred, a committee > of arbiters should exist to rule on it. Instituting a committee of authorities seems misdirected -- unless one takes an inclusive approach and declares that all participants are hereby authorities. That is, that all participants are equally empowered to complain about bad behavior -- anyone can say to anyone, "cut that shit out", perhaps worded more tactfully, but the same in content at least. About the fabled rudeness of the inhabitants of NYC, I speculate that it's misunderstood by outsiders. What is actually going on is that all citizens feel empowered to complain when anyone breaks a rule. Instead of suffering in silence as someone cuts in line or stands in a doorway, someone just goes ahead and says, "hey, stop it". I'm told (never spent much time there myself) that it makes people more polite, because one knows that one cannot get away with petty misbehavior. I'd like to think the same applies to any informal gathering of humanity. best, Robert Dodier -- 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] git config --global push.default matching/simple ?
On 20 November 2014 17:24, Dima Pasechnik wrote: > with new git, one has new default behavour of git push. Namely, you can > choose > git config --global push.default matching > or > git config --global push.default simple > > Which one should one choose for Sage workflow? > (sorry for possibly dumb question). An even dumber question: what is the difference? John > > Dima > > > -- > 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-6.4 fallout: brian optional package
I guess it's not quite that bad. The fix was perhaps hackish. sage: import brian /Users/.../sage/local/lib/python2.7/site-packages/brian/utils/sparse_patch/__init__.py:39: UserWarning: Couldn't find matching sparse matrix patch for scipy version 0.14.0, but in most cases this shouldn't be a problem. warnings.warn("Couldn't find matching sparse matrix patch for scipy version %s, but in most cases this shouldn't be a problem." % scipy.__version__) sage: 2/3 2/3 And if you have nose installed sage: brian.test() Running unit tests for numpy.linalg NumPy version 1.8.1 NumPy is installed in /Users/.../sage/local/lib/python2.7/site-packages/numpy Python version 2.7.8 (default, Nov 14 2014, 12:51:01) [GCC 4.9.2] nose version 1.3.4 S -- Ran 117 tests in 9.227s OK (SKIP=1) -- 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-6.4 fallout: brian optional package
On Mon, Nov 17, 2014 at 10:53 AM, William Stein wrote: > > On Nov 17, 2014 10:42 AM, "kcrisman" wrote: >>> >>> >>> > Is there a reason we need to have our own version? >>> >> >> Actually, I think there is, because see the original ticket #9675: >> >> I must say I detected some problems with Brian units related to the Sage >> classes 'RealNumber?' and 'Integer', so I created a patch so that when Brian >> is imported these two classes are redefined as follows: >> >> RealNumber=float >> Integer=int >> >> This solves the problems. > > Wait? Are you really saying that if a user does > > Sage: import brian > Sage: 2/3 > > They now get 0? > > If so I'm -1 to this. Same here, strongly. > Best would be to fix brian so it works with sage ints > and reals (and upstream the patches) or short of that to print a message > suggesting the user type what you put above (with caveats) > > Hard developer question: is there any way to hack python or cython to make > it so our types appear to derive from int and float to solve this problem > once and for all? Has anybody seriously thought about this? I've thought about it before, but it would mean that we'd have to abandon Integer extending Element (unless we add support for multiple inheritance with incompatible base types like C++, but I don't even know if that's possible) and still would break people who use the CheckExact macros. I'd say this is a clear bug in brain to not respect Python duct-typed numeric values. -- 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] Bug in abs(I*x).diff(x)
On Thu, Nov 20, 2014 at 9:59 AM, Bill Page wrote: > Perhaps this is more or less where Richardson's theorem enters. > > http://en.wikipedia.org/wiki/Richardson%27s_theorem > > We badly want a reliable way to determine when an expression is > identically zero. In general this is not possible, but if we restrict > our selves to a subset of "elementary" functions, in particular if we > can avoid 'abs', then it is in principle decidable (not withstanding > the possible undecidability of equality of constants). As I understand > it FriCAS effectively relies on this as part of the machinery for > integration, e.g. in 'rischNormalize'. Waldek's challenge to me on > the FriCAS list in regards to my proposals related to conjugate and > this thread was to show that it is possible to include 'conjugate' and > still have a decidable system given the complex equivalent of > Richardson's theorem. > > So far I have not been able to meet this challenge or even to find any > specific relevant related publications. Perhaps it is obvious that > this is not possible given the definition of abs in terms of conjugate > and sqrt. I would be interested in anyone here has considered this > issue or might suggest some leads. Of course this is likely not of > too much interest in computer algebra systems that take a more > pragmatic approach than FriCAS/Axiom. Can you give an example of an expression that cannot be decided by the Richardson's theorem? How does FriCAS do the zero testing? I.e. if you give it f(x) = sin(x)^2 + cos(x)^2-1 how does it decide that it is equal to 0? Are we talking about functions of just one variable (f(x)) or more (f(x, y, z, ...))? Why cannot you just use the probabilistic testing, where you plug in various (complex) numbers into f(x) and test that it is equal to zero, numerically. Ondrej -- 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] git config --global push.default matching/simple ?
with new git, one has new default behavour of git push. Namely, you can choose git config --global push.default matching or git config --global push.default simple Which one should one choose for Sage workflow? (sorry for possibly dumb question). Dima -- 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] Bug in abs(I*x).diff(x)
Perhaps this is more or less where Richardson's theorem enters. http://en.wikipedia.org/wiki/Richardson%27s_theorem We badly want a reliable way to determine when an expression is identically zero. In general this is not possible, but if we restrict our selves to a subset of "elementary" functions, in particular if we can avoid 'abs', then it is in principle decidable (not withstanding the possible undecidability of equality of constants). As I understand it FriCAS effectively relies on this as part of the machinery for integration, e.g. in 'rischNormalize'. Waldek's challenge to me on the FriCAS list in regards to my proposals related to conjugate and this thread was to show that it is possible to include 'conjugate' and still have a decidable system given the complex equivalent of Richardson's theorem. So far I have not been able to meet this challenge or even to find any specific relevant related publications. Perhaps it is obvious that this is not possible given the definition of abs in terms of conjugate and sqrt. I would be interested in anyone here has considered this issue or might suggest some leads. Of course this is likely not of too much interest in computer algebra systems that take a more pragmatic approach than FriCAS/Axiom. Bill. On 20 November 2014 11:20, Ondřej Čertík wrote: > > > > > In general, my approach is that I try to define the derivative of > > abs(x) in the simplest possible way, which seems to be in terms of > > abs(x) as well, instead of sqrt(x*conjugate(x)). But the CAS needs to > > be able to rewrite it later if needed, because sometimes things can > > simplify. > > Or to say it with different words, the reason we even have functions > like exp(x), csc(x), sinh(x), asin(x), asinh(x) is that things are > simpler if you use those as opposed to their more elementary function > definition. Perhaps with the exception of csc(x) = 1/sin(x), where I > personally don't see an advantage of introducing a new function for > just 1/sin(x). But with all the other ones, they simplify things, > sometimes. And so the art is to use those in a way to create the most > simple expression at the end. I think that's all there is to it. -- 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] Bug in abs(I*x).diff(x)
On Thu, Nov 20, 2014 at 9:16 AM, Ondřej Čertík wrote: > On Thu, Nov 20, 2014 at 7:52 AM, Bill Page wrote: >> So here (20) is a simpler expression for derivative of arg: >> >> (16) -> abs(x)==sqrt(x*conjugate(x)) >>Compiled code for abs has been cleared. >>Compiled code for arg has been cleared. >>1 old definition(s) deleted for function or rule abs >>Type: >> Void >> (17) -> arg(x)==log(x/abs(x))/%i >>1 old definition(s) deleted for function or rule arg >>Type: >> Void >> (18) -> arg %i >>Compiling function abs with type Complex(Integer) -> Expression( >> Complex(Integer)) >>Compiling function arg with type Complex(Integer) -> Expression( >> Complex(Integer)) >> >>(18) - %i log(%i) >>Type: >> Expression(Complex(Integer)) >> (19) -> complexNumeric % >> >>(19) 1.5707963267_948966192 >> Type: >> Complex(Float) >> (20) -> D(arg(x),x) >>Compiling function abs with type Variable(x) -> Expression(Integer) >>Compiling function arg with type Variable(x) -> Expression(Complex( >> Integer)) >> >> _ >> - %ix + %i x >>(20) >> _ >> 2xx >>Type: >> Expression(Complex(Integer)) >> >> >> In general I am a little uncertain if, how and when to deal with >> simplifications of expressions like abs that can be expressed in terms of >> more fundamental/elementary functions. What do you think? > > The identity abs(z) = sqrt(z*conjugate(z)) is just the same problem as > for things like exp(x) = E^x, csc(x) = 1/sin(x), sinh(x) = > (exp(x)-exp(-x)/2, asin(x) = -i*log(i*x+sqrt(1-x^2)), asinh(x) = > log(x+sqrt(1+x^2)), ... > > Essentially a lot of functions can be written using simpler functions. > The expression is sometimes simpler using abs() and sometimes simpler > using sqrt(x*conjugate(x)), and that is true for all the other cases > too. So a CAS needs to be able to handle both, and allow the user to > convert one to the other. For example in SymPy, we can do: > > In [1]: sinh(x)**2+1 > Out[1]: > 2 > sinh (x) + 1 > > In [2]: (sinh(x)**2+1).rewrite(exp) > Out[2]: > 2 > ⎛ x-x⎞ > ⎜ℯℯ ⎟ > ⎜── - ───⎟ + 1 > ⎝2 2 ⎠ > > In [3]: _.expand() > Out[3]: > 2⋅x-2⋅x > ℯ 1 ℯ > + ─ + ─ > 4 2 4 > > > In general, my approach is that I try to define the derivative of > abs(x) in the simplest possible way, which seems to be in terms of > abs(x) as well, instead of sqrt(x*conjugate(x)). But the CAS needs to > be able to rewrite it later if needed, because sometimes things can > simplify. Or to say it with different words, the reason we even have functions like exp(x), csc(x), sinh(x), asin(x), asinh(x) is that things are simpler if you use those as opposed to their more elementary function definition. Perhaps with the exception of csc(x) = 1/sin(x), where I personally don't see an advantage of introducing a new function for just 1/sin(x). But with all the other ones, they simplify things, sometimes. And so the art is to use those in a way to create the most simple expression at the end. I think that's all there is to it. Ondrej -- 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] Bug in abs(I*x).diff(x)
On Thu, Nov 20, 2014 at 7:52 AM, Bill Page wrote: > So here (20) is a simpler expression for derivative of arg: > > (16) -> abs(x)==sqrt(x*conjugate(x)) >Compiled code for abs has been cleared. >Compiled code for arg has been cleared. >1 old definition(s) deleted for function or rule abs >Type: > Void > (17) -> arg(x)==log(x/abs(x))/%i >1 old definition(s) deleted for function or rule arg >Type: > Void > (18) -> arg %i >Compiling function abs with type Complex(Integer) -> Expression( > Complex(Integer)) >Compiling function arg with type Complex(Integer) -> Expression( > Complex(Integer)) > >(18) - %i log(%i) >Type: > Expression(Complex(Integer)) > (19) -> complexNumeric % > >(19) 1.5707963267_948966192 > Type: > Complex(Float) > (20) -> D(arg(x),x) >Compiling function abs with type Variable(x) -> Expression(Integer) >Compiling function arg with type Variable(x) -> Expression(Complex( > Integer)) > > _ > - %ix + %i x >(20) > _ > 2xx >Type: > Expression(Complex(Integer)) > > > In general I am a little uncertain if, how and when to deal with > simplifications of expressions like abs that can be expressed in terms of > more fundamental/elementary functions. What do you think? The identity abs(z) = sqrt(z*conjugate(z)) is just the same problem as for things like exp(x) = E^x, csc(x) = 1/sin(x), sinh(x) = (exp(x)-exp(-x)/2, asin(x) = -i*log(i*x+sqrt(1-x^2)), asinh(x) = log(x+sqrt(1+x^2)), ... Essentially a lot of functions can be written using simpler functions. The expression is sometimes simpler using abs() and sometimes simpler using sqrt(x*conjugate(x)), and that is true for all the other cases too. So a CAS needs to be able to handle both, and allow the user to convert one to the other. For example in SymPy, we can do: In [1]: sinh(x)**2+1 Out[1]: 2 sinh (x) + 1 In [2]: (sinh(x)**2+1).rewrite(exp) Out[2]: 2 ⎛ x-x⎞ ⎜ℯℯ ⎟ ⎜── - ───⎟ + 1 ⎝2 2 ⎠ In [3]: _.expand() Out[3]: 2⋅x-2⋅x ℯ 1 ℯ + ─ + ─ 4 2 4 In general, my approach is that I try to define the derivative of abs(x) in the simplest possible way, which seems to be in terms of abs(x) as well, instead of sqrt(x*conjugate(x)). But the CAS needs to be able to rewrite it later if needed, because sometimes things can simplify. Ondrej > > Bill. > > On 20 November 2014 09:41, Bill Page wrote: >> ... >> >> I had a thought. I suppose that all non-analytic (nonholomorphic) >> functions of interest can be written in terms of conjugate and some analytic >> functions, e.g. >> >> abs(x)=sqrt(x*conjugate(x)) >> >> so perhaps all we really need is to know how to differentiate conjugate >> properly? >> >> 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. -- 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] Bug in abs(I*x).diff(x)
On Thu, Nov 20, 2014 at 7:41 AM, Bill Page wrote: > On 20 November 2014 01:54, Ondřej Čertík wrote: >> >> What you posted looks good. But we need to test it for arg(z), re(z), >> im(z) and any other non-analytic function that we can find. >> > > (1) -> re(x)==(conjugate(x)+x)/2 >Type: > Void > (2) -> im(x)==%i*(conjugate(x)-x)/2 >Type: > Void > (3) -> arg(x)==log(x/abs(x))/%i >Type: > Void > (4) -> re %i >Compiling function re with type Complex(Integer) -> Fraction(Complex > (Integer)) > >(4) 0 > Type: > Fraction(Complex(Integer)) > (5) -> im %i >Compiling function im with type Complex(Integer) -> Fraction(Complex > (Integer)) > >(5) 1 > Type: > Fraction(Complex(Integer)) > (6) -> arg %i >Compiling function arg with type Complex(Integer) -> Expression( > Complex(Integer)) > >(6) - %i log(%i) >Type: > Expression(Complex(Integer)) > (7) -> complexNumeric % > >(7) 1.5707963267_948966192 > Type: > Complex(Float) > (8) -> D(re(x),x) >Compiling function re with type Variable(x) -> Expression(Integer) > >(8) 1 > Type: > Expression(Integer) > (9) -> D(im(x),x) >Compiling function im with type Variable(x) -> Expression(Complex( > Integer)) > >(9) 0 >Type: > Expression(Complex(Integer)) > (10) -> D(arg(x),x) >Compiling function arg with type Variable(x) -> Expression(Complex( > Integer)) > > _ 2 2 > %i xx - 2%i abs(x) + %i x >(10) --- >2 > 2x abs(x) >Type: > Expression(Complex(Integer)) > > > I had a thought. I suppose that all non-analytic (nonholomorphic) functions > of interest can be written in terms of conjugate and some analytic > functions, e.g. > > abs(x)=sqrt(x*conjugate(x)) > > so perhaps all we really need is to know how to differentiate conjugate > properly? I haven't thought of that, but I think you are right. It's definitely true for abs(x), arg(x), re(x), im(x) and conjugate(x). Other non-analytic functions are combinations of those. The only other way to create some non-analytic functions is to define their real and complex parts using "x" and "y", e.g. f(x+iy) = (x^2+y^2) + i*(2*x*y) You can imagine arbitrary complicated expressions. But then you just substitute z, conjugate(z) for x, y. So I think that for most things that people would use a CAS for, this is true. > > 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. -- 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] Bug in abs(I*x).diff(x)
So here (20) is a simpler expression for derivative of arg: (16) -> abs(x)==sqrt(x*conjugate(x)) Compiled code for abs has been cleared. Compiled code for arg has been cleared. 1 old definition(s) deleted for function or rule abs Type: Void (17) -> arg(x)==log(x/abs(x))/%i 1 old definition(s) deleted for function or rule arg Type: Void (18) -> arg %i Compiling function abs with type Complex(Integer) -> Expression( Complex(Integer)) Compiling function arg with type Complex(Integer) -> Expression( Complex(Integer)) (18) - %i log(%i) Type: Expression(Complex(Integer)) (19) -> complexNumeric % (19) 1.5707963267_948966192 Type: Complex(Float) (20) -> D(arg(x),x) Compiling function abs with type Variable(x) -> Expression(Integer) Compiling function arg with type Variable(x) -> Expression(Complex( Integer)) _ - %ix + %i x (20) _ 2xx Type: Expression(Complex(Integer)) In general I am a little uncertain if, how and when to deal with simplifications of expressions like abs that can be expressed in terms of more fundamental/elementary functions. What do you think? Bill. On 20 November 2014 09:41, Bill Page wrote: > ... > > I had a thought. I suppose that all non-analytic (nonholomorphic) functions of interest can be written in terms of conjugate and some analytic functions, e.g. > > abs(x)=sqrt(x*conjugate(x)) > > so perhaps all we really need is to know how to differentiate conjugate properly? > > 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] Bug in abs(I*x).diff(x)
On 20 November 2014 01:54, Ondřej Čertík wrote: > > What you posted looks good. But we need to test it for arg(z), re(z), > im(z) and any other non-analytic function that we can find. > (1) -> re(x)==(conjugate(x)+x)/2 Type: Void (2) -> im(x)==%i*(conjugate(x)-x)/2 Type: Void (3) -> arg(x)==log(x/abs(x))/%i Type: Void (4) -> re %i Compiling function re with type Complex(Integer) -> Fraction(Complex (Integer)) (4) 0 Type: Fraction(Complex(Integer)) (5) -> im %i Compiling function im with type Complex(Integer) -> Fraction(Complex (Integer)) (5) 1 Type: Fraction(Complex(Integer)) (6) -> arg %i Compiling function arg with type Complex(Integer) -> Expression( Complex(Integer)) (6) - %i log(%i) Type: Expression(Complex(Integer)) (7) -> complexNumeric % (7) 1.5707963267_948966192 Type: Complex(Float) (8) -> D(re(x),x) Compiling function re with type Variable(x) -> Expression(Integer) (8) 1 Type: Expression(Integer) (9) -> D(im(x),x) Compiling function im with type Variable(x) -> Expression(Complex( Integer)) (9) 0 Type: Expression(Complex(Integer)) (10) -> D(arg(x),x) Compiling function arg with type Variable(x) -> Expression(Complex( Integer)) _ 2 2 %i xx - 2%i abs(x) + %i x (10) --- 2 2x abs(x) Type: Expression(Complex(Integer)) I had a thought. I suppose that all non-analytic (nonholomorphic) functions of interest can be written in terms of conjugate and some analytic functions, e.g. abs(x)=sqrt(x*conjugate(x)) so perhaps all we really need is to know how to differentiate conjugate properly? 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.
[sage-devel] Re: Code of Conduct
On 2014-11-19, Mike Zabrocki wrote: > --=_Part_540_2024061462.1416427012442 > Content-Type: text/plain; charset=UTF-8 > > A bunch of 10~20 guys who can talk together for days about having or > >> not a "code of conduct", each expressing his own voice and mixing it >> with the others'... really have no communication problem :-P >> >> Am I misreading this or does this belong on sage-sexist-comments ? This IS a purely linguistic issue. Would you also complain if someone greets you "Ay up me duck"? (which is kosher and non-offensive English English - google it if you don't believe me). Dima > > -Mike > -- 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: Code of Conduct
> Don't worry, native English speakers have no idea, either. I read the > sage-sexist remark as a joke, but after Mike's followup, maybe not. In my > experience, >95% of the > I was somewhat serious. The irony was that I really thought it was a communication problem (either intentional or unintentional) until William cleared it up and I think it was better that he did. > English-speakers address each other informally as "guys", including > females addressing mixed groups. (I personally hate the term, but that's > beside the point.) > I'm with you on this one, and I try not to use it myself and this is probably why I misunderstood. > > About the larger question: suppose (as William points out) someone(s) > ignore(s) a request to move something(s) to sage-flame. An alternate > approach to banning might be a policy of, "si salvi chi può": simply start > a new thread. In my limited experience, those engaged in verbal combat > stick it out in the particular thread where lies the matter they can't let > lie. > I think that this is a good technique that might work in cases when a conversation has over-heated to the point where requests for a move to sage-flame are in order. I think this is where I think a code of conduct is in order because its hard for a conversation to rise to this temperature if posters follow a "be respectful" mantra. If posters ignore the idea that they need to be polite or people don't speak up when the tone gets heated, there will be the occasional offended party who will probably be more reluctant to post the next time. -Mike > -- 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: Building Sage 6.4 in openSUSE 13.2 fails
Sure. You can find the full output in http://pastebin.com/AqRU1iEy El jueves, 20 de noviembre de 2014 09:28:41 UTC-2, Volker Braun escribió: > > Strange, we have AC_PROG_CXX() before AC_CHECK_HEADER([complex.h], ...) > > Can you post a bit more of the output? > > > On Wednesday, November 19, 2014 10:07:18 PM UTC, Nicolás Sirolli wrote: >> >> Hi, >> >> After obtaining the source code from the git repository, I tried to build >> Sage but it failed. This is the error I see: >> >> checking complex.h usability... no >> checking complex.h presence... yes >> configure: WARNING: complex.h: present but cannot be compiled >> configure: WARNING: complex.h: check for missing prerequisite headers? >> configure: WARNING: complex.h: see the Autoconf documentation >> configure: WARNING: complex.h: section "Present But Cannot Be >> Compiled" >> configure: WARNING: complex.h: proceeding with the compiler's result >> configure: WARNING: ## -- ## >> configure: WARNING: ## Report this to sage-...@googlegroups.com ## >> configure: WARNING: ## -- ## >> checking for complex.h... no >> configure: error: Exiting, since you do not have the 'complex.h' header >> file. >> If you would like to try to build Sage anyway (to help porting), >> export the variable 'SAGE_PORT' to something non-empty. >> Makefile:527: recipe for target >> '/home/nico/Appz/sage/local/var/lib/sage/installed/prereq' failed >> make[2]: *** [/home/nico/Appz/sage/local/var/lib/sage/installed/prereq] >> Error 1 >> >> In sage/logs/pkgs there are two files: patch-2.7.1.log, which claims that >> patch has been succesfully installed, and config.log. >> >> Please, let me know if there is more information that I can supply to >> help you understand this error. >> >> Thanks, >> Nico. >> >> -- 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: Code of Conduct
Hello ! To Viviane: > Well, except that a few people here said that they felt insulted in the past > and didn't know what to do about it. And some expressed the need of some > kind of code of conduct... Indeed, but I do not know if they will be more protected by a code of conduct. Actual insults is something you can write laws about, while feeling insulted is harder to formalize. > William even said he knew some people had left > because of some bad behavior. So just saying "everthing is fine because we > are all nice people" is not solving the problem. Still, I believe that we are fine because we are all nice people. And I also believe that invoking the authority of a code of conduct is not a very good argument when you want to calm a conversation down. This is only my belief, and my belief is only worth one vote :-) To John: > Don't worry, native English speakers have no idea, either. Excellent. When unable to solve a problem, knowing that nobody else can is the next best thing :-) > In my limited experience, those engaged in verbal combat stick it out in the particular thread where lies the matter they can't let lie. Well, it does feel like trying to stop an argument by making a guy talk alone in a closed room. Nathann -- 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: Code of Conduct
On Thursday, November 20, 2014 5:06:43 AM UTC+1, Nathann Cohen wrote: > > The truth is that I have no idea how to say gender-neutral sentences > in english without making my sentences non-deterministic, i.e. "a > bunch of 20 [guys|girls] .* each expressing [his|her] own voice". And > I hate non-determinism. > Don't worry, native English speakers have no idea, either. I read the sage-sexist remark as a joke, but after Mike's followup, maybe not. In my experience, >95% of the English-speakers address each other informally as "guys", including females addressing mixed groups. (I personally hate the term, but that's beside the point.) About the larger question: suppose (as William points out) someone(s) ignore(s) a request to move something(s) to sage-flame. An alternate approach to banning might be a policy of, "si salvi chi può": simply start a new thread. In my limited experience, those engaged in verbal combat stick it out in the particular thread where lies the matter they can't let lie. john perry -- 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: Code of Conduct
Well, except that a few people here said that they felt insulted in the past and didn't know what to do about it. And some expressed the need of some kind of code of conduct... William even said he knew some people had left because of some bad behavior. So just saying "everthing is fine because we are all nice people" is not solving the problem. It's true that we're mostly good and everything goes fine most of time. As Nathann said, this very conversation proves we're note that bad. But we shouldn't just ignore the fact that we're not perfect. Everyone of us can be offensive to somebody at some point. I'm not saying the code of conduct would prevent people from insulting each other. I'm just saying that it could give a common base to tell someone "you're being out of line". I'm pretty sure, this would be enough most of the time. Cheers Viviane 2014-11-20 10:11 GMT+01:00 Nathann Cohen : > >> In situations where it looks like real abuse has occurred, a committee > >> of arbiters should exist to rule on it. Otherwise, we're left with > >> mob rule and the onlooker effect (where nobody speaks up to stop > >> abuse, assuming somebody else will take care of it). > > > > My experience with sage lists is that what you describe in > > "Otherwise,..." does not happen. > > +1. > > Similarly, it has been said that a code of conduct would prevent > people from insulting each other and I don't think I ever saw that > happen here. > I mean. Except somebody insulting himself publicly. > > Nathann > > -- > 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: Building Sage 6.4 in openSUSE 13.2 fails
Strange, we have AC_PROG_CXX() before AC_CHECK_HEADER([complex.h], ...) Can you post a bit more of the output? On Wednesday, November 19, 2014 10:07:18 PM UTC, Nicolás Sirolli wrote: > > Hi, > > After obtaining the source code from the git repository, I tried to build > Sage but it failed. This is the error I see: > > checking complex.h usability... no > checking complex.h presence... yes > configure: WARNING: complex.h: present but cannot be compiled > configure: WARNING: complex.h: check for missing prerequisite headers? > configure: WARNING: complex.h: see the Autoconf documentation > configure: WARNING: complex.h: section "Present But Cannot Be Compiled" > configure: WARNING: complex.h: proceeding with the compiler's result > configure: WARNING: ## -- ## > configure: WARNING: ## Report this to sage-...@googlegroups.com > ## > configure: WARNING: ## -- ## > checking for complex.h... no > configure: error: Exiting, since you do not have the 'complex.h' header > file. > If you would like to try to build Sage anyway (to help porting), > export the variable 'SAGE_PORT' to something non-empty. > Makefile:527: recipe for target > '/home/nico/Appz/sage/local/var/lib/sage/installed/prereq' failed > make[2]: *** [/home/nico/Appz/sage/local/var/lib/sage/installed/prereq] > Error 1 > > In sage/logs/pkgs there are two files: patch-2.7.1.log, which claims that > patch has been succesfully installed, and config.log. > > Please, let me know if there is more information that I can supply to help > you understand this error. > > Thanks, > Nico. > > -- 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] Building Sage 6.4 in openSUSE 13.2 fails
Hum… I thought we had updated that as part of the ticket to upgrade the gcc included in sage to 4.9.1. May be Jeroen missed that particular file, I am sure we have mentioned g++ in other parts of the documentation. François > On 20/11/2014, at 23:37, Nicolás Sirolli wrote: > > Thanks Francois! That was it, I didn't have gcc-c++ installed. > > In the list of the requirements given in the README file, gcc-c++ is not > mentioned (but gcc is). Perhaps it should be added to that list. > > Nico. > > El miércoles, 19 de noviembre de 2014 20:16:09 UTC-2, François escribió: > This test if your c++ complier is recent enough and complete enough. You may > have to install some extra development packages for your compiler. > I would actually be curious to see your "config.log". > > Francois > > On Wed, 19 Nov 2014 14:07:18 Nicolás Sirolli wrote: > > Hi, > > > > After obtaining the source code from the git repository, I tried to build > > Sage but it failed. This is the error I see: > > > > checking complex.h usability... no > > checking complex.h presence... yes > > configure: WARNING: complex.h: present but cannot be compiled > > configure: WARNING: complex.h: check for missing prerequisite headers? > > configure: WARNING: complex.h: see the Autoconf documentation > > configure: WARNING: complex.h: section "Present But Cannot Be Compiled" > > configure: WARNING: complex.h: proceeding with the compiler's result > > configure: WARNING: ## -- ## > > configure: WARNING: ## Report this to sage-...@googlegroups.com ## > > configure: WARNING: ## -- ## > > checking for complex.h... no > > configure: error: Exiting, since you do not have the 'complex.h' header > > file. > > If you would like to try to build Sage anyway (to help porting), > > export the variable 'SAGE_PORT' to something non-empty. > > Makefile:527: recipe for target > > '/home/nico/Appz/sage/local/var/lib/sage/installed/prereq' failed > > make[2]: *** [/home/nico/Appz/sage/local/var/lib/sage/installed/prereq] > > Error 1 > > > > In sage/logs/pkgs there are two files: patch-2.7.1.log, which claims that > > patch has been succesfully installed, and config.log. > > > > Please, let me know if there is more information that I can supply to help > > you understand this error. > > > > Thanks, > > Nico. > > > -- > 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] Building Sage 6.4 in openSUSE 13.2 fails
Thanks Francois! That was it, I didn't have gcc-c++ installed. In the list of the requirements given in the README file, gcc-c++ is not mentioned (but gcc is). Perhaps it should be added to that list. Nico. El miércoles, 19 de noviembre de 2014 20:16:09 UTC-2, François escribió: > > This test if your c++ complier is recent enough and complete enough. You > may > have to install some extra development packages for your compiler. > I would actually be curious to see your "config.log". > > Francois > > On Wed, 19 Nov 2014 14:07:18 Nicolás Sirolli wrote: > > Hi, > > > > After obtaining the source code from the git repository, I tried to > build > > Sage but it failed. This is the error I see: > > > > checking complex.h usability... no > > checking complex.h presence... yes > > configure: WARNING: complex.h: present but cannot be compiled > > configure: WARNING: complex.h: check for missing prerequisite > headers? > > configure: WARNING: complex.h: see the Autoconf documentation > > configure: WARNING: complex.h: section "Present But Cannot Be > Compiled" > > configure: WARNING: complex.h: proceeding with the compiler's result > > configure: WARNING: ## -- ## > > configure: WARNING: ## Report this to sage-...@googlegroups.com > ## > > configure: WARNING: ## -- ## > > checking for complex.h... no > > configure: error: Exiting, since you do not have the 'complex.h' header > > file. > > If you would like to try to build Sage anyway (to help porting), > > export the variable 'SAGE_PORT' to something non-empty. > > Makefile:527: recipe for target > > '/home/nico/Appz/sage/local/var/lib/sage/installed/prereq' failed > > make[2]: *** [/home/nico/Appz/sage/local/var/lib/sage/installed/prereq] > > Error 1 > > > > In sage/logs/pkgs there are two files: patch-2.7.1.log, which claims > that > > patch has been succesfully installed, and config.log. > > > > Please, let me know if there is more information that I can supply to > help > > you understand this error. > > > > Thanks, > > Nico. > > -- 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: Code of Conduct
>> In situations where it looks like real abuse has occurred, a committee >> of arbiters should exist to rule on it. Otherwise, we're left with >> mob rule and the onlooker effect (where nobody speaks up to stop >> abuse, assuming somebody else will take care of it). > > My experience with sage lists is that what you describe in > "Otherwise,..." does not happen. +1. Similarly, it has been said that a code of conduct would prevent people from insulting each other and I don't think I ever saw that happen here. I mean. Except somebody insulting himself publicly. Nathann -- 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: Code of Conduct
Hi Tom, On 2014-11-19, Tom Boothby wrote: > In situations where it looks like real abuse has occurred, a committee > of arbiters should exist to rule on it. Otherwise, we're left with > mob rule and the onlooker effect (where nobody speaks up to stop > abuse, assuming somebody else will take care of it). My experience with sage lists is that what you describe in "Otherwise,..." does not happen. 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.