Re: [sage-devel] ALGLIB spkg is released (second version)

2010-07-28 Thread Sergey Bochkanov
Hello, Carl.

You wrote 29 июля 2010 г., 2:40:14:
> Sure, I can help.  I have some API questions first.

Thanks a lot!

> What are the bool and int vectors and matrices used for?  (Sage
> doesn't really have vectors or matrices of booleans or of machine
> ints.  It has vectors and matrices over GF(2) (integers mod 2, so
> 1+1=0), which could be used as booleans.  There are also numpy arrays
> and matrices of these types.)

I've made quick check and, to my surprise, there is no ALGLIB function
which  is  accessible  from Sage and accepts/returns boolean vector or
matrix  :)  But  I think that this feature should be supported in case
such function will appear in future.

Integer vectors are used to store permutation tables (LU decomposition
and  related  functions),  by fitting functions (to specify derivative
information)  and by several other functions. Integer matrices are not
used  by  functions  accessible  from  Sage,  but again I recommend to
support them.

> My suggestion would be to support Sage vectors and matrices over
> GF(2), RDF, and CDF (machine floats and complex numbers), as well as
> numpy arrays and matrices of appropriate types.

+1

My proposal is to make
* boolean vector/matrix = GF(2), RDF (non-zero = True)
* integer vector/matrix = RDF
* real = RDF
* complex = CDF

>> because ALGLIB uses Python's list-of-lists to store matrices, and Sage
>> uses  its own matrix class. But only several functions from _alglib.py
>> have to be fixed to work with Sage matrices/vectors:
>> * safe_len/safe_cols/safe_rows
>> * is_bool_vector/is_int_vector/is_real_vector/is_complex_vector
>> * is_bool_matrix/is_int_matrix/is_real_matrix/is_complex_matrix
>> * x_from_list/x_from_listlist

Sorry, I've forgot to add several functions to this list:
* bool_vector_from_x/bool_matrix_from_x
* int_vector_from_x/int_matrix_from_x
* real_vector_from_x/real_matrix_from_x
* complex_vector_from_x/complex_matrix_from_x

x_from_list/x_from_listlist are used to convert from Python to ALGLIB,
and this functions are used to convert in backward direction.

Within 8 hours I'll write in more details about these functions.

-- 
With best regards,
 Sergey  mailto:sergey.bochka...@alglib.net

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Two questions about sliders in interacts

2010-07-28 Thread Jason Grout

On 7/28/10 11:31 AM, Harald Schilly wrote:

On Jul 28, 6:07 pm, kcrisman  wrote:

1) Endpoint markers for the sliders.


I think that was already requested some time ago, I'm not sure, and I
think that's quite important. Something else I heard was to be able to
change the color - i.e. to match it with the color of a plotted line.



Both of those are great ideas and should be put up on trac.  Hopefully, 
there will be lots of development of the notebook and interacts in the 
next few years, so we'll have a chance to really polish these things and 
implement all of these great ideas.


Thanks,

Jason


--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: new keywords for limit()

2010-07-28 Thread Jason Grout

On 7/27/10 12:23 PM, D.C. Ernst wrote:


I'm not particularly in love with "from_*" and I am certainly
agreeable to changing it (as suggested earlier or otherwise).  Can we
use the symbols "+" and "-"?  This most closed mimics the standard
notation and is concise.  Thoughts?




+1 on the '+' and '-'.  If we had that syntax, that's what I'd teach my 
students to use since they'd already be using it in the classroom.


Thanks,

Jason

--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Cached function decorator interferes with documentation

2010-07-28 Thread Rob Beezer
It would appear that the  @cached_function  decorator prevents the
decorated function from appearing in the HTML reference manual.
Evidence is

sage.functions.special.maxima_function()
sage.structure.dynamic_class.dynamic_class_internal()
sage.graphs.graph_latex.setup_latex_preamble()

The  @options  decorator doesn't seem to have the same effect, for
example

sage.graphs.generic_graph.graphplot()

comes through into the documentation just fine.

I couldn't find anything in Trac about this.  Are there examples where
a cached function survives into the documentation?  Thoughts on a
cause or a solution?

Rob

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] "is" and python integers

2010-07-28 Thread William Stein
On Wednesday, July 28, 2010, Carl Witty  wrote:
> On Wed, Jul 28, 2010 at 7:07 PM, William Stein  wrote:
>> On Wednesday, July 28, 2010, kcrisman  wrote:
>>> But for True and False, we would rather have
>>>
>>> if n is True:
>>>
>>> not
>>>
>>> if n==True:
>>>
>>> correct?  I've seen that cause some problems in code I've reviewed,
>>> where things that shouldn't be True were True.
>>>
>>
>> I would use
>>
>>  If n:
>>
>> If you want to make sure n is a book, do:
>>
>>  if isinstance(n,bool) and n:
>
> I disagree.  I think "n is True" is fine.  It works, and it's
> documented to work; "bool?" says,
>     Returns True when the argument x is true, False otherwise. The
>     builtins True and False are the only two instances of the class bool.
> so there can't be any booleans that are true other than True.
>
> (And "n is True" is going to be vastly faster than "isinstance(n, bool) and 
> n".)

You're right - I stand corrected.

>
> Carl
>
> --
> To post to this group, send an email to sage-devel@googlegroups.com
> To unsubscribe from this group, send an email to 
> sage-devel+unsubscr...@googlegroups.com
> For more options, visit this group at 
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
>

-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "is" and python integers

2010-07-28 Thread Jason Grout

On 7/28/10 7:35 PM, Carl Witty wrote:

On Wed, Jul 28, 2010 at 7:07 PM, William Stein  wrote:

On Wednesday, July 28, 2010, kcrisman  wrote:

But for True and False, we would rather have

if n is True:

not

if n==True:

correct?  I've seen that cause some problems in code I've reviewed,
where things that shouldn't be True were True.



I would use

  If n:

If you want to make sure n is a book, do:

  if isinstance(n,bool) and n:


I disagree.  I think "n is True" is fine.  It works, and it's
documented to work; "bool?" says,
 Returns True when the argument x is true, False otherwise. The
 builtins True and False are the only two instances of the class bool.
so there can't be any booleans that are true other than True.

(And "n is True" is going to be vastly faster than "isinstance(n, bool) and n".)



For me, I use "is" when comparing with None, and if I specifically want 
*True* or *False* (e.g., if I don't want the empty list to count as False).


Thanks,

Jason

--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] "is" and python integers

2010-07-28 Thread Carl Witty
On Wed, Jul 28, 2010 at 7:07 PM, William Stein  wrote:
> On Wednesday, July 28, 2010, kcrisman  wrote:
>> But for True and False, we would rather have
>>
>> if n is True:
>>
>> not
>>
>> if n==True:
>>
>> correct?  I've seen that cause some problems in code I've reviewed,
>> where things that shouldn't be True were True.
>>
>
> I would use
>
>  If n:
>
> If you want to make sure n is a book, do:
>
>  if isinstance(n,bool) and n:

I disagree.  I think "n is True" is fine.  It works, and it's
documented to work; "bool?" says,
Returns True when the argument x is true, False otherwise. The
builtins True and False are the only two instances of the class bool.
so there can't be any booleans that are true other than True.

(And "n is True" is going to be vastly faster than "isinstance(n, bool) and n".)

Carl

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] "is" and python integers

2010-07-28 Thread William Stein
On Wednesday, July 28, 2010, kcrisman  wrote:
> But for True and False, we would rather have
>
> if n is True:
>
> not
>
> if n==True:
>
> correct?  I've seen that cause some problems in code I've reviewed,
> where things that shouldn't be True were True.
>

I would use

  If n:

If you want to make sure n is a book, do:

  if isinstance(n,bool) and n:



> - kcrisman
>
> --
> To post to this group, send an email to sage-devel@googlegroups.com
> To unsubscribe from this group, send an email to 
> sage-devel+unsubscr...@googlegroups.com
> For more options, visit this group at 
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
>

-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "is" and python integers

2010-07-28 Thread kcrisman
But for True and False, we would rather have

if n is True:

not

if n==True:

correct?  I've seen that cause some problems in code I've reviewed,
where things that shouldn't be True were True.

- kcrisman

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] bug in solve?

2010-07-28 Thread Johannes
ok, i got my first mistake,
the first line in the functoin schould be this:
variables = [var("w" + str(i))for i in range(s.nvertices())]

but anyway, no reason for such a big problem.


Am 29.07.2010 01:15, schrieb Johannes:
> i just tried something with solving a equation, i think i did it the
> wrong way, but still it should not result in this:
>
> def calc_wights_by_sum(s)
> variables = var(["w" + str(i) for i in range(s.nvertices())])
> equation = reduce(lambda f1,f2: f1 + f2, [variables[i] * s.vertex(i)
> for i in range(s.nvertices())]) == 0
> print equation
> return solve(equation,variables)
>
> sage: calc_wights_by_sum(s)
> False
> Exception RuntimeError: 'maximum recursion depth exceeded in
> __subclasscheck__' in  ignored
> Exception RuntimeError: RuntimeError('maximum recursion depth exceeded
> in cmp',) in Exception RuntimeError: 'maximum recursion depth exceeded
> in __subclasscheck__' in  ignored
>  ignored
> Exception RuntimeError: 'maximum recursion depth exceeded in
> __subclasscheck__' in  ignored
> Exception RuntimeError: RuntimeError('maximum recursion depth exceeded
> in cmp',) in Exception RuntimeError: 'maximum recursion depth exceeded
> in __subclasscheck__' in  ignored
> [...]
>
> i just helped to kill python by killall -9 python.
>
> greatz Johannes
>
>   

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] bug in solve?

2010-07-28 Thread Johannes
i just tried something with solving a equation, i think i did it the
wrong way, but still it should not result in this:

def calc_wights_by_sum(s)
variables = var(["w" + str(i) for i in range(s.nvertices())])
equation = reduce(lambda f1,f2: f1 + f2, [variables[i] * s.vertex(i)
for i in range(s.nvertices())]) == 0
print equation
return solve(equation,variables)

sage: calc_wights_by_sum(s)
False
Exception RuntimeError: 'maximum recursion depth exceeded in
__subclasscheck__' in  ignored
Exception RuntimeError: RuntimeError('maximum recursion depth exceeded
in cmp',) in Exception RuntimeError: 'maximum recursion depth exceeded
in __subclasscheck__' in  ignored
 ignored
Exception RuntimeError: 'maximum recursion depth exceeded in
__subclasscheck__' in  ignored
Exception RuntimeError: RuntimeError('maximum recursion depth exceeded
in cmp',) in Exception RuntimeError: 'maximum recursion depth exceeded
in __subclasscheck__' in  ignored
[...]

i just helped to kill python by killall -9 python.

greatz Johannes

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] ALGLIB spkg is released (second version)

2010-07-28 Thread Carl Witty
On Mon, Jul 26, 2010 at 4:43 AM, Sergey Bochkanov
 wrote:
> Hello!
>
> Second  beta  of  ALGLIB.spkg  is  ready.  It  can  be downloaded from
> http://www.alglib.net/share/2010-07-26-alglib-for-sage/

Cool.  Compiles for me, but I didn't try any tests.

> -- SAGE INTEGRATION --
>
> Well,  ALGLIB  can  be called from Python and Sage by now. But I think
> that more can be done to integrate it with Sage. For example, we can't
> write
>
> sage: A = Matrix([[3,2],[2,3]])
> sage: matdet.rmatrixdet(A)
>
> because ALGLIB uses Python's list-of-lists to store matrices, and Sage
> uses  its own matrix class. But only several functions from _alglib.py
> have to be fixed to work with Sage matrices/vectors:
> * safe_len/safe_cols/safe_rows
> * is_bool_vector/is_int_vector/is_real_vector/is_complex_vector
> * is_bool_matrix/is_int_matrix/is_real_matrix/is_complex_matrix
> * x_from_list/x_from_listlist
>
> I  think  that  it  is  very easy to do for someone familiar with Sage
> internals. Anyone interested in helping me with this issue?

Sure, I can help.  I have some API questions first.

What are the bool and int vectors and matrices used for?  (Sage
doesn't really have vectors or matrices of booleans or of machine
ints.  It has vectors and matrices over GF(2) (integers mod 2, so
1+1=0), which could be used as booleans.  There are also numpy arrays
and matrices of these types.)

My suggestion would be to support Sage vectors and matrices over
GF(2), RDF, and CDF (machine floats and complex numbers), as well as
numpy arrays and matrices of appropriate types.  If people think this
is the right choice, I can help write the code.

Carl

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Additive Abelian Groups

2010-07-28 Thread Rob Beezer
First, kudos to David Loeffler for implementing AdditiveAbelianGroup's
(now in 4.5.2.alpha1) and to John Cremona and Jim Stankewicz for
chasing through referee-ing the patches.

1.  __call__  seems to chase its way up into the free module classes,
where it fails in some constructions of quotient modules and generator
matrices.  In the "remember_generators" case would this be as simple
as forming the right linear combination of the generators (which seems
to work for me "by hand")?  Or is there another way to construct
individual elements?

G = AdditiveAbelianGroup([3,4])
a = G((1,2))

Traceback (most recent call last):
  
  File "/sage/sage-4.5.2.alpha1/local/lib/python2.6/site-packages/sage/
modules/fg_pid/fgp_module.py", line 483, in __call__
raise TypeError, msg
TypeError: length of v must be at most the number of rows of self


2.  submodule() and is_submodule() seem to perform as expected and the
former returns a group.  Would implementing subgroups be about as
simple as calling these routines?

Rob

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "is" and python integers

2010-07-28 Thread Nils Bruin
Indeed,  in python/src/Objects/intobject.c we have:
-
#ifndef NSMALLPOSINTS
#define NSMALLPOSINTS   257
#endif
#ifndef NSMALLNEGINTS
#define NSMALLNEGINTS   5
#endif
#if NSMALLNEGINTS + NSMALLPOSINTS > 0
/* References to small integers are saved in this array so that they
   can be shared.
   The integers that are saved are those in the range
   -NSMALLNEGINTS (inclusive) to NSMALLPOSINTS (not inclusive).
*/
static PyIntObject *small_ints[NSMALLNEGINTS + NSMALLPOSINTS];
-
Good to know indeed!

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] "is" and python integers

2010-07-28 Thread Robert Bradshaw
On Wed, Jul 28, 2010 at 1:28 PM, William Stein  wrote:
> On Wed, Jul 28, 2010 at 1:14 PM, Jason Grout
>  wrote:
>> Someone pointed this out to me recently, and it sounded like a useful gotcha
>> to know about python.  Apparently small python integers are cached, while
>> larger ones are not.  Sometimes.
>>
>> % sage -ipython
>> Python 2.6.4 (r264:75706, May 25 2010, 15:42:09)
>> Type "copyright", "credits" or "license" for more information.
>>
>> IPython 0.9.1 -- An enhanced Interactive Python.
>> ?         -> Introduction and overview of IPython's features.
>> %quickref -> Quick reference.
>> help      -> Python's own help system.
>> object?   -> Details about 'object'. ?object also works, ?? prints more.
>>
>> In [1]: a=1
>>
>> In [2]: b=1
>>
>> In [3]: a is b
>> Out[3]: True
>>
>> In [4]: a=1000
>>
>> In [5]: b=1000
>>
>> In [6]: a is b
>> Out[6]: False
>>
>> In [7]: a=1000; b=1000; a is b
>> Out[7]: True
>>
>>
>> Note that these are *python* integers, not Sage integers, in the example
>> above.  Note also that if the two integers are on the same line, the *are*
>> the same object.
>
>> So moral of the story: be *very* careful about where you use "is".
>
> Big +1  !  This is something that always sets of my warning bells when
> refereeing code.

Same thing goes for small/interned strings.

sage: 'aa' is 'aa'
 True

sage: 'aa' is 'a'*2
 False

- Robert

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] ZZ(expr) != int(expr)

2010-07-28 Thread Soroosh Yazdani
I've created a bug report about this:
http://trac.sagemath.org/sage_trac/ticket/9627

Soroosh

On Wed, Jul 28, 2010 at 2:58 PM, Harald Schilly wrote:

> Hello sage-devel, I got this from the "report a problem" bugreport
> (observed on sagenb.org) and I can confirm this using sage 4.5, ubuntu
> 10.4, intel 32bit
>
> The problem is that a big integer expression is not converted
> correctly to a Python 'int'
>
> sage: z = var('z'); f(z) = z^2 + 1
> sage: def ppol(n,z):
>  g = f(z)
>  for i in range(0, n-1):
>  g = f(g)
>  return g
>
> sage: h = ppol(9,1)
> sage: h
>
> 3791862310265926082868235028027893277370233152247388584761734150717768254410341175325352026
> sage: type(h)
> 
> sage: ZZ(h)
>
> 3791862310265926082868235028027893277370233152247388584761734150717768254410341175325352026
> sage: int(h)
>
> 3791862310265926082868235028028848611706634562188571520717816257498752565976400597161607168L
>
> --
> To post to this group, send an email to sage-devel@googlegroups.com
> To unsubscribe from this group, send an email to
> sage-devel+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
>

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] "is" and python integers

2010-07-28 Thread William Stein
On Wed, Jul 28, 2010 at 1:14 PM, Jason Grout
 wrote:
> Someone pointed this out to me recently, and it sounded like a useful gotcha
> to know about python.  Apparently small python integers are cached, while
> larger ones are not.  Sometimes.
>
> % sage -ipython
> Python 2.6.4 (r264:75706, May 25 2010, 15:42:09)
> Type "copyright", "credits" or "license" for more information.
>
> IPython 0.9.1 -- An enhanced Interactive Python.
> ?         -> Introduction and overview of IPython's features.
> %quickref -> Quick reference.
> help      -> Python's own help system.
> object?   -> Details about 'object'. ?object also works, ?? prints more.
>
> In [1]: a=1
>
> In [2]: b=1
>
> In [3]: a is b
> Out[3]: True
>
> In [4]: a=1000
>
> In [5]: b=1000
>
> In [6]: a is b
> Out[6]: False
>
> In [7]: a=1000; b=1000; a is b
> Out[7]: True
>
>
> Note that these are *python* integers, not Sage integers, in the example
> above.  Note also that if the two integers are on the same line, the *are*
> the same object.

> So moral of the story: be *very* careful about where you use "is".

Big +1  !  This is something that always sets of my warning bells when
refereeing code. E.g., I don't like this sort of construction, but saw
it recently in a patch on trac:


 def f(n=1):
 if n is 1:
  ...
else:
  ...

 -- William

>
> Thanks,
>
> Jason
>
> --
> To post to this group, send an email to sage-devel@googlegroups.com
> To unsubscribe from this group, send an email to
> sage-devel+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
>



-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] "is" and python integers

2010-07-28 Thread Jason Grout
Someone pointed this out to me recently, and it sounded like a useful 
gotcha to know about python.  Apparently small python integers are 
cached, while larger ones are not.  Sometimes.


% sage -ipython
Python 2.6.4 (r264:75706, May 25 2010, 15:42:09)
Type "copyright", "credits" or "license" for more information.

IPython 0.9.1 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help  -> Python's own help system.
object?   -> Details about 'object'. ?object also works, ?? prints more.

In [1]: a=1

In [2]: b=1

In [3]: a is b
Out[3]: True

In [4]: a=1000

In [5]: b=1000

In [6]: a is b
Out[6]: False

In [7]: a=1000; b=1000; a is b
Out[7]: True


Note that these are *python* integers, not Sage integers, in the example 
above.  Note also that if the two integers are on the same line, the 
*are* the same object.


So moral of the story: be *very* careful about where you use "is".

Thanks,

Jason

--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: hyperbolic geometry and fundamental domains for subgroups of PSL(2,ZZ)

2010-07-28 Thread Georg S. Weber


On 23 Jul., 01:38, Vincent D <20100.delecr...@gmail.com> wrote:
> Thank you very much for the precise answers.
>
> I need to do some computations with subgroups of PSL(2,Z) (not only
> beautiful drawings). I also implemented some stuff to do the things I
> want but it would be nice to fit the general framework. I'm starting
> reading what is yet in Sage and planned to work on it in August. I'm
> ready to write some patches for this. I can help to write some code,
> read and transfer yours into Sage. Will you have time to work also in
> this summer period? Would you share the code you wrote?
>

Good to hear!

Sorry for the delayed answer, I'm pretty ill at the moment. I saw your
post at sage-nt, my next answers (and questions :-)) will go there. In
the second half of August and the first days of September, I will have
no acces to a computer or email or internet. But till then, we might
share some code and insights (and from September on, of course, too).


Cheers,
Georg

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Report from useR! 2010

2010-07-28 Thread kcrisman
Also, some of you may be interested in the fact that Richard Stallman
spoke (at some length); unfortunately, I was not able to stay that
long.  Audio files are at http://www.r-statistics.com/, currently the
top post.

- kcrisman

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] ZZ(expr) != int(expr)

2010-07-28 Thread Harald Schilly
Hello sage-devel, I got this from the "report a problem" bugreport
(observed on sagenb.org) and I can confirm this using sage 4.5, ubuntu
10.4, intel 32bit

The problem is that a big integer expression is not converted
correctly to a Python 'int'

sage: z = var('z'); f(z) = z^2 + 1
sage: def ppol(n,z):
  g = f(z)
  for i in range(0, n-1):
  g = f(g)
  return g

sage: h = ppol(9,1)
sage: h
3791862310265926082868235028027893277370233152247388584761734150717768254410341175325352026
sage: type(h)

sage: ZZ(h)
3791862310265926082868235028027893277370233152247388584761734150717768254410341175325352026
sage: int(h)
3791862310265926082868235028028848611706634562188571520717816257498752565976400597161607168L

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Report from useR! 2010

2010-07-28 Thread kcrisman
Dear all,

I recently got back from useR! 2010, the R user conference.  This was
the second time the conference was held in the US, this time at NIST
(a government agency in suburban DC).

The most important thing for Sage folks is probably the talk I gave:
http://www.sagenb.org/home/pub/2270/  The reception was very positive,
and I hope that will lead to some future collaboration, or at the very
least higher awareness of Sage in the R community.  They really liked
interacts - no surprise - and that it was painless to download R
packages, even in the notebook!  So good results - especially
considering I was only there for 24 hours.

However, there were some very intriguing things I gleaned from the
various talks and the overall atmosphere.  I'll try to summarize these
below.

++

First, the community was clearly a community, and a large and healthy
one.  There were probably 400-500 attending from all over the world,
from government, industry, health fields, corporations, analytics, and
of course academia, though this last was not even a plurality, I
think.  People knew each other, and many were people *not* in the
academy who were connected to R via R user groups (see
http://blog.revolutionanalytics.com/local-r-groups.html), which
apparently are pretty common and for which people actually get
together to learn about R and socialize on a regular basis.

And on the plus side, long-time users agreed that 10 years ago R was
pretty small, and now it's just been exploding.   So I think it is
quite likely "the time is right" for other open source solutions of
the third wave (or whichever wave this is).   What else can Sage do to
promote community outside of the Sage Days type participants?

++

Second, there was some very frank discussion of R's shortcomings (as
good as it is) which might be relevant to Sage - sometimes making Sage
look ahead of the curve, other places not.  I'll try to categorize
them.

1. The corporate perspective.  Essentially, many people made the point
(including from Merck, P&G, Ancestry.com, and Facebook) that R is
great, but concerns about tech support, varying stability of packages,
integration with MS Office, etc. yield many companies to have R under
the hood but not in interactions with VPs or other end users.  One big
solution to that is that several companies have started up to offer
supported R solutions, either to train new users or to provide
specific commercial support to specific versions of R.  They are
apparently doing well!

I see this as relevant to Sage in a number of ways, but certainly when
it comes to potential engineering users and schools hesitant to/unable
to set up their own Sage servers.

2. Speed and scalability.  These are of course related to the previous
one from the org perspective, but also bring technical challenges.  In
particular, several people mentioned in talks that R needs to be much
more scalable to HUGE data sets, performance needs to improve, and R
is slow.  There were several things in the works with this last
thing - include something like Cython, and others not - and there is
also work on things like using multiple cores *intelligently* (since
it slows some stuff down a lot) and enabling arbitrary size input by
avoiding memory, etc.Performance issues are important in real-time
environments.

Several people were very interested in Cython when I pointed it out,
and I think we are ahead because Python has some parallelization
stuff, right? But it was clear that this kind of thing is a big issue
in the big picture.

3. Don't be too clever.  This was less often mentioned, but the sense
was that R is so good for graphics and visualization that sometimes
things are too informative, and post-processing is needed for the end
user.

I don't think this happens with graphics per se in Sage, but sometimes
it is true that things get clever in Sage too, I suspect.  Any
examples of end users being confounded by this?

++

Finally, there was a good talk by an R blogger about promotion in
general and blogging in particular.  See for example http://www.r-bloggers.com/
.  I think that especially Fredrik, Minh, and Martin have done a good
job with this, but we can do more.  In retrospect, the little Sage
stickers at the Joint Meetings were just this sort of thing, though
the speaker talked about Twitter, having guest posts, using animation,
using lots of tags, etc.  There is even a "video Rchive" out there.

+++

One meta-question is how much all this applies to Sage; in some sense
we have a much more limited potential user base, but in other ways we
have at least as big of one and then some.  What is different or the
same about Sage and R from this standpoint?

I hope this provides much food for thought!

- kcrisman

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel

Re: [sage-devel] is this kind of license Sage-compatible?

2010-07-28 Thread William Stein
On Wed, Jul 28, 2010 at 11:30 AM, David Joyner  wrote:
> On Wed, Jul 28, 2010 at 12:46 PM, William Stein  wrote:
>> On Wed, Jul 28, 2010 at 8:52 AM, David Joyner  wrote:
>>> I think this is basically a modified BSD license, which is GPL compatible.
>>
>> It has an additional condition that is not in the GPL: "Any
>> publication resulting from research that made use of
>> this software should cite this document."  This might make it non-GPL
>> compatible.
>
>
> I view that as more of a request (as in "here is how to
> cite DSDP...") than a legal requirement, but maybe I'm wrong.

If it is a request, it's fine.  If it is a legal requirement, then it
definitely renders the software GPL-incompatible.
If it's a legal requirement, then it is kind of similar to the
"advertising must explicitly cite this component" clause of the
original non-GPL-compatible BSD license.

 -- William

>
>
>>
>> William
>>
>>>
>>>
>>> On Wed, Jul 28, 2010 at 11:29 AM, Dima Pasechnik  wrote:
 http://www.mcs.anl.gov/hs/software/DSDP/Copyright.txt


 (C) COPYRIGHT 2004 UNIVERSITY OF CHICAGO

 This program discloses material protectable under copyright laws of
 the United States.
 Permission to copy and modify this software and its documentation is
 hereby granted, provided that this notice is retained thereon and on
 all copies or
 modifications. The University of Chicago makes no representations as
 to the suitability
 and operability of this software for any purpose. It is provided "as
 is"; without
 express or implied warranty. Permission is hereby granted to use,
 reproduce, prepare
 derivative works, and to redistribute to others, so long as this
 original copyright notice
 is retained.  Any publication resulting from research that made use of
 this software
 should cite this document.

 [ truncated - there is more stuff...]

 Thanks,
 Dima

 --
 To post to this group, send an email to sage-devel@googlegroups.com
 To unsubscribe from this group, send an email to 
 sage-devel+unsubscr...@googlegroups.com
 For more options, visit this group at 
 http://groups.google.com/group/sage-devel
 URL: http://www.sagemath.org

>>>
>>> --
>>> To post to this group, send an email to sage-devel@googlegroups.com
>>> To unsubscribe from this group, send an email to 
>>> sage-devel+unsubscr...@googlegroups.com
>>> For more options, visit this group at 
>>> http://groups.google.com/group/sage-devel
>>> URL: http://www.sagemath.org
>>>
>>
>>
>>
>> --
>> William Stein
>> Professor of Mathematics
>> University of Washington
>> http://wstein.org
>>
>> --
>> To post to this group, send an email to sage-devel@googlegroups.com
>> To unsubscribe from this group, send an email to 
>> sage-devel+unsubscr...@googlegroups.com
>> For more options, visit this group at 
>> http://groups.google.com/group/sage-devel
>> URL: http://www.sagemath.org
>>
>
> --
> To post to this group, send an email to sage-devel@googlegroups.com
> To unsubscribe from this group, send an email to 
> sage-devel+unsubscr...@googlegroups.com
> For more options, visit this group at 
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
>



-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: new keywords for limit()

2010-07-28 Thread Robert Bradshaw
On Wed, Jul 28, 2010 at 11:18 AM, ma...@mendelu.cz  wrote:
>
> On 28 čnc, 09:39, Johannes  wrote:
>> > 2.  I wanted to avoid confusion about whether "left" meant "moving
>> > leftward" as opposed to "from the left."
>>
>> +1 here seems to be more presice than just left or right.
>> greatz Johannes
>
> I wonder if the preferred way how to read the limit in some language
> is something like
> "limit of the function f as x moves leftward and approaches a".
>
> I could mistaken, but I think that "limit" and "left" allways means
> limit from the left, left-hand-side limit, etc. I am not fluent in
> English, but despite this fact I think there is no confusion. I have
> never heard on a conferrence somethink like "x moves leftward" for
> limit from the right. Does anybody have another experience?

I am a native English speaker, and have never heard left or right
meaning anything other than the limit *from* the left (negative) or
right (positive) sides. Personally, I'd rather save the keystrokes and
not have to type "from_" every time.

- Robert

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Two questions about sliders in interacts

2010-07-28 Thread Harald Schilly
On Jul 28, 6:07 pm, kcrisman  wrote:
> 1) Endpoint markers for the sliders.

I think that was already requested some time ago, I'm not sure, and I
think that's quite important. Something else I heard was to be able to
change the color - i.e. to match it with the color of a plotted line.

H

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] is this kind of license Sage-compatible?

2010-07-28 Thread David Joyner
On Wed, Jul 28, 2010 at 12:46 PM, William Stein  wrote:
> On Wed, Jul 28, 2010 at 8:52 AM, David Joyner  wrote:
>> I think this is basically a modified BSD license, which is GPL compatible.
>
> It has an additional condition that is not in the GPL: "Any
> publication resulting from research that made use of
> this software should cite this document."  This might make it non-GPL
> compatible.


I view that as more of a request (as in "here is how to
cite DSDP...") than a legal requirement, but maybe I'm wrong.


>
> William
>
>>
>>
>> On Wed, Jul 28, 2010 at 11:29 AM, Dima Pasechnik  wrote:
>>> http://www.mcs.anl.gov/hs/software/DSDP/Copyright.txt
>>>
>>>
>>> (C) COPYRIGHT 2004 UNIVERSITY OF CHICAGO
>>>
>>> This program discloses material protectable under copyright laws of
>>> the United States.
>>> Permission to copy and modify this software and its documentation is
>>> hereby granted, provided that this notice is retained thereon and on
>>> all copies or
>>> modifications. The University of Chicago makes no representations as
>>> to the suitability
>>> and operability of this software for any purpose. It is provided "as
>>> is"; without
>>> express or implied warranty. Permission is hereby granted to use,
>>> reproduce, prepare
>>> derivative works, and to redistribute to others, so long as this
>>> original copyright notice
>>> is retained.  Any publication resulting from research that made use of
>>> this software
>>> should cite this document.
>>>
>>> [ truncated - there is more stuff...]
>>>
>>> Thanks,
>>> Dima
>>>
>>> --
>>> To post to this group, send an email to sage-devel@googlegroups.com
>>> To unsubscribe from this group, send an email to 
>>> sage-devel+unsubscr...@googlegroups.com
>>> For more options, visit this group at 
>>> http://groups.google.com/group/sage-devel
>>> URL: http://www.sagemath.org
>>>
>>
>> --
>> To post to this group, send an email to sage-devel@googlegroups.com
>> To unsubscribe from this group, send an email to 
>> sage-devel+unsubscr...@googlegroups.com
>> For more options, visit this group at 
>> http://groups.google.com/group/sage-devel
>> URL: http://www.sagemath.org
>>
>
>
>
> --
> William Stein
> Professor of Mathematics
> University of Washington
> http://wstein.org
>
> --
> To post to this group, send an email to sage-devel@googlegroups.com
> To unsubscribe from this group, send an email to 
> sage-devel+unsubscr...@googlegroups.com
> For more options, visit this group at 
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
>

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: new keywords for limit()

2010-07-28 Thread ma...@mendelu.cz

On 28 čnc, 09:39, Johannes  wrote:
> > 2.  I wanted to avoid confusion about whether "left" meant "moving
> > leftward" as opposed to "from the left."
>
> +1 here seems to be more presice than just left or right.
> greatz Johannes

I wonder if the preferred way how to read the limit in some language
is something like
"limit of the function f as x moves leftward and approaches a".

I could mistaken, but I think that "limit" and "left" allways means
limit from the left, left-hand-side limit, etc. I am not fluent in
English, but despite this fact I think there is no confusion. I have
never heard on a conferrence somethink like "x moves leftward" for
limit from the right. Does anybody have another experience?

Robert Marik

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: sage -clone failing with "...untrusted file/user..." message

2010-07-28 Thread Rob Beezer
I just saw this yesterday.  I had installed Sage from source as a
normal user (myself), but then began messing around while in a shell
as root (oops).  If I recall right, the first thing I did was

hg qinit

and then as a result several files had their ownership change to root
and I started to see the "Not trusting..." message.  When I restored a
few files to the right ownership (fncache  being one) all was well and
the message went away.

Maybe poke around in  devel/sage/.hg  and see who owns what?

Rob

On Jul 28, 5:07 am, Dima Pasechnik  wrote:
> Dear all,
> any idea what to do with this:
>
> d...@sage:/scratch/dima$ sage -clone testcvxopt
> Now cloning the current Sage library branch...
> hg clone  sage sage-testcvxopt
> Not trusting file /usr/local/sage/devel/sage-main/.hg/hgrc from
> untrusted user mvngu, group mvngu
> abort: Permission denied: sage-testcvxopt
> Error cloning
>
> real    0m0.091s
> user    0m0.070s
> sys     0m0.010s
> d...@sage:/scratch/dima$
>
> Thanks,
> Dima

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] is this kind of license Sage-compatible?

2010-07-28 Thread William Stein
On Wed, Jul 28, 2010 at 8:52 AM, David Joyner  wrote:
> I think this is basically a modified BSD license, which is GPL compatible.

It has an additional condition that is not in the GPL: "Any
publication resulting from research that made use of
this software should cite this document."  This might make it non-GPL
compatible.

William

>
>
> On Wed, Jul 28, 2010 at 11:29 AM, Dima Pasechnik  wrote:
>> http://www.mcs.anl.gov/hs/software/DSDP/Copyright.txt
>>
>>
>> (C) COPYRIGHT 2004 UNIVERSITY OF CHICAGO
>>
>> This program discloses material protectable under copyright laws of
>> the United States.
>> Permission to copy and modify this software and its documentation is
>> hereby granted, provided that this notice is retained thereon and on
>> all copies or
>> modifications. The University of Chicago makes no representations as
>> to the suitability
>> and operability of this software for any purpose. It is provided "as
>> is"; without
>> express or implied warranty. Permission is hereby granted to use,
>> reproduce, prepare
>> derivative works, and to redistribute to others, so long as this
>> original copyright notice
>> is retained.  Any publication resulting from research that made use of
>> this software
>> should cite this document.
>>
>> [ truncated - there is more stuff...]
>>
>> Thanks,
>> Dima
>>
>> --
>> To post to this group, send an email to sage-devel@googlegroups.com
>> To unsubscribe from this group, send an email to 
>> sage-devel+unsubscr...@googlegroups.com
>> For more options, visit this group at 
>> http://groups.google.com/group/sage-devel
>> URL: http://www.sagemath.org
>>
>
> --
> To post to this group, send an email to sage-devel@googlegroups.com
> To unsubscribe from this group, send an email to 
> sage-devel+unsubscr...@googlegroups.com
> For more options, visit this group at 
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
>



-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: sage-vmware-4.4.alpha0.zip Corrupted?

2010-07-28 Thread Harald Schilly
On Jul 28, 12:53 pm, "Dr. David Kirkby" 
wrote:
> There
> should be better ways of handling big files on unreliable connections. I think
> my splitting the file into 99 parts for you was right to solve your immediate
> problem, but its not a long term solution.

I just want to repeat that in my eyes, using the metalink file would
solve all of this. Just look into the content of this file [1] (it's
plain text XML) and you can see that the entire zip file is split into
247 parts (i.e. 4 MB each) with individual hashsums. There are clients
like aria2 ([2], available for linux & windows) that can make use of
that information to request these parts individually from the given
list of http+ftp servers (fyi, these transfer protocols are able to
handle requests for a certain part of a big file) ... then check the
pieces, re-download some if necessary and after a download has
finished, be even able to validate+repair a file. matalinks are also
on track to be standardized as a RFC: http://tools.ietf.org/html/rfc5854

[1] http://www.sagemath.org/mirror/win/meta/sage-vmware-4.4.alpha0.zip.metalink
[2] http://aria2.sourceforge.net/

I'm not aware of a better solution to handle this problem ...

H

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Two questions about sliders in interacts

2010-07-28 Thread kcrisman
Hi all,
Two interesting feature requests came from viewers of my talk at useR!
2010.  Are either or both of these desirable? If so, I'll open
tickets.
1) Endpoint markers for the sliders.  Several people wanted to see
what the range of the slider was while sliding, since it might be
difficult to tell otherwise (0 to 1, .1 to .9, ... ).  I guess the
request would be to make it possible (or even default) to have the
endpoints somehow labeled.
2) Stepping backwards on sliders.  Currently,
@interact
def _(n=slider(100,0,-1,1)):
print n
gives the error
ValueError, "invalid negative step size -- step size must be
positive"
as far as I know.  Allowing this could be very helpful, but maybe
there was a reason not to do this I am unaware of - the explicit
ValueError leads me to think so, since whoever wrote it put knew this
could happen!
Okay, thanks for any feedback.
- kcrisman

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Adding dictionaries pointwise using cython

2010-07-28 Thread Christian Stump
Salut cython specialists,

I would like to implement a routine adding dictionaries with possibly
different keys pointwise and delete all zero entries in the end:

sage: def dict_sum( list_of_dics, remove_zeros=True ):
...   return_dict = {}
...   for D in list_of_dics:
...   for key in D:
...   if key in return_dict:
...   return_dict[ key ] += D[ key ]
...   else:
...   return_dict[ key ] = D[ key ]
...
...   if remove_zeros:
...   return_dict = dict( [ (key,value) for key,value in
d.iteritems() if value != 0 ] )
...   return return_dict

sage: d = dict(zip(range(10),range(0,10,2)))
sage: timeit("p = dict_sum([d]*10, True)")
sage: timeit("p = dict_sum([d]*10, False)")
5 loops, best of 3: 216 ms per loop
5 loops, best of 3: 138 ms per loop

Improving it a little and putting it into cython gives

sage: %cython
sage: def dict_sum_cython( list_of_dicts, remove_zeros=True ):
...   return_dict = list_of_dicts[0].copy()
...   for D in list_of_dicts[1:]:
...   for key in D:
...   if key in return_dict:
...   return_dict[key] += D[key]
...   else:
...   return_dict[key] = D[key]
...
...   if remove_zeros:
...   for_removal = [key for (key,value) in
return_dict.iteritems() if not value]
...   for key in for_removal:
...   del return_dict[key]
...   return return_dict

sage: timeit("p = dict_sum_cython([d]*10, True)")
sage: timeit("p = dict_sum_cython([d]*10, False)")
5 loops, best of 3: 56 ms per loop
5 loops, best of 3: 57.8 ms per loop

This is already much faster! Any ideas how to improve the speed now?
All I know about the variables is that all dict values live in a
common ring ( mostly QQ ), can I use this somehow?

Thanks for your help, Christian

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] is this kind of license Sage-compatible?

2010-07-28 Thread David Joyner
I think this is basically a modified BSD license, which is GPL compatible.


On Wed, Jul 28, 2010 at 11:29 AM, Dima Pasechnik  wrote:
> http://www.mcs.anl.gov/hs/software/DSDP/Copyright.txt
>
>
> (C) COPYRIGHT 2004 UNIVERSITY OF CHICAGO
>
> This program discloses material protectable under copyright laws of
> the United States.
> Permission to copy and modify this software and its documentation is
> hereby granted, provided that this notice is retained thereon and on
> all copies or
> modifications. The University of Chicago makes no representations as
> to the suitability
> and operability of this software for any purpose. It is provided "as
> is"; without
> express or implied warranty. Permission is hereby granted to use,
> reproduce, prepare
> derivative works, and to redistribute to others, so long as this
> original copyright notice
> is retained.  Any publication resulting from research that made use of
> this software
> should cite this document.
>
> [ truncated - there is more stuff...]
>
> Thanks,
> Dima
>
> --
> To post to this group, send an email to sage-devel@googlegroups.com
> To unsubscribe from this group, send an email to 
> sage-devel+unsubscr...@googlegroups.com
> For more options, visit this group at 
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
>

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] is this kind of license Sage-compatible?

2010-07-28 Thread Dima Pasechnik
http://www.mcs.anl.gov/hs/software/DSDP/Copyright.txt


(C) COPYRIGHT 2004 UNIVERSITY OF CHICAGO

This program discloses material protectable under copyright laws of
the United States.
Permission to copy and modify this software and its documentation is
hereby granted, provided that this notice is retained thereon and on
all copies or
modifications. The University of Chicago makes no representations as
to the suitability
and operability of this software for any purpose. It is provided "as
is"; without
express or implied warranty. Permission is hereby granted to use,
reproduce, prepare
derivative works, and to redistribute to others, so long as this
original copyright notice
is retained.  Any publication resulting from research that made use of
this software
should cite this document.

[ truncated - there is more stuff...]

Thanks,
Dima

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] undeclared name not builtin: gap

2010-07-28 Thread Dima Pasechnik
while loading an .spyx file in Sage, which uses gap() and gap.eval(),
I get
" undeclared name not builtin: gap"

Is it a bug or a feature?
Thanks,
Dima

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] sage -clone failing with "...untrusted file/user..." message

2010-07-28 Thread Dima Pasechnik
Dear all,
any idea what to do with this:

d...@sage:/scratch/dima$ sage -clone testcvxopt
Now cloning the current Sage library branch...
hg clone  sage sage-testcvxopt
Not trusting file /usr/local/sage/devel/sage-main/.hg/hgrc from
untrusted user mvngu, group mvngu
abort: Permission denied: sage-testcvxopt
Error cloning

real0m0.091s
user0m0.070s
sys 0m0.010s
d...@sage:/scratch/dima$

Thanks,
Dima

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: Should the date and time of test failures be noted?

2010-07-28 Thread Dr. David Kirkby

On 07/28/10 12:00 PM, koffie wrote:

Hej David,

If you think that RAM exaustion is going to cause problems, why don't
you also add the recording of the memory useage in the doctesting (I
wouldn't now how to exactly do this but I guess you could use the
output of command line utilities such as top, vmstat/vm_stat or free).
If this would make the output of "sage -t" to long for the average
user/debugger you could always make a verbose and/or memory option to
the doctesting which could be used by running "sage -tv" or "sage -tm"
or or something alike.

I hope you find these ideas usefull.

Kind Rigards,
Maarten Derickx


I believe any number of problems on the system could cause build or doctests 
failures. I think it would just be easier to record the time. There is a plan to 
create a script which would aid debugging by collecting system information


http://trac.sagemath.org/sage_trac/ticket/8048

but I would not suggest printing that out each time there's a doctest failure.

I had a build fail on t2.math. When I look in the system logs I see

Jul 25 16:11:07 t2 tmpfs: [ID 518458 kern.warning] WARNING: /tmp: File system 
full, swap space limit exceeded

Jul 25 16:11:07 t2 last message repeated 25 times


Had that been a doctest failure, it would have been useful to know the time of 
the failure. If it was around 16:11:07 on 25th July, I would have suspected that 
as a problem.


Getting the date is probably trivial and can be put on one line. Getting 
information about all possible problems on all platforms would be a lot more 
difficult. It''s not only RAM. For examples I see NFS related errors


Jul 26 19:41:59 t2 nfs: [ID 220977 kern.info] NOTICE: [NFS4][Server: 
disk][Mntpt: /home]NFS op OP_CLOSE got error 4 causing recovery action 
NR_LOST_STATE_RQST.
Jul 26 19:41:59 t2 nfs: [ID 814820 kern.info] NOTICE: [NFS4][Server: 
disk][Mntpt: /home]Lost OP_CLOSE request for fs /home, file 
./mpatel/.sage/temp/t2/20720/qsieve_0/tmp2.1117.21848


Had mpatel's build failed there, we could have suspected that as a problem.

There are lots of people working on improving the doctest framework. If there 
was a consensus to record the date/time of any failures, I would suggest adding 
it, but so far nobody has really felt it is worthwhile other than me!



I would suggest having something like:

sage -t  -long devel/sage/sage/geometry/cone.py
**
File 
"/rootpool2/local/kirkby/sage-4.5.2.alpha0-9343/devel/sage-main/sage/geometry/cone.py", 
line 559:

sage: c = Cone([(1,0), (0,1)])
Expected:
4372618627376133801
Got nothing
**
1 items had failures:
   1 of   3 in __main__.example_7
***Test Failed*** 1 failures.
For whitespace errors, see the file 
/rootpool2/local/kirkby/.sage//tmp/.doctest_cone.py

 [66.6 s at Wed Jul 28 07:38:15 EDT 2010]

I also think it would be useful to add the hostname and operating system 
somewhere in the log file use for testing, though that only needs doing once, 
not on every line.


--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: Should the date and time of test failures be noted?

2010-07-28 Thread koffie
Hej David,

If you think that RAM exaustion is going to cause problems, why don't
you also add the recording of the memory useage in the doctesting (I
wouldn't now how to exactly do this but I guess you could use the
output of command line utilities such as top, vmstat/vm_stat or free).
If this would make the output of "sage -t" to long for the average
user/debugger you could always make a verbose and/or memory option to
the doctesting which could be used by running "sage -tv" or "sage -tm"
or or something alike.

I hope you find these ideas usefull.

Kind Rigards,
Maarten Derickx

PS. and Dutch saying which I got from my father says: "Meet 't en je
weet 't" wich translates to "Measure it and you know it". I think this
saying also applies in this situation ;).

On Jul 28, 12:13 am, David Kirkby  wrote:
> On 27 July 2010 22:10, Jeroen Demeyer  wrote:
>
>
>
>
>
> > On 2010-07-27 21:25, David Kirkby wrote:
> >> Currently if a test fails in the doctest, one can never be sure if the
> >> machine may have run out of swap space, disk space disk I/O problems
> >> or all manner of other things that could cause test failures.  But if
> >> the time of the failure was recorded, then the system logs could be
> >> used to see if anything was wrong at the time of the failure.
>
> > I have no problem with your proposal, but I don't see how it will solve
> > your problem.  I doubt that "2+2" is going to return "5" simply because
> > of problems with the system.  You probably get some exception saying
> > that you're out of memory or that the test crashed or whatever.  And
> > manually checking the error looks easier than manually checking the time
> > of the failure.  Or am I missing something?
>
> > Jeroen.
>
> There have been reports of doc tests failing on sage.math when all RAM
> has been exhausted. I've seen it on t2 too, where the machine has run
> out of swap space. I think the issue of RAM exhaustion is getting
> worst now its possible to build lots of packages in parallel. I
> believe William implemented some limits on sage.math because of lack
> of resources.
>
> There are very often doc tests which fail when one runs
>
> make ptestlong
>
> but pass when one runs the test on the command line. I have sometimes
> suspected that it might be a lack of system resources.
>
> Does anyone else have any comments?
>
> Dave

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] sage-vmware-4.4.alpha0.zip Corrupted?

2010-07-28 Thread Dr. David Kirkby

On 07/27/10 07:18 PM, Sazzad wrote:

Big Thanks!
You can post this link :
http://boxen.math.washington.edu/home/kirkby/vmware/
in the sage main download page. so those who are interested could take
benefit.

best wishes



I don't think posting my parts at 
http://boxen.math.washington.edu/home/kirkby/vmware/ is such a good idea. There 
should be better ways of handling big files on unreliable connections. I think 
my splitting the file into 99 parts for you was right to solve your immediate 
problem, but its not a long term solution.


Dave

--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] help with a failing doctest in symbolics (#9582)

2010-07-28 Thread Burcin Erocal
On Wed, 28 Jul 2010 15:50:01 +0900
Dan Drake  wrote:

> For those of you that don't follow sage-release, there's only one
> ticket that's really holding up 4.5.2: #9582. There are some tests in
> symbolics that fail on OS X because the terms are printed in a
> different order. I don't know how to fix this, but I'll bet one of
> you does!

I just sent a reply to sage-release, but here it is again.

I'm at the ISSAC conference in Munich and will get back late tonight. I
can take a look at this tomorrow, if no one beats me to it.

I am not sure if this is something related to pynac in any case. There
were no changes related to comparisons in pynac.

Cheers,
Burcin 

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: Wrong symbolic sum

2010-07-28 Thread Burcin Erocal
On Tue, 27 Jul 2010 18:29:27 -0700 (PDT)
Henryk Trappmann  wrote:

> On Jul 28, 2:21 am, kcrisman  wrote:
> > On Jul 27, 1:17 am, Henryk Trappmann 
> > wrote:
> > > sage: sum(binomial(n,k)*binomial(k-1,j)*(-1)**(k-1-j),k,j+1,n)
> > In fact, the answer appears to always be 1 or 0.  Is that true?
> 
> Yes, its 1 for n>=j+1 and (of course) 0 for n 
> I discovered another small issue with the binomial:
> sage: binomial(0.5r,5)
> ---
> AttributeErrorTraceback (most recent call
> last)
> 
> /home/bo198214/projects/ in ()
> 
> /opt/sage-4.5-linux-32bit-ubuntu_10.04_lts-i686-Linux/local/lib/
> python2.6/site-packages/sage/rings/arith.pyc in binomial(x, m)
>2887 if isinstance(x, (float, sage.rings.real_mpfr.RealNumber,
>2888   sage.rings.real_mpfr.RealLiteral)):
> -> 2889 P = x.parent()
>2890 if m < 0:
>2891 return P(0)
> 
> AttributeError: 'float' object has no attribute 'parent'

Can you open a ticket about these problems with the binomial (including
the "either m or x-m must be an integer" error mentioned in kcrisman's
message?

The bug in maxima for the evaluation of the sum should also be a
separate ticket.


Thank you.

Burcin

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: new keywords for limit()

2010-07-28 Thread Burcin Erocal
Hi Dana,

On Tue, 27 Jul 2010 12:23:28 -0700 (PDT)
"D.C. Ernst"  wrote:

> > > I suggest we add "left" and "right" (instead of "from_left" and
> > > "from_right"). In addition, deprecate "above" and "below".
> >
> > +1 from me.  I think that would be a big improvement.
> 
> I'm assuming that you want to replace "from_left" (respectively,
> "from_right") with "left" (respectively, "right").  There are two
> reasons why I elected to go with "from_*":
> 
> 1.  This is more akin to the language that students use when learning
> one-sided limits.
> 2.  I wanted to avoid confusion about whether "left" meant "moving
> leftward" as opposed to "from the left."

There is no tab completion for these arguments, I don't think they'll
be used if we leave them as "from_*"

> I'm not particularly in love with "from_*" and I am certainly
> agreeable to changing it (as suggested earlier or otherwise).  Can we
> use the symbols "+" and "-"?  This most closed mimics the standard
> notation and is concise.  Thoughts?

I like these better than "left" and "right", especially since we
already support "plus" and "minus."


Thank you.

Burcin

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: new keywords for limit()

2010-07-28 Thread Johannes

> 2.  I wanted to avoid confusion about whether "left" meant "moving
> leftward" as opposed to "from the left."
>   
+1 here seems to be more presice than just left or right.
greatz Johannes

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org