For this article, I'm returning to portable science softwareon Android. In a previous article, I looked at a program calledxcas/giac. This program is an open-source engine that is used to handlesymbolic manipulation of mathematical equations. Because it is opensource, it has been ported to several different platforms. BecauseAndroid's core is really Linux, a port to the Android platform has beenmade, and it's available on the Google Play store. Installation is as easyas a quick search on the store and clicking install.
When you first start Xcas Pad, it asks you to enable the keyboardincluded with the application. It takes you to the Language and Inputsection of the settings so you can activate the keyboard. When youfinish, click the back button and go back to XcasPad's main screen. The main screen has four tabs along the top whereyou can access the main worksheet, a help screen, a plotter screen and asession pane. At the bottom of the xcas pane is an entry line where youcan enter the individual xcas commands. The output from each command isdisplayed in the main portion of the xcas pane. As an example, you canfind the derivative of the equation x3–xwith the command:
diff(x^3-x)
Figure 1. The main screen is a worksheet where you can startworking right away.
Once you enter the equation, you either can tap the done buttonon the keyboard, or if you tap the back button, you also can tap theenter button at the far right side of the entry line. You thenwill see a pretty-printed version of your command entry and the results lineimmediately below it (Figure 2).

Figure 2. The commands and results are displayed in pretty printon the main panel.
If you tap on the entered commandin the display pane, it will be copied and pasted into the entry line,ready for you to edit. You also can tap on the result line to get itcopied and pasted into the entry line so you can use it in the nextstep of your calculation. This is very useful, especially when you aredoing discovery-level work.
Xcas is a very large system, however, with many different commands. Partof the problem is trying to find exactly the command you need touse. Tapping on the Help tab at the top of the screen brings up thehelp pages available within Xcas Pad. At the top, you can enter a searchstring to narrow the list a bit. You can find a description of the aboveexample command by searching for the string "diff". Tapping the entry for"diff" pulls up a help page with a short description, a list of examples,related commands and the arguments for the command.
Figure 3. Help information is available for the commands withinXcas Pad.
At the very top of the help page is a list of command names that arealiases and equivalent to each other. Tapping on one of them enters thatcommand name into the entry line of the main worksheet tab.
The listof examples is especially useful. You can tap on one of the examplesavailable, and it will be copied into the entry line of the main worksheettab. This is a good way to get a starting point for some calculation thatyou need to do, leaving you with just having to do some edits beforeyou are doing useful work.
One thing to remember is that Xcas Pad islike most other symbolic mathematical programs that are used in thatthe commands are run sequentially. This means if you want to rerunan earlier command, it will be rerun again based on the current stateof the engine. This might be different from one run to another based onwhat you have been doing between the two runs. For example, you may haverewritten a function that is used within the command in question.
You also can do plotting within Xcas Pad. Doing a search for"plot"in the help page will bring up a rather large number of availablecommands. Scrolling down to the command plot and tapping it will giveyou a list of simple examples for basic plots to see what the plots canlook like. Entering the following example gives the plot shown in Figure 4.
plot(x-1/6*x^3,x)
Figure 4. Executing a plot command pops open the plotter tab.
Plots also are pretty-printedand look fairly nice. If you just accept the defaults, you will get bare axes with nolabels. Unfortunately, there is not as much customizability availableas there is with the desktop versions, so you are kind of stuck with justcreating and looking at basic plots. This still can be extremely usefulwhen you are trying to figure out what a particular equation is doing.
Let's say you've been working on some problem for the last hour and wantto save your work. These worksheets are called sessions within XcasPad. In order to save your current worksheet, you need to tap the optionbutton in the top right corner to get a pull-down menu. From this menu,tapping the entry Save Session brings up a new window where youcan enter a filename to use.

Figure 5. The save session window allows you to enter a filename on your Android device.
There is a check box where you can select whether you also wantto save off the results along with the commands from your worksheet. Youcan reload these saved sessions from the session tab. When you clickon it, it gives you a file and directory listing for the default"home"directory on your Android. Any sessions you saved from Xcas Pad will bein the xcaspad sub-directory. You also can copy over other xcas-savedfiles from work you may have done on your desktop.
When you selectone of these session-saved files, you only have the option of running itas a script. This is one major deficiency right now. If you want to makechanges to a file before running it, you need to open the sessionfile in a text editor first and make your edits there. Then you canopen and run it within Xcas Pad. There are many very good text editorsavailable on Android, so that shouldn't be a blocking problem.
Now you have another tool to help you get some heavy-dutyscience done on the go. With just your phone or tablet, you can work onyour next big idea wherever you like. And if you use a file sharing service,such as Dropbox or Google Drive, you simply can pick up your work from theoffice wherever you have a few minutes to spare.






