[sage-support] Re: Fwd: [sage-newbie] Re: Geometry software

2008-02-20 Thread Ted Kosan

Jason wrote:

  On other fronts, Ted Kosan has been working on java-related things in
  the notebook.  I'd love to hear Ted weigh in on the best way to use
  geogebra.

  If we can get together a core group of people willing to work on this,
  then I think we can make some great progress in the somewhat near future.

GeoGebra has a well thought out and rich API (which includes a
wonderful XML-based interface, BTW) and this should allow it to
communicate with the Sage server in a number of ways.  I think the
'best' way to add GeoGebra to the notebook is through an equally well
thought out and rich API which is designed to allow applets in general
to be plugged into the notebook.  Before this API is created, however,
I think both the client and server part of the notebook need to be
throughly documented.

If the first task of this core group of people is to throughly
document the client and server part of the notebook, count me in :-)

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-support] Re: Fwd: [sage-newbie] Re: Geometry software

2008-02-20 Thread Ted Kosan

Jacob wrote:

  That would be a huge value to me.  As a high school teacher, the
  features of GeoGebra almost completely fill the void of things I wish
  sage could do.  The notebook widgets for Mathematica style
  demonstrations would fill quite a bit of the same void, but GeoGebra
  is already robust and has a ton of functionality.

  I love sage, but the high school definition of exploration generally
  means grabbing things and moving them around and seeing what happens.
  That is hard to accomplish in sage and it is what interactive geometry
  software like GeoGebra was designed to do.  Sage is great for my
  calculus and statistics classes, but it falls short in Precalculus and
  Geometry where a much more tactile grab approach works well.  If I
  could send data freely back and forth between the two I could create
  much more powerful concept demonstrations across the board in my
  class.

  The fact that GeoGebra can be driven by text commands and embedded as
  a java applet makes interfacing it with a system like sage seem
  possible.  I am very excited about this possibility because for me it
  would complete sage's functionality.

GeoGebra is awesome, isn't it?  Are there other high school teachers
that would also like to see GeoGebra added to Sage?

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-support] Re: optional_packages() error

2008-02-16 Thread Ted Kosan

William wrote:

 Does the user running sage have write permissions to

 /opt/sage-2.10-debian32-i686-Linux/tmp?

No, but what confused me was when I executed optional_packages on the
public Sage server it gave a permission error on a slightly different
directory along with extra information in the error message:


Using SAGE Server http://www.sagemath.org//packages
http://www.sagemath.org//packages/optional/list --
/usr/local/sage/tmp/list
[Errno 13] Permission denied: '/usr/local/sage/tmp/list'

\


Error contacting http://www.sagemath.org//packages/optional/list. Try
using an alternative server.
For example, from the bash prompt try typing

   export SAGE_SERVER=http://sage.scipy.org/sage/

then try again.

\


Optional package list (shown above) appears to be currently not
available or corrupted (network error?).
([], [])


Thanks,

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-support] Re: sage-newbie list and sage-support list

2008-02-16 Thread Ted Kosan

John wrote:

 Did you reply to User 1 trying to convince him/her to try again but to
 use sage-support?  As Sage does actually provide amazingly good
 support )via this list for example) it would be a great pity if false
 rumours to the contrary were to spread.

I just emailed him and explained the situation.  Hopefully he will be
reposting his question to the sage-support list soon :-)

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-support] sage-newbie list and sage-support list

2008-02-15 Thread Ted Kosan

Two users recently submitted these posts:

User 1 (sent to sage-newbie):
 I was considering investing in learning sage and use it in my work on
 optimization algorithms. I now understand I have to expect
 incompatibilities with some python packages, and no help from this
 list.  I'll stick to standard python for now.

User 2:
  I posted this to the sage-newbie list, but it never generated a
  response.  I understand this list has
  more people in the know.

I think that having both a sage-newbie list and a sage-support list is
causing confusion and reducing the chance that people's questions will
be answered.

When I proposed the creation of the sage-newbies list, what I had in
mind was a support list specifically for the Sage Newbies book in
order to keep very common fundamental questions off of the
sage-support list.  It seems, however, that there is not much of a
difference between the type of questions that are sent to the
sage-newbie list and those sent to the sage-support list so my thought
is to discontinue the sage-newbie list.

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-support] optional_packages() error

2008-02-15 Thread Ted Kosan

When I execute the optional_packages() function in a worksheet, I
receive the following error:


Traceback (most recent call last):
  File /opt/sage-2.10-debian32-i686-Linux/local/bin/sage-list-packages,
line 20, in module
os.makedirs(%s/tmp%SAGE_ROOT)
  File /opt/sage-2.10-debian32-i686-Linux/local/lib/python/os.py,
line 172, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/opt/sage-2.10-debian32-i686-Linux/tmp'
Using SAGE Server http://www.sagemath.org//packages

Optional package list (shown above) appears to be currently not
available or corrupted (network error?).
([], [])


I am using SAGE Version 2.10.  Does anyone have any thoughts on what
is causing this error?

Thanks,

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-support] Re: how to use sage functions in php ?

2008-02-09 Thread Ted Kosan

carlos wrote:

 Is it posible to use php with sage ?

One way that I know of to allow an external language to access SAGE is to use
the following simple SAGE server program:

 Server 

#
# Alex Clemesha [EMAIL PROTECTED] 2007
# Modified to use the SAGE preparser and to accept
# multiple line input.
#
from twisted.web2 import resource
from twisted.web2 import http_headers
from twisted.web2 import http
from twisted.web2 import channel
from twisted.web2 import server

#from sage.interfaces import sage0

# SAGE libraries
import sage.interfaces.sage0

from   sage.misc.misc import word_wrap
import sage.misc.preparser
from   sage.misc.viewer import browser
from   sage.structure.sage_object import load, SageObject

global sage0
sage0 = sage.interfaces.sage0.Sage()

HTML = 
html
head
script type=text/javascript

var axajObject = createRequestObject();

function createRequestObject() {
   var xmlhttp;
   try { xmlhttp=new ActiveXObject(Msxml2.XMLHTTP); }
 catch(e) {
   try {
   xmlhttp=new ActiveXObject(Microsoft.XMLHTTP);
   }
   catch(e) {
   xmlhttp=null;
   }
 }
 if(!xmlhttptypeof XMLHttpRequest!=undefined) {
   xmlhttp=new XMLHttpRequest();
 }
   return  xmlhttp;
}

function sendRequest(event) {
   var code = document.getElementById(code).value;
   if (code.length  0  event.keyCode == 13) {
   var ecode = encodeURIComponent(code);
   //alert(ecode)
   var req = /eval?code= + ecode;
   try{
   axajObject.open(POST, req, true);
   axajObject.setRequestHeader('Content-Type',  text/html);
   axajObject.onreadystatechange = handleResponse;
   axajObject.send();
   }
   catch(e){
   // caught an error
   alert('Request send failed.');
   }
   finally{}
   }
}

function handleResponse() {
   if(axajObject.readyState == 4){
   var response = axajObject.responseText;
   //alert(response);
   var code = document.getElementById(code).value;
   var res = pResult of  + code + :nbsp;nbsp; + response + /p;
   document.getElementById(output).innerHTML = res;
   }
}
/script

style type=text/css
   #container{text-align:center;width:550px;border:1px solid #387CAF}
   #output{text-align:center;font-size:14px;font-weight:bold}
/style

/head

body
   div id=container
   h3Simplest possible AJAX SAGE calculator./h3
   pType in some valid SAGE code and hit enter./pbr/br/
   Code:nbsp;input type=text id=code name=code
onkeypress=sendRequest(event)/labelnbsp;
   br/br/
   span id=output/span
   br/br/br/br/
   h3If you run SAGEIDE on the same machine that the simple server is
running on, SAGEIDE can be used to send requests to the server
too./h3
   /div
/body
/html


class Root(resource.Resource):
   addSlash = True

   def __init__(self):
   self.child_eval = EvalSomeSAGECode()

   def render(self, request):
   return http.Response(200, {'content-type':
http_headers.MimeType('text', 'html')}, HTML)

class EvalSomeSAGECode(resource.PostableResource):

   def render(self, request):
   code_to_eval = request.args.get('code')[0]
   print code_to_eval

   directory = '/tmp'

   try:

   #code_to_eval = code_to_eval.replace('\\','')
   s =
sage.misc.preparser.preparse_file(code_to_eval, magic=False,
   do_time=True, ignore_prompts=True)
   s = [x for x in s.split('\n') if len(x.split())  0 and \
   x.lstrip()[0] != '#']   # remove all
blank lines and comment lines

   if len(s)  0:
   t = s[-1]
   if len(t)  0 and not ':' in t and \
   not t[0].isspace() and
not t[:3] == '':
   t = t.replace(',\\')
   s[-1] = exec compile('%s', '',
'single')%t

   s = '\n'.join(s) + '\n'


   open('%s/_temp_.py'%directory, 'w').write(s)


   result =
sage0._eval_line('execfile(%s/_temp_.py)'%directory)

   #o = word_wrap(o, ncols=numcols)
   print result
   return http.Response(200, {'content-type':
   http_headers.MimeType('text', 'html')}, result)


   except (RuntimeError, TypeError), msg:
   print ERROR!!!, msg



if __name__ == __main__:
   from twisted.internet import reactor
   site = server.Site(Root())
   factory = channel.HTTPFactory(site)
   reactor.listenTCP(8000, factory)
   print \nOpen your browser to 'http://localhost:8000'\n
   reactor.run()

 end server 



Save this program (lets call it php_server.py), set the /tmp string
to a directory of your choice, and then execute the program as
follows:

sage 

[sage-support] Re: Newbie Question

2008-02-05 Thread Ted Kosan

Alex wrote:

 I am using Mac OSX, running Python 2.5.1 from the terminal.

 By regular interpreter i mean, pulling up the Terminal and typing
 python to launch the Python. I want to be able to bundle everything up
 for users and let them interact with whatever interpreter they use and
 not necessarily need to know about using sage.  Allowing them to build
 write scripts referencing my classes to manipulate data.

 Again, I'm new to Sage and Python (am typically a Java dev) so I
 apologize if these questions are ridiculous.  I am trying to find
 analogous situation to jaring up my library and letting users use it
 to build Java apps.

Here is my current understanding of what Sage's architecture looks
like (corrections by more knowledgeable developers are welcomed):

 http://sage.math.washington.edu/home/tkosan/misc/sage_architecture_v.05.png

What this diagram shows is that Sage takes a standard python
environment and then significantly enhances it with: 1) python code
developed by the core Sage developers. 2) open source math-oriented
python modules, and 3) pseudo-tty connections to various stand-alone
applications which are written in various languages.

In Java, this might be similar to taking Java SE 6, bundling various
open source packages with it, and also bundling various native
applications with it and accessing them with JNI.

Sage contains so much customized functionality that there is no easy
way to get around the need for people to have their own complete copy
of Sage in order to run any Sage-based code you may develop :-)

Since you are a Java programmer learning Python, I recommend that you
read the Jython Essentials book from O'Reilly before moving on to
pure Python books.  The Jython book explains how Python works by
showing how it is similar to Java and also how it is different.  I
also came to Python from Java and I think this short book was able to
get me up and running with Python much quicker than a pure Python book
would have been able to do.

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-support] Re: Warnings from JsMath

2008-01-25 Thread Ted Kosan

Bill wrote:

 Where is the server tree for the notebook server?

The fonts are installed in the computer that is running the browser,
not the one that is running the Sage server :-)  The idea is that the
browser loads the fonts from the hard drive that it was launched from
when it visits a web page that uses jsMath.  For example, here is a
web page that uses jsMath and it will also show the warning message if
your system does not have the fonts installed:

http://www.math.union.edu/~dpvc/jsmath/examples/TeXbook16.html

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-support] Re: sage on disk

2008-01-24 Thread Ted Kosan

William wrote:

  I finally figured out how to get 7zip to unzip
  sage-vmware and that produced a folder with jillions files.The instructions
  in the readme file (included below) say to click on sage.vmx.  This file is
  NOT in the folder.  So I clicked on every folder until I finally found the
  one that works.   It is called simply sage (Vmware configuration file) in my
  machine.  There is no ,vmx extension on the file name.  I recall that this
  fooled William when he was installing sage on my office pc.  You might want
  to change the instructions in the readme file.

 Is Windows hiding filename extensions? The fact that it said (Vmware
 configuration file) seems to indicate that the extension was there,
 but Windows wasn't showing it to you...

My thought here is to rename sage.vmx to sage_vmx.vmx. Windows hides
file extensions by default and so 95% of Windows users are going to
have difficulties locating the vmx file.

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-support] Re: Putting parentheses around -1.

2008-01-23 Thread Ted Kosan

Mike wrote:

 It is due to the fact that ^ has a higher precedence than - in Python.
 n(-1^(1/3)) is the same as n((-1^(1/3))).

Okay, here is how I ran into this:

https://sage.ssu.portsmouth.oh.us:9000/home/pub/21/

What I expected to get was -1.44224957030741.  Which result should it produce?

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-support] Re: Putting parentheses around -1.

2008-01-23 Thread Ted Kosan

kcrisman wrote:

But what Ted really wanted was just the real cube root of -1.

What I wanted was where the graph crossed the x axis as shown in the plot :-)

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-support] Re: Putting parentheses around -1.

2008-01-23 Thread Ted Kosan

William wrote:

 Until a month ago (-1)^(1/3) would have given -1.  This is the default
 behavior dictated by Maxima.  Then Paul Zimmerman complained
 (with a great argument) that this was stupid, and Mike Hansen changed
 the default Maxima behavior to what we currently have.  He did
 this by setting a variable when the symbolic arithmetic class starts maxima.

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

 If you saw Paul Zimmerman's talk at Sage Days 6, you get the very
 strong impression that he's right about anything like this.

Hmmm, on the worksheet I posted the plot for this equation shows the
graph crossing the x axis around -1.5 but solve indicates this value
is 0.721124785153704 + 1.24902476648341*I.

So why is solve placing parentheses around the 3rd root it returns if
it evaluates into an imaginary value?

[...,..,x == (-1)^(1/3)*3^(1/3)]


I ran into this issue while demonstrating the usefulness of the solve
function in front of a class of students.  That was quite 'fun' :-)

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-support] Re: Putting parentheses around -1.

2008-01-23 Thread Ted Kosan

 So why is solve placing parentheses around the 3rd root it returns if
 it evaluates into an imaginary value?

 [...,..,x == (-1)^(1/3)*3^(1/3)]

around the 3rd root should be around the -1 in the 3rd root

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-support] Re: Comments (in notebook in particular)

2008-01-08 Thread Ted Kosan

bil wrote:

 OK, thanks. I found adding text beginning with '#' seemed to be OK
 within the cells,snip

The newbies book also shows examples of commenting problem solutions
in the notebook:

http://sage.math.washington.edu/home/tkosan/newbies_book/

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: Comments (in notebook in particular)

2008-01-08 Thread Ted Kosan

Gani wrote:

 How did you make the pdf file? Did you use some other approach than
 notebook for all the inputs/outputs, etc. The whole package looks very
 integrated, so I am very curious how you achieved it.

The source document is an OpenOffice document and it is the .odt file
that is in the same directory as the .pdf file.

All the calculations are done in a Sage notebook and I just copy
source code and the results to OpenOffice as needed.  OpenOffice has a
Latex - png converter macro that I used to copy over Latex code and
it has a mathematics notation editor that I used to create the various
equations.

The reason I used OpenOffice for the newbies book is that it is
targeted at high school students and teachers and I wanted them to be
able to copy content from the newbies book to their own documents.
Most of these people use Microsoft office and are comfortable with
software like this.  If they do not want to use OpenOffice
specifically, it is able to save documents in Word format too :-)

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: OLPC and sage

2007-12-19 Thread Ted Kosan

David wrote:

 I tried to connect to the online server on sagemath.org
 but the laptop apparently could not achieve a secure connection.
 I wonder if a SAGE binary can be run from an SD card?

What comes to mind is to file this as a bug report in the OLPC tracking system:

http://dev.laptop.org/

Perhaps they can locate and fix the problem and they will also be made
aware that SAGE exists.

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: Fwd: web integration

2007-12-18 Thread Ted Kosan

Gabriel wrote:

 so i was thinking php has  the exec comand that  executes a program
 and  gets  his  answer if sage  has some way to execute his function
 by a pseudo-tty interface will be great  like that:
 ./sage --40+8
 sage: 48

One way that I know of to allow a language to access SAGE is to use
the following simple SAGE server program:



#
# Alex Clemesha [EMAIL PROTECTED] 2007
# Modified by Ted Kosan to use the SAGE preparser and to accept
# multiple line input.
#
from twisted.web2 import resource
from twisted.web2 import http_headers
from twisted.web2 import http
from twisted.web2 import channel
from twisted.web2 import server

#from sage.interfaces import sage0

# SAGE libraries
import sage.interfaces.sage0

from   sage.misc.misc import word_wrap
import sage.misc.preparser
from   sage.misc.viewer import browser
from   sage.structure.sage_object import load, SageObject

global sage0
sage0 = sage.interfaces.sage0.Sage()

HTML = 
html
head
script type=text/javascript

var axajObject = createRequestObject();

function createRequestObject() {
var xmlhttp;
try { xmlhttp=new ActiveXObject(Msxml2.XMLHTTP); }
  catch(e) {
try {
xmlhttp=new ActiveXObject(Microsoft.XMLHTTP);
}
catch(e) {
xmlhttp=null;
}
  }
  if(!xmlhttptypeof XMLHttpRequest!=undefined) {
xmlhttp=new XMLHttpRequest();
  }
return  xmlhttp;
}

function sendRequest(event) {
var code = document.getElementById(code).value;
if (code.length  0  event.keyCode == 13) {
var ecode = encodeURIComponent(code);
//alert(ecode)
var req = /eval?code= + ecode;
try{
axajObject.open(POST, req, true);
axajObject.setRequestHeader('Content-Type',  text/html);
axajObject.onreadystatechange = handleResponse;
axajObject.send();
}
catch(e){
// caught an error
alert('Request send failed.');
}
finally{}
}
}

function handleResponse() {
if(axajObject.readyState == 4){
var response = axajObject.responseText;
//alert(response);
var code = document.getElementById(code).value;
var res = pResult of  + code + :nbsp;nbsp; + response + /p;
document.getElementById(output).innerHTML = res;
}
}
/script

style type=text/css
#container{text-align:center;width:550px;border:1px solid #387CAF}
#output{text-align:center;font-size:14px;font-weight:bold}
/style

/head

body
div id=container
h3Simplest possible AJAX SAGE calculator./h3
pType in some valid SAGE code and hit enter./pbr/br/
Code:nbsp;input type=text id=code name=code
onkeypress=sendRequest(event)/labelnbsp;
br/br/
span id=output/span
br/br/br/br/
h3If you run SAGEIDE on the same machine that the simple server is
running on, SAGEIDE can be used to send requests to the server
too./h3
/div
/body
/html


class Root(resource.Resource):
addSlash = True

def __init__(self):
self.child_eval = EvalSomeSAGECode()

def render(self, request):
return http.Response(200, {'content-type':
http_headers.MimeType('text', 'html')}, HTML)

class EvalSomeSAGECode(resource.PostableResource):

def render(self, request):
code_to_eval = request.args.get('code')[0]
print code_to_eval

directory = '/tmp'

try:

#code_to_eval = code_to_eval.replace('\\','')
s = sage.misc.preparser.preparse_file(code_to_eval, 
magic=False,
do_time=True, ignore_prompts=True)
s = [x for x in s.split('\n') if len(x.split())  0 and 
\
x.lstrip()[0] != '#']   # remove all blank 
lines and comment lines

if len(s)  0:
t = s[-1]
if len(t)  0 and not ':' in t and \
not t[0].isspace() and not 
t[:3] == '':
t = t.replace(',\\')
s[-1] = exec compile('%s', '', 
'single')%t

s = '\n'.join(s) + '\n'


open('%s/_temp_.py'%directory, 'w').write(s)


result = 
sage0._eval_line('execfile(%s/_temp_.py)'%directory)

#o = word_wrap(o, ncols=numcols)
print result
return http.Response(200, {'content-type':
http_headers.MimeType('text', 'html')}, result)


except (RuntimeError, TypeError), msg:
print ERROR!!!, msg



if __name__ == __main__:
from twisted.internet import reactor

[sage-support] Re: Fwd: web integration

2007-12-18 Thread Ted Kosan

Oops, I accidentally sent the previous email before adding final comments.

The second program is written in JYthon.  It sends SAGE code to the
simple server for execution and then prints the response.  My thought
is that PHP might be able to access the simple server using code that
is similar to this.

Does this approach seem like it will work for you?

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: Fwd: web integration

2007-12-17 Thread Ted Kosan

Hello Gabriel,

William posted your question on the SAGE support group:

http://groups.google.com/group/sage-support

Would you be able to join this group so that the discussion on this
topic can be recorded for later reference?

Thanks :-)

Ted Kosan
A Sage user

On Dec 17, 2007 3:23 PM, William Stein [EMAIL PROTECTED] wrote:



 - William

 (Sent from my iPhone.)

 Begin forwarded message:


 From: gabriel [EMAIL PROTECTED]
 Date: December 17, 2007 1:04:56 PM MST
 To: [EMAIL PROTECTED]
 Subject: web integration


 hi i'm gabriel
 and i work on traca (www.traca.com.br) we are a online used bookstore
 situated in south of Brazil.
 well we  work  with PHP and we use  your program, sage, i need to now  if
 there is a way to integrate PHP with  sage?
 if it is not possible  could you tell how to use a  pseudo-tty interface i
 haved read  yours documetantion but i don't understand very well.
  i need something like that:
 ./sage --function  or ./sage 4+5
 i will very gratefull if  you could  help me

 sorry if my english  is not very  well

 bye

  


--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: sage question from alaska

2007-12-15 Thread Ted Kosan

William wrote:

 What I see then
  on the x-axis is time (recording every 5 seconds) and temperature (C) on
  the y-axis.  Would Sage allow me to integrate the area under the curve?

 Yes, definitely snip

Which function in SAGE would be best for doing this?

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: Graphics updating?

2007-12-12 Thread Ted Kosan

kcrisman wrote:

 Is there any way to get SAGE to update a graphic without actually
 creating a new graphic, either in command-line mode or in notebook?
 Obviously flooding the screen with graphics is not what he has in
 mind, but I couldn't find any documentation on whether this was
 possible yet.

 (On a side note, the graphic aspect of the interface is one of the
 weakest points of SAGE for the undergrad teaching side of things.  It
 'should be' easy as pie to create a 3-d graphic of some bizarre
 function that students can automatically view from all angles or even
 zoom with their mouse.)

I have been working on an applet which runs inside of the notebook and
that will provide interactive graphics capabilities.  If you have a
recent version of Java installed on your machine (http://java.com) and
would like to try a demo version of the applet, open a new worksheet,
paste the following code into a cell, and execute it:

html('applet id=mathrider
code=org.mathrider.MathRider.classwidth=800 height=650
codebase=http://sage.math.washington.edu/home/tkosan/mathrider/archive=mathrider.jar;
MAYSCRIPT/applet')

When the applet comes up, play with the 2D and 3D images (the 3D image
can be rotated by dragging it with the mouse.) to see if they are
close to what you are looking for.

This demo version of the applet does not talk to the SAGE server, but
the version I am working does.

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: Questions about solve()

2007-11-27 Thread Ted Kosan

Ondrej wrote:

  Could you please clarify, what exact functionality in solve you expect
  in order for 1235 to be solved?
 
  Should it just run the iterative numerical solver if it cannot find
  the solution analytically?


And William wrote:

 I don't know.  However, Ted, what do you think of the following, i.e.,
 it is a way in Sage to solve your problem which is probably pretty
 clean and flexible, and could certainly made a little more student
 friendly?

 sage: var('t')
 sage: a = .004*(8*e^(-(300*t)) - 8*e^(-(1200*t)))*(72*e^(-(300*t))
 - 1152*e^(-(1200*t))) +.004*(9600*e^(-(1200*t)) -
 2400*e^(-(300*t)))^2
 sage: from scipy.optimize import brentq
 sage: # Given two points x, y such that a(x) and a(y) have different sign, 
 this
 sage: # brentq uses inverse quadratic extrapolation to find a root of a in 
 the
 sage: # interval [x,y].  It has lots of extra tolerance and other options.
 sage: brentq(a, 0, 0.002)
 0.00041105140493493411
 sage: show(plot(a,0,.002),xmin=0, xmax=.002)

 I.e., what we provide an numerical_root method so that
  a.numerical_root(x,y)
 would fine a numerical root of a in the interval [x,y], if it exists?
 It could be built on brentq.  The main thing we would have to add
 is some sort of analysis to find x', y' in the interval so that a(x')
 has different sign from a(y'), i.e., decide if there is a sign switch,
 which could be doable for many analytically defined functions at least.

Here is an excerpt from a Mathematica FAQ that I located on the Internet:
-
3.2 I've properly entered a Solve command but all Mathematica returns
is an empty list!
What's going on:

You've asked Mathematica to solve an equation it can't solve
analytically. So instead
of a list of solutions, it gives you an empty list. The same thing can
happen, incidentally, with NSolve.

How to fix the problem: Try using FindRoot to solve the equation.
First write the equation in the form
expression = 0.
(1)
Then use Plot to graph the expression. Use Mathematica's coordinate
locator to determine roughly where
the zeros of the expression are. Feed these to FindRoot as initial guesses.
-

It appears that Mathematica uses the same technique that you describe
using brentq to solve this problem.

Also, this recent discussion on sage-developer seems to be related to
this issue:

http://www.mail-archive.com/[EMAIL PROTECTED]/msg06571.html


For the engineering oriented problems like the two I originally
submitted, we are usually interested in numeric results.  I am now
thinking that having functions like nsolve() and find_root() in SAGE
would serve our needs better than enhancing the solve() function.

What is coming to mind is that nsolve() would work like Mathematica's
NSolve function
(http://documents.wolfram.com/mathematica/functions/NSolve) and
find_root() would be a wrapper around brentq.

Does this seem reasonable?

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: Questions about solve()

2007-11-26 Thread Ted Kosan

William wrote:

 I think one student working for two weeks could greatly enhance solve,
 but making it:

(1) try the maxima solve, and
(2) if the maxima solve returns no solutions, do something further that
  involves numerics, e.g., calling to scipy's iterative solver.

 In particular, if you could give a list of the sort of problems you want to 
 make
 sure solve could solve, we can make sure it does.

 Students here work for about $13/hour for up to 19 hours/week, so two weeks
 would be $494.  Possibly Bobby and/or Josh would be interested?

I just received permission from my University to spend $1000 to have
the SAGE project fix the following bug:

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

and add the following enhancement:

http://sagetrac.org/sage_trac/ticket/

The only difficulty is that the money needs to be sent in the form of
a Purchase Order.  If this is possible then I can begin the paperwork
immediately :-)

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: Questions about solve()

2007-11-21 Thread Ted Kosan

William wrote:

 But this might be pretty hard to fix soon.   Making sure we
 are well aware of it, though, is critically important if we
 are to push Sage to be truly professional level in
 non-algebraic areas...

Do you have a rough estimate of how much it might cost to fix this bug
(either in Sage or in Maxima)?  The university I teach at might be
willing to pay for the cost of fixing this bug since our curriculums
use this type of calculation heavily.

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Questions about solve()

2007-11-20 Thread Ted Kosan

Does anyone have any thoughts on why the solve() function this program
returns an empty list?:

sage: var('t')
sage: a = .004*(8*e^(-(300*t)) - 8*e^(-(1200*t)))*(72*e^(-(300*t))
- 1152*e^(-(1200*t))) +.004*(9600*e^(-(1200*t)) -
2400*e^(-(300*t)))^2
sage: print a(t=.000411)
sage: show(plot(a,0,.002),xmin=0, xmax=.002)
sage: solve(a==0,t)


And why the solve() function in this program hangs?:

sage: var('t')
sage: v = 0.004*(9600*e^(-(1200*t)) - 2400*e^(-(300*t)))
sage: show(plot(v,0,.002),xmin=0,xmax = .002)
sage: solve(v == 0,t)


Thanks in advance,

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] An interactive 2D/3D environment for SAGE

2007-10-24 Thread Ted Kosan

For the past couple of months, I have been researching strategies for
extending SAGE with an interactive 2D/3D environment that would be
significantly more advanced than what current mathematics software
provides.  My vision is to be able to place the user into a 3D
environment where they can interact with numerous rich mathematics
objects that are floating around them in 3D space.

So far, the best environment I have come up with is Croquet (
http://opencroquet.org ).

Here is a video which shows the basics of how Croquet works:

http://www.youtube.com/watch?v=oKi-fkyAtg8


And this video shows Croquet used in an amazing interactive session:

http://www.youtube.com/watch?v=2LN5JRl8_sUeurl=http%3A%2F%2Fvideo%2Egreenbush%2Eus%2F%3Frandom%3D


Anyway, what do people think about the idea of using Croquet as an
interactive 2D/3D environment for SAGE?

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Logging http requests

2007-10-23 Thread Ted Kosan

Does anyone know to enable logging of http requests with the twisted
version of the SAGE Notebook server?

Thanks,

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: Logging http requests

2007-10-23 Thread Ted Kosan

Alex wrote:

 twisted has a lot of built in logging facilities, see

 = from twisted.python import log (like log.LogWrapperResource)

 = from twisted.web2 import log

 = the logging functionality associated with the 'twistd' script

 I know standard log formats are supported, like apache log formats.
 So in summary, don't write anything, it already exists! :)

I had gotten as far as duplicating the logging information that
twisted displays to standard output using 'from twisted.python import
log' and my next step was to see if it could be configured to log the
http requests.  I just wanted to make sure that code to support this
was not already present in SAGE before moving forward.

Thanks :-)

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: SAGEIDE v.03 released (Java does not need to be preinstalled on your machine now)

2007-10-20 Thread Ted Kosan

Sam wrote:

 It is very interesting to me because recently I have been  thinking
 about how to call SAGE (Or one of it's cousins like Axiom, MAXIMA,
 YACAS,ALDOR) from my Java program that is going to run in a JEE server
 which is a back end of an education website.

I think that SAGE is well-suited for this type of web-application
support and that its potential in this area is enormous.  What is the
educational website you are working on?


  The windows version does not have the capability to communicate with a
  SAGE server yet, but this is coming soon.

 Does this mean I can't do any testing in windows yet? I am running
 SAGE in windows using the vmware bundle I downloaded from the SAGE. It
 looks like a virtual Linux machine.So if the windows version isn't
 ready yet can I use this linux virtual machine to test your program?

Your timing is good for asking these questions.  Version .03 of
SAGEIDE has just enough proof-of-concept communication code in it to
show that Java/Jython can be used to talk with a very simple
experimental SAGE server.  The proof-of-concept code worked and I am
now in the process of studying and documenting SAGE's notebook web
interface with the goal of enabling Java (and other languages) to talk
to it too.  My current estimate is that I should have something usable
within a few weeks.



 I am a  real newbie! New to SAGE , Python ,Linux, AJAX and almost
 everything else that is mentioned in this forum except Java. But I am
 so desperate that I am prepared to learn all these things if that is
 what it takes to get my job done.
 ...
 I would like to ask you lots of questions about this but first I would
 like to play with your SAGEIDE. I am using Windows.

Instead of starting with SAGEIDE, I am going to recommend an
alternative path for you to take:

1) Go to http://gentoonewbie.org/ and work through the Linux Newbie
series of ebooks you find there.  Depending on how much time you have,
this should take you between 1 and 2 weeks.  These books will give you
most of the skills you will need to set up a Linux server, install
SAGE on it, and manage it.

2) Obtain a copy of Jython Essentials by Pedroni and Rappin,
O'Reilly and start working through it.  I have found that this book
allows Java programmers to get up to speed on the fundamentals of
Python quicker that most other books.  This is the book that gave me
my OMG moment with Python and I think it will do the same for you :-)

3) Obtain a copy of Learning Python by Lutz and Ascher, O'Reilly and
work through this book after you finish the Jython book.  This is also
a book on fundamental Python, but it has more details than the Jython
book and it is focused on the standard C version of Python which SAGE
uses.  There are other good Python beginner books available, but since
this is the one I have read, I can help you with specific questions
about it if you have them :-)  (This book is as far as I have gone in
Python so far myself and I am looking forward to working through more
advanced books.)

Anyway, hopefully soon after you are done with the Linux books I will
have some SAGE communications code for you to play with.  Until that
time, feel free to email me directly at ted.kosan-at-gmail.com so we
don't fill this list with non-SAGE related topics :-)

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] SAGEIDE v.03 released (Java does not need to be preinstalled on your machine now)

2007-10-04 Thread Ted Kosan

First, I would like to say that I really like the SAGE notebook and I
have spent numerous hours working with it over the past 6 months.  It
is a real workhorse and I couldn't imagine SAGE without it.

Having said that, I think that SAGE will not be able to compete with
MATLAB, MathCAD, Mathematica, etc. until it has a world-class, cross
platform GUI front end.

I am in the process of building such a front end for SAGE and its
working name is SAGEIDE.  Here is a screenshot of it:

http://sage.math.washington.edu/home/tkosan/sageide/sageide0.png


Version .03 of SAGEIDE has just been released and it is available for
both windows and linux.  The application is written in Java, but Java
does not need to be installed on your machine because it is included
in the download file.  Here is the website that contains the release
files:

http://sage.math.washington.edu/home/tkosan/sageide

All you have to do is to download an archive file, unpack it, and then
execute the run.sh or run.bat script to launch the application.

The windows version does not have the capability to communicate with a
SAGE server yet, but this is coming soon.

What I need now is for people to download the application, play with
it a bit, and provide some feedback and dreams.  SAGEIDE represents a
whole new way to interact with SAGE and its potential for enabling all
kinds of innovative capabilities is huge.  As a hint of things to
come, SAGEIDE already has the amazing Java3D built into it and it is
just itching to make your 3D math visions a reality!

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Sage Programming for Newbies v0.55_alpha has been released

2007-09-24 Thread Ted Kosan

The Sage Programming for Newbies eBook (v0.55_alpha)  has been
released and it can be found at the following URL:

http://sage.math.washington.edu/home/tkosan

Questions about the eBook can be asked in the sage-newbie group:

http://groups.google.com/group/sage-newbie

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: Obtaining the png image of equation

2007-09-23 Thread Ted Kosan

William wrote:

 What operating system (linux distro, etc.) exactly?  Unfortunately the
 log below doesn't contain anything that helps me figure out that problem.

I am a Gentoo user.



 Do you have dvipng installed on your computer (it's *not* there by default
 in Ubuntu, even if you install latex)?

I did not have dvipng installed, so this was the problem.  What I am
trying to do is to make it relatively easy for a newbie to put
together mathematics-oriented documents using a word processor.  Being
able to use pdf images of mathematics objects created in SAGE seems to
be a good way to enable this.  If dvipng is not included in SAGE,
however, this is going to be a hurdle that a newbie will have to
overcome.

Is it possible for dvipng to be included in the SAGE binary download?

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: two-dimensional plots and axes

2007-09-20 Thread Ted Kosan

Alex wrote:

 I need to plot some simple functions in one variable (e.g. x^3, cos(x),
 etc.).  The graphs come out very nice, but the axes have ticks, some of
 which are labeled with the corresponding numbers.  I would like the axes
 to be bare, so with only the actual lines appearing.

I know the following is not exactly what you are looking for, but a
while back I needed to obtain more control over plotting in SAGE and I
ended up using matplotlib directly.  Here are some examples that may
give you some ideas:

http://www.sagenb.org/home/pub/1467/

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: Fwd: sage logo page?

2007-09-03 Thread Ted Kosan

William wrote

 One thing that has sort of emerged over the last year is that Sage isn't
 just for Algebra and Geometry, it's for much much more.  So we've sort
 of stopped think of SAGE as an acronym, and more as just a word
 (like a wise mathematical sage that gathers together the wisdom
 of generation).

If Sage is no longer an acronym, does this mean that typing its name
in all capital letters isn't necessary anymore?

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: n() method for rational numbers

2007-09-01 Thread Ted Kosan

I am using 2.8.3 and the N() method is working well for me for rational numbers.

However, I am now thinking that a lower case n() would be better after
all because it conforms to the Python method naming convention.  When
a = 1/2...   a.tab is entered in the notebook, the N() method is the
only method in the list that begins with a capital letter and it looks
out of place.

At first I thought it would be nice to have the N() method match the
N() function, but now I am thinking that this will cause the problem
of having to continuously explain to people why the method convention
was broken for this method.

Ted



On 8/28/07, Ted Kosan [EMAIL PROTECTED] wrote:
 William wrote:

 (2) Should it be lower case n() or upper case N()?

 I like the upper case N() because it matches the N() function.

 Ted


--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: n() method for rational numbers

2007-08-28 Thread Ted Kosan

William wrote:

 Actually, I don't see a compelling reason to add it for rationals since it
 is already available as a function:
sage: N(1/2,10)
0.50
sage: N(2/3,10)
0.67
sage: N(2/3,50)
0.67

My request for adding a n() method for rationals is an extension of a
request I made earlier:

On 7/10/07, Ted Kosan [EMAIL PROTECTED] wrote:
 I have found myself using numerical_approx() instead of RR() because
 it is also placed at the end of the line and so is relatively easy to
 locate the cursor there and add it.  With RR(), one has to wrap the
 code in a function and then unwrap it when finished, which I have
 found takes more time (and is more error prone) than just having to
 deal with code that is all at the end of a line.
snip

 William's response
I would be happy to introduce a short-cut alias for numerical_approx,
e.g., N() or n() or ??.  You can try out a few by doing this:
snip

First, I would like to report that I have been using the .n() method
fairly heavily since it was added to Sage and I find that it is able
to be added to code and removed very quickly.

I am currently using Sage for a Circuit Analysis class I am taking and
I find that I am needing to take frequent 'peeks' at the numerical
approximates of rational numbers.  I have discovered that adding and
removing N() for taking quick 'peeks' is not nearly as quick as adding
and removing an n() method would be, and I miss this.

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: Categorizing Sage's documentation

2007-08-25 Thread Ted Kosan

William wrote:

So maybe the docstring for a function might have something like.

SUBJECTS:
  Algebra.Combinatorics, Analysis.ComplexFunctions

Something like this seems like a really good idea.

My thought with the hierarchical tags is that they would allow the
above function to be returned in general searches on Algebra or
Analysis in addition to being returned from more specific searches.

Also, I wrote a small program to extract function descriptions from
docstrings but it was having trouble locating where the descriptions
began and ended due to variations in the placement of newlines, etc.

It would be nice if descriptions could also be clearly indicated in
the docstrings so that tools could locate them easier.




  2) What would the Trigonometry tag look like if it were added to the
  math_categories.txt file?

 I'm not quite sure I understand the question.  By I could
 imagine that the sine function's documentation would have

 SUBJECTS:
Trigonometry, 

The wikipedia Areas_of_mathematics page does not seem to contain an
entry on general trigonometry:

http://en.wikipedia.org/wiki/Areas_of_mathematics

I was wondering where general trigonometry would be placed if it were
added to this document?

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: Categorizing Sage's documentation

2007-08-24 Thread Ted Kosan

Martin wrote
 one problem I see is that SAGE is an object oriented system and giving a list
 of functions kind of underrepresents SAGE therefor. OO is one of the big
 plusses of SAGE to me.

 Also, maybe it doesn't matter for the target audience but using functions only
 you won't get far in e.g. commutative algebra. E.g. a newbie cryptographer
 who wants to use SAGE to compute some Gröbner basis won't find that list very
 useful.

I agree.  The strategy I am taking with the newbie book is to
progressively expose Sage's capabilities so that the reader is not
overwhelmed.  Functions are covered before Sage's OO aspects since
they are easier to understand than OO.

I am hoping to also use a categorization scheme with classes and
methods in addition to the class inheritance hierarchy:

Inheritance hierarchy of 3/4
... Rational
.. FieldElement
. CommutativeRingElement
 RingElement
... ModuleElement
.. Element
. SageObject
 object



  What is coming to mind is to use categories in this format as tags
  that can be added to the Sage documentation.  Another kind of tag I
  think would be useful is one that states whether something is at the
  Beginner, Intermediate, or Advanced level.

 Can you actually classify a function (or method or class?) as Beginner or
 Advanced? What is a Beginner? To me it seems this depends a lot (if not
 entirely) on the area you are working with what looks Beginner or Advanced to
 you.

When I was extracting functions from the index in the reference
manual, I was looking for functions that matched what a high school
student would typically need to use.  Instead of using Beginner,
Intermediate, and Advanced tags, perhaps a HighSchool tag would make
better sense?

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Categorizing Sage's documentation

2007-08-23 Thread Ted Kosan

As part of the Sage Programming For Newbies I am writing, I put
together the following list of Sage functions that I thought newbies
would find useful:

http://206.21.94.60/tmp/functions_with_descriptions.txt


As I compiled this list of functions, it occurred to me that it would
be nice to have them organized by category in addition to having them
listed in alphabetical order.

As a first step towards creating a Sage documentation categorization
scheme, I started with the Areas of Mathematics page on wikipedia (
http://en.wikipedia.org/wiki/Areas_of_mathematics ) and transformed it
into the following package-like format:

http://206.21.94.60/tmp/math_categories.txt


What is coming to mind is to use categories in this format as tags
that can be added to the Sage documentation.  Another kind of tag I
think would be useful is one that states whether something is at the
Beginner, Intermediate, or Advanced level.

I spent hours manually scanning through the Sage documentation in
order to extract the above list of functions.  If a documentation
tagging system were in place, however, I think I could have written a
program that would have extracted these functions automatically.

Having presented the idea of categorizing Sage's documentation by
using tags, I have the following 2 questions:

1) What do people think of this idea?

2) What would the Trigonometry tag look like if it were added to the
math_categories.txt file?

Thanks,

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: Fwd: Computer Algerbra Systems (not spam)

2007-08-10 Thread Ted Kosan

William wrote:

 From the guy who started this thread:
 -
 David Collierto me

 Hello William,

 Now that's what I call a response!  Thank you.

 I'll take a look at Sage and give you some feedback.  I am looking for a way
 to contribute to the school, maybe this is an appropriate tool.

Any chance we can see the response you sent to David Collier?  It must
have been exceptional.

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: Fwd: Computer Algerbra Systems (not spam)

2007-08-09 Thread Ted Kosan

David wrote:

 Good ideas, I think. I'd like more high school math (drawing triangles etc,
 lots of trig and algebra exercises) included.

What I had in mind was something a bit more aggressive than this :-)

The beginner's book is designed to give the reader the fundamental
skills needed use Sage effectively at a moderate level of ability.  As
soon as the beginner's book is finished, however, my plan is to
immediately follow it with a copyleft Fundamental Mathematics book
which is designed from the ground-up to leverage Sage.  This book can
include all of the subjects you mentioned.

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: Fwd: GUI for SAGE

2007-08-09 Thread Ted Kosan

On 8/9/07, William Stein [EMAIL PROTECTED] wrote:



 - William

 (Sent from my iPhone.)

 Begin forwarded message:


 From: [EMAIL PROTECTED] (Erik D.
 Jacobson 04)
 Date: August 9, 2007 3:12:49 PM PDT
 To: [EMAIL PROTECTED]
 Subject: GUI for SAGE


 Hello Prof. Stein,

 I'm a high school math teacher and I'm interested in using SAGE in the
 classroom; I'd like students to write probability simulation programs and
 I'd like to use SAGE to introduce them to computer programming.  I work with
 Peter Doyle at Dartmouth College, who has similar goals for using SAGE in an
 introductory probability course at the college level.

 Can you recommend an IDE that supports SAGE?  I like DrPython...but I
 haven't been able to get it to run my SAGE programs (I'm running SAGE from a
 virtual machine on my PC).  The Notebook interface lacks colored text and
 auto-indent--features that can really smooth out the learning curve for a
 beginner.

The Sage IDE application I posted a link to earlier would work well
for this type of situation.  In fact, teaching beginners how to
program in a high-level language is one of the main reasons I am
putting it together. ( http://206.21.94.60/tmp/sageide_dist.01.zip )

I am also glad to see that I am not alone in thinking that Sage is an
excellent first language to teach to beginners :-)

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Save button in the notebook

2007-08-06 Thread Ted Kosan

I am in the process of developing a standard format that typical
students can follow when using the Sage notebook.  Part of this
pattern consists of creating cells which contain only comments, like
the description of a problem that is being solved.  Since comments are
not executable code, a person would not normally think to press
shiftenter in these cells.

Unfortunately, if text is entered into a cell without pressing
shiftenter, this text is lost even after the Save or Save and
close buttons are pressed.

Can the behavior of these buttons be changed so that all text in all
cells is saved when they are pressed?

Thanks,

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: an IDE for SAGE

2007-07-23 Thread Ted Kosan

Erik wrote:

 Is there an easy/existing way to extend an IDE to support SAGE, both
 the preprocessor (in a shell environment?) and the functionality in
 stand-alone programs?

By coincidence, I have been seriously thinking about this same type of
idea for the past few weeks and the IDE I have been looking at is
JEdit:

http://jedit.org/

JEdit is a mature programmer's editor that is very modular,
customizable, and programmable.  One can use it to write CPython code
and Jython code and I think it would work well as an IDE front end for
SAGE.

One advantage that JEdit has is that, aside from being able to run on
multiple operating systems, I think it can be packaged an applet that
would also be able to run inside of a browser.  This means that this
applet can be served to the client from SAGE's web server.

Anyway, I don't see an IDE front end as a replacement for the notebook
( which I really like), but rather, I see it as an option to explore.

If you play with JEdit and decide that you like it, let me know and
perhaps we can see if we can get it to talk to SAGE.

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: Plotting semi log graphs with matplotlib.pylab.semilogy

2007-07-16 Thread Ted Kosan

William wrote

 Fortunately, because of some well-thought out ideas in designing the
 SAGE notebook (thanks Tom Boothby!) It is very easy to produce graphics
 that embed in the notebook even if SAGE doesn't have any explicit support
 for them.  For example, you can easily do *any* example in the entire
 matplotlib documentation directly snip
...
 I've always planned to make it a lot clearer to people that SAGE comes
 standard with a complete clone implementation of matlab's 2d plotting
 functionality...  This should really go right in the tutorial and in the
 documentation for SAGE's current plotting code.

I spent the past few days studying matplotlib and then I used it to
create the following semilog plots:

https://sage.math.washington.edu:8103/home/pub/1467/

I personally found that matplotlib's object oriented API worked better
for me than using the pylab interface and this is why all of my
examples use the API.

Thank you for relaying the information about matplotlib to me :-)

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Subtracting symbolic equations

2007-07-16 Thread Ted Kosan

Hello,

I am experimenting with subtracting symbolic equations from each other
but I am running into some difficulties which are shown in the
following example:

--
| SAGE Version 2.6.alpha1, Release Date: 2007-06-02  |
| Type notebook() for the GUI, and license() for information.|
--

sage: m = 144 == 20 * a + b
sage: n = 136 == 10 * a + b
sage: m
144 == (b + 20*a)
sage: n
136 == (b + 10*a)
sage: m - n
---
type 'exceptions.TypeError' Traceback (most recent call last)

/home/tkosan/ipython console in module()

type 'exceptions.TypeError': unsupported operand type(s) for -:
'SymbolicEquation' and 'SymbolicEquation'

---

Any thoughts on how to properly subtract symbolic equations in SAGE?

Thanks in advance :-)

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Plotting semi log graphs with matplotlib.pylab.semilogy

2007-07-11 Thread Ted Kosan

I would like to plot a list of values on a semi log graph and I think
that matplotlib.pylab.semilogy has the functionality I need.  Can
someone post a short example of the best way to access
matplotlib.pylab.semilogy from within SAGE?

I have been studying SAGE's plot module's source code for clues on how
to do this but I have not had much luck so far.

Thanks in advance :-)

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Plotting semi-log graphs

2007-07-07 Thread Ted Kosan

Hello,

What is a good way to plot semi-log graphs in SAGE?

Thanks in advance :-)

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---




[sage-support] solve() question

2007-07-02 Thread Ted Kosan

Does anyone have any thoughts on why solve() returns [R == -1*I*E] in
the following SAGE session?

Thanks in advance :-)

Ted

--
| SAGE Version 2.6, Release Date: 2007-06-02|
| Type notebook() for the GUI, and license() for information.|
--

sage: a = E == I * R

sage: a
E == I*R

sage: solve(a,I)
[I == (E/R)]

sage: solve(a,R)
[R == -1*I*E]

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: SAGE tutorial for 12-18 year olds ( installation issues )

2007-06-14 Thread Ted Kosan

David wrote:

 You did not say which sage sites were blocked by a firewall.

I have not specifically checked to see which of the high schools we
are serving are blocking SAGE servers.  My observation was that each
of these schools had different website access policies and that it was
difficult to have these policies changed.

Beyond this, we are running into the issue of student homework and
tests being stored on a server that is not under control of the
school.

This is definitely a challenging problem to solve :-)



 Honestly, I think if you were able to write a SAGE tutorial for
 middle and high school students then I this would serve as
 evidence that SAGE sites should not be blocked and that
 SAGE is useful for fulfilling the mission of the school system.
 My impression is that school administrators almost speak
 a different language.

Assuming that the site blocking and external student data issues were
solved, the existing notebook paradigm is inadequate because students
are able to see each other's work.  I think that the addition of
something like the bookshelf paradigm I discussed earlier might help
solve this problem.



 This is a great solution and the only drawback is that such a
 live cd should be maintained. In fact, I believe that a live SAGE CD
 has already been created by Alfredo Portes
 http://sage.math.washington.edu/home/alfredo/
 Can you look at that and see if it work for you?

I download a copy of the sage-live-server-1.6.iso file and burned it 3
times using 2 different machines, but I receive an error which I tried
to boot from them.  I also tried booting the .iso file in a vmware
livecd appliance, but I received the same error.

Perhaps the .iso was corrupted during download and a thought here
would be to include a hash of the file on the download site so that
its integrity could be checked :-)

I did read the README.txt file for the livecd and its philosophy was
similar to what I had in mind.  The SAGE server is inside the school's
firewall so it avoids the website blocking and external student data
storage problem.

Now, if the students can see each other's homework problem could be
solved, that would be great!

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: Maxima requested additional constraints in solve()

2007-06-12 Thread Ted Kosan

On 6/9/07, William Stein [EMAIL PROTECTED] wrote:

 QUESTION:  What notation in SAGE would you like for assuming
 that n is an integer?  Would this be OK?

 {{{
 assume(n, ZZ)
 }}}

 This would just call
   calcmaxima.eval('declare(n,integer)')

 {{{
 forget()
 }}}

I have been thinking about this for the past few days and I cannot
think of a better notation than the one you have presented here.

Thanks :-)

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Re: Clearing variables and converting Integers to base(n) strings.

2007-05-30 Thread Ted Kosan

David wrote:

Will you please let us know when your materials
are ready for distribution?

Yes I will, and my current estimate is mid-summer.



There is this pycon 2004 paper which you might find interesting (if you
haven't seen it already):
http://www.python.org/pycon/dc2004/papers/15/

I had not seen this paper yet so thank you for pointing it out to me.
I have spent the past few days thinking about the paper and now the
desire is growing in me to help make something like this happen.  Do
you know of a person or group that is creating a curriculum like this?

Thanks,

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---



[sage-support] Why I chose SAGE

2007-05-30 Thread Ted Kosan

William wrote:

If it isn't too much trouble, if you have the time,
could you consider posting a rough list of some
of the factors that went into your decision, why you chose SAGE, how
other competitors fared, and what isn't perfect yet about SAGE for
your desired goals?  I know some of that  reasoning is in your
paragraph above, but I'm sure there was much more that came into play.

The reasoning behind why I chose SAGE was heavily influenced by the
unusual nature of the degree program I teach in.  Our Computer
Engineering Technology degree is a hybrid degree which is half
computer science and half computer engineering with an overall
emphasis on application.  The program's faculty consist of 2 computer
scientists, 2 engineers and 1 technologist and the type of student
that the degree is designed to produce is a deep generalist.  I am the
technologist and this has placed me in a good position to observe both
the algorithm-oriented computer science approach and the
mathematics-oriented engineering approach to problem solving.

I observed that the engineering classes were using software like
MathCad and MatLab to great advantage but, after seeing how the CS
classes were solving problems using programming languages, tools like
MathCad and MatLab did not appear to have a general enough design to
me.  I eventually decided to try Mathematica because of its more
general design and in spite of the fact the engineers didn't quite
understand why I would choose it over a traditional
engineering-oriented software application :-)  I worked with
Mathematica for over 2 years and I liked its mathematics capabilities
and notebook user interface but I found its programming capabilities
to be somewhat awkward to use, especially when compared to the Python
we had started to use in some of our CS classes.  Beyond this, I am a
Linux user and many of our students are too.  I found that
Mathematica's support for Linux was fairly poor and I was constantly
running into issues that needed to be worked around or fixed.

When we began our distance learning initiative, we chose to base it on
open source software as much as possible and this is when I decided to
find an open source alternative to Mathmatica.  I think that most
people who are searching for mathematics software quickly find this
Comparison of Computer Algebra systems page and so did I:

http://en.wikipedia.org/wiki/Comparison_of_computer_algebra_systems

After eliminating all of the proprietary applications, the short-list
of applications I selected to evaluate consisted of Axiom, Mathomatic,
Maxima, SAGE, and Yacas.   At that time I was heavily influenced by
Mathamatica's GUI notebook front-end along with the GUI front-end of
applications like MathCad.  Therefore, I rated having a nice GUI
front-end high on my list of requirements when I evaluated each of the
applications on this list.  I eventually decided to move forward using
Maxima and Python running inside of TeXmacs and for a while I thought
I had found what I was looking for.  Maxima seemed like it was able to
handle most of my mathematics needs and Python was able to handle most
of the computing needs I had, even though I was only a newbie Python
developer at the time.  TeXmacs was also where I received experience
with the concept of wrapping a wide range of software tools in one
user interface and I liked the flexibility that this provided.  The
more I worked with TeXmacs, however, the more 'quirky' it began to
seem to me.  Beyond this, I began to want maxima and Python to be able
to work together more intimately than they were able to do within
TeXmacs.  I reluctantly decided that I needed to continue my search.

Fortunately for me, it was at this point that I experienced a kind of
revelation with respect to Python.  The language I had learned just
before Python was Java and I came to Java from C.  For me, Java opened
a whole new world of programming that I did not know existed before,
especially when I observed the way that computer scientists used it.
When I decided to learn Python, however, my experience with Java put
limits on what I expected Python to be capable of.  As I dug deeper
into Python, I started to see that Python was even more advanced than
Java than Java had been with C.  When I moved from C to Java, it felt
like I had moved from manually pounding nails with a hammer to using a
pneumatic nail gun.  As I started to grasp the amazing power that a
dynamic language like Python contains, however, it began to feel like
moving from nailing boards with a nail gun to pointing a magic wand
and having them appear in a board with no more effort than a flick of
the wrist.  As I began to study Python deeper and program in it more,
it felt like my mind was starting to light up and I began to think
about programming-based problem solving in a whole new way.  This was
the feeling that Python gave me when I started to see how to properly
use it.  I found myself wanting to enter this frame of mind more

[sage-support] Re: Clearing variables and converting Integers to base(n) strings.

2007-05-28 Thread Ted Kosan

William wrote:

By the way, I hope you'll consider letting us distribute your tutorial
too when it is done.

I would be more than happy to, but perhaps I should explain in more
detail what I am striving to achieve.

I teach in a computer engineering technology curriculum at a state
university in Ohio and we are starting to offer post-secondary courses
to high school students through a distance learning initiative.  We
have found that most high school students we have come in contact with
so far are very weak in math, their computer skills are light, and
their programming skills are virtually nonexistent.  Therefore, one of
our main goals is to develop educational materials that are
specifically designed to help fix this problem.

As part of this process, I have been searching for open source
mathematics software that has a modern programming environment
intimately integrated into it.  I also wanted it to be alive and well
20 or 30 years from now.  After a long and grueling search I have
finally decided to go with Sage.  I think that Sage's design
philosophy is brilliant and the balance it strikes between mathematics
and computing is exceptional.

The process of choosing Sage, however, was easy compared to figuring
out a way to teach students who have no programming background, and
very light computer skills, how to successfully use it.  My solution
was to develop pre-Sage educational materials that provide students
with the computer and foundational programming skills that they need.

Here is a document that shows the topics I am planning to cover:

http://206.21.94.60/tmp/course_modules_map_v1.08.pdf


And here is a link to the materials I have already developed:

http://206.21.94.60/tkosan/distancelearning/etec150/lectures/

I have just started working on the Sage-related materials and I will
be developing these throughout the rest of the summer.

Anyway, I have not released these materials under an open source
license yet, but I plan to sometime this summer.  At that time you
will be more than welcome to distribute any of these materials through
the Sage site if you would like :-)

Ted

--~--~-~--~~~---~--~~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~--~~~~--~~--~--~---