GENERAL
G1. I accidentally deleted the "Welcome" file with the introductory tutorial. How can I get it back?
G2. What are the three modes of operation?
G3. My navigation and toolbar color changed? Why is that?
G4. How do I access the iCAS settings?
G5. What do the various global settings control?
G6. How do I hide/dismiss the keyboard on the iPhone or iPod touch?
G7. How do I switch between the available keyboards?
G8. How do I create my own macros?
G9. Does iCAS support the iTunes File Sharing feature?
G10. How can I change the font style, font size, and colors?
CAS
C1. Is there a user manual that describes the operation details and available functions?
C2. Is the CAS engine fully source code compatible with REDUCE?
C3. Is it possible to change the fancy output colors?
C4. How can I terminate a CAS session?
C5. The "Auto Show Plots" global option is enabled but the plot viewer did not open when I created plots in a batch run. Is this a bug?
PLOTTING
P1. What version of gnuplot is the iCAS plot engine based on?
P2. Is there a user manual that describes the plot facilities?
P3. What terminals are supported by the integrated gnuplot?
G1. I accidentally deleted the bundled files (e.g. the "Welcome" tutorial). How can I get them back?
All the bundled files, including the "Welcome" tutorial are available here. Either open them in your browser and copy the contents or download the files and use the iTunes File Sharing feature (see G6) to add them to iCAS.
G2. What are the differences between the various modes?
iCAS supports three modes of operation: 1) CAS mode, 2) Plotter mode, and 3) Text Editor mode. The three modes allow for a flexible work-flow to suit individual user needs and not force users into any particular work-flow. The operation of each mode is summarized below.
CAS Mode
Commands/operations are parsed by the REDUCE CAS engine.
Tapping the return key sends the text in the current line up to the insertion pointer to the CAS engine for execution.
Pasted text is processed as though it were typed (i.e. if a line containing a newline character is pasted, it is sent to the CAS engine for execution.
Using the macro keyboard's BATCH button sends the entire contents of the file to the CAS engine for execution.
Plotter Mode
Commands/operations are parsed by the GNUPLOT plotter engine.
Tapping the return key sends the text in the current line up to the insertion pointer to the plotter engine for execution.
Pasted text is processed as though it were typed (i.e. if a line containing a newline character is pasted, it is sent to the plotter engine for execution.
Using the macro keyboard's BATCH button sends the entire contents of the file to the plotter engine for execution.
Text Editor Mode
Tapping the return key simply inserts a new line. No commands/operations are executed.
Tapping the macro keyboard's BATCH button has no effect.
G3. My navigation and toolbar color changed? Why is that?
By default, iCAS uses different color schemes to provide visual feedback about the currently active mode (dark gray for CAS, dark turquoise for Plotter, and light blue [iPhone] or silver [iPad] for Text Editor). This can be disabled in the global options (see G4) by setting the "Mode Colors" option to OFF.
G4. How do I access the iCAS settings?
The iCAS settings are available in the built-in iOS Settings application that is on your home screen by default. If you tap it and scroll toward the bottom you'll see an entry called "iCAS" that when tapped will reveal the iCAS settings.
G5. What do the various global settings control?
The functions of the global settings are described below.
General
Mode Colors
This option controls whether the top and bottom bars change colors to indicate the currently active mode. If enabled, the bars are dark gray in CAS mode, dark turquoise in Plotter mode, and light blue (iPhone) or silver (iPad) in Text Editor mode. If disabled, the bars are always dark gray.Save Automatically
This option controls whether the active file is saved automatically when opening another file.Abort Warnings
This option controls whether iCAS asks for confirmation before aborting a CAS session.Mail Items To
This option specifies the default To: address for emails generated in iCAS.Display Mirroring
This option controls whether the display contents are mirrored on an external TV/monitor. This option is supported only on devices that support external TV/monitor displays (iPhone 4/iPad or later device).Mirroring Scale to Fit
This option controls whether to scale the displayed content to fit the external display resolution.
Keyboard
Key Clicks
This option controls the key click sounds for the macro and numerical keyboards.Configuration
This option specifies which keyboards are enabled and how they are positioned relative to each other.Default Keyboard
This option specifies the keyboard that is first shown when the text area is tapped for editing.Auto Hide Macros
If enabled, the macro keyboard is automatically replaced by the system keyboard after one of its buttons is pressed, unless the button has the delete or clear operation assigned to it. If the macro keyboard is primarily used to enter CAS functions and operators, this makes it more convenient to enter a function/operator and then immediately fill in the arguments with the system keyboard without having to swipe the screen to switch back to the system keyboard.Return Shows Macros
If enabled, the macro keyboard is automatically shown whenever the "Return" key is pressed on the system keyboard. This option can be used in conjunction with the "Default Keyboard" and "Auto Hide Macros" options to make the macro keyboard effectively the primary keyboard. In this case, the system keyboard is relegated to just edit inserted macros. Of course, it is still possible to switch back to the system keyboard by horizontally swiping in the text area.Macro Insertion Point
This option controls the location of the insertion point when a macro is inserted into the text using the macro keyboard. The available settings are "Context Dependent" (default), "Beginning", "Middle", and "End". The "Beginning", "Middle", and "End" settings specify the insertion point to be the beginning, middle, or end of the macro text, respectively.If the "Context Dependent" setting is selected, the insertion point is set as specified by the string "\^" (without the surrounding quotes) in the macro itself or, if the macro does not contain an instance of "\^", after the first "(", first space, first newline, or at the end of the macro, in that order. The following examples illustrate this, where "^" denotes the insertion point.
Macro Text           Insertion Point Location f(x) := \^ f(x) := ^ plot( , x); plot(^ ,x); begin \nend; begin ^
end;begin\nend; begin
^endINFINITY INFINITY^
Fancy Output
Create Fancy Output
If enabled, all CAS output is automatically generated in the fancy format. Enabling this option is equivalent to executing the fancy_output command at the beginning of a CAS session. Fancy output can be manually disabled by turning the fancy switch off using "off fancy;" (or "off fancy$").Automatically Show
This option controls whether fancy output is automatically rendered when it is generated.
Plotting
Always Load gnuplot
This option controls whether the gnuplot package is always loaded at the beginning of each CAS session. If enabled, it is equivalent to executing the load_package gnuplot command at the beginning of each CAS session.Auto Show Plots
This option controls whether plots are automatically shown when they are generated. Note that this option has no effect during batch execution.Overwrite Plots
If enabled, iCAS will overwrite any existing plots with the same name as the plot being generated. Otherwise, if a plot of the same name exists, it isn't overwritten and an error is flagged.Default Plot Title
This option specifies the default title used in plots without explicitly specified plot titles. The default plot title can be overridden on a plot by plot basis by specifying a title in the plot command using the title="<title>" argument.
G6. How do I hide/dismiss the keyboard on the iPhone or iPod touch?
The keyboard can be hidden by tapping the file name in the center of the top bar.
G7. How do I switch between the available keyboards?
To switch between the available keyboards, perform a horizontal swipe gesture over the text area.
G8. How do I create my own macros?
Macro keyboard buttons (all on the iPhone, all except "delete", "return", "clear", and "dismiss keyboard" on the iPad) can be edited by tapping a button and holding it for approximately 1 second until the editing "bubble" is shown with the macro key contents.
iCAS supports the following special macros.
- Instances of "\n" (without the surrounding quotes) in macros get automatically converted into new lines.
- Assigning "\b" (without the surrounding quotes) to a macro button turns that button into a backspace/delete key.
- Assigning "\c" (without the surrounding quotes) to a macro button turns that button into a clear key.
- Assigning "\cb" (without the surrounding quotes) to a macro button turns that button into a "clear batch output" key.
- Assigning "\r" (without the surrounding quotes) to a macro button turns that button into a "silent" return key that inserts a new line without causing CAS execution of that line.
- If the "Macro Insertion Point" setting is set to "Automatic", placing "\^" in a macro controls the placement of the cursor/karet.
The macro buttons can be optionally labelled by including the desired label surrounded by the # character in the macro text. For example, if a macro contains #LABEL#, the button will display LABEL in a larger font instead of the actual contents of the macro. Moreover, the following labels (in uppercase) are automatically displayed with the mathematical symbol for the corresponding CAS operator/constant: DF, E, I, INFINITY, INT, PI, PROD, and SUM. The default integral, derivative, pi, imaginary number, natural number, and infinity buttons are examples that utilize these features.
G9. Does iCAS support the iTunes File Sharing feature?
G10. How can I change the font style, font size, and colors?
The font style, font size, text and background colors can be changed by tapping the "gears" button on the left side of the toolbar. This will reveal the iCAS configuration panel. The "Abcd" button toggles the font style between Times, Helvetica, and New Courier Bold. The size buttons support font sizes between 10 and 20 points at 2 point increments. The text and background colors can be changed using the hue, saturation, and lightness sliders.
C1. Is there a user manual that describes the operation details and available functions?
The CAS engine is based on version 3.8 of REDUCE, a system for doing scalar, vector and matrix algebra, and arbitrary precision numerical calculations. The online REDUCE User's Manual is a comprehensive and detailed reference. The same manual is also available in PDF format here. REDUCE has a extremely rich library of user contributed packages for a wide variety of applications ranging from extending REDUCE's built-in general capabilities like symbolic integration to provide new capabilities for specialized fields such as differential geometry, vector calculus, linear algebra, tensor manipulation, physics quantum operator computations, etc. The plot facilities are based on gnuplot version 4.4.
The list of available packages in iCAS can be obtained by executing the command "lisp loadable!-packages!*;". The documentation for the bundled packages are available at the REDUCE Documentation Page, REDTEN User Manual, GRG Home Page, and DIMSYM User Manual. To use an optional package, use the "load_package" command. For example, to load the Vector Algebra package use the command "load_package avector;".
C2. Is the CAS engine fully source code compatible with REDUCE?
Yes, the CAS engine is fully source code compatible with REDUCE.
C3. Is it possible to change the fancy output colors?
Yes. iCAS supports custom procedures to control the color of echo'ed input text and the page (background) color. The pagecolor() and color() commands accept any one of the 68 standard color names defined by dvips (see here for the list of supported color names) or a custom color name defined using defcolor(). The names must be specified as strings (i.e. "color name"). pagecolor() specifies the background color and color() specifies the text color for input text (i.e. the document body text in the generated LaTeX file) and error messages, if any, in fancy output. defcolor() takes four arguments: defcolor(colorname, red, blue, green), where colorname is the name of the color as a string and red, blue, and green are integers in the range [0, 255]. For example, defcolor("PureRed", 255, 0, 0) would specify a 100% red color. defcolor() must precede the use of the defined color in the file.
The following is an example to generate fancy output with a light blue background, red input text, and black output.
defcolor("lightBlue", 237, 243, 254); pagecolor("lightBlue"); color("Red"); fancy_output(); . . .The default colors are white background and black text. Output is hard-coded to black and cannot be changed at this time.
C4. How can I terminate a CAS session?
An active CAS session can be terminated in several ways. If the CAS engine is idle (i.e. "CAS Ready") then issuing the bye or its synonym quit command will terminate the active session and start a new one. If the CAS engine is busy (i.e. "CAS Busy") then tapping the "Abort" button at the top right of the window will abort the active session and start a new one.
C5. The "Auto Show Plots" global option is enabled but the plot viewer did not open when I created
plots in a batch run. Is this a bug?
No, this is not a bug. Plots are not automatically shown during batch runs. The "Auto Show Plots" option is only valid during interactive execution.
P1. What version of gnuplot is the iCAS plot engine based on?
The iCAS gnuplot engine is based on version 4.4.
P2. Is there a user manual that describes the plot facilities?
REDUCE provides a simplified interface to gnuplot via the plot() operator of the gnuplot package. In addition to the plot() operator, the gnuplot package provides direct access to gnuplot commands using the gnuplot() operator. The iCAS "Plot" mode is also provides direct access to gnuplot without having to use the gnuplot() operator. For details on gnuplot commands and options, please see the gnuplot User Manual.
P3. What terminals are supported by the integrated gnuplot?
The iCAS gnuplot engine is hard coded to use the SVG terminal type.