[sage-support] Re: Fwd: [sage-newbie] Re: Geometry software
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
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
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
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
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
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 ?
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
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
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
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.
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.
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.
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.
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)
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)
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
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
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
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
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
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?
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()
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()
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()
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()
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
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
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
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)
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)
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
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
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
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?
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
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
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
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
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
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)
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)
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
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
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
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
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
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
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
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
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 )
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()
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.
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
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.
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/ -~--~~~~--~~--~--~---