HP (Hewlett Packard) Prime Graphing Calculator NW280AAABA User Manual

HP Prime Graphing Calculator  
User Guide  
Copyright © 2013 Hewlett-Packard Development Company, L.P.  
Reproduction, adaptation, or translation of this manual is prohibited without prior written per-  
mission of Hewlett-Packard Company, except as allowed under the copyright laws.  
Printing History  
Edition 1  
July 2013  
Contents  
Preface  
Manual conventions ................................................................ 9  
Notice ................................................................................. 10  
1 Getting started  
Before starting ...................................................................... 11  
On/off, cancel operations...................................................... 12  
The display .......................................................................... 13  
Sections of the display ...................................................... 14  
Navigation........................................................................... 16  
Touch gestures ................................................................. 17  
The keyboard ....................................................................... 18  
Context-sensitive menu ...................................................... 19  
Entry and edit keys................................................................ 20  
Shift keys......................................................................... 22  
Adding text...................................................................... 23  
Math keys ....................................................................... 24  
Menus ................................................................................. 28  
Toolbox menus................................................................. 29  
Input forms ........................................................................... 29  
System-wide settings.............................................................. 30  
Home settings .................................................................. 30  
Specifying a Home setting................................................. 34  
Mathematical calculations...................................................... 35  
Choosing an entry type..................................................... 36  
Entering expressions ......................................................... 37  
Reusing previous expressions and results............................. 40  
Storing a value in a variable.............................................. 42  
Complex numbers ................................................................. 43  
Sharing data ........................................................................ 44  
Online Help ......................................................................... 45  
2 Reverse Polish Notation (RPN)  
History in RPN mode ............................................................. 48  
Sample calculations............................................................... 49  
Manipulating the stack........................................................... 51  
Contents  
1
3 Computer algebra system (CAS)  
CAS view.............................................................................53  
CAS calculations...................................................................54  
Settings ................................................................................55  
4 Exam Mode  
Modifying the default configuration.....................................62  
Creating a new configuration.............................................63  
Activating Exam Mode...........................................................64  
Cancelling exam mode......................................................66  
Modifying configurations........................................................66  
To change a configuration .................................................66  
To return to the default configuration ...................................67  
Deleting configurations......................................................67  
5 An introduction to HP apps  
Application Library ................................................................71  
App views ............................................................................72  
Symbolic view..................................................................73  
Symbolic Setup view .........................................................74  
Plot view..........................................................................74  
Plot Setup view.................................................................76  
Numeric view...................................................................77  
Numeric Setup view..........................................................78  
Quick example......................................................................79  
Common operations in Symbolic view......................................81  
Symbolic view: Summary of menu buttons............................86  
Common operations in Symbolic Setup view.............................87  
Common operations in Plot view ............................................88  
Zoom ..............................................................................88  
Trace...............................................................................94  
Plot view: Summary of menu buttons....................................96  
Common operations in Plot Setup view.....................................96  
Configure Plot view...........................................................96  
Common operations in Numeric view ....................................100  
Zoom ............................................................................100  
Evaluating......................................................................102  
Custom tables.................................................................103  
Numeric view: Summary of menu buttons...........................104  
Common operations in Numeric Setup view............................105  
Combining Plot and Numeric Views.......................................106  
Adding a note to an app......................................................106  
Creating an app..................................................................107  
App functions and variables .................................................109  
2
Contents  
6 Function app  
Getting started with the Function app .................................... 111  
Analyzing functions............................................................. 118  
The Function Variables......................................................... 122  
Summary of FCN operations ................................................ 124  
7 Advanced Graphing app  
Getting started with the Advanced Graphing app ................... 126  
Plot Gallery ........................................................................ 134  
Exploring a plot from the Plot Gallery................................ 134  
8 Geometry  
Getting started with the Geometry app .................................. 135  
Plot view in detail................................................................ 141  
Plot Setup view............................................................... 146  
Symbolic view in detail........................................................ 148  
Symbolic Setup view....................................................... 150  
Numeric view in detail ........................................................ 150  
Geometric objects............................................................... 153  
Geometric transformations ................................................... 161  
Geometry functions and commands....................................... 165  
Symbolic view: Cmds menu............................................. 165  
Numeric view: Cmds menu.............................................. 182  
Other Geometry functions................................................ 188  
9 Spreadsheet  
Getting started with the Spreadsheet app............................... 193  
Basic operations ................................................................. 197  
Navigation, selection and gestures................................... 197  
Cell references............................................................... 198  
Cell naming................................................................... 198  
Entering content ............................................................. 199  
Copy and paste ............................................................. 202  
External references.............................................................. 202  
Referencing variables...................................................... 203  
Using the CAS in spreadsheet calculations............................. 204  
Buttons and keys................................................................. 205  
Formatting options .............................................................. 206  
Spreadsheet functions.......................................................... 208  
10 Statistics 1Var app  
Getting started with the Statistics 1Var app ............................ 209  
Entering and editing statistical data....................................... 213  
Computed statistics.............................................................. 216  
Plotting .............................................................................. 217  
Contents  
3
Plot types .......................................................................217  
Setting up the plot (Plot Setup view)...................................219  
Exploring the graph ........................................................219  
11 Statistics 2Var app  
Getting started with the Statistics 2Var app.............................221  
Entering and editing statistical data .......................................226  
Numeric view menu items ................................................227  
Defining a regression model .................................................229  
Computed statistics..............................................................231  
Plotting statistical data..........................................................232  
Plot view: menu items ......................................................234  
Plot setup.......................................................................234  
Predicting values.............................................................235  
Troubleshooting a plot.....................................................236  
12 Inference app  
Getting started with the Inference app....................................237  
Importing statistics ...............................................................241  
Hypothesis tests...................................................................243  
One-Sample Z-Test ..........................................................244  
Two-Sample Z-Test ..........................................................245  
One-Proportion Z-Test......................................................246  
Two-Proportion Z-Test ......................................................247  
One-Sample T-Test ..........................................................248  
Two-Sample T-Test...........................................................249  
Confidence intervals ............................................................251  
One-Sample Z-Interval .....................................................251  
Two-Sample Z-Interval......................................................251  
One-Proportion Z-Interval .................................................252  
Two-Proportion Z-Interval..................................................253  
One-Sample T-Interval......................................................254  
Two-Sample T-Interval......................................................254  
13 Solve app  
Getting started with the Solve app.........................................257  
One equation.................................................................258  
Several equations ...........................................................261  
Limitations......................................................................262  
Solution information.............................................................263  
14 Linear Solver app  
Getting started with the Linear Solver app...............................265  
Menu items.........................................................................267  
4
Contents  
15 Parametric app  
Getting started with the Parametric app ................................. 269  
16 Polar app  
Getting started with the Polar app......................................... 275  
17 Sequence app  
Getting started with the Sequence app .................................. 279  
Another example: Explicitly-defined sequences ....................... 283  
18 Finance app  
Getting Started with the Finance app..................................... 285  
Cash flow diagrams ............................................................ 287  
Time value of money (TVM).................................................. 288  
TVM calculations: Another example....................................... 289  
Calculating amortizations..................................................... 291  
19 Triangle Solver app  
Getting started with the Triangle Solver app ........................... 293  
Choosing triangle types ....................................................... 295  
Special cases ..................................................................... 296  
20 The Explorer apps  
Linear Explorer app............................................................. 297  
Quadratic Explorer app....................................................... 300  
Trig Explorer app................................................................ 302  
21 Functions and commands  
Keyboard functions ............................................................. 307  
Math menu......................................................................... 310  
Numbers....................................................................... 311  
Arithmetic...................................................................... 312  
Trigonometry.................................................................. 314  
Hyperbolic .................................................................... 315  
Probability..................................................................... 315  
List................................................................................ 320  
Matrix........................................................................... 321  
Special ......................................................................... 321  
CAS menu.......................................................................... 322  
Algebra ........................................................................ 322  
Calculus........................................................................ 323  
Solve ............................................................................ 328  
Rewrite.......................................................................... 330  
Integer .......................................................................... 334  
Polynomial..................................................................... 337  
Contents  
5
Plot ...............................................................................342  
App menu ..........................................................................343  
Function app functions.....................................................343  
Solve app functions.........................................................344  
Spreadsheet functions......................................................345  
Statistics 1Var app functions.............................................363  
Statistics 2Var app functions.............................................363  
Inference app functions....................................................364  
Finance app functions .....................................................367  
Linear Solver app functions ..............................................369  
Triangle Solver app functions ...........................................369  
Linear Explorer functions..................................................371  
Quadratic Explorer functions............................................371  
Common app functions....................................................371  
Ctlg menu...........................................................................372  
Creating your own functions .................................................425  
22 Variables  
Home variables...................................................................431  
App variables .....................................................................432  
Function app variables ....................................................432  
Geometry app variables..................................................433  
Spreadsheet app variables...............................................433  
Solve app variables ........................................................433  
Advanced Graphing app variables...................................434  
Statistics 1Var app variables............................................435  
Statistics 2Var app variables............................................437  
Inference app variables ...................................................439  
Parametric app variables.................................................441  
Polar app variables.........................................................442  
Finance app variables.....................................................442  
Linear Solver app variables..............................................443  
Triangle Solver app variables...........................................443  
Linear Explorer app variables...........................................443  
Quadratic Explorer app variables.....................................443  
Trig Explorer app variables..............................................444  
Sequence app variables ..................................................444  
23 Units and constants  
Units..................................................................................445  
Unit calculations..................................................................446  
Unit tools............................................................................448  
Physical constants................................................................449  
List of constants...............................................................451  
6
Contents  
24 Lists  
Create a list in the List Catalog ............................................. 453  
The List Editor................................................................. 455  
Deleting lists....................................................................... 457  
Lists in Home view............................................................... 457  
List functions....................................................................... 459  
Finding statistical values for lists............................................ 462  
25 Matrices  
Creating and storing matrices............................................... 466  
Working with matrices......................................................... 467  
Matrix arithmetic................................................................. 471  
Solving systems of linear equations ....................................... 474  
Matrix functions and commands............................................ 476  
Matrix functions .................................................................. 477  
Examples....................................................................... 487  
26 Notes and Info  
The Note Catalog ............................................................... 489  
The Note Editor .................................................................. 490  
27 Programming  
The Program Catalog .......................................................... 498  
Creating a new program ..................................................... 501  
The Program Editor......................................................... 501  
The HP Prime programming language ................................... 511  
The User Keyboard: Customizing key presses .................... 515  
App programs ............................................................... 519  
Program commands ............................................................ 525  
Commands under the Tmplt menu..................................... 525  
Block ............................................................................ 525  
Branch .......................................................................... 526  
Loop ............................................................................. 527  
Variable........................................................................ 530  
Function ........................................................................ 531  
Commands under the Cmds menu .................................... 531  
Strings .......................................................................... 531  
Drawing........................................................................ 534  
Matrix........................................................................... 541  
App Functions................................................................ 543  
Integer .......................................................................... 544  
I/O .............................................................................. 546  
More ............................................................................ 551  
Variables and Programs.................................................. 553  
Contents  
7
28 Basic Integer arithmetic  
The default base..................................................................576  
Changing the default base...............................................577  
Examples of integer arithmetic...............................................578  
Integer manipulation............................................................579  
Base functions.....................................................................580  
A Glossary  
B Troubleshooting  
Calculator not responding ....................................................585  
To reset .........................................................................585  
If the calculator does not turn on.......................................585  
Operating limits ..................................................................586  
Status messages ..................................................................586  
C Product Regulatory Information  
Federal Communications Commission Notice..........................589  
European Union Regulatory Notice........................................591  
Index ...................................................................................595  
8
Contents  
Preface  
Manual conventions  
The following conventions are used in this manual to  
represent the keys that you press and the menu options  
that you choose to perform operations.  
A key that initiates an unshifted function is  
represented by an image of that key:  
e,B,H, etc.  
A key combination that initiates a shifted unction (or  
inserts a character) is represented by the appropriate  
shift key (S or A) followed by the key for that  
function or character:  
Sh initiates the natural exponential function  
and Az inserts the pound character (#)  
The name of the shifted function may also be given in  
parentheses after the key combination:  
SJ(Clear), SY (Setup)  
A key pressed to insert a digit is represented by that  
digit:  
5, 7, 8, etc.  
All fixed on-screen text—such as screen and field  
names—appear in bold:  
CAS Settings, XSTEP, Decimal Mark, etc.  
A menu item selected by touching the screen is  
represented by an image of that item:  
,
,
.
Note that you must use your finger to select a menu  
item. Using a stylus or something similar will not  
select whatever is touched.  
Preface  
9
 
Items you can select from a list, and characters on the  
entry line, are set in a non-proportional font, as  
follows:  
Function, Polar, Parametric, Ans, etc.  
Cursor keys are represented by =, \, >, and <.  
You use these keys to move from field to field on a  
screen, or from one option to another in a list of  
options.  
Error messages are enclosed in quotation marks:  
“Syntax Error”  
Notice  
This manual and any examples contained herein are  
provided as-is and are subject to change without notice.  
Except to the extent prohibited by law, Hewlett-Packard  
Company makes no express or implied warranty of any  
kind with regard to this manual and specifically disclaims  
the implied warranties and conditions of merchantability  
and fitness for a particular purpose and Hewlett-Packard  
Company shall not be liable for any errors or for  
incidental or consequential damage in connection with  
the furnishing, performance or use of this manual and the  
examples herein.  
1994–1995, 1999–2000, 2003–2006, 2010–2013  
Hewlett-Packard Development Company, L.P.  
The programs that control your HP Prime are copyrighted  
and all rights are reserved. Reproduction, adaptation, or  
translation of those programs without prior written  
permission from Hewlett-Packard Company is also  
prohibited.  
For hardware warranty information, please refer to the  
HP Prime Quick Start Guide.  
Product Regulatory and Environment Information is  
provided on the CD shipped with this product.  
10  
Preface  
1
Getting started  
The HP Prime Graphing Calculator is an easy-to-use yet  
powerful graphing calculator designed for secondary  
mathematics education and beyond. It offers hundreds of  
functions and commands, and includes a computer  
algebra system (CAS) for symbolic calculations.  
In addition to an extensive library of functions and  
commands, the calculator comes with a set of HP apps.  
An HP app is a special application designed to help you  
explore a particular branch of mathematics or to solve a  
problem of a particular type. For example, there is a HP  
app that will help you explore geometry and another to  
help you explore parametric equations. There are also  
apps to help you solve systems of linear equations and to  
solve time-value-of-money problems.  
The HP Prime also has its own programming language  
you can use to explore and solve mathematical problems.  
Functions, commands, apps and programming are  
covered in detail later in this guide. In this chapter, the  
general features of the calculator are explained, along  
with common interactions and basic mathematical  
operations.  
Before starting  
Charge the battery fully before using the calculator for the  
first time. To charge the battery, either:  
Connect the calculator to a computer using the USB  
cable that came in the package with your HP Prime.  
(The PC needs to be on for charging to occur.)  
Connect the calculator to a wall outlet using the HP-  
provided wall adapter.  
Getting started  
11  
   
When the calculator is on, a battery symbol appears in  
the title bar of the screen. Its appearance will indicate how  
much power the battery has. A flat battery will take  
approximately 4 hours to become fully charged.  
Battery Warning  
To reduce the risk of fire or burns, do not  
disassemble, crush or puncture the battery; do not  
short the external contacts; and do not dispose of the  
battery in fire or water.  
To reduce potential safety risks, only use the battery  
provided with the calculator, a replacement battery  
provided by HP, or a compatible battery  
recommended by HP.  
Keep the battery away from children.  
If you encounter problems when charging the  
calculator, stop charging and contact HP  
immediately.  
Adapter Warning  
To reduce the risk of electric shock or damage to  
equipment, only plug the AC adapter into an AC  
outlet that is easily accessible at all times.  
To reduce potential safety risks, only use the AC  
adapter provided with the calculator, a replacement  
AC adapter provided by HP, or an AC adapter  
purchased as an accessory from HP.  
On/off, cancel operations  
To turn on  
Press  
to turn on the calculator.  
O
To cancel  
When the calculator is on, pressing the J key cancels  
the current operation. For example, it will clear whatever  
you have entered on the entry line. It will also close a  
menu and a screen.  
To turn off  
Press  
(Off) turn the calculator off.  
SO  
To save power, the calculator turns itself off after several  
minutes of inactivity. All stored and displayed information  
is saved.  
12  
Getting started  
       
The Home View  
Home view is the starting point for many calculations.  
Most mathematical functions are available in the Home  
view. Some additional functions are available in the  
computer algebra system (CAS). A history of your  
previous calculations is retained and you can re-use a  
previous calculation or its result.  
To display Home view, press  
.
H
The CAS View  
CAS view enables you to perform symbolic calculations. It  
is largely identical to Home view—it even has its own  
history of past calculations—but the CAS view offers some  
additional functions.  
To display CAS view, press  
.
K
Protective cover  
The calculator is provided with a slide cover to protect the  
display and keyboard. Remove the cover by grasping  
both sides of it and pulling down.  
You can reverse the slide cover and slide it onto the back  
of the calculator. This will ensure that you do not misplace  
the cover while you are using the calculator.  
To prolong the life of the calculator, always place the  
cover over the display and keyboard when you are not  
using the calculator.  
The display  
To adjust the  
brightness  
To adjust the brightness of the display, press and hold  
O, then press the + or  
key to increase or  
w
decrease the brightness. The brightness will change with  
each press of the + or key.  
w
To clear the display  
Press J or O to clear the entry line.  
Press SJ (Clear) to clear the entry line and the  
history.  
Getting started  
13  
             
Sections of the display  
Title bar  
History  
Entry line  
Menu buttons  
Home view has four sections (shown above). The title bar  
shows either the screen name or the name of the app you  
are currently using—Functionin the example above. It  
also shows the time, a battery power indicator, and a  
number of symbols that indicate various calculator  
settings. These are explained below. The history displays  
a record of your past calculations. The entry line  
displays the object you are currently entering or  
modifying. The menu buttons are options that are  
relevant to the current display. These options are selected  
by tapping the corresponding menu button. You close a  
menu, without making a selection from it, by pressing  
J.  
Annunciators. Annunciators are symbols or characters  
that appear in the title bar. They indicate current settings,  
and also provide time and battery power information.  
Annunciator  
Meaning  
[Lime green]  
The angle mode setting is currently  
degrees.  
π
[Lime green]  
The angle mode setting is currently  
radians.  
S [Cyan]  
The Shift key is active. The function  
shown in blue on a key will be  
activated when a key is pressed.  
Press S to cancel shift mode.  
14  
Getting started  
               
Annunciator  
Meaning (Continued)  
CAS [White]  
You are working in CAS view, not  
Home view.  
A...Z [orange]  
In Home view  
The Alpha key is active. The charac-  
ter shown in orange on a key will  
be entered in uppercase when a  
key is pressed. See Adding text”  
on page 23 for more information.  
In CAS view  
The Alpha–Shift key combination is  
active. The character shown in  
orange on a key will be entered in  
uppercase when a key is pressed.  
See Adding text” on page 23 for  
more information.  
a...z [orange]  
In Home view  
The Alpha–Shift key combination is  
active. The character shown in  
orange on a key will be entered in  
lowercase when a key is pressed.  
See Adding text” on page 23 for  
more information.  
In CAS view  
The Alpha key is active. The charac-  
ter shown in orange on a key will  
be entered in lowercase when a key  
is pressed. See Adding text” on  
page 23 for more information.  
U
[Yellow]  
The user keyboard is active. All the  
following key presses will enter the  
customized objects associated with  
the key. See “The User Keyboard:  
Customizing key presses” on page  
515 for more information.  
Getting started  
15  
Annunciator  
Meaning (Continued)  
1U  
[Yellow]  
The user keyboard is active. The  
next key press will enter the custom-  
ized object associated with the key.  
See “The User Keyboard: Customiz-  
ing key presses” on page 515 for  
more information.  
[Time]  
Current time. The default is 24-hour  
format, but you can choose AMPM  
format. See “Home settings” on  
page 30 for more information.  
[Green with  
gray border]  
Battery-charge indicator.  
Navigation  
The HP Prime offers two modes of navigation: touch and  
keys. In many cases, you can tap on an icon, field, menu,  
or object to select (or deselect) it. For example, you can  
open the Function app by tapping once on its icon in the  
Application Library. However, to open the Application  
Library, you will need to press a key: I.  
Instead of tapping an icon in the Application Library, you  
can also press the cursor keys—=,\,<,>—until the  
app you want to open is highlighted, and then press  
E. In the Application Library, you can also type the  
first one or two letters of an app’s name to highlight the  
app. Then either tap the app’s icon or press E to  
open it.  
Sometimes a touch or key–touch combination is available.  
For example, you can deselect a toggle option either by  
tapping twice on it, or by using the arrow keys to move to  
the field and then tapping a touch button along the bottom  
of the screen (in this case  
).  
Note that you must use your finger or a capacitive stylus  
to select an item by touch.  
16  
Getting started  
         
Touch gestures  
In addition to selection by tapping, there are other touch-  
related operations available to you:  
To quickly move from page to page, flick:  
Place a finger on the screen and quickly swipe it in the  
desired direction (up or down).  
To pan, drag your finger horizontally or vertically across  
the screen.  
To quickly zoom in, make an open pinch:  
Place the thumb and a finger close together on the  
screen and move them apart. Only lift them from the  
screen when you reach the desired magnification.  
To quickly zoom out, make an closed pinch:  
Place the thumb and a finger some distance apart on  
the screen and move them toward each other. Only lift  
them from the screen when you reach the desired  
magnification.  
Note that pinching to zoom only works in applications  
that feature zooming (such as where graphs are plotted).  
In other applications, pinching will do nothing, or do  
something other than zooming. For example, in the  
Spreadsheet app, pinching will change the width of a  
column or the height of a row.  
Getting started  
17  
       
The keyboard  
The numbers in the legend below refer to the parts of the  
keyboard described in the illustration on the next page.  
Number Feature  
1
2
LCD and touch-screen: 320 × 240 pixels  
Context-sensitive touch-button menu  
HP Apps keys  
3
4
Home view and preference settings  
Common math and science functions  
Alpha and Shift keys  
5
6
7
On, Cancel and Off key  
List, matrix, program, and note catalogs  
Last Answer key (Ans)  
8
9
10  
11  
12  
13  
14  
15  
16  
17  
Enter key  
Backspace and Delete key  
Menu (and Paste) key  
CAS (and CAS preferences) key  
View (and Copy) key  
Escape (and Clear) key  
Help key  
Rocker wheel (for cursor movement)  
18  
Getting started  
   
1
2
17  
16  
3
4
15  
14  
13  
12  
11  
5
10  
9
6
7
8
Context-sensitive menu  
A context-sensitive menu occupies the bottom line of the  
screen.  
The options available depend on the context, that is, the  
view you are in. Note that the menu items are activated by  
touch.  
Getting started  
19  
There are two types of buttons on the context-sensitive  
menu:  
menu button: tap to display a pop-up menu. These  
buttons have square corners along their top (such as  
in the illustration above).  
command button: tap to initiate a command. These  
buttons have rounded corners (such as  
illustration above).  
in the  
Entry and edit keys  
The primary entry and edit keys are:  
Keys  
Purpose  
N to r  
Enter numbers  
or J  
Cancels the current operation or  
clears the entry line.  
O
Enters an input or executes an  
E
operation. In calculations,  
acts like “=. When  
E
or  
is present as a menu key,  
acts the same as pressing  
E
or  
.
For entering a negative number. For  
example, to enter –25, press  
Q25. Note: this is not the same  
operation that is performed by the  
subtraction key (w).  
Q
F
d
Math template: Displays a palette  
of pre-formatted templates repre-  
senting common arithmetic expres-  
sions.  
Enters the independent variable  
(that is, either X, T,  or N, depend-  
ing on the app that is currently  
active).  
20  
Getting started  
           
Keys  
Purpose (Continued)  
Sv  
Relations palette: Displays a palette  
of comparison operators and Bool-  
ean operators.  
Sr  
Sc  
C
Special symbols palette: Displays a  
palette of common math and Greek  
characters.  
Automatically inserts the degree,  
minute, or second symbol accord-  
ing to the context.  
Backspace. Deletes the character to  
the left of the cursor. It will also  
return the highlighted field to its  
default value, if it has one.  
C
Delete. Deletes the character to the  
right of the cursor.  
S
(Clear)  
Clears all data on the screen  
(including the history). On a set-  
tings screen—for example Plot  
Setup—returns all settings to their  
default values.  
SJ  
Cursor keys: Moves the cursor  
<>=\  
around the display. Press  
to  
S\  
move to the end of a menu or  
screen, or to move to the  
S=  
start. (These keys represent the  
directions of the rocker wheel.)  
Getting started  
21  
                 
Keys  
Purpose (Continued)  
Displays all the available  
Sa  
characters. To enter a character, use  
the cursor keys to highlight it, and  
then tap  
. To select multiple  
characters, select one, tap  
and continue likewise before  
,
pressing  
. There are many  
pages of characters. You can jump  
to a particular Unicode block by  
tapping  
and selecting the  
block. You can also flick from page  
to page.  
Shift keys  
There are two shift keys that you use to access the  
operations and characters printed on the bottom of the  
keys:  
and  
.
S
A
Key  
Purpose  
Press S to access the operations  
printed in blue on a key. For  
S
instance, to access the settings for  
Home view, press SH.  
A
Press the A key to access the  
characters printed in orange on a  
key. For instance, to type Z in Home  
view, press  
and then press  
A
y. For a lowercase letter, press  
AS and then the letter. In CAS  
view,  
and another key gives a  
A
lowercase letter, and AS and  
another letter gives an uppercase  
letter.  
22  
Getting started  
   
Adding text  
The text you can enter directly is shown by the orange  
characters on the keys. These characters can only be  
entered in conjunction with the A and S keys. Both  
uppercase and lowercase characters can be entered, and  
the method is exactly the opposite in CAS view than in  
Home view.  
Keys  
Effect in Home view  
Effect in CAS view  
Makes the next charac- Makes the next charac-  
A
ter uppercase  
ter lowercase  
Lock mode: makes all  
characters uppercase  
until the mode is reset  
Lock mode: makes all  
characters lowercase until  
the mode is reset  
AA  
S
With uppercase locked, With lowercase locked,  
makes the next character makes the next character  
lowercase  
uppercase  
Makes the next charac- Makes the next charac-  
AS  
ter lowercase  
ter uppercase  
Lock mode: makes all  
characters lowercase until characters uppercase  
the mode is reset until the mode is reset  
Lock mode: makes all  
AS  
A
With lowercase locked, With uppercase locked,  
makes the next character makes the next character  
S
uppercase  
lowercase  
With lowercase locked, With uppercase locked,  
SA  
makes all characters  
makes all characters low-  
uppercase until the mode ercase until the mode is  
is reset  
reset  
Reset uppercase lock  
mode  
Reset lowercase lock  
mode  
A
Reset lowercase lock  
mode  
Reset uppercase lock  
mode  
AA  
AA  
You can also enter text (and other characters) by  
displaying the characters palette:  
.
Sa  
Getting started  
23  
         
Math keys  
The most common math functions have their own keys on  
the keyboard (or a key in combination with the S key).  
Example 1: To calculate SIN(10), press e10 and  
press  
E
angle measure setting is radians).  
Example 2: To find the square root of 256, press  
Sj 256 and press  
. The answer displayed  
E
is 16. Notice that the S key initiates the operator  
represented in blue on the next key pressed (in this case  
on the j key).  
The mathematical functions not represented on the keyboard  
are on the Math, CAS, and Catlg menus (see chapter 21,  
“Functions and commands, starting on page 305).  
Note that the order in which you enter operands and  
operators is determined by the entry mode. By default, the  
entry mode is textbook, which means that you enter  
operands and operators just as you would if you were  
writing the expression on paper. If your preferred entry  
mode is Reverse Polish Notation, the order of entry is  
different. (See chapter 2, “Reverse Polish Notation (RPN),  
starting on page 47.)  
Math  
template  
The math template key (F)  
helps you insert the framework  
for common calculations (and for  
vectors, matrices, and  
hexagesimal numbers). It  
displays a palette of pre-formatted outlines to which you  
add the constants, variables, and so on. Just tap on the  
template you want (or use the arrow keys to highlight it  
and press E). Then enter the components needed  
to complete the calculation.  
24  
Getting started  
         
Example: Suppose you want to find the cube root of  
945:  
1. In Home view, press F.  
2. Select  
.
The skeleton or framework for your calculation now  
appears on the entry line:  
3. Each box on the template needs to be completed:  
3>945  
4. Press E to display the result: 9.813…  
The template palette can save you a lot of time, especially  
with calculus calculations.  
You can display the palette at any stage in defining an  
expression. In other words, you don’t need to start out with  
a template. Rather, you can embed one or more templates  
at any point in the definition of an expression.  
Math  
shortcuts  
As well as the math template,  
there are other similar screens  
that offer a palette of special  
characters. For example,  
pressing Sr displays the  
special symbols palette, shown at the right. Select a  
character by tapping it (or scrolling to it and pressing  
E).  
A similar palette—the relations  
palette—is displayed if you press  
Sv. The palette displays operators  
useful in math and programming. Again,  
just tap the character you want.  
Other math shortcut keys include d. Pressing this key  
inserts an X, T, , or N depending on what app you are  
using. (This is explained further in the chapters describing  
the apps.)  
Similarly, pressing Sc enters a degree, minute, or  
second character. It enters ° if no degree symbol is part of  
your expression; enters if the previous entry is a value in  
Getting started  
25  
     
degrees; and enters if the previous entry is a value in  
minutes. Thus entering:  
36Sc40Sc20Sc  
yields 36°4020. See “Hexagesimal numbers” on page  
26 for more information.  
Fractions  
The fraction key (c) cycles through thee varieties of  
fractional display. If the current answer is the decimal  
fraction 5.25, pressing c converts the answer to the  
common fraction 21/4. If you press c again, the  
answer is converted to a mixed number (5 + 1/4). If  
pressed again, the display returns to the decimal fraction  
(5.25).  
The HP Prime will  
approximatefractionand  
mixed number  
representations in cases  
where it cannot find  
exact ones. For example,  
enter 5 to see the  
decimal approximation:  
219602  
-----------------  
2.236…. Press c once to see  
and again to see  
98209  
23184  
--------------  
2 + 98209 . Pressing c a third time will cycle back to the  
original decimal representation.  
Hexagesimal  
numbers  
Any decimal result can de displayed in hexagesimal  
format; that is, in units subdivided into groups of 60. This  
includes degrees, minutes, and seconds as well as hours,  
11  
-----  
minutes, and seconds. For example, enter  
to see the  
8
decimal result: 1.375. Now press S c to see  
1°2230. Press S c again to return to the decimal  
representation.  
HP Prime will produce the best approximation in cases  
where an exact result is not possible. Enter 5 to see the  
decimal approximation: 2.236… Press S c to see  
149.84472.  
26  
Getting started  
       
Note that the degree and minute entries must be integers,  
and the minute and second entries must be positive.  
Decimals are not allowed, except in the seconds.  
Note too that the HP  
Prime treats a value in  
hexgesimal format as a  
single entity. Hence any  
operation performed on  
a hexagesimal value is  
performed on the entire  
value. For example, if  
you enter 10°25262, the whole value is squared, not just  
the seconds component. The result in this case is  
108°3926.8544.  
EEX key  
(powers of  
10)  
Numbers like 5 104 and 3.21 10–7 are expressed in  
scientific notation, that is, in terms of powers of ten. This is  
simpler to work with than 50000 or 0.000000321. To  
enter numbers like these, use the B functionality. This is  
easier than using  
10  
.
s
k
Example: Suppose you want to calculate  
4 10–136 1023  
----------------------------------------------------  
3 10–5  
First select Scientificas the number format.  
1. Open the Home Settings window.  
SH  
2. Select Scientific  
from the Number  
Format menu.  
3. Return home: H  
4. Enter 4BQ13  
s6B23n  
3BQ5  
Getting started  
27  
   
5. Press E  
The result is  
8.0000E15. This is  
equivalent to  
8 × 1015.  
Menus  
A menu offers you a  
choice of items. As in the  
case shown at the right,  
some menus have sub-  
menus and sub-sub-  
menus.  
To select from a  
menu  
There are two techniques for selecting an item from a  
menu:  
direct tapping and  
using the arrow keys to highlight the item you want  
and then either tapping  
or pressing  
.
E
Note that the menu of buttons along the bottom of the  
screen can only be activated by tapping.  
Shortcuts  
Press  
when you are at the top of the menu to  
=
immediately display the last item in the menu.  
Press when you are at the bottom of the menu to  
immediately display the first item in the menu.  
\
Press S  
to jump straight to the bottom of the  
\
menu.  
Press S  
to jump straight to the top of the menu.  
=
Enter the first few characters of the item’s name to  
jump straight to that item.  
Enter the number of the item shown in the menu to  
jump straight to that item.  
28  
Getting started  
       
To close a menu  
A menu will close automatically when you select an item  
from it. If you want to close a menu without selecting  
anything from it, press  
or J.  
O
Toolbox menus  
The Toolbox menus (D) are a collection of menus  
offering functions and commands useful in mathematics  
and programming. The Math, CAS, and Catlg menus  
offer over 400 functions and commands. The items on  
these menus are described in detail in chapter 21,  
“Functions and commands, starting on page 305.  
Input forms  
An input form is a screen that provides one or more fields  
for you to enter data or select an option. It is another name  
for a dialog box.  
If a field allows you to enter data of your choice, you  
can select it, add your data, and tap . (There  
is no need to tap first.)  
If a field allows you to choose an item from a menu,  
you can tap on it (the field or the label for the field),  
tap on it again to display the options, and tap on the  
item you want. (You can also choose an item from an  
open list by pressing the cursor keys and pressing  
E when the option you want is highlighted.)  
If a field is a toggle field—one that is either selected  
or not selected—tap on it to select the field and tap  
on it again to select the alternate option.  
(Alternatively, select the field and tap  
.)  
The illustration at the right  
shows an input form with  
all three types of field:  
Calculator Name is a  
free-form data-entry field,  
Font Size provides a  
menu of options, and  
Textbook Display is a  
toggle field.  
Getting started  
29  
     
Reset input  
form fields  
To reset a field to its default value, highlight the field and  
press C. To reset all fields to their default values, press  
SJ (Clear).  
System-wide settings  
System-wide settings are values that determine the  
appearance of windows, the format of numbers, the scale  
of plots, the units used by default in calculations, and  
much more.  
There are two system-wide settings: Home settings and  
CAS settings. Home settings control Home view and the  
apps. CAS settings control how calculations are done in  
the computer algebra system. CAS settings are discussed  
in chapter 3.  
Although Home settings control the apps, you can  
override certain Home settings once inside an app. For  
example, you can set the angle measure to radians in the  
Home settings but choose degrees as the angle measure  
once inside the Polar app. Degrees then remains the angle  
measure until you open another app that has a different  
angle measure.  
Home settings  
You use the Home  
Settings input form to  
specify the settings for  
Home view (and the  
default settings for the  
apps). Press SH  
(Settings) to open the  
Home Settings input  
form. There are four pages of settings.  
30  
Getting started  
         
Page 1  
Setting  
Options  
Angle Measure Degrees: 360 degrees in a circle.  
Radians: 2radians in a circle.  
The angle mode you set is the angle  
setting used in both Home view and  
the current app. This is to ensure  
that trigonometric calculations done  
in the current app and Home view  
give the same result.  
Number  
Format  
The number format you set is the for-  
mat used in all Home view calcula-  
tions.  
Standard: Full-precision display.  
Fixed: Displays results rounded to  
a number of decimal places. If you  
choose this option, a new field  
appears for you to enter the number  
of decimal places. For example,  
123.456789becomes 123.46 in  
Fixed 2format.  
Scientific: Displays results with an  
one-digit exponent to the left of the  
decimal point, and the specified  
number of decimal places. For  
example, 123.456789becomes  
1.23E2 in Scientific 2  
format.  
Engineering: Displays results with  
an exponent that is a multiple of 3,  
and the specified number of  
significant digits beyond the first  
one. Example: 123.456E7  
becomes 1.23E9 in Engineer-  
ing 2format.  
Getting started  
31  
               
Setting  
Options (Continued)  
Entry  
Textbook: An expression is  
entered in much the same way as if  
you were writing it on paper (with  
some arguments above or below  
others). In other words, your entry  
could be two-dimensional.  
Algebraic: An expression is  
entered on a single line. Your entry  
is always one-dimensional.  
RPN: Reverse Polish Notation. The  
arguments of the expression are  
entered first followed by the  
operator. The entry of an operator  
automatically evaluates what has  
already been entered.  
Integers  
Sets the default base for integer  
arithmetic: binary, octal, decimal,  
or hex. You can also set the number  
of bits per integer and whether inte-  
gers are to be signed.  
Complex  
Choose one of two formats for  
displaying complex numbers:  
(a,b)or a+b*i.  
To the right of this field is an  
unnamed checkbox. Check it if you  
want to allow complex output from  
real input.  
Language  
Choose the language you want for  
menus, input forms, and the online  
help.  
32  
Getting started  
                 
Setting  
Options (Continued)  
Decimal Mark Dotor Comma. Displays a number  
as 12456.98 (dot mode) or as  
12456,98 (comma mode). Dot  
mode uses commas to separate  
elements in lists and matrices, and  
to separate function arguments.  
Comma mode uses semicolons as  
separators in these contexts.  
Page 2  
Setting  
Options  
Font Size  
Choose between small, medium,  
and large font for general display.  
Calculator  
Name  
Enter a name for the calculator.  
Textbook  
Display  
If selected, expressions and results  
are displayed in textbook format  
(that is, much as you would see in  
textbooks). If not selected, expres-  
sions and results are displayed in  
algebraic format (that is, in one-  
dimensional format). For example,  
4 5  
is displayed as [[4,5],[6,2]]  
in6a2lgebraic format.  
Menu Display  
This setting determines whether the  
commands on the Math and CAS  
menus are presented descriptively  
or in common mathematical  
shorthand. The default is to provide  
the descriptive names for the  
functions. If you prefer the functions  
to be presented in mathematical  
shorthand, deselect this option.  
Getting started  
33  
     
Setting  
Options (Continued)  
Time  
Set the time and choose a format:  
24-hour or AMPM format. The  
checkbox at the far right lets you  
choose whether to show or hide the  
time on the title bar of screens.  
Date  
Set the date and choose a format:  
YYYY/MM/DD, DD/MM/YYYY, or  
MM/DD/YYYY.  
Color Theme  
Light: black text on a light back-  
ground  
Dark: white text on a dark back-  
ground  
At the far right is a option for you to  
choose a color for the shading  
(such as the color of the highlight).  
Page 3  
Page 3 of the Home Settings input form is for setting  
Exam mode. This mode enables certain functions of the  
calculator to be disabled for a set period, with the  
disabling controlled by a password. This feature will  
primarily be of interest to those who supervise  
examinations and who need to ensure that the calculator  
is used appropriately by students sitting an examination.  
It is described in detail in chapter 4, “Exam Mode,  
starting on page 61.  
Page 4  
Page 4 of the Home Settings input form is for  
Wireless Kit. Visit www.hp.com/support for further  
information.  
Specifying a Home setting  
This example demonstrates how to change the number  
format from the default setting—Standard—to Scientific  
with two decimal places.  
34  
Getting started  
         
1. Press SH  
(Settings) to open the  
Home Settings  
input form.  
The Angle  
Measure field is  
highlighted.  
2. Tap on Number  
Format (either the field label or the field). This selects  
the field. (You could also have pressed \ to select  
it.)  
3. Tap on Number  
Format again. A  
menu of number  
format options  
appears.  
4. Tap on Scientific.  
The option is chosen  
and the menu closes. (You can also choose an item  
by pressing the cursor keys and pressing E  
when the option you want is highlighted.)  
5. Notice that a number  
appears to the right  
of the Number  
Format field. This is  
the number of  
decimal places  
currently set. To  
change the number  
to 2, tap on it twice, and then tap on 2in the menu  
that appears.  
6. Press  
to return to Home view.  
H
Mathematical calculations  
The most commonly used math operations are available  
from the keyboard (see “Math keys” on page 24). Access  
to the rest of the math functions is via various menus (see  
“Menus” on page 28).  
Getting started  
35  
     
Note that the HP Prime represents all numbers smaller  
–499  
than 1 × 10  
as zero. The largest number displayed is  
499  
9.99999999999 × 10 . A greater result is displayed as  
this number.  
Where to  
start  
The home base for the calculator is the Home view (  
).  
H
You can do all your non-symbolic calculations here. You  
can also do calculations in CAS view, which uses the  
computer algebra system (see chapter 3, “Computer  
algebra system (CAS), starting on page 53). In fact, you  
can use functions from the CAS menu (one of the Toolbox  
menus) in an expression you are entering in Home view,  
and use functions from the Math menu (another of the  
Toolbox menus) in an expression you are entering in CAS  
view.  
Choosing an entry type  
The first choice you need to make is the style of entry. The  
three types are:  
Textbook  
An expression is  
entered in much the  
same way as if you  
were writing it on paper (with some arguments above  
or below others). In other words, your entry could be  
two-dimensional, as in the example above.  
Algebraic  
An expression is  
entered on a single  
line. Your entry is  
always one-dimensional.  
RPN (Reverse Polish Notation). [Not available in CAS  
view.]  
The arguments of the expression are entered first  
followed by the operator. The entry of an operator  
automatically evaluates what has already been  
entered. Thus you will need to enter a two-operator  
36  
Getting started  
   
expression (as in the example above) in two steps, one  
for each operator:  
Step 1: 5 h – the natural logarithm of 5 is  
calculated and displayed in history.  
Step 2: Szn is entered as a divisor and  
applied to the previous result.  
More information about RPN mode can be found in  
chapter 2, “Reverse Polish Notation (RPN), starting  
on page 47.  
Note that on page 2 of the Home Settings screen, you  
can specify whether you want to display your calculations  
in Textbook format or not. This refers to the appearance of  
your calculations in the history section of both Home view  
and CAS view. This is a different setting from the Entry  
setting discussed above.  
Entering expressions  
The examples that follow assume that the entry mode is  
Textbook.  
An expression can contain numbers, functions, and  
variables.  
To enter a function, press the appropriate key, or  
open a Toolbox menu and select the function. You  
can also enter a function by using the alpha keys to  
spell out its name.  
When you have finished entering the expression,  
press E to evaluate it.  
If you make a mistake while entering an expression, you  
can:  
delete the character to the left of the cursor by  
pressing  
C
delete the character to the right of the cursor by  
pressing S  
C
clear the entire entry line by pressing O or J.  
Getting started  
37  
 
232 – 14  
---------------------------  
ln45  
8
Example  
Calculate  
–3  
23jw14S  
R
j8>>nQ3  
>h45E  
This example illustrates a  
number of important  
points to be aware of:  
the importance of  
delimiters (such as parentheses)  
how to enter negative numbers  
the use of implied versus explicit multiplication.  
Parentheses  
As the example above shows, parentheses are  
automatically added to enclose the arguments of  
functions, as in LN(). However, you will need to manually  
add parentheses—by pressing  
—to enclose a group  
R
of objects you want operated on as a single unit.  
Parentheses provide a way of avoiding arithmetic  
ambiguity. In the example above we wanted the entire  
numerator divided by –3, thus the entire numerator was  
enclosed in parentheses. Without the parentheses, only  
148would have been divided by –3.  
The following examples show the use of parentheses, and  
the use of the cursor keys to move outside a group of  
objects enclosed within parentheses.  
Entering ...  
Calculates …  
45  
sin45 +   
sin45+   
85 9  
e
e
+Sz  
45  
>+Sz  
85>  
9
s
Sj  
Sj  
85  
9
85 9  
s
38  
Getting started  
     
Algebraic  
precedence  
The HP Prime calculates according to the following order  
of precedence. Functions at the same level of precedence  
are evaluated in order from left to right.  
1. Expressions within parentheses. Nested parentheses  
are evaluated from inner to outer.  
2. !, , reciprocal, square  
3. nth root  
4. Power, 10n  
5. Negation, multiplication, division, and modulo  
6. Addition and subtraction  
7. Relational operators (<, >, , , ==, , =)  
8. AND and NOT  
9. OR and XOR  
10.Left argument of | (where)  
11. Assign to variable (:=)  
Negative  
numbers  
It is best to press Q to start a negative number or to insert  
a negative sign. Pressing w instead will, in some  
situations, be interpreted as an operation to subtract the  
next number you enter from the last result. (This is  
explained in “To reuse the last result” on page 41.)  
To raise a negative number to a power, enclose it in  
2
2
parentheses. For example, (–5) = 25, whereas –5 = –25.  
Explicit and  
implied  
multiplication  
Implied multiplication takes place when two operands  
appear with no operator between them. If you enter AB,  
for example, the result is A*B. Notice in the example on  
page 38 that we entered 14Sk8 without the  
multiplication operator after 14. For the sake of clarity, the  
calculator adds the operator to the expression in history,  
but it is not strictly necessary when you are entering the  
expression. You can, though, enter the operator if you  
wish (as was done in the examples on page 38). The  
result will be the same.  
Getting started  
39  
     
Large results  
If the result is too long or too tall to be seen in its  
entirety—for example, a many-rowed matrix—highlight it  
and then press  
. The result is displayed in full-  
screen view. You can now press = and \ (as well as  
>and <) to bring hidden parts of the result into view.  
Tap  
to return to the previous view.  
Reusing previous expressions and results  
Being able to retrieve and reuse an expression provides a  
quick way of repeating a calculation that requires only a  
few minor changes to its parameters. You can retrieve and  
reuse any expression that is in history. You can also  
retrieve and reuse any result that is in history.  
To retrieve an expression and place it on the entry line for  
editing, either:  
tap twice on it, or  
use the cursor keys to highlight the expression and  
then either tap on it or tap  
To retrieve a result and place it on the entry line, use the  
cursor keys to highlight it and then tap  
.
.
If the expression or result you want is not showing, press  
= repeatedly to step through the entries and reveal those  
that are not showing. You can also swipe the screen to  
quickly scroll through history.  
T I P  
Pressing S= takes you straight to the very first entry  
in history, and pressing S\ takes you straight to the  
most recent entry.  
Using the clipboard  
Your last four expressions are always copied to the  
clipboard and can easily be retrieved by pressing  
SZ. This opens the clipboard from where you can  
quickly choose the one you want.  
Note that expressions and not results are available from  
the clipboard. Note too that the last four expressions  
remain on the clipboard even if you have cleared history.  
40  
Getting started  
   
To reuse the last  
result  
Press S+ (Ans) to  
retrieve your last answer  
for use in another  
calculation. Ans  
appears on the entry  
line. This is a shorthand for your last answer and it can be  
part of a new expression. You could now enter other  
components of a calculation—such as operators, number,  
variables, etc.—and create a new calculation.  
T I P  
You don’t need to first select Ansbefore it can be part of  
a new calculation. If you press a binary operator key to  
begin a new calculation, Ansis automatically added to  
the entry line as the first component of the new  
calculation. For example, to multiply the last answer by  
13, you could enter S+ s13E. But the  
first two keystrokes are unnecessary. All you need to enter  
is s13E.  
The variable Ansis always stored with full precision  
whereas the results in history will only have the precision  
determined by the current Number Format setting (see  
page 31). In other words, when you retrieve the number  
assigned to Ans, you get the result to its full precision; but  
when you retrieve a number from history, you get exactly  
what was displayed.  
You can repeat the previous calculation simply by pressing  
E. This can be useful if the previous calculation  
involved Ans. For example, suppose you want to calculate  
the nth root of 2 when n is 2, 4, 8, 16, 32, and so on.  
1. Calculate the square root of 2.  
Sj2E  
2. Now enter Ans.  
SjS+E  
This calculates the fourth root of 2.  
Getting started  
41  
   
3. Press E  
repeatedly. Each time  
you press, the root is  
twice the previous  
root. The last answer  
shown in the  
illustration at the right  
32  
is 2 .  
To reuse an  
expression or result  
from the CAS  
When your are working in Home view, you can retrieve  
an expression or result from the CAS by tapping Z and  
selecting Get from CAS. The CAS opens. Press  
or  
=
until the item you want to retrieve is highlighted and  
\
press E. The highlighted item is copied to the cursor  
point in Home view.  
Storing a value in a variable  
You can store a value in a variable (that is, assign a value  
to a variable). Then when you want to use that value in a  
calculation, you can refer to it by the variable’s name. You  
can create your own variables, or you can take advantage  
of the built-in variables in Home view (named A to Z and  
) and in the CAS (named a to z, and a few others). CAS  
variables can be used in calculations in Home view, and  
Home variables can be used in calculations in the CAS.  
There are also built-in app variables and geometry  
variables. These can also be used in calculations.  
Example: To assign 2 to to the variable A:  
Szj  
AaE  
Your stored value  
appears as shown at the  
right. If you then wanted  
to multiply your stored  
value by 5, you could  
enter: Aas5E.  
You can also create your own variables in Home view. For  
example, suppose you wanted to create a variable called  
MEand assign 2 to it. You would enter:  
Szj  
AQAcE  
42  
Getting started  
     
A message appears asking if you want to create a  
variable called ME. Tap or press E to  
confirm your intention. You can now use that variable in  
subsequent calculations: ME*3will yield 29.6088132033,  
for example.  
You can also create variables in CAS view in the same  
way. However, the built-in CAS variables must be entered  
in lowercase. However, the variables you create yourself  
can be uppercase or lowercase.  
See chapter 22, “Variables, starting on page 427 for  
more information.  
As well as built-in Home and CAS variables, and the  
variables you create yourself, each app has variables that  
you can access and use in calculations. See App  
functions and variables” on page 109 for more  
information.  
Complex numbers  
You can perform arithmetic operations using complex  
numbers. Complex numbers can be entered in the  
following forms, where x is the real part, y is the  
imaginary part, and i is the imaginary constant, –1 :  
(x, y)  
x + yi (except in RPN mode)  
x – yi (except in RPN mode)  
x + iy (except in RPN mode), or  
x – iy (except in RPN mode)  
To enter i:  
press  
or  
ASg  
press Sy.  
There are 10 built-in variables available for storing  
complex numbers. These are labeled Z0to Z9. You can  
Getting started  
43  
 
also assign a complex number to a variable you create  
yourself.  
To store a complex  
number in a variable,  
enter the complex  
number, press  
,
enter the variable that  
you want to assign the complex number to, and then press  
. For example, to store 2+3i in variable Z6:  
E
R2o3>  
Ay6E  
Sharing data  
As well as giving you access to many types of  
mathematical calculations, the HP Prime enables you to  
create various objects that can be saved and used over  
and over again. For example, you can create apps, lists,  
matrices, programs, and notes. You can also send these  
objects to other HP Primes. Whenever you encounter a  
screen with  
as a menu item, you can select an item  
on that screen to send it to another HP Prime.  
You use one of the  
supplied USB cables to  
send objects from one  
HP Prime to another.  
Micro-A: sender  
Micro-B: receiver  
This is the micro-A–micro B USB cable. Note that the  
connectors on the ends of the USB cable are slightly  
different. The micro-A connector has a rectangular end  
and the micro-B connector has a trapezoidal end. To  
share objects with another HP Prime, the micro-A  
connector must be inserted into the USB port on the  
sending calculator, with the micro-B connector inserted  
into the USB port on the receiving calculator.  
General procedure  
The general procedure for sharing objects is as follows:  
1. Navigate to the screen that lists the object you want  
to send.  
This will be the Application Library for apps, the List  
Catalog for lists, the Matrix Catalog for matrices, the  
44  
Getting started  
       
Program Catalog for programs, and the Notes  
Catalog for notes.  
2. Connect the USB cable between the two calculators.  
The micro-A connector—with the rectangular  
end—must be inserted into the USB port on the  
sending calculator.  
3. On the sending calculator, highlight the object you  
want to send and tap  
.
In the illustration at  
the right, a program  
named  
TriangleCalcs  
has been selected in  
the Program Catalog  
and will be sent to the  
connected calculator  
when  
tapped.  
is  
Online Help  
Press  
W
to open the online help. The help initially  
provided is context-sensitive, that is, it is always about the  
current view and its menu items.  
For example, to get help on the Function app, press I,  
select Function, and press  
W
From within the help system, tapping  
.
displays a  
hierarchical directory of all the help topics. You can  
navigate through the directory to other help topics, or use  
the search facility to quickly find a topic. You can find help  
on any key, view, or command.  
Getting started  
45  
   
46  
Getting started  
2
Reverse Polish Notation (RPN)  
The HP Prime provides you with three ways of entering objects in  
Home view:  
Textbook  
An expression is entered in much the same way was if you  
were writing it on paper (with some arguments above or  
below others). In other words, your entry could be two-  
dimensional, as in the following example:  
Algebraic  
An expression is entered on a single line. Your entry is always  
one-dimensional. The same calculation as above would  
appear like this is algebraic entry mode:  
RPN (Reverse Polish Notation).  
The arguments of the expression are entered first followed by  
the operator. The entry of an operator automatically  
evaluates what has already been entered. Thus you will need  
to enter a two-operator expression (as in the example above)  
in two steps, one for each operator:  
Step 1: 5 h – the natural logarithm of 5 is calculated and  
displayed in history.  
Step 2: Szn is entered as a divisor and  
applied to the previous result.  
You choose your preferred entry method from page 1 of the  
Home Settings screen (SH). See “System-wide settings,  
starting on page 30 for instructions on how to choose settings.  
RPN is available in Home view, but not in CAS view.  
Reverse Polish Notation (RPN)  
47  
           
The same entry-line editing tools are available in RPN mode as  
in algebraic and textbook mode:  
Press C to delete the character to the left of the cursor.  
Press SC to delete the character to the right of the  
cursor.  
Press J to clear the entire entry line.  
Press SJ to clear the entire entry line.  
History in RPN mode  
The results of your calculations are kept in history. This history is  
displayed above the entry line (and by scrolling up to  
calculations that are no longer immediately visible). The  
calculator offers three histories: one for the CAS view and two for  
Home view. CAS history is discussed in chapter 3. The two  
histories in Home view are:  
non-RPN: visible if you have chosen algebraic or textbook  
as your preferred entry technique  
RPN: visible only if you have chosen RPN as your preferred  
entry technique. The RPN history is also called the stack. As  
shown in the illustration below, each entry in the stack is  
given a number. This is the stack level number.  
As more calculations are added, an entry’s stack level number  
increases.  
If you switch from RPN to algebraic or textbook entry, your  
history is not lost. It is just not visible. If you switch back to RPN,  
your RPN history is redisplayed. Likewise, if you switch to RPN,  
your non-RPN history is not lost.  
When you are not in RPN mode, your history is ordered  
chronologically: oldest calculations at the top, most recent at the  
48  
Reverse Polish Notation (RPN)  
   
bottom. In RPN mode, your history is ordered chronologically by  
default, but you can change the order of the items in history. (This  
is explained in “Manipulating the stack” on page 51.)  
Re-using  
results  
There are two ways to re-use a result in history. Method 1  
deselects the copied result after copying; method 2 keeps the  
copied item selected.  
Method 1  
1. Select the result to be copied. You can do this by pressing  
= or \ until the result is highlighted, or by tapping on it.  
2. Press E. The result is copied to the entry line and is  
deselected.  
Method 2  
1. Select the result to be copied. You can do this by pressing  
= or \ until the result is highlighted, or by tapping on it.  
2. Tap  
and select ECHO. The result is copied to the  
entry line and remains selected.  
Note that while you can copy an item from the CAS history to  
use in a Home calculation (and copy an item from the Home  
history to use in a CAS calculation), you cannot copy items from  
or to the RPN history. You can, however, use CAS commands  
and functions when working in RPN mode.  
Sample calculations  
The general philosophy behind RPN is that arguments are  
placed before operators. The arguments can be on the entry line  
(each separated by a space) or they can be in history. For  
example, to multiply by 3, you could enter:  
SzX 3  
on the entry line and then enter the operator (s). Thus your  
entry line would look like this before entering the operator:  
However, you could also have entered the arguments separately  
and then, with a blank entry line, entered the operator (s).  
Your history would look like this before entering the operator:  
Reverse Polish Notation (RPN)  
49  
If there are no entries in history and you enter an operator or  
function, an error message appears. An error message will also  
appear if there is an entry on a stack level that an operator needs  
but it is not an appropriate argument for that operator. For  
example, pressing f when there is a string on level 1 displays  
an error message.  
An operator or function will work only on the minimum number  
of arguments necessary to produce a result. Thus if you enter on  
the entry line 2 4 6 8and press s, stack level 1 shows 48.  
Multiplication needs only two arguments, so the two arguments  
last entered are the ones that get multiplied. The entries 2and 4  
are not ignored: 2is placed on stack level 3 and 4on stack level  
2.  
Where a function can accept a variable number of arguments,  
you need to specify how many arguments you want it to include  
in its operation. You do this by specifying the number in  
parentheses straight after the function name. You then press  
E to evaluate the function. For example, suppose your  
stack looks like this:  
Suppose further that you want to determine the minimum of just  
the numbers on stack levels 1, 2, and 3. You choose the MIN  
function from the MATH menu and complete the entry as  
MIN(3). When you press E, the minimum of just the last  
three items on the stack is displayed.  
50  
Reverse Polish Notation (RPN)  
Manipulating the stack  
A number of stack-manipulation options are available. Most  
appear as menu items across the bottom the screen. To see these  
items, you must first select an item in history:  
PICK  
ROLL  
Copies the selected item to stack level 1. The item below the one  
that is copied is then highlighted. Thus if you tapped  
four  
times, four consecutive items will be moved to the bottom four  
stack levels (levels 1–4).  
There are two roll commads:  
Tap  
to move the selected item to stack level 1. This is  
similar to PICK, but PICK duplicates the item, with the  
duplicate being placed on stack level1. However, ROLL  
doesn’t duplicate an item. It simply moves it.  
Tap  
to move the item on stack level 1 to the currently  
highlighted level  
Swap  
Stack  
You can swap the position of the objects on stack level 1 with  
those on stack level 2. Just press o. The level of other objects  
remains unchanged. Note that the entry line must not be active  
at the time, otherwise a comma will be entered.  
Tapping  
displays further stack-manipulation tools.  
DROPN Deletes all items in the stack from the highlighted item down to  
and including the item on stack level 1. Items above the  
highlighted item drop down to fill the levels of the deleted items.  
If you just want to delete a single item from the stack, see “Delete  
an item” below.  
Reverse Polish Notation (RPN)  
51  
     
DUPN Duplicates all items between (and including) the highlighted item  
and the item on stack level 1. If, for example, you have selected  
the item on stack level 3, selecting DUPNduplicates it and the  
two items below it, places them on stack levels 1 to 3, and moves  
the items that were duplicated up to stack levels 4 to 6.  
Echo Places a copy of the selected result on the entry line and leaves  
the source result highlighted.  
LIST Creates a list of results, with the highlighted result the first element  
in the list and the item on stack level 1 the last.  
Before  
After  
Show an  
item  
To show a result in full-screen textbook format, tap  
Tap to return to the history.  
.
Delete an To delete an item from the stack:  
item  
1. Select it. You can do this by pressing = or \ until the item  
is highlighted, or by tapping on it.  
2. Press C.  
Delete all To delete all items, thereby clearing the history, press SJ.  
items  
52  
Reverse Polish Notation (RPN)  
     
3
Computer algebra system (CAS)  
A computer algebra system (CAS) enables you to perform  
symbolic calculations. By default, CAS works in exact mode,  
giving you infinite precision. On the other hand, non-CAS  
calculations, such as those performed in HOME view or by an  
app, are numerical calculations and are often approximations  
limited by the precision of the calculator (to 12 significant  
1
3
2
7
-- --  
digits in the case of the HP Prime). For example,  
+
yields  
the approximate answer .619047619047 in Home view (with  
13  
-----  
Standard numerical format), but yields the exact answer  
the CAS.  
in  
21  
The CAS offers many hundreds of functions, covering algebra,  
calculus, equation solving, polynomials, and more. You select  
a function from the CAS menu, one of the Toolbox menus  
discussed in chapter 21, “Functions and commands,  
beginning on page 305. Consult that chapter for a  
description of all the CAS functions and commands.  
CAS view  
CAS calculations are done  
in CAS view. CAS view is  
almost identical to Home  
view. A history of  
calculations is built and you  
can select and copy previous  
calculations just as you can  
in Home view, as well as  
store objects in variables.  
To open CAS view, press K. CAS appears in red at the left  
of the title bar to indicate that you are in CAS view rather than  
Home view.  
Computer algebra system (CAS)  
53  
     
The menu buttons in CAS view are:  
: assigns an object to a variable  
: applies common simplification rules to reduce an  
expression to its simplest form. For example,  
c
simplify(ea + LN(b*e ))yields b *EXP(a)*EXP(c).  
: copies a selected entry in history to the entry line  
: displays the selected entry in full-screen mode,  
with horizontal and vertical scrolling enabled. The entry  
is also presented in textbook format.  
CAS calculations  
With one exception, you perform calculations in CAS view  
just as you do in Home view. (The exception is that there is no  
RPN entry mode in CAS view, just algebraic and textbook  
modes). All the operator and function keys work in the same  
way in CAS view as Home view (although all the alpha  
characters are lowercase rather than uppercase). But the  
primary difference is that the default display of answers is  
symbolic rather than numeric.  
You can also use the template key (F) to help you insert the  
framework for common calculations (and for vectors and  
matrices). This is explained in detail in “Math template” on  
page 24.  
The most commonly used  
CAS functions are available  
from the CAS menu, one of  
the Toolbox menus. To  
display the menu, press  
D. (If the CAS menu is not  
open by default, tap  
.) Other CAS  
commands are available from the Catlg menu (another of the  
Toolbox menus).  
To choose a function, select a category and then a command.  
54  
Computer algebra system (CAS)  
   
Example 1  
To find the roots of 2x2 + 3x – 2:  
1. With the CAS menu open, select Polynomial and then  
Find Roots.  
The function proot()  
appears on the entry  
line.  
2. Between the  
parentheses, enter:  
2Asj+3  
Asw2  
3. Press E.  
Example 2  
To find the area under the graph of 5x2 – 6 between x =1 and  
x = 3:  
1. With the CAS menu open, select Calculus and then  
Integrate.  
The function int()  
appears on the entry  
line.  
2. Between the  
parentheses, enter:  
5Asjw6  
oAso1o  
3
3. Press E.  
Settings  
Various settings allow you to  
configure how the CAS  
works. To display the  
settings, press SK. The  
modes are spread across  
two pages.  
Computer algebra system (CAS)  
55  
 
Page 1  
Setting  
Purpose  
Angle Measure  
Select the units for angle measure-  
ments: Radiansor Degrees.  
Number Format  
(first drop-down  
list)  
Select the number format for dis-  
played solutions:  
Standard or Scientific or  
Engineering  
Number Format  
(second drop-  
down list)  
Select the number of digits to dis-  
play in approximate mode (man-  
tissa + exponent).  
Integers (drop-  
down list)  
Select the integer base:  
Decimal(base 10)  
Hex(base 16)  
Octal (base 8)  
Integers (check  
box)  
If checked, any real number equiv-  
alent to an integer in a non-CAS  
environment will be converted to  
an integer in the CAS. (Real num-  
bers not equivalent to integers are  
treated as real numbers in CAS  
whether or not this option is  
selected.)  
Simplify  
Select the level of automatic sim-  
plification:  
None: do not simplify automati-  
cally (use  
for manual sim-  
plification)  
Minimum: do basic simplifications  
Maximum: always try to simplify  
Exact  
If checked, the calculator is in  
exact mode and solutions will be  
symbolic. If not checked, the calcu-  
lator is in approximate mode and  
solutions will be approximate. For  
26  
example, 26n5 yields ----------- in  
5
exact mode and 5.2 in approxi-  
mate mode.  
56  
Computer algebra system (CAS)  
       
Setting  
Purpose (Cont.)  
Complex  
Select this to allow complex results  
in variables.  
If checked, second order polyno-  
mials are factorized in complex  
mode or in real mode if the dis-  
criminant is positive.  
Use  
Use i  
If checked, the calculator is in  
complex mode and complex solu-  
tions will be displayed when they  
exist. If not checked, the calculator  
is in real mode and only real solu-  
tions will be displayed. For exam-  
ple, factors(x41) yields  
(x1),(x+1),(x+i),(x–i) in complex  
mode and  
(x1),(x+1),(x2+1) in real mode.  
Principal  
If checked, the principal solutions  
to trigonometric functions will be  
displayed. If not checked, the gen-  
eral solutions to trigonometric func-  
tions will be displayed.  
Increasing  
If checked, polynomials will be  
displayed with increasing powers  
(for example, –4+x+3x2+x3). If not  
checked, polynomials will be dis-  
played with decreasing powers  
(for example, x3+3x2+x–4).  
Page 2  
Setting  
Purpose  
Recursive  
Evaluation  
Specify the maximum number of  
embedded variables allowed in  
an interactive evaluation. See also  
Recursive Replacement  
below.  
Computer algebra system (CAS)  
57  
       
Setting  
Purpose (Cont.)  
Recursive  
Replacement  
Specify the maximum number of  
embedded variables allowed in a  
single evaluation in a program.  
See also Recursive Evalua-  
tion above.  
Recursive  
Function  
Specify the maximum number of  
embedded function calls allowed.  
Epsilon  
Any number smaller than the  
value specified for epsilon will be  
shown as zero.  
Probability  
Specify the maximum probability  
of an answer being wrong for  
non-deterministic algorithms. Set  
this to zero for deterministic algo-  
rithms.  
Newton  
Specify the maximum number of  
iterations when using the Newto-  
nian method to find the roots of a  
quadratic.  
Setting the form  
of menu items  
One setting that affects the CAS is made outside the CAS  
Settings screen. This setting determines whether the  
commands on the CAS menu are presented descriptively or by  
their command name. Here are some examples of identical  
functions that are presented differently depending on what  
presentation mode you select:  
Descriptive name  
Command name  
Factor List  
ifactors  
cZeros  
gbasis  
factor_xn  
proot  
Complex Zeros  
Groebner Basis  
Factor by Degree  
Find Roots  
The default menu presentation mode is to provide the  
descriptive names for the CAS functions. If you prefer the  
58  
Computer algebra system (CAS)  
       
functions to be presented by their command name, deselect  
the Menu Displayoption on the second page of the Home  
Settings screen (see “Home settings” on page 30).  
To use an  
When your are working in CAS, you can retrieve an expres-  
sion or result from Home view by tapping Z and selecting  
expression or  
result from  
Home view  
Get from Home. Home view opens. Press  
or  
until  
=
\
the item you want to retrieve is highlighted and press E.  
The highlighted item is copied to the cursor point in CAS.  
To use a Home  
variable in CAS  
You can access Home variables from within the CAS. Home  
variables are assigned uppercase letters; CAS variables are  
assigned lowercase letters. Thus SIN(x) and SIN(X) will yield  
different results.  
To use a Home variable in the CAS, simply include its name  
in a calculation. For example, suppose in Home view you  
have assigned variable Q to 100. Suppose too that you have  
assigned variable q to 1000 in the CAS. If you are in the CAS  
and enter 5*q, the result is 5000. If you had entered 5*Q  
instead, the result would have been 500.  
In a similar way, CAS variables can be used in calculations  
in Home view. Thus you can enter 5*q in Home view and get  
5000, even though q is a CAS variable.  
Computer algebra system (CAS)  
59  
   
60  
Computer algebra system (CAS)  
4
Exam Mode  
The HP Prime can be precisely configured for an  
examination, with any number of features or functions  
disabled for a set period of time. Configuring a HP Prime  
for an examination is called exam mode configuration.  
You can create and save multiple exam mode  
configurations, each with its own subset of functionality  
disabled. You can set each configuration for its own time  
period, with or without a password. An exam mode  
configuration can be activated from an HP Prime, sent  
from one HP Prime to another via USB cable, or sent to  
one or more HP Primes via the Connectivity Kit.  
Exam mode  
configuration will  
primarily be of interest to  
teachers, proctors, and  
invigilators who want to  
ensure that the calculator  
is used appropriately by  
students sitting for an  
examination. In the illustration to the right, user-customized  
apps, the help system and the computer algebra system  
have been selected for disabling.  
As part of an exam mode configuration, you can choose  
to activate 3 lights on the calculator that will flash  
periodically during exam mode. The lights are on the top  
edge of the calculator. The lights will help the supervisor  
of the examination detect if any particular calculator has  
dropped out of exam mode. The flashing of lights on all  
calculators placed in exam mode will be synchronized so  
that all will flash the same pattern at the same time.  
Exam Mode  
61  
     
Modifying the default configuration  
A configuration named Default Examappears when  
you first access the Exam Mode screen. This  
configuration has no functions disabled. If only one  
configuration is needed, you can simply modify the  
default exam configuration. If you envisage the need for a  
number of configurations—different ones for different  
examinations, for example—modify the default  
configuration so that it matches the settings you will most  
often need, and then create other configurations for the  
settings you will need less often. There are two ways to  
access the screen for configuring and activating exam  
mode:  
press O + A + c  
choose the third page of the Home Settings screen.  
The procedure below illustrates the second method.  
1. Press SH. The Home Settings screen appears.  
2. Tap  
3. Tap  
.
.
The Exam Mode  
screen appears. You  
use this screen to  
activate a particular  
configuration (just  
before an  
examination begins,  
for example).  
4. Tap  
. The  
Exam Mode  
Configuration  
screen appears.  
5. Select those features  
you want disabled,  
and make sure that  
those features you  
don’t want disabled are not selected.  
62  
Exam Mode  
An expand box at the left of a feature indicates that it  
is a category with sub-items that you can individually  
disable. (Notice that there is an expand box beside  
System Apps in the example shown above.) Tap on  
the expand box to see the sub-items. You can then  
all the sub-item, just select the category.  
You can select (or deselect) an option either by  
tapping on the check box beside it, or by using the  
cursor keys to scroll to it and tapping  
6. When you have finished selecting the features to be  
disabled, tap  
.
.
If you want to activate exam mode now, continue with  
Activating Exam Mode” below.  
Creating a new configuration  
You can modify the default exam configuration when new  
circumstances require a different set of disabled functions.  
Alternatively, you can retain the default configuration and  
create a new configuration. When you create a new  
configuration, you choose an existing configuration on  
which to base it.  
1. Press SH. The Home Settings screen  
appears.  
2. Tap  
3. Tap  
.
.
The Exam Mode  
screen appears.  
4. Choose a base  
configuration from  
the Configuration  
list. If you have not  
created any exam  
mode configurations  
before, the only base configuration will be Default  
Exam.  
Exam Mode  
63  
 
5. Tap  
name for the new configuration.  
, select Copyfrom the menu and enter a  
See Adding text” on page 23 if you need help with  
entering alphabetic characters.  
6. Tap  
twice.  
7. Tap  
. The Exam Mode Configuration  
screen appears.  
8. Select those features you want disabled, and make  
sure that those features you don’t want disabled are  
not selected.  
9. When you have finished selecting the features to be  
disabled, tap  
.
Note that you can create exam mode configurations  
create them on an HP Prime. You can then activate  
them on multiple HP Primes, either via USB or by  
broadcasting them to a class using the wireless  
modules. For more information, install and launch the  
HP Connectivity Kit that came on your product CD.  
From the Connectivity Kit menu, click Help and select  
HP Connectivity Kit User Guide.  
If you want to activate exam mode now, continue with  
Activating Exam Mode” below.  
Activating Exam Mode  
When you activate exam mode you prevent users of the  
calculator from accessing those features you have  
disabled. The features become accessible again at the  
end of the specified time-out period or on entry of the  
exam-mode password, whichever occurs sooner.  
64  
Exam Mode  
   
To activate exam mode:  
1. If the Exam Mode  
screen is not  
showing, press  
SH, tap  
and  
tap  
.
2. If a configuration  
other than Default  
Examis required, choose it from the Configuration  
list.  
3. Select a time-out period from the Timeout list.  
Note that 8 hours is the maximum period. If you are  
preparing to supervise a student examination, make  
sure that the time-out period chosen is greater than  
the duration of the examination.  
4. Enter a password of between 1 and 10 characters.  
The password must be entered if you—or another  
user—wants to cancel exam mode before the time-out  
period has elapsed.  
5. If you want to erase the memory of the calculator,  
select Erase memory. This will erase all user entries  
and return the calculator to its factory default settings.  
6. If you want the exam mode indicator to flash  
periodically while the calculator is in exam mode,  
select Blink LED.  
7. Using the supplied USB cable, connect a student’s  
calculator.  
Insert the micro-A connector—the one with the  
rectangular end—into the USB port on the sending  
calculator, and the other connector into the USB port  
on the receiving calculator.  
8. To activate the configuration on an attached  
calculator, tap  
closes. The connected calculator is now in exam  
The Exam Mode screen  
.
Exam Mode  
65  
 
mode, with the specified disabled features not  
accessible to the user of that calculator.  
9. Repeat from step 7 for each calculator that needs to  
have its functionality limited.  
Cancelling exam mode  
If you want to cancel exam mode before the set time  
period has elapsed, you will need to enter the password  
for the current exam mode activation.  
1. If the Exam Mode screen is not showing, press  
SH, tap  
2. Enter the password for the current exam mode  
activation and tap twice  
and tap  
.
.
You can also cancel exam mode using the Connectivity  
Kit. See the HP Connectivity Kit User Guide for more  
details.  
Modifying configurations  
Exam mode configurations can be changed. You can also  
delete a configuration and restore the default  
configuration.  
To change a configuration  
1. If the Exam Mode screen is not showing, press  
SH, tap and tap  
.
2. Select the configuration you want to change from the  
Configuration list.  
3. Tap  
.
4. Make whatever changes are necessary and then tap  
.
66  
Exam Mode  
 
To return to the default configuration  
1. Press SH. The Home Settings screen  
appears.  
2. Tap  
3. Tap  
.
.
The Exam Mode screen appears.  
4. Choose Default Examfrom the Configuration  
list.  
5. Tap  
, select Resetfrom the menu and tap  
to confirm your intention to return the  
configuration to its default settings.  
Deleting configurations  
You cannot delete the default exam configuration (even if  
you have modified it). You can only delete those that you  
have created. To delete a configuration:  
1. If the Exam Mode screen is not showing, press  
SH, tap  
and tap  
.
2. Select the configuration you want to delete from the  
Configuration list.  
3. Tap  
and choose Delete.  
4. When asked to confirm the deletion, tap  
or  
press E.  
Exam Mode  
67  
   
68  
Exam Mode  
5
An introduction to HP apps  
Much of the functionality of the HP Prime is provided in packages  
called HP apps. The HP Prime comes with 18 HP apps: 10  
dedicated to mathematical topics or tasks, three specialized  
Solvers, three function Explorers, a spreadsheet, and an app for  
recording data streamed to the calculator from an external  
sensing device. You launch an app by first pressing I (which  
displays the Application Library screen) and tapping on the  
icon for the app you want.  
What each app enables you to do is outlined in the following,  
where the apps are listed in alphabetical order.  
App name  
Use this app to:  
Advanced  
Graphing  
Explore the graphs of symbolic open  
sentences in x and y. Example:  
x2 + y2 = 64  
DataStreamer  
Collect real-world data from scientific  
sensors and export it to a statistics app for  
analysis.  
Finance  
Function  
Solve time-value-of-money (TVM) problems  
and amortization problems.  
Explore real-valued, rectangular functions  
of y in terms of x. Example:  
y = 2x2 + 3x + 5  
Geometry  
Inference  
Explore geometric constructions and  
perform geometric calculations.  
Explore confidence intervals and  
hypothesis tests based on the Normal and  
Student’s t-distributions.  
Linear Explorer Explore the properties of linear equations  
and test your knowledge.  
An introduction to HP apps  
69  
                   
App name  
Use this app to: (Cont.)  
Linear Solver  
Find solutions to sets of two or three linear  
equations.  
Parametric  
Polar  
Explore parametric functions of x and y in  
terms of t. Example: x = cos (t) and  
y = sin(t).  
Explore polar functions of r in terms of an  
angle . Example: r = 2cos4  
Quadratic  
Explorer  
Explore the properties of quadratic  
equations and test your knowledge.  
Sequence  
Explore sequence functions, where U is  
defined in terms of n, or in terms of  
previous terms in the same or another  
sequence, such as Un – 1 and Un – 2  
Example: U1 = 0 , U2 = 1 and  
Un = Un – 2 + Un – 1  
.
Solve  
Explore equations in one or more real-  
valued variables, and systems of equations.  
Example: x + 1 = x2 x – 2  
Spreadsheet  
To solve problems or represent data best  
suited to a spreadsheet.  
Statistics 1Var  
Statistics 2Var  
Calculate one-variable statistical data (x)  
Calculate two-variable statistical data  
(x and y)  
Triangle Solver  
Trig Explorer  
Find the unknown values for the lengths  
Explore the properties of sinusoidal  
equations and test your knowledge.  
As you use an app to explore a lesson or solve a problem, you  
add data and definitions in one or more of the app’s views. All  
this information is automatically saved in the app. You can come  
back to the app at any time and all the information is still there.  
You can also save a version of the app with a name you give it  
and then use the original app for another problem or purpose.  
See “Creating an app” on page 107 for more information about  
customizing and saving apps.  
70  
An introduction to HP apps  
                     
With one exception, all the apps mentioned above are described  
in detail in this user guide. The exception is the DataStreamer  
app. A brief introduction to this app is given in the HP Prime  
Quick Start Guide. Full details can be found in the HP  
StreamSmart 410 User Guide.  
Application Library  
Apps are stored in the Application Library, displayed by pressing  
I.  
To open an  
app  
1. Open the Application  
Library.  
2. Find the app’s icon and tap  
on it.  
You can also use the cursor  
keys to scroll to the app  
and, when it is highlighted,  
either tap  
or press  
E.  
To reset an  
app  
You can leave an app at any time and all the data and settings  
in it are retained. When you return to the app, you can continue  
as you left off.  
However, if you don’t want to use the previous data and settings,  
you can return the app to its default state, that is, the state it was  
in when you opened it for the first time. To do this:  
1. Open the Application Library.  
2. Use the cursor keys to highlight the app.  
3. Tap  
4. Tap  
.
to confirm your intention.  
You can also reset an app from within the app. From the main  
view of the app—which is usually, but not always, the Symbolic  
view—press SJ and tap  
to confirm your intention.  
To sort apps  
By default, the built-in apps in the Application Library are sorted  
chronologically, with the most recently used app shown first.  
(Customized apps always appear after the built-in apps.)  
An introduction to HP apps  
71  
         
You can change the sort order of the built-in apps to:  
Alphabetically  
The app icons are sorted alphabetically by name, and in  
ascending order: A to Z.  
Fixed  
Apps are displayed in their default order: Function,  
Advanced Graphing, Geometry … Polar, and Sequence.  
Customized apps are placed at the end, after all the built-in  
apps. They appear in chronological order: oldest to most  
recent.  
To change the sort order:  
1. Open the Application Library.  
2. Tap  
.
3. From the Sort Apps list, choose the option you want.  
To delete an  
app  
The apps that come with the HP Prime are built-in and cannot be  
deleted, but you can delete an app you have created. To delete  
an app:  
1. Open the Application Library.  
2. Use the cursor keys to highlight the app.  
3. Tap  
4. Tap  
.
to confirm your intention.  
Other  
options  
The other options available in the Application Library are:  
Enables you to save a copy of an app under a new name.  
See “Creating an app” on page 107.  
Enables you to send an app to another HP Prime. See  
“Sharing data” on page 44.  
App views  
Most apps have three major views: Symbolic, Plot, and Numeric.  
These views are based on the symbolic, graphic, and numeric  
representations of mathematical objects. They are accessed  
through the Y, P, and M keys near the top left of the  
keyboard. Typically these views enable you to define a  
72  
An introduction to HP apps  
     
mathematical object—such as an expression or an open  
sentence—plot it, and see the values generated by it.  
Each of these views has an accompanying setup view, a view that  
enables you to configure the appearance of the data in the  
accompanying major view. These views are called Symbolic  
Setup, Plot Setup, and Numeric Setup. They are accessed by  
pressing JY, JP, and JM.  
Not all apps have all the six views outlined above. The scope and  
complexity of each app determines its particular set of views. For  
example, the Spreadsheet app has no Plot view or Plot Setup  
view, and the Quadratic Explorer has only a Plot view. What  
views are available in each app is outlined in the next six  
sections.  
Note that the DataStreamer app is not covered in this chapter.  
See HP StreamSmart 410 User Guide for information about this  
app.  
Symbolic view  
The table below outlines what is done in the Symbolic view of  
each app.  
App  
Use the Symbolic view to:  
Advanced  
Graphing  
Specify up to 10 open sentences.  
Finance  
Function  
Not used  
Specify up to 10 real-valued, rectangular  
functions of y in terms of x.  
Geometry  
Inference  
View the symbolic definition of geometric  
constructions.  
Choose to conduct a hypothesis test or test  
a confidence level, and select a type of  
test.  
Linear Explorer Not used  
Linear Solver  
Parametric  
Not used  
Specify up to 10 parametric functions of x  
and y in terms of t.  
An introduction to HP apps  
73  
   
App  
Use the Symbolic view to: (Cont.)  
Polar  
Specify up to 10 polar functions of r in  
terms of an angle .  
Quadratics  
Explorer  
Not used  
Sequence  
Specify up to 10 sequence functions.  
Specify up to 10 equations.  
Not used  
Solve  
Spreadsheet  
Statistics 1Var  
Statistics 2Var  
Triangle Solver  
Trig Explorer  
Specify up to 5 univariate analyses.  
Specify up to 5 multivariate analyses.  
Not used  
Not used  
Symbolic Setup view  
The Symbolic Setup view is the  
same for each app. It enables  
you to override the system-wide  
settings for angle measure,  
number format, and complex-  
number entry. The override  
applies only to the current app.  
To change the settings for all  
apps, see “System-wide settings” on page 30.  
Plot view  
The table below outlines what is done in the Plot view of each  
app.  
App  
Use the Plot view to:  
Advanced  
Graphing  
Plot and explore the open sentences  
selected in Symbolic view.  
Finance  
Function  
Display an amortization graph.  
Plot and explore the functions selected in  
Symbolic view.  
74  
An introduction to HP apps  
       
App  
Use the Plot view to: (Cont.)  
Geometry  
Create and manipulate geometric  
constructions.  
Inference  
View a plot of the test results.  
Linear Explorer Explore linear equations and test your  
knowledge of them.  
Linear Solver  
Parametric  
Not used  
Plot and explore the functions selected in  
Symbolic view.  
Polar  
Plot and explore the functions selected in  
Symbolic view.  
Quadratics  
Explorer  
Explore quadratic equations and test your  
knowledge of them.  
Sequence  
Plot and explore the sequences selected in  
Symbolic view.  
Solve  
Plot and explore a single function selected  
in Symbolic view.  
Spreadsheet  
Not used  
Statistics 1Var  
Plot and explore the analyses selected in  
Symbolic view.  
Statistics 2Var  
Plot and explore the analyses selected in  
Symbolic view.  
Triangle Solver  
Trig Explorer  
Not used  
Explore sinusoidal equations and test your  
knowledge of them.  
An introduction to HP apps  
75  
Plot Setup view  
The table below outlines what is done in the Plot Setup view of  
each app.  
App  
Use the Plot Setup view to:  
Advanced  
Graphing  
Modify the appearance of plots and the  
plot environment.  
Finance  
Function  
Not used  
Modify the appearance of plots and the  
plot environment.  
Geometry  
Inference  
Modify the appearance of the drawing  
environment.  
Not used  
Linear Explorer Not used  
Linear Solver  
Parametric  
Not used  
Modify the appearance of plots and the  
plot environment.  
Polar  
Modify the appearance of plots and the  
plot environment.  
Quadratics  
Explorer  
Not used  
Sequence  
Modify the appearance of plots and the  
plot environment.  
Solve  
Modify the appearance of plots and the  
plot environment.  
Spreadsheet  
Not used  
Statistics 1Var  
Modify the appearance of plots and the  
plot environment.  
Statistics 2Var  
Modify the appearance of plots and the  
plot environment.  
Triangle Solver  
Trig Explorer  
Not used  
Not used  
76  
An introduction to HP apps  
   
Numeric view  
The table below outlines what is done in the Numeric view of  
each app.  
App  
Use the Numeric view to:  
Advanced  
Graphing  
View a table of numbers generated by the  
open sentences selected in Symbolic view.  
Finance  
Enter values for time-value-of-money  
calculations.  
Function  
Geometry  
Inference  
View a table of numbers generated by the  
functions selected in Symbolic view.  
Perform calculations on the geometric  
objects drawn in Plot view.  
Specify the statistics needed to perform the  
test selected in Symbolic view.  
Linear Explorer Not used  
Linear Solver  
Parametric  
Polar  
Specify the coefficients of the linear  
equations to be solved.  
View a table of numbers generated by the  
functions selected in Symbolic view.  
View a table of numbers generated by the  
functions selected in Symbolic view.  
Quadratics  
Explorer  
Not used  
Sequence  
View a table of numbers generated by the  
sequences selected in Symbolic view.  
Solve  
Enter the known values and solve for the  
unknown value.  
Spreadsheet  
Enter numbers, text, formulas, etc. The  
Numeric view is the primary view for this  
app.  
Statistics 1Var  
Statistics 2Var  
Enter data for analysis.  
Enter data for analysis.  
An introduction to HP apps  
77  
 
App  
Use the Numeric view to: (Cont.)  
Triangle Solver  
Enter known data about a triangle and  
solve for the unknown data.  
Trig Explorer  
Not used  
Numeric Setup view  
The table below outlines what is done in the Numeric Setup view  
of each app.  
App  
Use the Numeric Setup view to:  
Advanced  
Graphing  
Specify the numbers to be calculated  
according to the open sentences specified  
in Symbolic view, and set the zoom factor.  
Finance  
Function  
Not used.  
Specify the numbers to be calculated  
according to the functions specified in  
Symbolic view, and set the zoom factor.  
Geometry  
Inference  
Not used  
Not used  
Linear Explorer Not used  
Linear Solver  
Parametric  
Not used  
Specify the numbers to be calculated  
according to the functions specified in  
Symbolic view, and set the zoom factor.  
Polar  
Specify the numbers to be calculated  
according to the functions specified in  
Symbolic view, and set the zoom factor.  
Quadratics  
Explorer  
Not used.  
Sequence  
Specify the numbers to be calculated  
according to the sequences specified in  
Symbolic view, and set the zoom factor.  
Solve  
Not used  
78  
An introduction to HP apps  
   
App  
Use the Numeric Setup view to: (Cont.)  
Spreadsheet  
Statistics 1Var  
Statistics 2Var  
Triangle Solver  
Trig Explorer  
Not used  
Not used  
Not used  
Not used  
Not used  
Quick example  
The following example uses all six app views and should give you  
an idea of the typical workflow involved in working with an app.  
The Polar app is used as the sample app.  
Open the app  
Symbolic view  
1. Open the Application Library by pressing I.  
2. Tap once on the icon of the Polar app.  
The Polar app opens in Symbolic View.  
The Symbolic view of the Polar app is where you define or specify  
the polar equation you want to plot and explore. In this example  
we will plot and explore the equation r = 4cos  2cos2   
3. Define the equationr = 4cos  2cos2 by entering:  
4
Szf  
2>>  
n
f
>
jE  
(If you are using algebraic  
entry mode, you would  
enter 4  
Szf  
2>  
n
f
>
.)  
jE  
This equation will draw symmetrical petals provided that the  
angle measure is set to radians. The angle measure for this  
app is set in the Symbolic Setup view.  
An introduction to HP apps  
79  
Symbolic Setup view  
4. Press SY.  
5. Select Radiansfrom the  
Angle Measure menu.  
Plot view  
6. Press P.  
A graph of the equation is  
plotted. However, as the  
illustration at the right  
shows, only a part of the  
petals is visible. To see the  
rest you will need to change  
the plot setup parameters.  
Plot Setup View  
7. Press SP.  
8. Set the second RNG field to  
4by entering:  
4
(  
> Sz  
9. Press P to return to Plot  
view and see the complete  
plot.  
80  
An introduction to HP apps  
Numeric View  
The values generated by the  
equation can be seen in  
Numeric view.  
10. Press M.  
Suppose you want to see just  
whole numbers for ; in other  
words, you want the increment  
between consecutive values in  
the column to be 1. You set this up in the Numeric Setup view.  
Numeric Setup View  
11. P r e s s SM.  
12. Change the NUMSTEP field  
to 1.  
13. Press M to return to  
Numeric view.  
You will see that the   
column now contains  
consecutive integers starting from zero, and the  
corresponding values calculated by the equation specified in  
Symbolic view are listed in the R1 column.  
Common operations in Symbolic view  
[Scope: Advanced Graphing, Function, Parametric, Polar,  
Sequence, Solve. See dedicated app chapters for information  
about the other apps.]  
Symbolic view is typically used to define a function or open  
sentence that you want to explore (by plotting and/or  
evaluating). In this section, the term definition will be used to  
cover both functions and open sentences.  
Press Y to open Symbolic view.  
Add a definition  
With the exception of the Parametric app, there are 10 fields for  
entering definitions. In the Parametric app there are 20 fields, two  
for each paired definition.  
An introduction to HP apps  
81  
     
1. Highlight an empty field you want to use, either by tapping  
on it or scrolling to it.  
2. Enter your definition.  
If you need help, see “Definitional building blocks” on  
page 82.  
3. Tap  
or press E when you have finished.  
Your new definition is added to the list of definitions.  
Note that variables used in definitions must be in uppercase.  
A variable entered in lowercase will cause an error message  
to appear.  
Modify a definition  
1. Highlight the definition you want to modify, either by tapping  
on it or scrolling to it.  
2. Tap  
.
The definition is copied to the entry line.  
3. Modify the definition.  
4. Tap  
or press E when you have finished.  
Definitional building blocks  
The components that make up a symbolic definition can come  
from a number of sources.  
From the keyboard  
You can enter components directly from the keyboard. To  
enter 2X2 – 3, just press 2AXjw3.  
From user variables  
If, for example, you have created a variable called COST,  
you could incorporate that into a definition either by typing  
it or choosing it from the User menu (one of the sub-menus  
of the Variables menu). Thus you could have a definition that  
reads F1(X)=X2+COST.  
To select a user variable, press a, tap  
, select  
User Variables, and then select the variable of interest.  
From Home variables  
Some Home variables can be incorporated into a symbolic  
definition. To access a Home variable, press a, tap  
, select a category of variable, and select the  
variable of interest. Thus you could have a definition that  
82  
An introduction to HP apps  
 
reads F1(X)=X2+Q. (Qis on the Real sub-menu of the  
Home menu.)  
Home variables are discussed in detail in chapter 28,  
“Troubleshooting”, beginning on page 507.  
From app variables  
All settings, definitions, and results, for all apps, are stored  
as variables. Many of these variables can be incorporated  
into a symbolic definition. To access app variables, press  
a, tap  
, select the app, select the category of  
variable, and then select the variable of interest. You could,  
for instance, have a definition that reads  
F2(X)=X2+X–Root. The value of the last root calculated in  
the Function app is substituted for Rootwhen this definition  
is evaluated.  
App variables are discussed in detail in chapter 28,  
“Troubleshooting”, beginning on page 507.  
From math functions  
Some of the functions on the Math menu can be incorporated  
into a definition. The Math menu is one of the Toolbox menus  
(D). The following definition combines a math function  
(Size) with a Home variable (L1): F4(X)=X2–SIZE(L1). It  
is equivalent to x2 n where n is the number of elements in the  
list named L1. (Sizeis an option on the List menu, which is a  
sub-menu of the Math menu.)  
From CAS functions  
Some of the functions on the CAS menu can be incorporated  
into a definition. The CAS menu is one of the Toolbox menus  
(D). The following definition incorporates the CAS  
function irem: F5(X)=X2+CAS.irem(45,7). (iremis  
entered by choosing Remainder, an option on the  
Division menu, which is a sub-menu of the Integer menu.  
Note that any CAS command or function selected to operate  
outside the CAS is given the CAS.prefix.)  
From app functions  
Some of the functions on the App menu can be  
incorporated into a definition. The App menu is one of the  
Toolbox menus (D). The following definition incorporates  
the app function PredY:  
F9(X)=X2+Statistics_2Var.PredY(6).  
An introduction to HP apps  
83  
From the Catlg menu  
Some of the functions on the Catlg menu can be  
incorporated into a definition. The Catlg menu is one of the  
Toolbox menus (D). The following definition incorporates  
a command from that menu and an app variable:  
F6(X)=X2+INT(Root). The integer value of the last root  
calculated in the Function app is substituted for INT(Root)  
when this definition is evaluated.  
From other definitions  
You could, for example, define F3(X)as F1(X)*F2(X).  
Evaluate a dependent definition  
If you have a dependent definition—that is, one defined in terms  
of another definition—you can combine all the definitions into  
one by evaluating the dependent definition.  
1. Select the dependent expression.  
2. Tap  
.
Consider the example at the  
right. Notice that F3(X)is  
defined in terms of two other  
functions. It is a dependent  
definition and can be evaluated.  
If you highlight F3(X)and tap  
, F3(X)becomes  
2*X2+X+ 2*(X2 –1).  
Select or deselect a definition to explore  
In the Advanced Graphing, Function, Parametric, Polar,  
Sequence, and Solve apps you can enter up to 10 definitions.  
However, only those definitions that are selected in Symbolic view  
will be plotted in Plot view and evaluated in Numeric view.  
You can tell if a definition is selected by the tick (or checkmark)  
beside it. A checkmark is added by default as soon as you create  
a definition. So if you don’t want to plot or evaluate a particular  
definition, highlight it and tap  
re-select a deselected function.)  
. (Do likewise if you want to  
84  
An introduction to HP apps  
   
Choose a color for plots  
Each function and open  
sentence can be plotted in a  
different color. If you want to  
change the default color of a  
plot:  
1. Tap the colored square to  
the left of the function’s  
definition.  
You can also select the square by pressing E while  
the definition is selected. Pressing E moves the  
selection from the definition to the colored square and from  
the colored square to the definition.  
2. tap  
3. Select the desired color from the color-picker.  
Delete a definition  
.
To delete a single definition:  
1. Tap once on it (or highlight it using the cursor keys).  
2. Press C.  
To delete all the definitions:  
1. Press SJ.  
2. Tap  
or press E to confirm your intention.  
An introduction to HP apps  
85  
     
Symbolic view: Summary of menu buttons  
Button  
Purpose  
Copies the highlighted definition to the  
entry line for editing. Tap  
done.  
when  
To add a new definition—even one that is  
replacing an existing one—highlight the  
field and just start entering your new  
definition.  
Selects (or deselects) a definition.  
Enters the independent variable in the  
Function app. You can also press d.  
[Function only]  
Enters an X in the Advanced Graphing  
app. You can also press d.  
[Advanced  
Graphing only]  
Enters an Y in the Advanced Graphing  
app.  
[Advanced  
Graphing only]  
Enters the independent variable in the  
Parametric app. You can also press d.  
[Parametric only]  
[Polar only]  
Enters the independent variable in the Polar  
app. You can also press d.  
Enters the independent variable in the  
Sequence app. You can also press d.  
[Sequence only]  
[Solve only]  
Enters the equals sign in the Solve app. A  
shortcut equivalent to pressing S..  
Displays the selected definition in full-  
screen mode. See “Large results” on  
page 40 for more information.  
Evaluates dependent definitions. See  
“Evaluate a dependent definition” on  
page 84.  
86  
An introduction to HP apps  
   
Common operations in Symbolic Setup view  
[Scope: all apps]  
The Symbolic Setup view is the  
same for all apps. Its primary  
purpose is to allow you to  
override three of the system-wide  
settings specified on the Home  
Settings window.  
Press SY to open Symbolic  
Setup view.  
Override system-wide settings  
1. Tap once on the setting you want to change.  
You can tap on the field name or the field.  
2. Tap again on the setting.  
A menu of options appears.  
3. Select the new setting.  
Note that selecting the Fixed, Scientific, or  
Engineeringoption on the Number Format menu  
displays a second field for you to enter the required number  
of significant digits.  
You could also select a field, tap  
setting.  
, and select the new  
Restore default settings  
To restore default settings is to return precedence to the settings  
on the Home Settings screen.  
To restore one field to its default setting:  
1. Select the field.  
2. Press C.  
To restore all default settings, press SJ.  
An introduction to HP apps  
87  
       
Common operations in Plot view  
Plot view functionality that is common to many apps is described  
in detail in this section. Functionality that is available only in a  
particular app is described in the chapter dedicated to that app.  
Press P to open Plot view.  
Zoom  
[Scope: Advanced Graphing, Function, Parametric, Polar,  
Sequence, Solve, Statistics 1 Var, and Statistics 2Var. Also, to a  
limited degree, Geometry.]  
Zooming redraws the plot on a larger or smaller scale. It is a shortcut  
for changing the range settings in Plot Setup view. The extent of most  
zooms is determined by two zoom factors: a horizontal and a vertical  
factor. By default, these factors are both 2. Zooming out multiplies the  
scale by the factor, so that a greater scale distance appears on the  
screen. Zooming in divides the scale by the factor, so that a shorter  
scale distance appears on the screen.  
Zoom factors  
To change the default zoom factors:  
1. Open the Plot view of the app (P).  
2. Tap  
3. Tap  
to open the Plot view menu.  
to open the Zoom menu.  
4. Scroll and select Set  
Factors.  
The Zoom Factors screen  
appears.  
5. Change one or both zoom  
factors.  
6. If you want the plot to be  
centered around the current position of the cursor in Plot  
view, select Recenter.  
7. Tap  
or press E.  
Zoom  
options  
Zoom options are available from three sources:  
the keyboard  
the  
menu in Plot view  
the Views menu (V).  
88  
An introduction to HP apps  
               
Zoom keys  
Zoom menu  
There are two zoom keys: pressing + zooms in and pressing  
w zooms out. The extent of the scaling is determined by the  
ZOOM FACTOR settings (explained above).  
In Plot view, tap  
an option. (If  
and tap  
is not  
.)  
displayed, tap  
The zoom options are explained  
in the following table. Examples  
are provided on “Zoom  
examples” on page 91.  
Option  
Result  
Center on  
Cursor  
Redraws the plot so that the cursor is in the  
center of the screen. No scaling occurs.  
Box  
In  
Explained in “Box zoom” on page 90.  
Divides the horizontal and vertical scales  
by X Zoom and Y Zoom (values set with  
the Set Factors option explained on  
page 88). For instance, if both zoom  
factors are 4, then zooming in results in 1/  
4 as many units depicted per pixel.  
(Shortcut: press +.)  
Out  
Multiplies the horizontal and vertical scales  
by the X Zoom and Y Zoom settings.  
(Shortcut: press w.)  
X In  
Divides the horizontal scale only, using the  
X Zoom setting.  
X Out  
Y In  
Multiplies the horizontal scale only, using  
the X Zoom setting.  
Divides the vertical scale only, using the Y  
Zoom setting.  
Y Out  
Multiplies the vertical scale only, using the  
Y Zoom setting.  
An introduction to HP apps  
89  
     
Option  
Result (Cont.)  
Square  
Changes the vertical scale to match the  
horizontal scale. This is useful after you  
have done a box zoom, X zoom or Y  
zoom.  
Autoscale  
Rescales the vertical axis so that the display  
shows a representative piece of the plot  
given the supplied x axis settings. (For  
Sequence, Polar, parametric, and Statistics  
apps, autoscaling rescales both axes.)  
The autoscale process uses the first selected  
function to determine the best scale to use.  
Decimal  
Rescales both axes so each pixel is 0.1  
units. This is equivalent to resetting the  
default values for XRNG and YRNG.  
Rescales the horizontal axis only, making  
each pixel equal to 1 unit.  
Integer  
Trig  
Rescales the horizontal axis so that  
1 pixel equals /24 radians or 7.5  
degrees; rescales the vertical axis so that 1  
pixel equals 0.1 units.  
Returns the display to the previous zoom, or  
if there has been only one zoom, displays  
the graph with the original plot settings.  
Undo Zoom  
Box zoom  
A box zoom enables you to zoom in on an area of the screen that  
you specify.  
1. With the Plot view menu open, tap  
2. Tap one corner of the area you want to zoom in on and then  
tap  
3. Tap the diagonally opposite corner of the area you want to  
zoom in on and then tap  
The screen fills with the area you specified. To return to the  
default view, tap and select Decimal.  
and select Box.  
.
.
You can also use the cursor keys to specify the area you want to  
zoom in on.  
90  
An introduction to HP apps  
                 
Views menu  
The most commonly used zoom  
options are also available on the  
Views menu. These are:  
Autoscale  
Decimal  
Integer  
Trig.  
These options—which can be applied whatever view you are  
currently working in—are explained in the table immediately  
above.  
Testing a  
zoom with  
split-screen  
viewing  
A useful way of testing a zoom is  
to divide the screen into two  
halves, with each half showing  
the plot, and then to apply a  
zoom only to one side of the  
screen. The illustration at the  
right is a plot of y = 3sinx. To  
split the screen into two halves:  
1. Open the Views menu.  
Press V  
2. Select Split Screen:  
Plot Detail.  
The result is shown at the  
right. Any zoom operation  
you undertake will be  
applied only to the copy of the plot in the right-hand half of  
the screen. This will help you test and then choose an  
appropriate zoom.  
Note that you can replace the original plot on the left with the  
zoomed plot on the right by tapping  
.
To un-split the screen, press P.  
Zoom  
examples  
The following examples show the effects of the zooming options  
on a plot of 3sinx using the default zoom factors (2×2). Split-  
screen mode (described above) has been used to help you see the  
effect of zooming.  
An introduction to HP apps  
91  
         
Note that there is an Unzoomoption on the Zoom menu. Use  
this to return a plot to its pre-zoom state. If the Zoom menu is not  
shown, tap  
Zoom In  
In  
.
Shortcut: press +  
Zoom Out  
Out  
Shortcut: press w  
X In  
XIn  
X Out  
XOut  
Y In  
YIn  
92  
An introduction to HP apps  
Y Out  
YOut  
Square  
Square  
Notice that in this example, the  
plot on left has had a YInzoom  
applied to it. The Squarezoom  
has returned the plot to its  
default state where the X and Y  
scales are equal.  
Autoscale  
Autoscale  
Decimal  
Decimal  
Notice that in this example, the  
plot on left has had a XInzoom  
applied to it. The Decimal  
zoom has reset the default  
values for the x-range and y-  
range.  
Integer  
Integer  
An introduction to HP apps  
93  
       
Trig  
Trig  
Trace  
[Scope: Advanced Graphing, Function, Parametric, Polar,  
Sequence, Solve, Statistics 1 Var, and Statistics 2Var.]  
The tracing functionality enables  
you to move a cursor (the trace  
cursor) along the current graph.  
You move the trace cursor by  
pressing  
or  
. You can also  
>
<
move the trace cursor by tapping  
on or near the current plot. The  
trace cursor jumps to the point  
on the plot that is closest point to where you tapped.  
The current coordinates of the cursor are shown at the bottom of  
the screen. (If menu buttons are hiding the coordinates, tap  
to hide the buttons.)  
Trace mode and coordinate display are automatically turned on  
when a plot is drawn.  
To select a  
plot  
Except in the Advanced Graphing app, if there is more than one  
plot displayed, press  
you are interested in.  
or  
until the trace cursor is on the plot  
=
\
In the Advanced Graphing app, tap-and-hold on the plot you are  
interested in. Either the plot is selected, or a menu of plots  
appears for you select one.  
Toevaluatea  
definition  
One of the primary uses of the trace functionality is to evaluate a  
plotted definition. Suppose in Symbolic view you have defined  
F1(X)as (X1)2 3. Suppose further that you want to know  
what the value of that function is when X is 25.  
1. Open Plot view (P).  
94  
An introduction to HP apps  
             
2. If the menu at the bottom of the screen is not open, tap  
.
3. If more than one definition is plotted, ensure that the trace  
cursor is on the plot of the definition you want to evaluate.  
You can press  
press = or \ to move the trace cursor from plot to plot.  
4. If you pressed to see the definition of a plot, the menu  
to see the definition of a plot, and  
at the bottom of the screen will be closed. Tap  
open it.  
to re-  
5. Tap  
.
6. Enter 25 and tap  
.
7. Tap  
.
The value of F1(X) when X  
is 25 as shown at the  
bottom of the screen.  
This is one of many ways the HP  
Prime provides for you to  
evaluate a function for a specific  
independent variable. You can  
also evaluate a function in  
Numeric view (see page 102). Moreover, any expression you  
define in Symbolic view can be evaluated in Home view. For  
example, suppose F1(X)is defined as (x1)2 3. If you enter  
F1(4)in Home view and press E you get 6, since  
(4– 1)2 3 = 6.  
To turn  
tracing on or  
off  
To turn off tracing, tap  
To turn on tracing, tap  
.
.
If these options are not displayed, tap  
.
When tracing is off, pressing the cursor keys no longer  
constrains the cursor to a plot.  
An introduction to HP apps  
95  
   
Plot view: Summary of menu buttons  
Button  
Purpose  
Displays a menu of zoom options. See  
“Zoom options” on page 88.  
A toggle button for turning off and turning  
on trace functionality. See “Trace” on  
page 94.  
/
Displays an input form for you to specify a  
value you want the cursor to jump to. The  
value you enter is the value of the  
independent variable.  
Displays a menu of options for analyzing a  
plot. See Analyzing functions” on  
page 118.  
[Function only]  
Displays the definition responsible for  
generating the selected plot.  
A toggle button that shows and hides the  
other buttons across the bottom of the  
screen.  
Common operations in Plot Setup view  
This section covers only operations common to the apps  
mentioned. See the chapter dedicated to an app for the app-  
specific operations done in Plot Setup view.  
Press SP to open Plot Setup view.  
Configure Plot view  
[Scope: Advanced Graphing,  
Function, Parametric, Polar,  
Sequence, Statistics 1 Var,  
Statistics 2Var]  
The Plot Setup view is used to  
configure the appearance of Plot  
view and to set the method by  
which graphs are plotted. The  
96  
An introduction to HP apps  
       
configuration options are spread across two pages. Tap  
to move from the first to the second page, and  
to return to the first page.  
T i p  
When you go to Plot view to see the graph of a definition  
selected in Symbolic view, there may be no graph shown. The  
likely cause of this is that the spread of plotted values is outside  
the range settings in Plot Setup view. A quick way to bring the  
graph into view is to press V and select Autoscale. This  
also changes the range settings in Plot Setup view.  
Page 1  
Setup field  
Purpose  
TRNG  
Sets the range of T-values to be plotted.  
Note that here are two fields: one for the  
minimum and one for the maximum value.  
[Parametric  
only]  
TSTEP  
Sets the increment between consecutive T-  
values.  
[Parametric only]  
RNG  
[Polar only]  
Sets the range of angle values to be  
plotted. Note that here are two fields: one  
for the minimum and one for the maximum  
value.  
STEP  
[Polar only]  
Sets the increment between consecutive  
angle values.  
SEQPLOT  
[Sequence  
only]  
Sets the type of plot: Stairstep or Cobweb.  
NRNG  
Sets the range of N-values to be plotted.  
Note that here are two fields: one for the  
minimum and one for the maximum value.  
[Sequence  
only]  
HWIDTH  
Sets the width of the bars in a histogram.  
[Stats 1 Var  
only]  
HRNG  
Sets the range of values to be included in a  
histogram. Note that here are two fields:  
one for the minimum and one for the  
maximum value.  
[Stats 1 Var  
only]  
An introduction to HP apps  
97  
Setup field  
Purpose (Cont.)  
S*MARK  
[Stats 2 Var  
only]  
Sets the graphic that will be used to  
represent a data point in a scatter plot. A  
different graphic can be used for each of  
the five analyses that can be plotted  
together.  
XRNG  
Sets the initial range of the x-axis. Note  
that here are two fields: one for the  
minimum and one for the maximum value.  
In Plot view the range can be changed by  
panning and zooming.  
YRNG  
Sets the initial range of the y-axis. Note  
that there are two fields: one for the  
minimum and one for the maximum value.  
In Plot view the range can be changed by  
panning and zooming.  
XTICK  
YTICK  
Sets the increment between tickmarks on  
the x-axis.  
Sets the increment between tickmarks on  
the y-axis.  
Page 2  
Setup field  
Purpose  
AXES  
Shows or hides the axes.  
LABELS  
Places values at the ends of each axis to  
show the current range of values.  
GRID DOTS  
GRID LINES  
CURSOR  
Places a dot at the intersection of each  
horizontal and vertical grid line.  
Draws a horizontal and vertical grid line at  
each integer x-value and y-value.  
Sets the appearance of the trace cursor:  
standard, inverting, or blinking.  
CONNECT  
Connects the data points with straight  
segments.  
[Stats 2 Var  
only]  
98  
An introduction to HP apps  
Setup field  
Purpose (Cont.)  
METHOD  
Sets the graphing method to adaptive,  
fixed-step segments, or fixed-step dots.  
Explained below.  
[Not in either  
statistics app]  
Graphing methods  
The HP Prime gives you the option of choosing one of three  
graphing methods. The methods are described below, with each  
applied to the function f(x)=9*sin(ex).  
adaptive: this gives very  
accurate results and is used  
by default. With this method  
active, some complex  
functions may take a while  
to plot. In these cases,  
appears on the  
menu bar, enabling you to  
stop the plotting process if you wish.  
fixed-step segments: this  
method samples x-values,  
computes their  
corresponding y-values, and  
then plots and connects the  
points.  
fixed-step dots: this works  
like fixed-step segments  
method but does not  
connect the points.  
An introduction to HP apps  
99  
         
Restore default settings  
[Scope: Advanced Graphing, Function, Parametric, Polar,  
Sequence, Solve, Statistics 1 Var, Statistics 2Var, Geometry.]  
To restore one field to its default setting:  
1. Select the field.  
2. Press C.  
To restore all default settings, press SJ.  
Common operations in Numeric view  
[Scope: Advanced Graphing, Function, Parametric, Polar]  
Numeric view functionality that is common to many apps is  
described in detail in this section. Functionality that is available  
only in a particular app is described in the chapter dedicated to  
that app.  
Numeric view provides a table  
of evaluations. Each definition in  
Symbolic view is evaluated for a  
range of values for the  
independent variable. You can  
set the range and fineness of the  
independent variable, or leave it  
to the default settings.  
Press M to open Numeric view.  
Zoom  
Unlike in Plot view, zooming in Numeric view does not affect the  
size of what is displayed. Instead, it changes the increment  
between consecutive values of the independent variable (that is,  
the NUMSTEP setting in the Numeric Setup view: see page 105).  
Zooming in decreases the increment; zooming out increases the  
increment. The row that was highlighted before the zoom remains  
unchanged.  
For the ordinary zoom in and zoom out options, the degree of  
zooming is determined by the zoom factor. In Numeric view this  
is the NUMZOOM field in the Numeric Setup view. The default value  
is 4. Thus if the current increment (that is, the NUMSTEP value) is  
0.4, zooming in will further divide that interval by four smaller  
intervals. So instead of x-values of 10, 10.4, 10,8, 11.2 etc., the  
100  
An introduction to HP apps  
               
x-values will be 10, 10.1, 10.2, 10.3, 10.4, etc. (Zooming out  
does the opposite: 10, 10.4, 10,8, 11.2 etc. becomes10, 11.6,  
13.2, 14.8, 16.4, etc.).  
Before zooming  
After zooming  
Zoom  
options  
In Numeric view, zoom options are available from two sources:  
the keyboard  
the menu in Numeric view.  
Note that any zooming you do in Numeric view does not affect  
Plot view, and vice versa. However, if you choose a zoom option  
from the Views menu (V) while you are in Numeric view, Plot  
view is displayed with the plots zoomed accordingly. In other  
words, the zoom options on the Views menu apply only to Plot  
view.  
Zooming in Numeric view automatically changes the NUMSTEP  
value in the Numeric Setup view.  
Zoom keys  
Zoom menu  
There are two zoom keys: pressing + zooms in and pressing  
w zooms out. The extent of the scaling is determined by the  
NUMZOOM setting (explained above).  
In Numeric view, tap  
tap an option.  
and  
An introduction to HP apps  
101  
   
The zoom options are explained in the following table.  
Option  
Result  
In  
The increment between consecutive values  
of the independent variable becomes the  
current value divided by the NUMZOOM  
setting. (Shortcut: press +.)  
Out  
The increment between consecutive values  
of the independent variable becomes the  
current value multiplied by the NUMZOOM  
setting. (Shortcut: press w.)  
Decimal  
Integer  
Trig  
Restores the default NUMSTART and NUMSTEP  
values: 0 and 0.1 respectively.  
The increment between consecutive values  
of the independent variable is set to 1.  
• If the angle measure setting is radians,  
sets the increment between consecutive  
values of the independent variable  
to /24 (approximately 0.1309).  
• If the angle measure setting is degrees,  
sets the increment between consecutive  
values of the independent variable to  
7.5.  
Returns the display to the previous zoom, or  
if there has been only one zoom, displays  
the graph with the original plot settings.  
Undo Zoom  
Evaluating  
You can step through the table of evaluations in Numeric view by  
pressing = or \. You can also quickly jump to an evaluation  
by entering the independent variable of interest in the  
independent variable column and tapping  
.
For example, suppose in the Symbolic view of the Function app,  
you have defined F1(X)as (X1)2 3. Suppose further that  
you want to know what the value of that function is when X is 625.  
1. Open Numeric view (M).  
2. Anywhere in the independent column—the left-most  
column—enter 625.  
102  
An introduction to HP apps  
             
3. Tap  
.
Numeric view is refreshed,  
with the value you entered  
in the first row and the result  
of the evaluation in a cell to  
the result is 389373.  
Custom tables  
If you choose Automaticfor the NUMTYPE setting, the table of  
evaluations in Numeric view will follow the settings in the  
Numeric Setup view. That is, the independent variable will start  
with the NUMSTART setting and increment by the NUMSTEP setting.  
(These settings are explained in “Common operations in Numeric  
Setup view” on page 105.) However, you can choose to build  
your own table where just the values you enter appear as  
independent variables.  
1. Open Numeric Setup view.  
SM  
2. Choose BuildYourOwnfrom the NUMTYPE menu.  
3. Open Numeric view.  
Numeric view will be empty.  
4. In the independent  
column—the left-most  
column—enter a value of  
interest.  
5. Tap  
.
6. If you still have other values to  
evaluate, repeat from step 4.  
Deleting  
data  
To delete one row of data in your custom table, place the cursor  
in that row and press C.  
To delete all the data in your custom table:  
1. Press SJ.  
2. Tap  
or press E to confirm your intention.  
An introduction to HP apps  
103  
           
Numeric view: Summary of menu buttons  
Button  
Purpose  
To modify the increment between  
consecutive values of the independent  
variable in the table of evaluations. See  
page 100.  
To edit the value in the selected cell.  
[BuildYourOwn To overwrite the value in the selected cell,  
only] you can just start entering a new value  
without first tapping  
Only visible if NUMTYPE is set to  
BuildYourOwn. See “Custom tables” on  
page 103.  
To create a new row above the currently  
[BuildYourOwn highlighted cell, with zero as the  
only]  
independent value. You can immediately  
start typing a new value.  
Only visible if NUMTYPE is set to  
BuildYourOwn. See “Custom tables” on  
page 103.  
To sort the values in the selected column in  
[BuildYourOwn ascending or descending order. Move the  
only]  
cursor to the column of interest, tap  
,
select Ascendingor Descending, and  
tap  
.
Only visible if NUMTYPE is set to  
BuildYourOwn. See “Custom tables” on  
page 103.  
Lets you choose between small, medium,  
and large font.  
Toggles between showing the value of the  
cell and the definition that generated the  
value.  
104  
An introduction to HP apps  
   
Button  
Purpose (Cont.)  
Displays a menu for you to choose to  
display the evaluations of 1, 2, 3, or 4  
defintions. If you have more than four  
definitions seelcted in Symbolic view, you  
can press > to scroll rightwards and see  
more columns. Pressing < scrolls the  
columns leftwards.  
Common operations in Numeric Setup view  
[Scope: Advanced Graphing, Function, Parametric, Polar,  
Sequence]  
Press SM to open Numeric Setup view.  
The Numeric Setup view is used  
to:  
set the starting number for  
the independent variable in  
automatic tables displayed  
in Numeric view: the Num  
Start field.  
set the increment between  
consecutive numbers in automatic tables displayed in  
Numeric view: the Num Step field.  
specify whether the table of data to be displayed in Numeric  
view is to be based on the specified starting number and  
increment (automatic table) or to based on particular  
numbers for the independent variable that your specify  
(build-your-own table): the Num Type field.  
set the zoom factor for zooming in or out on the table  
displayed in Numeric view: the Num Zoom field.  
Modifying Numeric Setup  
Select the field you want to change and either specify a new  
value, or if you are choosing a type of table for Numeric  
view—automatic or build-your-own—choose the appropriate  
option from the Num Type menu.  
An introduction to HP apps  
105  
       
To help you set a starting  
number and increment that  
matches the current Plot view,  
tap  
.
Restore default settings  
To restore one field to its default setting:  
1. Select the field.  
2. Press C.  
To restore all default settings, press SJ.  
Combining Plot and Numeric Views  
You can display Plot view and  
Numeric view side-by-side.  
Moving the tracing cursor  
causes the table of values in  
Numeric view to scroll. You can  
also enter a value in the X  
column. The table scrolls to that  
value, and the tracing cursor  
jumps to the corresponding point on the selected plot.  
To combine Plot and Numeric view in a split screen, press V  
and select Split Screen: Plot Table.  
To return to Plot view, press  
. To return to Numeric view by  
M
pressing  
.
M
Adding a note to an app  
You can add a note to an app. Unlike general notes—those  
created via the Note Catalog: see chapter 26—an app note is not  
listed in the Note Catalog. It can only be accessed when the app  
is open.  
An app note remains with the app if the app is sent to another  
calculator.  
106  
An introduction to HP apps  
             
To add a note to an app:  
1. Open the app.  
2. Press SI (Info).  
If a note has already been created for this app, its contents  
are displayed.  
3. Tap  
and start writing (or editing) your note.  
The format and bullet options available are the same as  
those in the Note Editor (described in “The Note Editor” on  
page 490).  
4. To exit the note screen, press any key. Your note is  
automatically saved.  
Creating an app  
The apps that come with the HP Prime are built in and cannot be  
deleted. They are always available (simply by pressing I).  
However, you can create any number of customized instances of  
most apps. You can also create an instance of an app that is  
based on a previously customized app. Customized apps are  
opened from the application library in the same way that you  
open a built-in app.  
The advantage of creating a customized instance of an app is that  
you can continue to use the built-in app for some other problem  
and return to the customized app at any time with all its data still  
in place. For example, you could create a customized version of  
the Sequence app that enables you to generate and explore the  
Fibonacci series. You could continue to use the built-in Sequence  
app to build and explore other sequences and return, as needed,  
to your special version of the Sequence app when you next want  
to explore the Fibonacci series. Or you could create a customized  
version of the Solve app—named, for example, Triangles—in  
which you set up, just once, the equations for solving common  
problems involving right-angled triangles (such as H=O/SIN(),  
A=H*COS(), O=A*TAN(), etc.). You could continue to use the  
Solve app to solve other types of problems but use your Triangle  
app to solve problems involving right-angled triangles. Just open  
Triangles, select which equation to use—you won’t need to re-  
enter them—enter the variables you know, and then solve for the  
unknown variable.  
An introduction to HP apps  
107  
     
Like built-in apps, customized apps can be sent to another HP  
Prime calculator. This is explained in “Sharing data” on page 44.  
Customized apps can also be reset, deleted, and sorted just as  
built-in apps can (as explained earlier in this chapter).  
Note that the only apps that cannot be customized are the:  
Linear Explorer  
Quadratic Explorer and  
Trig Explorer apps.  
Example  
Suppose you want to create a customized app that is based on  
the built-in Sequence app. The app will enable you to generate  
and explore the Fibonacci series.  
1. Press I and use the  
cursor keys to highlight the  
Sequence app. Don’t open  
the app.  
2. Tap  
. This enables  
you to create a copy of the  
built-in app and save it  
under a new name. Any  
data already in the built-in app is retained, and you can  
return to it later by opening the Sequence app.  
3. In the Name field, enter a name for your new app—say,  
Fibonacci—and press E twice.  
Your new app is added to  
the Application Library.  
Note that it has the same  
icon as the parent  
app—Sequence—but with  
the name you gave it:  
Fibonacciin this  
example.  
4. You are now ready to use this app just as you would the  
built-in Sequence app. Tap on the icon of your new app to  
open it. You will see in it all the same views and options as  
in the parent app.  
In this example we have used the Fibonacci series as a potential  
topic for a customized app. To see how to create the Fibonacci  
series once inside the Sequence app—or an app based on the  
108  
An introduction to HP apps  
Sequence app—see chapter 17, “Sequence app, beginning on  
page 279.  
As well as cloning a built-in app—as described above—you can  
modify the internal workings of a customized app using the HP  
Prime programming language. See “Customizing an app” on  
page 521.  
App functions and variables  
Functions  
App functions are used in HP apps to perform common  
calculations. For example, in the Function app, the Plot view Fcn  
menu has a function called SLOPEthat calculates the slope of a  
given function at a given point. The SLOPEfunction can also be  
used from the Home view or a program.  
For example, suppose you want to find the derivative of x2 – 5 at  
x = 2. One way, using an app function, is as follows:  
1. Press D.  
2. Tap  
and select Function> SLOPE.  
SLOPE()appears on the entry line, ready for you to specify  
the function and the x-value.  
3. Enter the function:  
Asjw5  
4. Enter the parameter  
separator:  
o
5. Enter the x-value and press  
E.  
The slope (that is the  
derivative) at x = 2 is  
calculated: 4.  
All the app functions are described in App menu, beginning on  
page 343.  
Variables  
All apps have variables, that is, placeholders for various values  
that are unique to a particular app. These include symbolic  
expressions and equations, settings for the Plot and Numeric  
views, and the results of some calculations such as roots and  
intersections.  
An introduction to HP apps  
109  
     
Suppose you are in Home view and want to retrieve the meanof  
a data set recently calculated in the Statistics 1Var app.  
1. Press a.  
This opens the Variables menu. From here you can access  
Home variables, user-defined variables, and app variables.  
2. Tap  
.
This opens a menu of app  
variables.  
3. Select Statistics 1Var  
> results > MeanX.  
The current value of the  
variable you chose now  
appears on the entry line. You can press E to see its  
value. Or you can include the variable in an expression that  
you are building. For example, if you wanted to calculate the  
square root of the mean computed in the Statistics 1Var app,  
you would first press Sj, follow steps 1 to 3 above,  
and then press E.  
See appendix A, “Glossary, beginning on page 581 for a  
complete list of app variables.  
Qualifying  
variables  
You can qualify the name of any app variable so that it can be  
accessed from anywhere on the HP Prime. For example, both the  
Function app and the Parametric app have an variable named  
Xmin. If the app you last had open was the Parametric app and  
enter Xminin Home view, you will get the value of Xminfrom the  
Parametric app. To get the value of Xminin the Function app  
instead, you could open the Function app and then return to  
Home view. Alternatively, you could qualify the name of the  
variable by preceding it with the app name and a period, as in  
Function.Xmin.  
110  
An introduction to HP apps  
   
6
Function app  
The Function app enables you to explore up to 10 real-  
valued, rectangular functions of y in terms of x; for  
example, y = 1 x and y = x – 12 – 3 .  
Once you have defined a function you can:  
create graphs to find roots, intercepts, slope, signed  
area, and extrema, and  
create tables that show how functions are evaluated  
at particular values.  
This chapter demonstrates the basic functionality of the  
Function app by stepping you through an example. More-  
complex functionality is described in chapter 5, An  
introduction to HP apps, beginning on page 69.  
The Function app uses the customary app views: Symbolic,  
Plot and Numeric described in chapter 5.  
For a description of the menu buttons available in this  
app, see:  
“Symbolic view: Summary of menu buttons” on  
page 86  
“Plot view: Summary of menu buttons” on page 96,  
and  
“Numeric view: Summary of menu buttons” on  
page 104.  
Throughout this chapter, we will explore the linear function  
y = 1 x and the quadratic function y = x – 12 – 3 .  
Function app  
111  
       
Open the  
Function app  
1. Open the Function  
app.  
Select  
I
Function  
Recall that you can  
open an app just by  
tapping its icon.  
You can also open  
it by using the cursor keys to highlight it and then  
pressing E.  
The Function app starts in Symbolic view. This is the  
defining view. It is where you symbolically define  
(that is, specify) the functions you want to explore.  
The graphical and numerical data you see in Plot  
view and Numeric view are derived from the  
symbolic expressions defined here.  
Define the  
expressions  
There are 10 fields for defining functions. These are  
labeled F1(X)through F9(X)and F0(X).  
2. Highlight the field you want to use, either by tapping  
on it or scrolling to it. If you are entering a new  
expression, just start typing. If you are editing an  
existing expression, tap  
and make your  
changes. When you have finished defining or  
changing the expression, press E.  
3. Enter the linear function in F1(X).  
1wdE  
4. Enter the quadratic  
function in F2(X).  
Rdw1>  
jw 3E  
N O T E  
You can tap the  
button to assist in the entry of  
equations. In the Function app, it has the same effect as  
pressing d. (In other apps, d enters a different  
character.)  
112  
Function app  
   
5. Decide if you want to:  
give one or more function a custom color when it  
is plotted  
evaluate a dependent function  
deselect a definition that you don’t want to  
explore  
incorporate variables, math commands and CAS  
commands in a definition.  
For the sake of simplicity we can ignore these  
operations in this example. However, they can be  
useful and are described in detail in “Common  
operations in Symbolic view” on page 81.  
Set up the  
plot  
You can change the  
range of the x- and y-  
axes and the spacing of  
the tick marks along the  
axes  
6. Display Plot Setup  
view.  
SP(Setup)  
For this example, you can leave the plot settings at their  
default values. If your settings do not match those in the  
illustration above, press SJ (Clear) to restore the  
default values.  
See “Common operations in Plot Setup view” on page 96  
for more information about setting the appearance of  
plots.  
Plot the  
functions  
7. Plot the functions.  
P
Function app  
113  
Trace a  
graph  
By default, the trace functionality is active. This enables  
you to move a cursor along a graph. If more than two  
graphs are shown, the graph that is the highest in the list  
of functions in Symbolic view is the graph that will be  
traced by default. Since the linear equation is higher than  
the quadratic function in Symbolic view, it is the graph on  
which the tracing cursor appears by default.  
8. Trace the linear  
function.  
> or <  
Note how a cursor  
moves along the  
plot as you press  
the buttons. Note  
too that the  
coordinates of the cursor appear at the bottom of the  
screen and change as you move the cursor.  
9. Move the tracing cursor from the linear function to the  
quadratic function.  
= or \  
10. Trace the quadratic  
function.  
> or <  
Again notice how  
the coordinates of  
the cursor appear at  
the bottom of the  
screen and change as you move the cursor.  
Tracing is explained in more detail in “Trace” on  
page 94.  
Change the  
scale  
You can change the scale to see more or less of your  
graph. This can be done in four ways:  
Press + to zoom in or  
to zoom out on the  
w
current cursor position. This method uses the zoom  
factors set in the Zoom menu. The default for both x  
and y is 2.  
Use the Plot Setup view to specify the exact x-range  
(XRNG) and y-range (YRNG) you want.  
114  
Function app  
Use options on the Zoom menu to zoom in or out,  
horizontally or vertically, or both, etc.  
Use options on the View menu (V) to select a pre-  
defined view. Note that the Autoscaleoption  
attempts to provide a best fit, showing as many of the  
critical features of each plot as possible.  
N O T E  
By dragging a finger horizontally or vertically across the  
screen, you can quickly see parts of the plot that are  
initially outside the set x and y ranges. This is easier than  
resetting the range of an axis.  
Zoom options—with numerous examples—are  
explained in more detail in “Zoom” on page 88.  
Display  
Numeric  
view  
11. Display the Numeric  
view:  
M
The Numeric view  
displays data  
generated by the  
expressions you  
defined in Symbolic  
view. For each expression selected in Symbolic view,  
Numeric view displays the value that results when the  
expression is evaluated for various x-values.  
Set up  
Numeric  
view  
12. Display the Numeric  
Setup view:  
M(Setup)  
S
You can set the  
starting value and  
step value (that is,  
the increment) for  
the x-column, as  
well as the zoom factor for zooming in or out on a  
row of the table. Note that in Numeric view, zooming  
does not affect the size of what is displayed. Instead,  
it changes the Num Step setting (that is, the  
increment between consecutive x-values). Zooming in  
decreases the increment; zooming out increases the  
increment. This is further explained in “Zoom” on  
page 100.  
Function app  
115  
 
You can also choose whether the table of data in  
Numeric view is automatically populated or whether  
it is populated by you typing in the particular x-values  
you are interested in. These options—Automaticor  
BuildYourOwn—are available from the Num  
Type list. They are explained in detail in “Custom  
tables” on page 103.  
13. Press  
(Clear) to reset all the settings to their  
SJ  
defaults.  
14. Make the Numeric  
view X-column  
settings (Num  
Start and Num  
Step) match the  
tracer x-values  
(Xmin and pixel  
width) in Plot view:  
Tap  
.
For example, if you have zoomed in on the plot in  
Plot view so that the visible x-range is now –4 to 4,  
this option will set Num Start to –4 and Num Step  
to 0.025…  
Explore  
Numeric  
view  
15. Re -display Numeric  
view:  
M
To navigate around  
a table  
16. Using the cursor  
keys, scroll through  
the values in the  
independentcolumn  
(column X). Note  
that the values in the  
F1and F2columns  
match what you  
would get if you  
substituted the values in the Xcolumn for x in the  
116  
Function app  
expressions selected in Symbolic view: 1–xand  
(x–1)23. You can also scroll through the columns  
of the dependant variables (labeled F1and F2in the  
illustration above).  
You can also scroll the table vertically or horizontally  
using tap and drag gestures.  
To go directly to a  
value  
17. Place the cursor in the  
Xcolumn and type  
the desired value. For  
example, to jump  
straight to the row  
where x = 10:  
1 0  
To access the zoom  
options  
Numerous zoom options are available by tapping  
These are explained in “Zoom” on  
.
page 100. A quick way to zoom in (or zoom out) is  
to press + (or w). This zooms in (or out) by the  
Num Zoom value set in the Numeric Setup view  
(see page 115). The default value is 4. Thus if the  
current increment (that is, the Num Step value) is  
0.4, zooming in on the row whose x-value is 10 will  
further divide that interval into four smaller intervals.  
So instead of x-values of 10, 10.4, 10,8, 11.2 etc.,  
the x-values will be 10, 10.1, 10.2, 10.3, 10.4, etc.  
(Zooming out does the opposite: 10, 10.4, 10,8,  
Other options  
As explained on page page 104, you can also:  
change the size of the font: small, medium, or large  
display the definition responsible for generating a  
column of values  
choose to show 1, 2, 3, or 4 columns of function  
values.  
You can also combine Plot and Numeric view. See  
“Custom tables” on page 103.  
Function app  
117  
Analyzing functions  
The Function menu (  
) in Plot view enables you to  
find roots, intersections, slopes, signed areas, and  
extrema for any function defined in the Function app. If  
you have more than one function plotted, you may need  
to choose the function of interest beforehand.  
Display the  
Plot view  
menu  
The Function menu is a sub-menu of the Plot view menu.  
First, display the Plot view menu:  
P
To find a root of the  
quadratic function  
Suppose you want to find the root of the quadratic  
equation defined earlier. Since a quadratic equation can  
have more than one root, you will need to move the cursor  
closer to the root you are interested in than to any other  
root. In this example, you will find the root of the quadratic  
close to where x = 3.  
1. If it is not already selected, select the quadratic  
equation:  
or  
=
\
>
2. Press  
3.  
or  
to move the cursor near to where x =  
<
3. Tap  
and  
select Root  
The root is  
displayed at the  
bottom of the  
screen.  
If you now move the  
trace cursor close to  
x = –1 (the other  
place where the  
quadratic crosses the x-axis) and select Rootagain,  
the other root is displayed.  
118  
Function app  
   
Note the  
button. If you tap  
this button, vertical  
and horizontal  
dotted lines are  
drawn through the  
current position of  
the tracer to  
highlight its  
position. Use this feature to draw attention to the  
cursor location. You can also choose a blinking  
cursor in Plot Setup. Note that the functions in the Fcn  
menu all use the current function being traced as the  
function of interest and the current tracer x-  
coordinate as an initial value. Finally, note that you  
can tap anywhere in Plot view and the tracer will  
move to the point on the current function that has the  
same x-value as the location you tapped. This is a  
faster way of choosing a point of interest than using  
the trace cursor. (You can move this tracing cursor  
using the cursor keys if you need finer precision.)  
To find an  
intersection of two  
functions  
Just as there are two roots of the quadratic equation, there  
are two points at which both functions intersect. As with  
roots, you need to position your cursor closer to the point  
you are interested in. In this example, the intersection close  
to x =1 will be determined.  
The Go To command is another way of moving the trace  
cursor to a particular point.  
1. Tap  
Q1, and tap  
, enter  
to re-display the menu, tap  
.
The tracing cursor will now be on one of the  
functions at x = 1.  
2. Tap  
select  
and  
Intersection.  
A list appears  
giving you a choice  
of functions and  
axes.  
Function app  
119  
 
3. Choose the function whose point of intersection with  
the currently selected function you wish to find.  
The coordinates of  
the intersection are  
displayed at the  
bottom of the  
screen.  
Tap  
on the  
screen near the  
intersection, and  
repeat from step 2. The coordinates of the  
intersection nearest to where you tapped are  
displayed at the bottom of the screen.  
To find the slope of  
the quadratic  
function  
We will now find the slope of the quadratic function at the  
intersection point.  
1.  
and  
Tap  
to re-display the menu, tap  
select Slope.  
The slope (that is,  
the gradient) of the  
function at the  
intersection point is  
displayed at the  
bottom of the  
screen.  
You can press <  
or > to trace along the curve and see the slope at  
other points. You can also press = or \ to jump to  
another function and see the slope at points on it.  
2. Press  
to re-display the Plot menu.  
To find the signed  
area between the  
two functions  
We’ll now find the area between the two functions in the  
range –1.3 x 2.3 .  
1. Tap  
and select Signed area.  
120  
Function app  
2. Specify the start  
value for x:  
Tap  
and  
press Q1.3  
E.  
3. Tap  
.
4. Select the other  
function as the  
boundary for the  
integral. (If F1(X) is  
the currently  
selected function,  
you would choose  
F2(X) here, and vice  
versa.)  
5. Specify the end value for x:  
Tap  
and press 2.3E.  
The cursor jumps to  
x = 2.3 and the  
area between the  
two functions is  
shaded.  
6. To display the  
numerical value of  
the integral, tap  
.
7. Tap  
to return  
to the Plot menu.  
Note that the sign of  
the area calculated  
depends both on which function you are tracing and  
whether you enter the endpoints from left to right or  
right to left.  
Shortcut: When the Goto option is available, you can  
display the Go To screen simply by typing a number. The  
Function app  
121  
number you type appears on the entry line. Just tap  
to accept it.  
To find the  
extremum of the  
quadratic  
1. To calculate the  
coordinates of the  
extremum of the  
quadratic equation,  
move the tracing  
cursor near the  
extremum of interest  
(if necessary), tap  
and select  
Extremum.  
The coordinates of the extremum are displayed at the  
bottom of the screen.  
N O T E  
The ROOT, INTERSECTION, and EXTREMUMoperations  
return only one value even if the function in question has  
more than one root, intersection, or extremum. The app  
will only return values that are closest to the cursor. You  
will need to move the cursor closer to other roots,  
intersections, or extrema if you want the app to calculate  
values for those.  
The Function Variables  
The result of each numerical analysis in the Function app  
is assigned to a variable. These variables are named:  
Root  
Isect(for Intersection)  
Slope  
SignedArea  
Extremum  
The result of each new analysis overwrites the previous  
result. For example, if you find the second root of a  
quadratic equation after finding the first, the value of  
Rootchanges form the first to the second root.  
122  
Function app  
       
To access Function  
variables  
The Function variables are available in Home view and in  
the CAS, where they can be included as arguments in  
calculations. They are also available in Symbolic view.  
1. To access the  
variables, press  
, tap  
a
and select  
Function.  
2. Select Results  
and then the  
variable of interest.  
The variable’s name is copied to the insertion point  
and its value is used in evaluating the expression that  
contains it. You can also enter the value of the  
variable instead of its name by tapping  
.
For example, in  
Home view or the  
CAS you could  
select SignedArea  
from the Vars  
menus, press  
s3E and  
get the current value  
of SignedAreamultiplied by three.  
Function variables can also be made part of a  
function’s definition in Symbolic view. For example,  
you could define a function as x2–x–Root.  
The full range of variables, and their use in  
calculations, is covered in detail in chapter 22,  
“Variables”, beginning on page 427.  
Function app  
123  
Summary of FCN operations  
Operation  
Description  
Root  
Select Rootto find the root of the  
current function nearest to the tracing  
cursor. If no root is found, but only an  
extremum, then the result is labeled  
Extremuminstead of Root. The cursor  
is moved to the root value on the x-axis  
and the resulting x-value is saved in a  
variable named Root.  
Extremum  
Select Extremumto find the maximum  
or minimum of the current function  
nearest to the tracing cursor. The cursor  
moves to the extremum and the  
coordinate values are displayed. The  
resulting x-value is saved in a variable  
named Extremum.  
Slope  
Select Slopeto find the numeric  
derivative of the current function at the  
current position of the tracing cursor. The  
result is saved in a variable named  
Slope.  
Signed area  
Select Signed areato find the  
numeric integral. (If there are two or  
more expressions checkmarked, then  
you will be asked to choose the second  
expression from a list that includes the x-  
axis.) Select a starting point and an  
ending point. The result is saved in a  
variable named SignedArea.  
Intersec-  
tion  
Select Intersectionto find the  
intersection of the graph you are  
currently tracing and another graph.  
You need to have at least two selected  
expressions in Symbolic view. Finds the  
intersection closest to the tracing cursor.  
Displays the coordinate values and  
moves the cursor to the intersection. The  
resulting x-value is saved in a variable  
named Isect.  
124  
Function app  
   
7
Advanced Graphing app  
The Advanced Graphing app enables you to define and  
explore the graphs of symbolic open sentences in x, y, both  
or neither. You can plot conic sections, polynomials in  
standard or general form, inequalities, and functions. The  
following are examples of the sorts of open sentences you can  
plot:  
1. x2/3 – y2/5 = 1  
2. 2x – 3y 6  
3. mod x = 3  
2
y
---  
x
2
2
  
  
4. sin x + y 5  > sin 8 atan  
5. x2 + 4x = –4  
6. 1 > 0  
The illustrations below show what these open sentences look  
like when plotted:  
Example 1  
Example 2  
Advanced Graphing app  
125  
         
Example 3  
Example 4  
Example 5  
Example 6  
app  
The Advanced Graphing app uses the customary app views:  
Symbolic, Plot, and Numeric described in chapter 5.  
For a description of the menu buttons available in this app,  
see:  
“Symbolic view: Summary of menu buttons” on page 86  
“Plot view: Summary of menu buttons” on page 96, and  
“Numeric view: Summary of menu buttons” on  
page 104.  
The Trace option in the Advanced Graphing app works  
differently than in other apps and is described in detail in this  
chapter.  
In this chapter, we will explore the rotated conic defined by:  
x2 7xy 3y2  
x
10  
y
5
--- -------- ------- ----- --  
– 10 0  
+
+
2
10  
4
126  
Advanced Graphing app  
Open the  
app  
1. Open the Advanced  
Graphing app:  
Select Advanced  
I
Graphing  
The app opens in the  
Symbolic view.  
Define the  
open  
sentence  
2. Define the open sentence:  
j n 2 >  
w 7  
n 10 > + 3  
j n 4 >  
w
n 10  
n 5  
< 0  
> +  
>w 10  
E
Note that  
displays the relations palette from  
which relational operators can be easily selected. This is  
the same palette that appears if you press Sv.  
3. Decide if you want to:  
give an open sentence a custom color when it is  
plotted  
evaluate a dependent function  
deselect a definition that you don’t want to explore  
incorporate variables, math commands and CAS  
commands in a definition.  
For the sake of simplicity we can ignore these operations  
in this example. However, they can be useful and are  
described in detail in “Common operations in Symbolic  
view” on page 81.  
Set up the  
plot  
You can change the range of the x- and y-axes and the  
spacing of the interval marks along the axes.  
Advanced Graphing app  
127  
 
4. Display Plot Setup view:  
SP(Setup)  
For this example, you can  
leave the plot settings at their  
default values. If your  
settings do not match those  
in the illustration at the right,  
press SJ (Clear) to  
restore the default values.  
See “Common operations in Plot Setup view” on page 96 for  
more information about setting the appearance of plots.  
Plot the  
selected  
definitions  
5. Plot the selected  
definitions:  
P
Explorethe  
graph  
6. Display the Plot view menu items:  
Note that you have options to zoom, trace, go to a  
specified point, and display the definition of the selected  
graph.  
You can use the zoom and split screen functionality  
discussed in chapter 6. You can tap and drag to scroll  
the Plot view, or use + and w to zoom in and out  
on the cursor position, respectively.  
7. Tap  
and select  
In.  
A special feature of the  
Advanced Graphing  
app enables you to edit  
the definition of a graph  
from within the Plot  
view.  
128  
Advanced Graphing app  
8. Tap  
. The  
definition as you entered  
it in Symbolic view  
appears at the bottom of  
the screen.  
9. Tap  
.
The definition is now  
editable.  
10.Change the < to = and  
tap  
.
Notice that the graph  
changes to match the  
new definition. The  
definition in Symbolic  
view also changes.  
11.Tap  
to drop the  
definition to the bottom of the screen so that you can see  
the full graph. The definition is converted from textbook  
mode to algebraic mode to save screen space.  
Trace in Plot  
view  
In most HP apps, the Plot view contains  
turn tracing a function on and off. In the Advanced Graphing  
app, the relations plotted in Plot view may or may not be  
, a toggle to  
functions. So, instead of a toggle,  
becomes a menu for  
selecting how the tracer will behave. The Trace menu contains  
the following options:  
Off  
Inside  
PoI (Points of Interest)  
X-Intercepts  
Y-intercepts  
Horizontal Extrema  
Vertical Extrema  
Inflections  
Selection  
Advanced Graphing app  
129  
   
The tracer does not extend beyond the current Plot view  
window. The table below contains brief descriptions of each  
option.  
Trace option  
Description  
Off  
Turns tracing off so that you can move  
the cursor freely in Plot view  
Inside  
Edge  
Constrains the tracer to move within a  
region where the current relation is true.  
You can move in any direction within  
the region. Use this option for  
inequalities, for example.  
Constrains the tracer to move along an  
edge of the current relation, if one can  
be found. Use this option for functions  
as well as for inequalities, etc.  
PoI >  
X-Intercepts  
Jumps from one x-intercept to another  
on the current graph  
PoI >  
Y-Intercepts  
Jumps from one y-intercept to another  
on the current graph  
PoI >  
Horizontal  
Extrema  
Jumps between the horizontal extrema  
on the current graph  
PoI >  
Vertical  
Extrema  
Jumps between the vertical extrema on  
the current graph  
PoI >  
Inflections  
Jumps from one inflection point to  
another on the current graph  
Selection  
Opens a menu so you can select which  
relation to trace. This option is needed  
because = and \ no longer jump  
from relation to relation for tracing. All  
four cursor keys are needed for moving  
the tracer in the Advanced Graphing  
app.  
130  
Advanced Graphing app  
   
Numeric  
view  
The Numeric view of most HP apps is designed to explore 2-  
variable relations using numerical tables. Because the  
Advanced Graphing app expands this design to relations that  
are not necessarily functions, the Numeric view of this app  
becomes significantly different, though its purpose is still the  
same. The unique features of the Numeric view are illustrated  
in the following sections.  
12.Press Y to return to  
Symbolic view and  
define V1as  
Y=SIN(X).  
Note that you don’t  
have to erase the  
previous defintion first.  
Just enter the new  
defintion and tap  
.
Displaythe  
Numeric  
view  
13.Press M to display the  
Numeric view.  
By default, the Numeric  
view displays rows of x-  
and y-values. In each  
row, the 2 values are  
followed by a column  
that tells whether or not  
the x–y pair satisfies each open sentence (True or False).  
Explore  
Numeric  
view  
14. With the cursor in the X column, type a new value and  
tap  
The table scrolls to the value you entered.  
.
You can also enter a value in the Y column and tap  
. Press < and > to move between the columns  
in Numeric view.  
You can also zoom in or out on the X-variable or Y-  
variable. Note that in Numeric view, zooming does not  
affect the size of what is displayed. Instead, it decreases  
or increases the increment between consecutive x- and y-  
values. Zooming in decreases the increment; zooming out  
increases the increment. This and other options are  
explained in “Common operations in Numeric view” on  
page 100.  
Advanced Graphing app  
131  
Numeric  
Setup  
Although you can configure  
the X- and Y-values shown in  
Numeric view by entering  
values and zooming in or  
out, you can also directly set  
the values shown using  
Numeric setup.  
15. Display the Numeric  
Setup view:  
M(Setup)  
S
You can set the starting value and step value (that is, the  
increment) for both the X-column and the Y-column, as well as  
the zoom factor for zooming in or out on a row of the table.  
You can also choose whether the table of data in Numeric  
view is automatically populated or whether it is populated by  
you typing in the particular x-values and y-values you are  
interested in. These options—Automatic or  
BuildYourOwn—are available from the Num Type list. They  
are explained in detail in “Custom tables” on page 103.  
Trace in  
Numeric  
view  
Besides the default configuration of the table in Numeric view,  
there are other options available in the Trace menu. The trace  
options in Numeric view mirror the trace options in Plot view.  
Both are designed to help you investigate the properties of  
relations numerically using a tabular format. Specifically, the  
table can be configured to show any of the following:  
edge values (controlled by X or Y)  
points of interest (PoI):  
X-intercepts  
Y-intercepts  
horizontal extrema  
vertical extrema  
inflections  
The values shown using the  
Trace options depend on the Plot view window; that is, the  
values shown in the table are restricted to points visible in Plot  
view. Zoom in or out in Plot view to get the values you want to  
see in the table in Numeric view.  
132  
Advanced Graphing app  
   
Trace Edge  
16.Tap  
and select Edge.  
Now the table shows (if  
possible) pairs of values  
that make the relation true.  
By default, the first column is  
the Y-column and there are  
multiple X-columns in case  
more than one X-value can  
be paired with the Y-value  
to make the relation true.  
Tap  
to make the first column an X-column followed by  
a set of Y-columns. In the figure above, for Y=0, there are 10  
values of X in the default Plot view that make the relation  
Y=SIN(X)true. These are shown in the first row of the table.  
It can be clearly seen that the sequence of X-values have a  
common difference of .  
Again, you can enter a value for Y that is of interest.  
3
2
------  
17.With 0 highlighted in the Y-column, enter  
:
Sj3n2  
E
18.Tap  
and select  
4.  
The first row of the table  
now illustrates that there are  
two branches of solutions.  
In each branch, the  
consecutive solution values are 2apart.  
Trace PoI  
19.Tap  
, select PoIand select Vertical Extrema  
to see the extrema listed in the table.  
20.Tap  
and select  
Smallfor a small font  
size.  
21.Tap  
and select 2  
to see just two columns.  
The table lists the 5 minima  
visible in Plot view, followed  
by the 5 maxima.  
Advanced Graphing app  
133  
Plot Gallery  
A gallery of interesting  
graphs—and the equations  
that generated them—is  
provided with the calculator.  
You open the gallery from  
Plot view:  
1. With Plot view open,  
press the Menu key.  
Note that you press the Menu key here, not the Menu  
touch button on the screen.  
2. From the menu, select Visit Plot Gallery. The first  
graph in the Gallery appears, along with its equation.  
3. Press > to display the next graph in the Gallery, and  
continue likewise until you want to close the Gallery.  
4. To close the Gallery and return to Plot view, press P.  
Exploring a plot from the Plot Gallery  
If a particular plot in the Plot Gallery interests you, you can  
save a copy of it. The copy is saved as a new app—a  
customized instance of the Advanced Graphing app. You can  
modify and explore the app as you would with built-in version  
of the Advanced Graphing app.  
To save a plot from the Plot Gallery:  
1. With the plot of interest displayed, tap  
2. Enter a name for your new app and tap  
.
.
3. Tap  
again. Your new app opens, with the  
equations that generated the plot displayed in Symbolic  
view. The app is also added to the Application Library  
so that you can return to it later.  
134  
Advanced Graphing app  
       
8
Geometry  
The Geometry app enables you to draw and explore  
geometric constructions. A geometric construction can be  
composed of any number of geometric objects, such as  
points, lines, polygons, curves, tangents, and so on. You can  
take measurements (such as areas and distances), manipulate  
objects, and note how measurements change.  
There are five app views:  
Plot view: provides drawing tools for you to construct  
geometric objects  
Symbolic view: provides editable definitions of the  
objects in Plot view  
Numeric view: for making calculations about the objects  
in Plot view  
Plot Setup view: for customizing the appearance of Plot  
view  
Symbolic Setup view: for overriding certain system-wide  
settings  
There is no Numeric Setup view in this app.  
To open the Geometry app, press I and select  
Geometry. The app opens in Plot view.  
Getting started with the Geometry app  
The following example shows how you can graphically  
represent the derivative of a curve, and have the value of the  
derivative automatically update as you move a point of  
tangency along the curve. The curve to be explored is y =  
3sin(x).  
Since the accuracy of our calculation in this example is not too  
important, we will first change the number format to fixed at  
3 decimal places. This will also help keep our geometry  
workspace uncluttered.  
Geometry  
135  
 
Preparation  
1. Press SH.  
2. On the Home Setting screen set the number format to  
Fixedand the number of decimal places to 3.  
Open the app  
and plot the  
graph  
3. Press I and select Geometry.  
If there are objects showing that you don’t need, press  
SJ and confirm your intention by tapping  
.
4. Select the type of graph you want to plot. In this example  
we are plotting a simple sinusoidal function, so choose:  
> Plot> Function  
5. With plotfunc( on the entry line, enter 3*sin(x):  
3seASsE  
Note that x must be entered in lowercase in the  
Geometry app.  
If your graph doesn’t  
resemble the illustration  
at the right, adjust the X  
Rng and Y Rng values  
in Plot Setup view  
(SP).  
We’ll now add a point  
to the curve, a point that  
will be constrained always to follow the contour of the  
curve.  
Add a  
6. Tap  
and select Point On.  
constrained  
point  
Choosing Point Onrather than Pointmeans that the  
point will be constrained to whatever it is placed on.  
7. Tap anywhere on the  
graph, press E  
and then press J.  
Notice that a point is  
added to the graph and  
given a name (Bin this  
example). Tap a blank  
area of the screen to  
deselect everything. (Objects colored cyan are selected.)  
136  
Geometry  
Add a tangent  
8. We will now add a tangent to the curve, making point B  
the point of tangency:  
> More> Tangent  
9. Tap on point B, press E and then press J.  
A tangent is drawn  
through point B.  
(Depending on where  
you placed point B, your  
illustration might be  
different from the one at  
the right.)  
We’ll now make the  
tangent stand out by giving it a bright color.  
10.If the curve is selected, tap a blank area of the screen to  
deselect, and then tap on the tangent to select it.  
11. Press Z and select Change Color.  
12. Pick a color from the color-picker, press E and then  
tap on a blank area of the screen. Your tangent should  
now be colored.  
13. Press E to select point B.  
If there is only one point on the screen, pressing E  
automatically selects it. If there is more than one point, a  
menu will appear asking you to choose a point.  
14. With point Bselected, use the cursor keys to move it  
about.  
Note that whatever you do, point Bremains constrained  
to the curve. Moreover, as you move point B, the tangent  
moves as well. (If it moves off the screen, you can always  
bring it back by dragging your finger across the screen  
in the appropriate direction.)  
15. Press E to deselect point B.  
Note that there are two ways to move a point after it is  
selected: (a) using the cursor keys, as described above, and  
(b) using your finger. If you use the cursor keys, pressing J  
will cancel the move and put the point back where it was,  
while pressing E will accept the move and deselect the  
point. If you use your finger to move the point, lifting your  
Geometry  
137  
finger completes the move and deselects the point. In this case  
there is no way to cancel the move unless you have activated  
keyboard shortcuts, which provides you with an undo  
function. (Shortcuts are described on page 147.)  
Create a  
derivative point  
The derivative of a graph at any point is the slope of its  
tangent at that point. We’ll now create a new point that will  
be constrained to point Band whose ordinate value is the  
derivative of the graph at point B. We’ll constrain it by forcing  
its x coordinate (that is, its abscissa) to always match that of  
point B, and its y coordinate (that is, its ordinate) to always  
equal the slope of the tangent at that point.  
16. To define a point in  
terms of the attributes of  
other geometric objects,  
you need to go to  
Symbolic view:  
Y
Note that each object  
you have so far created  
is listed in Symbolic view. Note too that the name for an  
object in Symbolic view is the name it was given in Plot  
view but prefixed with a “G”. Thus the graph—labeled A  
in Plot view—is labeled GAin Symbolic view.  
17. Highlight GC and tap  
.
When creating objects that are dependent on other  
objects, the order in which they appear in Symbolic view  
is important. Objects are drawn in Plot view in the order  
in which they appear in Symbolic view. Since we are  
about to create a new point that is dependent on the  
attributes of GBand GC, it is important that we place its  
definition after that of both GBand GC. That is why we  
made sure we were at the bottom the list of definitions  
before tapping  
. If our new definition appeared  
higher up in Symbolic view, the point we are about to  
create wouldn’t be drawn in Plot view.  
18. Tap  
and choose Point> point  
You now need to specify the x and y coordinates of the  
new point. The former is to be constrained to abscissa of  
138  
Geometry  
point B(referred to as GBin Symbolic view) and the later  
is to constrained to the slope of C(referred to as GCin  
Symbolic view).  
19. You should have point() on the entry line. Between  
the parentheses, add:  
abscissa(GB),slope(GC)  
You can enter the commands by hand, or choose them from  
one of two Toolbox menus: App > Measure, or Catlg.  
20.Tap  
.
The definition of your  
new point is added to  
Symbolic view. When  
you return to Plot view,  
you will see a point  
named Dand it will  
have the same x-  
coordinate as point B.  
21. Press P.  
If you can’t see point D,  
pan until it comes into  
view. The y coordinate  
of D will be the  
derivative of the curve at  
point B.  
Since its difficult to read  
coordinates off the screen, we’ll add a calculation that  
will give the exact derivative (to three decimal places)  
and which we can display in Plot view.  
Add some  
calculations  
22.Press M.  
Numeric view is where you enter calculations.  
23. Tap  
24.Tap  
25.Between parentheses, add the name of the tangent,  
namely GC, and tap  
.
and choose Measure> slope  
.
Notice that the current slope is calculated and displayed.  
The value here is dynamic, that is, if the slope of the  
Geometry  
139  
tangent changes in Plot view, the value of the slope is  
automatically updated in Numeric view.  
26.With the new calculation highlighted in Numeric view,  
tap  
.
Selecting a calculation in Numeric view means that it will  
also be displayed in Plot view.  
27. Press P to return to  
Plot view.  
Notice the calculation  
that you have just  
created in Numeric view  
is displayed at the top  
left of the screen.  
Let’s now add two more  
calculations to Numeric view and have them displayed  
in Plot view.  
28.Press M to return to Numeric view.  
29. Tap  
, enter GB, and tap  
.
Entering just the name of a point will show its  
coordinates.  
30.Tap  
, enter GC, and tap  
.
Entering just the name of a line will show its equation.  
31. Make sure both of these new equations are selected (by  
choosing each one and pressing  
).  
32. Press P to return to  
Plot view.  
Notice that your new  
calculations are  
displayed.  
33.Press E and  
choose point GB.  
34.Use the cursor keys to move point Balong the graph.  
Note that with each move, the results of the calculations  
shown at the top left of the screen change.  
Trace the  
derivative  
Point Dis the point whose ordinate value matches the  
derivative of the curve at point B. It is easier to see how the  
140  
Geometry  
derivative changes by looking at a plot of it rather than  
comparing subsequent calculations. We can do that by  
tracing point Das it moves in response to movements of point  
B.  
First we’ll hide the calculations so that we can better see the  
trace curve.  
35.Press M to return to Numeric view.  
36.Select each calculation in turn and tap  
calculations should now be deselected.  
. All  
37. Press P to return to Plot view.  
38.Press E and select point GD.  
39. Tap  
and select More> Trace  
40.Press E and select point GB.  
41. Using the cursor keys,  
move Balong the curve.  
You will notice that a  
shadow curve is traced  
out as you move B. This  
is the curve of the  
derivative of 3sin(x).  
Plot view in detail  
In Plot view you can directly  
draw objects on the screen  
using various drawing tools.  
For example, to draw a  
circle, tap  
and select  
Circle. Now tap where  
you want the center of the  
circle to be and press  
E. Next, tap a point that is to be on the circumference  
and press E. A circle is drawn with a center at the  
location of your first tap, and with a radius equal to the  
distance between your first tap and second tap.  
Creating or selecting an object always involves at least two  
steps: tap and press E. Only by pressing E do  
you confirm your intention to create the point or select an  
Geometry  
141  
     
object. When creating a point, you can tap on the screen and  
then use the cursor keys to accurately position the point before  
pressing E.  
Note that there are on-screen instructions to help you. For  
example, Hit Centermeans tap where you want the center  
of your object to be, and Hit Point 1means tap at the  
location of the first point you want to add.  
You can draw any number of geometric objects in Plot view.  
See “Geometric objects” on page 153 for a list of the objects  
you can draw. The drawing tool you choose—line, circle,  
hexagon, etc.—remains selected until you deselect it. This  
enables you to quickly draw a number of objects of the same  
type (such as a number of hexagons). Once you have finished  
drawing objects of a particular type, deselect the drawing tool  
by press J. (You can tell if a drawing tool is still active by  
the presence of on-screen help at the top left-side corner of the  
screen, help such as Hit Point 1.)  
An object in Plot view can be manipulated in numerous ways,  
and its mathematical properties can be easily determined  
(see page 150).  
Object naming  
Each geometric object you create is given a name. In the  
example shown on page 141, note that the circle has been  
named C. Each defining point is also been named: the center  
point has been named A, and the point tapped to set the  
radius of the circle has been named B.  
It is not only the points that  
define a geometric object  
that are given a name. Every  
component of the object that  
has any geometric  
significance is also named.  
If, for example, you create a  
hexagon, the hexagon is  
given a name as is each point at each vertex. In the example  
at the right, the pentagon is named C, the points used to  
define the hexagon are named A and B, and the remaining  
four vertices are named D, E, G, and H. Moreover, each of  
the six segments is also given a name: I, J, K, L, M, and N.  
These names are not displayed in Plot view, but you can see  
142  
Geometry  
 
them if you go to Symbolic view (see “Symbolic view in detail”  
on page 148).  
Naming objects and parts of objects enables you to refer to  
them in calculations. This is explained in “Numeric view in  
detail” on page 150.  
You can rename an object. See “Symbolic Setup view” on  
page 150.  
Selecting an  
object  
To select an object, just tap on it. The color of a selected item  
changes to cyan.  
To select a point in Plot view, just press E. A list of all  
the points appears. Select the one you want.  
Hiding names  
You can choose to hide the name of an object in Plot view:  
1. Select the object whose label (that is, caption) you want  
to hide.  
2. Press Z.  
3. Select Toggle Caption.  
4. Press J.  
Redisplay a hidden name by repeating this procedure.  
Moving objects  
Points To move a point press E. A list of all the points  
appears. Select the one you want to move, then tap on the  
new location for it, and press E.  
You can also select a point by tapping on it.  
In addition to tapping a new location for a selected point, you  
can press the arrow keys to move the point to a new location,  
or use a finger to drag the point to a new location.  
A point can also be selected directly by tapping on it. (If the  
bottom-right of the screen shows the name of the point, you  
have accurately tapped the point; otherwise the pointer  
coordinates are shown, indicating that the point is not  
selected.)  
Composite objects To move a multi-point object, see  
“Translation” on page 161.  
Coloring objects  
An object is colored black by default (and cyan when it is  
selected). If you want to change the color of an object:  
Geometry  
143  
     
1. Select the object whose color you want to change.  
2. Press Z.  
3. Select Change Color.  
The Choose Color palette appears.  
4. Select the color you want.  
5. Press J.  
Filling objects  
An object with closed contours (such as a circle or polygon)  
can be filled with color.  
1. Press Z.  
2. Select Fill with Color.  
The Select Object menu appears.  
3. Select the object you want to fill.  
The object is highlighted.  
1. Press Z.  
2. Select Change Color.  
The Choose Color  
palette appears.  
3. Select the color you  
want.  
4. Press J.  
Removing fill  
Undoing  
To remove the fill from an object:  
1. Press Z.  
2. Select Fill with Color.  
The Select Object menu appears.  
3. Select the object.  
You can undo your last addition or change to Plot view by  
pressing t. However, you must have keyboard shortcuts  
activated for this to work. See page 147.  
Clearing an  
object  
To clear one object, select it and tap C. Note that an object  
is distinct from the points you entered to create it. Thus  
deleting the object does not delete the points that define it.  
Those points remain in the app. For example, if you select a  
144  
Geometry  
     
circle and press C, the circle is deleted but the center point  
and radius point remain.  
If you tap C when no  
object is selected, a list of  
objects appears. Tap on the  
one you want to delete. (If  
you don’t want to delete an  
object, press J to close  
the list.) If other objects are  
dependent on the one you  
have selected for deletion, you will be asked to confirm your  
intention. Tap  
to do so, otherwise tap  
.
Note that points you add to an object once the object has  
been defined are cleared when you clear the object. Thus if  
you place a point (say D) on a circle and delete the circle, the  
circle and D are deleted, but the defining points—the center  
and radius points—remain.  
Clearing all  
objects  
To clear the app of all geometric objects, press SJ. You  
will be asked to confirm your intention to do so. Tap  
to clear all objects defined in Symbolic view or  
the app as it is. You can clear all measurements and  
calculations in Numeric view in the same way.  
to keep  
Moving about  
the Plot view  
You can pan by dragging a finger across the screen: either  
up, down, left, or right. You can also use the cursor keys to  
pan once the cursor is at the edge of the screen.  
Zooming  
You can zoom by tapping  
and choosing a zoom  
option. The zoom options are the same as you find in the Plot  
view of many apps in the calculator (see “Zoom” on  
page 88).  
Geometry  
145  
Plot view: buttons and keys  
Button or key  
Purpose  
Various scaling options. See “Zoom” on  
page 88.  
Tools for creating various types of points.  
See “Points” on page 153  
Tools for creating various types of lines.  
See “Line” on page 156  
Tools for creating various types of poly-  
gons. See “Polygon” on page 157  
Tools for creating various types of curves  
and plots. See “Curve” on page 158  
Tools for geometric transformations of vari-  
ous kinds. See “Geometric transforma-  
tions” on page 161.  
Deletes a selected object (or the character  
to the left of the cursor if the entry line is  
active).  
C
De-activate the current drawing tool  
J
Clears the Plot view of all geometric  
objects or the Numeric view of all mea-  
surements and calculations.  
SJ  
Shortcut keys  
To quickly add an object, and undo what  
you’ve done. See page 147.  
Plot Setup view  
The Plot Setup view enables  
you to configure the  
appearance of Plot view and  
to take advantage of  
keyboardshortcuts.The fields  
and options are:  
X Rng: Two fields for  
entering the minimum  
and maximum x-values, thereby giving the default  
horizontal range. As well as changing this range on the  
146  
Geometry  
     
Geometry Plot Setup screen, you can change it by  
panning and zooming.  
Y Rng: Two fields for entering the minimum and  
maximum y-values, thereby giving the default vertical  
range. As well as changing this range on the Geometry  
Plot Setup screen, you can change it by panning and  
zooming.  
Axes: A toggle option to hide (or reshow) the axes in  
Plot view.  
Keyboard shortcut: a  
Labels: A toggle option to hide (or reshow) the names of  
the geometric objects (A, B, C, etc.) in Plot view.  
Function Labels: A  
toggle option to hide (or  
reshow) the expression  
that generated a plot  
with the plot. These  
should not be confused  
with calculation labels.  
You can show function  
labels without also showing calculation labels and vice  
versa).  
Shortcuts: A toggle option to enable (or disable)  
keyboard shortcuts (that is, hot keys) in Plot view. With  
this option enabled, the following shortcuts become  
available:  
Key  
Result in Plot view  
Hide (or reshow) the axes.  
a
Selects the circle drawing tool. Follow the  
instructions on the screen (or see page  
158).  
F
Erases all trace lines (see page 154)  
c
g
Selects the intersection drawing tool. Fol-  
low the instructions on the screen (or see  
page 154).  
Geometry  
147  
   
Key  
Result in Plot view (Continued)  
Selects the line drawing tool. Follow the  
instructions on the screen (or see page  
156).  
j
B
r
n
t
Selects the point drawing tool. Follow the  
instructions on the screen (or see page  
153).  
Selects the segment drawing tool. Follow  
the instructions on the screen (or see  
page 156).  
Selects the triangle drawing tool. Follow  
the instructions on the screen (or see  
page 157).  
Undo.  
Symbolic view in detail  
Every object—whether a  
point, segment, line,  
polygon, or curve—is given  
a name, and its definition is  
displayed in Symbolic view  
(Y). The name is the  
name for it you see in Plot  
view, but prefixed by “G.  
Thus a point labeled A in Plot view is given the name GA in  
Symbolic view.  
The G-prefixed name is a variable that can be read by the  
computer algebra system (CAS). Thus in the CAS you can  
include such variables in calculations. Note in the illustration  
above that GC is the name of the variable that represents a  
circle drawn in Plot view. If you are working in the CAS and  
wanted to know what the area of that circle is, you could enter  
area(GC) and press E. (The CAS is explained in  
chapter 3.)  
N O T E  
Calculations referencing geometry variables can be made in  
the CAS or in the Numeric view of the Geometry app  
(explained below on page 150).  
148  
Geometry  
   
You can change the definition of an object by selecting it,  
tapping , and altering one or more of its defining  
parameters. The object is modified accordingly in Plot view.  
For example, if you selected point GBin the illustration above,  
tapped  
coordinates, and tapped  
, changed one or both of the point’s  
, you would find, on returning  
to Plot view, a circle of a different size.  
Creating objects  
You can also create an object in Symbolic view. Tap  
define the object—for example, point(4,6)—and press  
,
E. The object is created and can be seen in Plot view.  
line(GP,GQ)in Symbolic view and press E. When  
you return to Plot view, you will see a line passing through  
points P and Q.  
The object-creation  
commands available in  
Symbolic view can be seen  
by tapping  
. The  
syntax for each command is  
given in “Geometry  
functions and commands”  
on page 165.  
Re-ordering  
entries  
You can re-order the entries in Symbolic view. Objects are  
drawn in Plot view in the order in which they are defined in  
Symbolic view. To change the position of an entry, highlight it  
and tap either  
move it up).  
(to move it down the list) or  
(to  
Hiding an object To prevent an object displaying in Plot view, deselect it in  
Symbolic view:  
1. Highlight the item to be hidden.  
2. Tap  
.
Repeat the procedure to make the object visible again.  
Geometry  
149  
Deleting an  
object  
As well as deleting an object in Plot view (see page 144) you  
can delete an object in Symbolic view.  
1. Highlight the definition of the object you want to delete.  
2. Tap  
or press C.  
To delete all objects, press SJ.  
Symbolic Setup view  
The Symbolic view of the Geometry app is common with  
many apps. It is used to override certain system-wide settings.  
For details, see “Symbolic Setup view” on page 74.  
Numeric view in detail  
Numeric view (M) enables you to do calculations in the  
Geometry app. The results displayed are dynamic—if you  
manipulate an object in Plot view or Symbolic view, any  
calculations in Numeric view that refer to that object are  
automatically updated to reflect the new properties of that  
object.  
Consider circle Cin the  
illustration at the right. To  
calculate the area and  
radius of C:  
1. Press M to open  
Numeric view.  
2. Tap  
3. Tap  
.
and choose  
Measure> Area.  
Note that area()  
appears on the entry  
line, ready for you to  
specify the object whose  
area you are interested  
in.  
4. Tap  
, choose Curvesand then the curve whose  
area you are interested in.  
The name of the object is placed between the  
parentheses.  
150  
Geometry  
     
You could have entered the command and object name  
manually, that is, without choosing them from menus. If  
you enter object names manually, remember that the  
name of the object in Plot view must be given a “G”  
prefix if it is used in any calculation. Thus the circle  
named C in Plot view must be referred to as GC in  
Numeric view and Symbolic view.  
5. Press  
6. Tap  
E
.
or tap  
. The area is displayed.  
7. Enter radius(GC)and  
tap  
. The radius is  
displayed.  
Note that the syntax  
used here is the same as  
you use in the CAS to  
calculate the properties  
of geometric objects.  
The Geometry functions and their syntax are described  
in “Geometry functions and commands” on page 165.  
8. Press P to go back to Plot view. Now manipulate the  
circle is some way that changes its area and radius. For  
example, select the center point (A) and use the cursor  
keys to move it to a new location. (Remember to press  
E when you have finished.)  
9. Press M to go back to Numeric view. Notice that the  
area and radius calculations have been automatically  
updated.  
N O T E  
If an entry in Numeric view is too long for the screen, you can  
press > to scroll the rest of the entry into view. Press < to  
scroll back to the original view.  
Listing all  
objects  
When you are creating a  
new calculation in Numeric  
view, the  
menu item  
appears. Tapping  
gives you a list of all the  
objects in your Geometry  
workspace. These are also  
Geometry  
151  
grouped according to their type, with each group given its  
own menu.  
If you are building a calculation, you can select an object from  
one of these variables menus. The name of the selected object  
is placed at the insertion point on the entry line.  
Getting object  
properties  
As well as employing functions to make calculations in  
Numeric view, you can also get various parameters of objects  
just by tapping  
and specifying the object’s name. For  
example, you can get the coordinates of a point by entering  
the point and pressing E. Another example: you can  
get the formula for a line just by entering its name, or the  
center point and radius of a circle just by entering the name  
of the circle.  
Displaying  
calculations in  
Plot view  
To have a calculation made  
in Numeric view appear in  
Plot view, just highlight it in  
Numeric view and tap  
. A checkmark  
appears beside the  
calculation.  
Repeat the procedure to  
prevent the calculation being displayed in Plot view. The  
checkmark is cleared.  
Editing a  
calculation  
1. Highlight the calculation you want to delete.  
2. Tap  
.
3. Make your change and tap  
.
Deleting a  
calculation  
1. Highlight the calculation you want to delete.  
2. Tap  
.
To delete all calculations, press SJ. Note that deleting  
a calculation does not delete any geometric objects from Plot  
or Symbolic view.  
152  
Geometry  
Geometric objects  
The geometric objects discussed in this section are those that  
can be created in Plot view. Objects can also be created in  
Symbolic view—more, in fact, than in Plot view—but these are  
discussed in “Geometry functions and commands” on  
page 165.  
In Plot view, you choose a drawing tool to draw an object. The  
tools are listed in this section. Note that once you select a  
drawing tool, it remains selected until you deselect it. This  
enables you to quickly draw a number of objects of the same  
type (such as a number of circles). To deselect the current  
drawing tool, press J. (You can tell if a drawing tool is still  
active by the presence of on-screen help in the top left-side  
corner of the screen, help such as Hit Point 1.)  
The steps provided in this section are based on touch entry.  
For example, to add a point, the steps will tell you to tap on  
the screen where you want the point to be and press E.  
However, you can also use the cursor keys to position the  
cursor where you want the point to be and then press  
E.  
The drawing tools for the geometric objects listed in this  
section can be selected from the menu buttons at the bottom  
of the screen. Some objects can also be entered using a  
keyboard shortcut. For example, you can select the triangle  
drawing tool by pressing n. (Keyboard shortcuts are only  
available if they have been turned on in Plot Setup view. See  
page 146.)  
Points  
Tap  
to display a menu and submenus of options for  
entering various types of points. The menus and submenus  
are:  
Point  
Tap where you want the point to be and press E.  
Keyboard shortcut: B  
Point On  
Tap the object where you want the new point to be and press  
E. If you select a point that has been placed on an  
object and then move that point, the point will be constrained  
to the object on which it was placed. For example, a point  
Geometry  
153  
         
placed on a circle will remain on that circle regardless of how  
you move the point.  
If there is no object where you tap, a point is created if you  
then press E.  
Midpoint  
Tap where you want one point to be and press E. Tap  
where you want the other point to be and press E. A  
point is automatically created midway between those two  
points.  
If you choose an object first—such as a segment—choosing  
the Midpoint tool and pressing E adds a point midway  
between the ends of that object. (In the case of a circle, the  
midpoint is created at the circle’s center.)  
Intersection  
Tap the desired intersection and press E. A point is  
created at one of the points of intersection.  
Keyboard shortcut: g  
More  
Trace  
Displays a list of points for  
you to choose the one you  
want to trace. If you  
subsequently move that  
point, a trace line is drawn  
on the screen to show its  
path. In the example at the  
right, point B was chosen to  
be traced. When that point was moved—up and to the left—a  
path of its movement was created.  
Trace creates an entry in Symbolic view. In the example  
above, the entry is Trace(GB).  
Stop Trace  
Turns off tracing and deletes the definition of the trace point  
from Symbolic view. If more than one point is being traced, a  
menu of trace points appears so that you can choose which  
one to untrace.  
Stop Tracedoes not erase any existing trace lines. It merely  
prevents any further tracing should the point be moved again.  
154  
Geometry  
   
Erase Trace  
Erases all trace lines, but leaves the definition of the trace  
points in Symbolic view. While a Trace definition is still in  
Symbolic view, if you move the point again, a new trace line  
is created.  
Center  
Tap a circle and press E. A point is created at the  
center of the circle.  
Element 0 .. 1  
Element 0..1has a number of uses. You can use it to  
place a constrained point on a object (whether previously  
created or not). For example, if in Symbolic view you define  
GA as element(circle(),2)), go to Plot view, turn on  
tracing, select GA and move it, you will see that GA is  
constrained to move in a circle centered on the origin and of  
radius 2.  
You can also use Element  
0..1to generate values  
that can then be used as  
coefficients in functions you  
subsequently plot. For  
example, in Plot view select  
Element 0..1. Notice  
that a label is added to the  
screen—GA, for example—and given a value of 0.5. You can  
now use that label as a coefficient in a function to be plotted.  
For example, you could choose Curve> Plot> Function  
and define a function as GA*x27. A plot of 0.5x2–7 appears  
in Plot view. Now select the label (GA, in this example) and  
press E. An interval bar appears on the screen. Tap  
anywhere along the interval bar (or press < or >). The  
value of GA—and the shape of the graph—change to match  
the value along the at which you tapped.  
Intersections  
Tap one object other than a point and press E. Tap  
another object and press E. The point(s) where the two  
objects intersect are created and named. Note that an  
intersections object is created in Symbolic view even if the two  
objects selected do not intersect.  
Random pts  
Displays a palette for you to choose to add 1, 2, 3, or 4  
points. The points are placed randomly.  
Geometry  
155  
Line  
Segment  
Tap where you want one endpoint to be and press E.  
Tap where you want the other endpoint to be and press  
E. A segment is drawn between the two end points.  
Keyboard shortcut: r  
Ray  
Line  
Tap where you want the endpoint to be and press E.  
Tap a point that you want the ray to pass through and press  
E. A ray is drawn from the first point and through the  
second point.  
Tap at a point you want the line to pass through and press  
E. Tap at another point you want the line to pass  
through and press E. A line is drawn through the two  
points.  
Keyboard shortcut: j  
Vector  
Tap where you want one endpoint to be and press E.  
Tap where you want the other endpoint to be and press  
E. A vector is drawn between the two end points.  
Angle bisector  
Tap the point that is the vertex of the angle to be bisected (A)  
and press E. Tap another point (B) and press E.  
Tap a third point (C) and press E. A line is drawn  
through A bisecting the angle formed by AB and AC.  
Perpendicular  
bisector  
Tap one point and press E. Tap another point and  
press E. These two points define a segment. A line is  
drawn perpendicular to the segment through its midpoint. It  
does not matter if the segment is actually defined in the  
Symbolic view or not. Alternately, tap to select a segment and  
press E.  
If you are drawing a perpendicular bisector to a segment,  
choose the segment first and then select Perp. Bisector from  
the Line menu. The bisector is drawn immediately without you  
having to select any points. Just press E to save the  
bisector.  
156  
Geometry  
         
Parallel  
Tap on a point (P) and press E. Tap on a line (L) and  
press E. A new line is draw parallel to L and passing  
through P.  
Perpendicular  
Tangent  
Tap on a point (P) and press E. Tap on a line (L) and  
press E. A new line is draw perpendicular to L and  
passing through P.  
Tap on a curve (C) and press E. Tap on a point (P) and  
press E. If the point (P) is on the curve (C), then a single  
tangent is drawn. If the point (P) is not on the curve (C), then  
zero or more tangents may be drawn.  
Median  
Altitude  
Tap on a point (A) and press E. Tap on a segment and  
press E. A line is drawn through the point (A) and the  
midpoint of the segment.  
Tap on a point (A) and press E. Tap on a segment and  
press E. A line is drawn through the point (A)  
perpendicular to the segment (or its extension).  
Polygon  
The Polygon menu provides tools for drawing various  
polygons.  
Triangle  
Tap at each vertex, pressing E after each tap.  
Keyboard shortcut: n  
Quadrilateral  
Ngon  
Tap at each vertex, pressing E after each tap.  
Polygon5  
Produces a pentagon. Tap at each vertex, pressing E  
after each tap.  
Polygon6  
Hexagon  
Produces a hexagon. Tap at each vertex, pressing E  
after each tap.  
Produces a regular hexagon (that is, one with sides of equal  
length and angles of equal measure). Tap on a point and  
press E. Tap on a second point to define the length of  
one side of the regular hexagon and press E. The other  
Geometry  
157  
     
four vertices are automatically calculated and the regular  
hexagon is drawn.  
Special  
Eq. triangle  
Produces an equilateral triangle. Tap at one vertex and press  
E. Tap at another vertex and press E. The  
location of the third vertex is automatically calculated and the  
triangle is drawn.  
Square  
Tap at one vertex and press E. Tap at another vertex  
and press E. The location of the third and fourth  
vertices are automatically calculated and the square is drawn.  
Parallelogram  
Tap at one vertex and press E. Tap at another vertex  
and press E. Tap at a third vertex and press E.  
The location of the fourth vertex is automatically calculated  
and the parallelogram is drawn.  
Curve  
Circle  
Tap at the center of the circle and press E. Tap at a  
point on the circumference and press E. A circle is  
drawn about the center point with a radius equal to the  
distance between the two tapped points.  
Keyboard shortcut: F  
You can also create a circle by first defining it in Symbolic  
view. The syntax is circle(GA,GB)where Aand B are two  
points. A circle is drawn in Plot view such that Aand B define  
the diameter of the circle.  
Ellipse  
Tap at one focus point and press E. Tap at the second  
focus point and press E. Tap at point on the  
circumference and press E.  
Hyperbola  
Tap at one focus point and press E. Tap at the second  
focus point and press E. Tap at point on one branch of  
the hyperbola and press E.  
Parabola  
Tap at the focus point and press E. Tap either on a line  
(the directrix) or a ray or segment nd press E.  
158  
Geometry  
     
Special  
Circumcircle  
A circumcircle is the circle  
that passes through each of  
the triangle’s three vertices,  
thus enclosing the triangle.  
Tap at each vertex of the  
triangle, pressing E  
after each tap.  
Incircle  
An incircle is a circle that is  
tangent to each of a  
polygon’s sides. The HP  
Prime can draw an incircle  
that is tangent to the sides of  
a triangle.  
Tap at each vertex of the  
triangle, pressing E  
after each tap.  
Excircle  
An excircle is a circle that is tangent to one segment of a  
triangle and also tangent to the rays through the segment’s  
endpoints from the vertex of the triangle opposite the segment.  
Tap at each vertex of the  
triangle, pressing E  
after each tap.  
The excircle is drawn tangent  
to the side defined by the last  
two vertices tapped. In the  
example at the right, the last  
two vertices tapped were A  
and C (or C and A). Thus the excircle is drawn tangent to the  
segment AC.  
Geometry  
159  
Locus  
Takes two points as its arguments: the first is the point whose  
possible locations form the locus; the second is a point on an  
object. This second point drives the first through its locus as the  
second moves on its object.  
In the example at the right,  
circle C has been drawn and  
point D is a point placed on  
C (using the Point On  
function described above).  
Point I is a translation of  
point D. Choosing Curve>  
Special> Locusplaces  
locus( on the entry line. Complete the command as  
locus(GI,GD)and point I traces a path (its locus) that  
parallels point D as it moves around the circle to which it is  
constrained.  
Plot  
You can plot expressions of the following types in Plot view:  
Function  
Parametric  
Polar  
Sequence  
Tap  
, select Plot, and  
then the type of expression  
you want to plot. The entry  
line is enabled for you to  
define the expression.  
Note that the variables you  
specify for an expression  
must be in lowercase.  
In this example, Function  
has been selected as the plot  
type and the graph of y = 1/  
x is plotted.  
160  
Geometry  
   
Geometric transformations  
The Transform menu—displayed by tapping  
—provides numerous tools for you to perform  
transformations on geometric objects in Plot view. You can  
also define transformations in Symbolic view  
Translation  
A translation is a transformation of a set of points that moves  
each point the same distance in the same direction. T: (x,y)  
(x+a, y+b). You must create a vector to indicate the distance  
and direction of the translation. You then choose the vector  
and the object to be translated.  
Suppose you want to  
translate circle B at the right  
down a little and to the right:  
1. Tap  
Vector.  
and select  
2. Draw a vector in the  
direction you want to  
translate the circle and  
of the same length as move you intend. (If you need help,  
see “Vector” on page 156.)  
3. Tap  
and select Translation.  
4. Tap the vector and press E.  
5. Tap the object to be  
moved and press  
E.  
The object is moved the  
same length as the  
vector and in the same  
direction. The original  
object is left in place.  
Geometry  
161  
     
Reflection  
A reflection is a  
transformation which maps  
an object or set of points  
onto its mirror image, where  
the mirror is either a point or  
a line. A reflection through a  
point is sometimes called a  
half-turn. In either case, each  
point on the mirror image is the same distance from the mirror  
as the corresponding point on the original. In the example at  
the right, the original triangle D is reflected through point I.  
1. Tap  
and select Reflection.  
2. Tap the point or straight object (segment, ray, or line) that  
will be the symmetry axis (that is, the mirror) and press  
E.  
3. Tap the object that is to be reflected across the symmetry  
axis and press E. The object is reflected across the  
symmetry axis defined in step 2.  
Dilation  
A dilation (also called a homothety or uniform scaling) is a  
transformation where an object is enlarged or reduced by a  
given scale factor around a given point as center.  
In the illustration at the right,  
the scale factor is 2 and the  
center of dilation is  
indicated by a point near the  
top right of the screen  
(named I). Each point on the  
new triangle is collinear with  
its corresponding point on  
the original triangle and point I. Further, the distance from  
point I to each new point will be twice the distance to the  
original point (since the scale factor is 2).  
1. Tap  
and select Dilation.  
2. Tap the point that is to be the center of dilation and press  
E.  
3. Enter the scale factor and press E.  
4. Tap the object that is to be dilated and press E.  
162  
Geometry  
   
Rotation  
A rotation is a mapping that  
rotates each point by a fixed  
angle around a center point.  
The angle is defined using  
the angle()command,  
with the vertex of the angle  
as the first argument.  
Suppose you wish to rotate  
the square (GC) around point K (GK) through LKM in the  
figure to the right.  
1. Press Y and tap  
2. Tap and select Transform> Rotation.  
rotation()appears on the entry line.  
3. Between the  
.
parentheses, enter:  
GK,angle(GK,GL,GM  
),GC  
4. Press E or tap  
.
5. Press P to return to  
Plot view to see the rotated square.  
More  
Projection  
A projection is a mapping of one or more points onto an  
object such that the line passing through the point and its  
image is perpendicular to the object at the image point.  
1. Tap  
and select Projection.  
2. Tap the object onto which points are to be projected and  
press E.  
3. Tap the point that is to be projected and press E.  
Note the new point added to the target object.  
Inversion  
An inversion is a mapping involving a center point and a  
scale factor. Specifically, the inversion of point A through  
center C, with scale factor k, maps A onto A, such that A’ is  
on line CA and CA*CA’=k, where CA and CA’ denote the  
Geometry  
163  
 
lengths of the corresponding segments. If k=1, then the  
lengths CA and CA’ are reciprocals.  
Suppose you wish to find the inversion of a circle (GC) with a  
point on the circle (GD) as center.  
1. Tap  
and select More> Inversion.  
2. Tap the point that is to be the center (GD) of the inversion  
circle and press E.  
3. Enter the inversion  
ratio—use the default  
value of 1—and press  
E.  
4. Tap on the circle( GC)  
and press E.  
You will see that the  
inversion is a line.  
Reciprocation  
A reciprocation is a special case of inversion involving circles.  
A reciprocation with respect to a circle transforms each point  
in the plane into its polar line. Conversely, the reciprocation  
with respect to a circle maps each line in the plane into its  
pole.  
1. Tap  
and select More> Reciprocation.  
2. Tap the circle and press E.  
3. Tap a point and press  
E to see its polar  
line.  
4. Tap a line and press  
E to see its pole.  
In the illustration to the  
right, point K is the  
reciprocation of line DE  
(G) and Line I (at the bottom of the display) is the  
reciprocation of point H.  
164  
Geometry  
 
Geometry functions and commands  
The list of geometry-specific functions and commands in this  
section covers those that can be found by tapping  
both Symbolic and Numeric view and those that are only  
available from the Catlg menu.  
in  
The sample syntax provided has been simplified. Geometric  
objects are referred to by a single uppercase character (such  
as A, B,C and so on). However, calculations referring to  
geometric objects—in the Numeric view of the Geometry app  
and in the CAS—must use the G-prefixed name given for it in  
Symbolic view. For example:  
altitude(A,B,C)is the simplified form given in this  
section  
altitude(GA,GB,GC)is the form you need to use in  
calculations  
Further, in many cases the specified parameters in the syntax  
below—A, B, C etc.—can be the name of a point (such as  
GA) or a complex number representing a point. Thus  
angle(A,B,C)could be:  
angle(GP,GR,GB)  
angle(3+2i,1–2i,5+i)or  
a combination of named points and points defined by a  
complex number, as in angle(GP,i1–2i,i).  
Symbolic view: Cmds menu  
Point  
barycenter  
Calculates the hypothetical center of mass of a set of points,  
each with a given weight (a real number). Each point, weight  
pair is enclosed in square brackets as a vector.  
barycenter([point1, weight1], [point2,  
weight2],…,[pointn, weightn])  
Example: barycenter([–3 1],[3 1],[33·i 1])  
33i  
gives point ------------ , which is equivalent to (0,3)  
3
Geometry  
165  
     
center  
Returns the center of a circle.  
center(circle)  
Example: center(circle(x2+y2–x–y)) gives  
point(1/2,1/2)  
division_point  
For two points A and B, and a numerical factor k, returns a  
point C such that C-B=k*(C-A).  
division_point(point1, point2, realk)  
Example: division_point(0,6+6*i,4)returns point  
(8,8)  
element  
Creates a point on a geometric object whose abscissa is a  
given value or creates a real value on a given interval.  
element(object, real) or element(real1..real2)  
Examples:  
element(plotfunc(x2),–2) creates a point on the  
graph of y = x2. Initially, this point will appear at (–2,4). You  
can move the point, but it will always remain on the graph of  
its function.  
element(0..5)creates a value of 2.5 initially. Tapping on  
this value and pressing E enables you to press > and  
< to increase or decrease the value in a manner similar to a  
slider bar. Press E again to close the slider bar. The  
value you set can be used as a coefficient in a function you  
subsequently plot.  
inter  
Returns the intersections of two curves as a vector.  
inter(curve1, curve2)  
6
2
x2  
6
x
2
---- --  
Example: inter 8 –  
– 1 returns  
. This indicates  
–11  
--------  
–9  
2
that there are two intersections:  
(6,2)  
(–9,–5.5)  
166  
Geometry  
isobarycenter  
Returns the hypothetical center of mass of a set of points.  
Works like barycenter but assumes that all points have equal  
weight.  
isobarycenter(point1, point2, …,pointn)  
Example: isobarycenter(–3,3,3*3*i) returns  
point(3*3*i/3), which is equivalent to (0,3).  
midpoint  
Returns the midpoint of a segment. The argument can be  
either the name of a segment or two points that define a  
segment. In the latter case, the segment need not actually be  
drawn.  
midpoint(segment) or midpoint(point1, point2)  
Example: midpoint(0,6+6i)returns point(3,3)  
orthocenter  
Returns the orthocenter of a triangle; that is, the intersection of  
the three altitudes of a triangle. The argument can be either  
the name of a triangle or three non-collinear points that define  
a triangle. In the latter case, the triangle does not need to be  
drawn.  
orthocenter(triangle) or orthocenter(point1,  
point2, point3)  
Example: orthocenter(0,4i,4) returns (0,0)  
point  
Creates a point, given the coordinates of the point. Each  
coordinate may be a value or an expression involving  
variables or measurements on other objects in the geometric  
construction.  
point(real1, real2) or point(expr1, expr2)  
Examples:  
point(3,4) creates a point whose coordinates are (3,4).  
This point may be selected and moved later.  
point(abscissa(A), ordinate(B)) creates a point  
whose x-coordinate is the same as that of a point A and  
whose y-coordinate is the same as that of a point B. This point  
will change to reflect the movements of point A or point B.  
Geometry  
167  
point2d  
Randomly re-distributes a set of points such that, for each  
point, x [–5,5] and y [–5,5]. Any further movement of  
one of the points will randomly re-distribute all of the points  
with each tap or direction key press.  
point2d(point1, point2, …, pointn)  
trace  
Begins tracing of a specified point.  
trace(point)  
stop trace  
Stops tracing of a specified point, but does not erase the  
current trace. This command is only available in Plot view. In  
Symbolic view, uncheck the trace object to erase the trace and  
stop further tracing  
erase trace  
Erases the trace of a point, but does not stop tracing. Any  
further movement of the point will be traced. In Symbolic view,  
uncheck the trace object to erase the trace and stop further  
tracing.  
Line  
DrawSlp  
Given three real numbers m, a, b, draws a line with slope m  
that passes through the point (a, b).  
DrawSlp(a,b,m)  
Example: DrawSlp(2,1,3)draws the line given by  
y=3x–5  
altitude  
Given three non-collinear points, draws the altitude of the  
triangle defined by the three points that passes through the  
first point. The triangle does not have to be drawn.  
altitude(point1, point2, point3)  
Example: altitude(A, B, C)draws a line passing  
through point A that is perpendicular to BC.  
168  
Geometry  
bisector  
Given three points, creates the bisector of the angle defined  
by the three points whose vertex is at the first point. The angle  
does not have to be drawn in the Plot view.  
bisector(point1, point2, point3)  
Examples:  
bisector(A,B,C)draws the bisector of BAC.  
bisector(0,-4i,4)draws the line given by y=–x  
exbisector  
Given three points that define a triangle, creates the bisector  
of the exterior angles of the triangle whose common vertex is  
at the first point. The triangle does not have to be drawn in the  
Plot view.  
exbisector(point1, point2, point3)  
Examples:  
exbisector(A,B,C) draws the bisector of the exterior  
angles of ΔABC whose common vertex is at point A.  
exbisector(0,–4i,4)draws the line given by y=x  
half_line  
line  
Given 2 points, draws a ray from the first point through the  
second point.  
half_line((point1, point2)  
Draws a line. The arguments can be two points, a linear  
expression of the form a*x+b*y+c, or a point and a slope as  
shown in the examples.  
line(point1, point2)or line(a*x+b*y+c)or  
line(point1, slope=realm)  
Examples:  
line(2+i, 3+2i) draws the line whose equation is  
y=x–1; that is, the line through the points (2,1) and (3,2).  
Geometry  
169  
line(2x–3y–8) draws the line whose equation is  
2x–3y=8  
line(3–2i,slope=1/2) draws the line whose equation  
is x–2y=7; that is, the line through (3, –2) with slope m=1/2.  
median_line  
Given three points that define a triangle, creates the median  
of the triangle that passes through the first point and contains  
the midpoint of the segment defined by the other two points.  
median_line(point1, point2, point3)  
Example: median_line(0, 8i, 4) draws the line whose  
equation is y=2x; that is, the line through (0,0) and (2,4), the  
midpoint of the segment whose endpoints are (0, 8) and (4,  
0).  
parallel  
Draws a line through a given point that is parallel to a given  
line.  
parallel(point,line)  
Examples:  
parallel(A, B)draws the line through point A that is  
parallel to line B.  
parallel(3–2i, x+y–5)draws the line through the point  
(3, –2) that is parallel to the line whose equation is x+y=5;  
that is, the line whose equation is y=–x+1.  
perpen_bisector  
Draws the perpendicular bisector of a segment. The segment  
is defined either by its name or by its two endpoints.  
perpen_bisector(segment) or  
perpen_bisector(point1, point2)  
Examples:  
perpen_bisector(GC)draws the perpendicular bisector  
of segment C.  
perpen_bisector(GA, GB)draws the perpendicular  
bisector of segment AB.  
perpen_bisector(3+2i, i)draws the perpendicular  
bisector of a segment whose endpoints have coordinates (3,  
2) and (0, 1); that is, the line whose equation is y=x/3+1.  
170  
Geometry  
perpendicular  
Draws a line through a given point that is perpendicular to a  
given line. The line may be defined by its name, two points,  
or an expression in x and y.  
perpendicular(point, line) or  
perpendicular(point1, point2, point3)  
Examples:  
perpendicular(GA, GD) draws a line perpendicular to  
line D through point A.  
perpendicular(3+2i, GB, GC) draws a line through  
the point whose coordinates are (3, 2) that is perpendicular  
to line BC.  
perpendicular(3+2i,line(x–y=1))draws a line  
through the point whose coordinates are (3, 2) that is  
perpendicular to the line whose equation is x – y = 1; that is,  
the line whose equation is y=–x+5.  
segment  
tangent  
Draws a segment defined by its endpoints.  
segment(point1, point2)  
Examples:  
segment(1+2i, 4) draws the segment defined by the  
points whose coordinates are (1, 2) and (4, 0).  
segment(GA, GB) draws segment AB.  
Draws the tangent(s) to a given curve through a given point.  
The point does not have to be a point on the curve.  
tangent(curve, point)  
Examples:  
tangent(plotfunc(x^2), GA) draws the tangent to the  
graph of y=x^2 through point A.  
tangent(circle(GB, GC–GB), GA) draws one or more  
tangent lines through point A to the circle whose center is at  
point B and whose radius is defined by segment BC.  
Geometry  
171  
Polygon  
equilateral_triangle  
Draws an equilateral triangle defined by one of its sides; that  
is, by two consecutive vertices. The third point is calculated  
automatically, but is not defined symbolically. If a lowercase  
variable is added as a third argument, then the coordinates  
of the third point are stored in that variable. The orientation of  
the triangle is counterclockwise from the first point.  
equilateral_triangle(point1, point2) or  
equilateral_triangle(point1, point2, var)  
Examples:  
equilateral triangle(0,6)draws an equilateral  
triangle whose first two vertices are at (0, 0) and (6,0); the  
third vertex is calculated to be at (3,3*3).  
equilateral triangle(0,6, v) draws an equilateral  
triangle whose first two vertices are at (0, 0) and (6,0); the  
third vertex is calculated to be at (3,3*3) and these  
coordinates are stored in the CAS variable v. In CAS view,  
entering v returns point(3*(3*i+1)), which is equal to  
(3,3*3).  
hexagon  
Draws a regular hexagon defined by one of its sides; that is,  
by two consecutive vertices. The remaining points are  
calculated automatically, but are not defined symbolically.  
The orientation of the hexagon is counterclockwise from the  
first point.  
hexagon(point1, point2) or hexagon(point1,  
point2, var1, var2, var3, var4)  
Examples:  
hexagon(0,6) draws a regular hexagon whose first two  
vertices are at (0, 0) and (6, 0).  
hexagon(0,6, a, b, c, d)draws a regular hexagon  
whose first two vertices are at (0, 0) and (6, 0) and stores the  
other four points into the CAS variables a, b, c, and d. You do  
not have to define variables for all four remaining points, but  
the coordinates are stored in order. For example,  
hexagon(0,6, a)stores just the third point into the CAS  
variable a.  
172  
Geometry  
isosceles_triangle  
Draws an isosceles triangle defined by two of its vertices and  
an angle. The vertices define one of the two sides equal in  
length and the angle defines the angle between the two sides  
of equal length. Like equilateral_triangle, you have  
the option of storing the coordinates of the third point into a  
CAS variable.  
isosceles_triangle(point1, point2, angle)  
Example:  
isosceles_triangle(GA, GB, angle(GC, GA, GB)  
defines an isosceles triangle such that one of the two sides of  
equal length is AB, and the angle between the two sides of  
equal length has a measure equal to that of ACB.  
isopolygon  
Draws a regular polygon given the first two vertices and the  
number of sides, where the number of sides is greater than 1.  
If the number of sides is 2, then the segment is drawn. You can  
provide CAS variable names for storing the coordinates of the  
calculated points in the order they were created. The  
orientation of the polygon is counterclockwise.  
isopolygon(point1, point2, realn), where realn  
is an integer greater than 1.  
Example  
isopolygon(GA, GB, 6)draws a regular hexagon  
whose first two vertices are the points A and B.  
parallelogram  
Draws a parallelogram given three of its vertices. The fourth  
point is calculated automatically but is not defined  
symbolically. As with most of the other polygon commands,  
you can store the fourth point’s coordinates into a CAS  
variable. The orientation of the parallelogram is  
counterclockwise from the first point.  
parallelogram(point1, point2, point3)  
Example:  
parallelogram(0,6,9+5i)draws a parallelogram  
whose vertices are at (0, 0), (6, 0), (9, 5), and (3,5). The  
coordinates of the last point are calculated automatically.  
Geometry  
173  
polygon  
Draws a polygon from a set of vertices.  
polygon(point1, point2, …, pointn)  
Example:  
polygon(GA, GB, GD)draws ΔABD  
quadrilateral  
Draws a quadrilateral from a set of four points.  
quadrilateral(point1, point2, point3, point4)  
Example:  
quadrilateral(GA, GB, GC, GD) draws quadrilateral  
ABCD.  
rectangle  
Draws a rectangle given two consecutive vertices and a point  
on the side opposite the side defined by the first two vertices  
or a scale factor for the sides perpendicular to the first side.  
As with many of the other polygon commands, you can  
specify optional CAS variable names for storing the  
coordinates of the other two vertices as points.  
rectangle(point1, point2, point3) or  
rectangle(point1, point2, realk)  
Examples:  
rectangle(GA, GB, GE)draws a rectangle whose first  
two vertices are points A and B (one side is segment AB).  
Point E is on the line that contains the side of the rectangle  
opposite segment AB.  
rectangle(GA, GB, 3, p, q) draws a rectangle whose  
first two vertices are points A and B (one side is segment AB).  
The sides perpendicular to segment AB have length 3*AB.  
The third and fourth points are stored into the CAS variables  
p and q, respectively.  
rhombus  
Draws a rhombus, given two points and an angle. As with  
many of the other polygon commands, you can specify  
optional CAS variable names for storing the coordinates of  
the other two vertices as points.  
rhombus(point1, point2, angle)  
174  
Geometry  
Example  
rhombus(GA, GB, angle(GC, GD, GE))draws a  
rhombus on segment AB such that the angle at vertex A has  
the same measure as DCE.  
right_triangle  
Draws a right triangle given two points and a scale factor.  
One leg of the right triangle is defined by the two points, the  
vertex of the right angle is at the first point, and the scale  
factor multiplies the length of the first leg to determine the  
length of the second leg.  
right_triangle(point1, point2, realk)  
Example:  
right_triangle(GA, GB, 1)draws an isosceles right  
triangles with its right angle at point A, and with both legs  
equal in length to segment AB.  
square  
Draws a square, given two consecutive vertices as points.  
square(point1, point2)  
Example:  
Example: square(0, 3+2i, p, q) draws a square with vertices  
at (0, 0), (3, 2), (1, 5), and (-2, 3). The last two vertices are  
computed automatically and are saved into the CAS variables  
p and q.  
triangle  
Draws a triangle, given its three vertices.  
triangle(point1, point2, point3)  
Example:  
triangle(GA, GB, GC) draws ΔABC.  
Geometry  
175  
Curve  
function  
Draws the plot of a function, given an expression in the  
independent variable x. Note the use of lowercase x.  
plotfunc(Expr)  
Example:  
Example: plotfunc(3*sin(x)) draws the graph of y=3*sin(x).  
circle  
Draws a circle, given the endpoints of the diameter, or a  
center and radius, or an equation in x and y.  
circle(point1, point2) or circle(point1, point 2-point1) or  
circle(equation)  
Examples:  
circle(GA, GB)draws the circle with diameter AB.  
circle(GA, GB-GA)draws the circle with center at point  
A and radius AB.  
circle(x^2+y^2=1) draws the unit circle.  
This command can also be used to draw an arc.  
circle(GA, GB, 0, π/2) draws a quarter-circle with  
diameter AB.  
circumcircle  
Draws the circumcircle of a triangle; that is, the circle  
circumscribed about a triangle.  
circumcircle(point1, point2, point3)  
Example:  
circumcircle(GA, GB, GC) draws the circle  
circumscribed about ΔABC  
conic  
Plots the graph of a conic section defined by an expression in  
x and y.  
conic(expr)  
Example:  
conic(x^2+y^2-81)draws a circle with center at (0,0)  
and radius of 9  
176  
Geometry  
ellipse  
Draws an ellipse, given the foci and either a point on the  
ellipse or a scalar that is one half the constant sum of the  
distances from a point on the ellipse to each of the foci.  
ellipse(point1, point2, point3) or  
ellipse(point1, point2, realk)  
Examples:  
ellipse(GA, GB, GC) draws the ellipse whose foci are  
points A and B and which passes through point C.  
ellipse(GA, GB, 3)draws an ellipse whose foci are  
points A and B. For any point P on the ellipse, AP+BP=6.  
excircle  
Draws one of the excircles of a triangle, a circle tangent to one  
side of the triangle and also tangent to the extensions of the  
other two sides.  
excircle(point1, point2, point3)  
Example:  
excircle(GA, GB, GC) draws the circle tangent to BC  
and to the rays AB and AC.  
hyperbola  
Draws a hyperbola, given the foci and either a point on the  
hyperbola or a scalar that is one half the constant difference  
of the distances from a point on the hyperbola to each of the  
foci.  
hyperbola(point1, point2, point3) or  
hyperbola(point1, point2, realk)  
Examples:  
hyperbola(GA, GB, GC)draws the hyperbola whose foci  
are points A and B and which passes through point C.  
hyperbola(GA, GB, 3)draws a hyperbola whose foci  
are points A and B. For any point P on the hyperbola, |AP-  
BP|=6.  
incircle  
Draws the incircle of a triangle, the circle tangent to all three  
sides of the triangle.  
incircle(point1, point2, point3)  
Geometry  
177  
Example:  
incircle(GA, GB, GC)draws the incircle of ΔABC.  
locus  
Given a first point and a second point that is an element of (a  
point on) a geometric object, draws the locus of the first point  
as the second point traverses its object.  
locus(point,element)  
parabola  
Draws a parabola, given a focus point and a directrix line, or  
the vertex of the parabola and a real number that represents  
the focal length.  
parabola(point,line) or parabola(vertex,real)  
Examples:  
parabola(GA, GB)draws a parabola whose focus is point  
A and whose directrix is line B.  
parabola(GA, 1)draws a parabola whose vertex is point  
A and whose focal length is 1.  
Transform  
dilation  
Dilates a geometric object, with respect to a center point, by  
a scale factor.  
homothety(point, realk, object)  
Example:  
homothety(GA, 2, GB)creates a dilation centered at  
point A that has a scale factor of 2. Each point P on geometric  
object B has its image P’ on ray AP such that AP’=2AP.  
inversion  
Draws the inversion of a point, with respect to another point,  
by a scale factor.  
inversion(point1, realk, point2)  
Example:  
inversion(GA, 3, GB)draws point C on line AB such  
that AB*AC=3. In this case, point A is the center of the  
178  
Geometry  
inversion and the scale factor is 3. Point B is the point whose  
inversion is created.  
In general, the inversion of point A through center C, with  
scale factor k, maps A onto A, such that A’ is on line CA and  
CA*CA’=k, where CA and CA’ denote the lengths of the  
corresponding segments. If k=1, then the lengths CA and CA’  
are reciprocals.  
projection  
reflection  
Draws the orthogonal projection of a point onto a curve.  
projection(curve, point)  
Reflects a geometric object over a line or through a point. The  
latter is sometimes referred to as a half-turn.  
reflection(line, object) or reflection(point,  
object)  
Examples:  
reflection(line(x=3),point(1,1))reflects the  
point at (1, 1) over the vertical line x=3 to create a point at  
(5,1).  
reflection(1+i, 3-2i)reflects the point at (3,–2)  
through the point at (1, 1) to create a point at (–1, 4).  
rotation  
Rotates a geometric object, about a given center point,  
through a given angle.  
rotate(point, angle, object)  
Example:  
rotate(GA, angle(GB, GC, GD),GK)rotates the  
geometric object labeled K, about point A, through an angle  
equal to CBD.  
similarity  
Dilates and rotates a geometric object about the same center  
point.  
similarity(point, realk, angle, object)  
Geometry  
179  
Example:  
similarity(0, 3, angle(0,1,i),point(2,0))  
dilates the point at (2,0) by a scale factor of 3 (a point at  
(6,0)), then rotates the result 90° counterclockwise to create a  
point at (0, 6).  
translation  
Translates a geometric object along a given vector. The vector  
is given as the difference of two points (head-tail).  
translation(vector, object)  
Examples:  
translation(0-i, GA)translates object A down one  
unit.  
translation(GB-GA, GC)translates object C along the  
vector AB.  
Measure Plot  
angleat  
Used in Symbolic view. Given the three points of an angle and  
a fourth point as a location, displays the measure of the angle  
defined by the first three points. The measure is displayed,  
with a label, at the location in the Plot view given by the fourth  
point. The first point is the vertex of the angle.  
angleat(point1, point2, point3, point4)  
Example:  
In degree mode, angleat(point(0, 0), point(23,  
0), point(23, 3), point(-6, 6))displays  
appoint(0,0)=30.0at point (–6,6)  
angleatraw  
areaat  
Works the same as angleat, but without the label.  
Used in Symbolic view. Displays the algebraic area of a  
polygon or circle. The measure is displayed, with a label, at  
the given point in Plot view.  
areaat(polygon, point) or areaat(circle,  
point)  
180  
Geometry  
Example:  
areaat(circle(x^2+y^2=1), point(-4,4))  
displays “acircle(x^2+y^2=1)= π” at point (-4, 4))  
areaatraw  
distanceat  
Works the same as areaat, but without the label.  
Used in Symbolic view. Displays the distance between 2  
geometrical objects. The measure is displayed, with a label,  
at the given point in Plot view.  
distanceat(object1, object2, point)  
Example:  
distanceat(1+i, 3+3*i, 4+4*i) returns “1+i  
3+3*i=22” at point (4,4)  
distanceatraw  
perimeterat  
Works the same as distanceat, but without the label.  
Used in Symbolic view. Displays the perimeter of a polygon  
or circle. The measure is displayed, with a label, at the given  
point in Plot view.  
perimeterat(polygon, point) or  
perimeterat(circle, point)  
Example:  
perimeterat(circle(x^2+y^2=1), point(-4,4))  
displays “pcircle(x^2+y^2=1)= 2*πat point (-4, 4)  
perimeteratraw  
slopeat  
Works the same as perimeterat, but without the label.  
Used in Symbolic view. Displays the slope of a straight object  
(segment, line, etc.). The measure is displayed, with a label,  
at the given point in Plot view.  
slopeat(object, point)  
Geometry  
181  
Example:  
slopeat(line(point(0,0), point(2,3)),  
point(-8,8)) displays “sline(point(0,0),  
point(2,3))=3/2” at point (–8, 8)  
slopeatraw  
Works the same as slopeat, but without the label.  
Numeric view: Cmds menu  
Measure  
abscissa  
Returns the x coordinate of a point or the x length of a vector.  
abscissa(point)or abscissa(vector)  
Example:  
abscissa(GA)returns the x-coordinate of the point A.  
affix  
Returns the coordinates of a point or both the x- and y-lengths  
of a vector as a complex number.  
affix(point) or affix(vector)  
Example:  
if GA is a point at (1, 2), then affix(GA)returns 1–2i.  
angle  
Returns the measure of a directed angle. The first point is  
taken as the vertex of the angle as the next two points in order  
give the measure and sign.  
angle(vertex, point2, point3)  
Example:  
angle(GA, GB, GC)returns the measure of BAC.  
182  
Geometry  
arcLen  
Returns the length of the arc of a curve between two points on  
the curve. The curve is an expression, the independent  
variable is declared, and the two points are defined by values  
of the independent variable.  
This command can also accept a parametric definition of a  
curve. In this case, the expression is a list of 2 expressions (the  
first for x and the second for y) in terms of a third independent  
variable.  
arcLen(expr, real1, real2)  
Examples:  
arcLen(x^2, x, –2, 2)returns 9.29….  
arcLen({sin(t), cos(t)}, t, 0, π/2)returns  
1.57…  
area  
Returns the area of a circle or polygon.  
area(circle) or area(polygon)  
This command can also return the area under a curve  
between two points.  
area(expr, x=value1..value2)  
Examples:  
If GA is defined to be the unit circle, then area(GA)returns  
.  
area(4-x^2/4, x=-4..4) returns 14.666…  
coordinates  
distance  
Given a vector of points, returns a matrix containing the x- and  
y-coordinates of those points. Each row of the matrix defines  
one point; the first column gives the x-coordinates and the  
second column contains the y-coordinates.  
coordinates([point1, point2, …, pointn]))  
Returns the distance between two points or between a point  
and a curve.  
distance(point1, point2)or distance(point,  
curve)  
Geometry  
183  
Examples:  
distance(1+i, 3+3i)returns 2.828… or 22.  
if GA is the point at (0, 0) and GB is defined as  
plotfunc(4–x^2/4), then distance (GA, GB) returns 3.464…  
or 23.  
distance2  
Returns the square of the distance between two points or  
between a point and a curve.  
distance2(point1, point2)or distance2(point,  
curve)  
Examples:  
distance2(1+i, 3+3i)returns 8.  
If GA is the point at (0, 0) and GB is defined as plotfunc(4-  
x^2/4), then distance2(GA, GB)returns 12.  
equation  
Returns the Cartesian equation of a curve in x and y, or the  
Cartesian coordinates of a point.  
equation(curve) or equation(point)  
Example:  
If GA is the point at (0, 0), GB is the point at (1, 0), and GC  
is defined as circle(GA, GB-GA), then equation(GC)  
returns x2 + y2 = 1.  
extract_measure  
ordinate  
Returns the definition of a geometric object. For a point, that  
definition consists of the coordinates of the point. For other  
objects, the definition mirrors their definition in Symbolic view,  
with the coordinates of their defining points supplied.  
extract_measure(Var)  
Returns the y coordinate of a point or the y length of a vector.  
ordinate(point) or ordinate(vector)  
Example:  
Example: ordinate(GA)returns the y-coordinate of the  
point A.  
184  
Geometry  
parameq  
perimeter  
Works like the equation command, but returns parametric  
results in complex form.  
parameq(GeoObj )  
Returns the perimeter of a polygon or the circumference of a  
circle.  
perimeter(polygon)or perimeter(circle)  
Examples:  
If GA is the point at (0, 0), GB is the point at (1, 0), and GC  
is defined as circle(GA, GB-GA), then perimeter(GC)  
returns 2.  
If GA is the point at (0, 0), GB is the point at (1, 0), and GC  
is defined as square(GA, GB-GA), then perimeter(GC)  
returns 4.  
radius  
Returns the radius of a circle.  
radius(circle)  
Example:  
If GA is the point at (0, 0), GB is the point at (1, 0), and GC  
is defined as circle(GA, GB-GA), then radius(GC)returns 1.  
Test  
is_collinear  
Takes a set of points as argument and tests whether or not they  
are collinear. Returns 1 if the points are collinear and 0  
otherwise.  
is_collinear(point1, point2, …, pointn)  
Example:  
is_collinear(point(0,0), point(5,0),  
point(6,1))returns 0  
Geometry  
185  
is_concyclic  
Takes a set of points as argument and tests if they are all on  
the same circle. Returns 1 if the points are all on the same  
circle and 0 otherwise.  
is_concyclic(point1, point2, …, pointn)  
Example:  
is_concyclic(point(-4,-2), point(-4,2),  
point(4,-2), point(4,2))returns 1  
is_conjugate  
is_element  
Tests whether or not two points or two lines are conjugates for  
the given circle. Returns 1 if they are and 0 otherwise.  
is_conjugate(circle, point1, point2) or  
is_conjugate(circle, line1, line2)  
Tests if a point is on a geometric object. Returns 1 if it is and  
0 otherwise  
is_element(point, object)  
Example:  
2 2  
is_element(point(----,----) , circle(0,1))returns 1.  
2 2  
is_equilateral  
is_isoceles  
186  
Takes three points and tests whether or not they are vertices of  
a single equilateral triangle. Returns 1 if they are and 0  
otherwise.  
is_equilateral(point1, point2, point3)  
Example:  
is_equilateral(point(0,0), point(4,0),  
point(2,4))returns 0.  
Takes three points and tests whether or not they are vertices of  
a single isosceles triangle. Returns 0 if they are not. If they are,  
returns the number order of the common point of the two sides  
of equal length (1, 2, or 3). Returns 4 if the three points form  
an equilateral triangle.  
is_isosceles(point1, point2, point3)  
Geometry  
Example:  
is_isoscelesl(point(0,0), point(4,0),  
point(2,4)) returns 3.  
is_orthogonal  
Tests whether or not two lines or two circles are orthogonal  
(perpendicular). In the case of two circles, tests whether or not  
the tangent lines at a point of intersection are orthogonal.  
Returns 1 if they are and 0 otherwise.  
is_orthogonal(line1, line2) or  
is_orthogonal(circle1, circle2)  
Example:  
is_orthogonal(line(y=x),line(y=-x))returns 1.  
is_parallel  
Tests whether or not two lines are parallel. Returns 1 if they  
are and 0 otherwise.  
is_parallel(line1, line2)  
Example:  
is_parallel(line(2x+3y=7),line(2x+3y=9)  
returns 1.  
is_parallelogram  
Tests whether or not a set of four points are vertices of a  
parallelogram. Returns 0 if they are not. If they are, then  
returns 1 if they form only a parallelogram, 2 if they form a  
rhombus, 3 if they form a rectangle, and 4 if they form a  
square.  
is_parallelogram(point1, point2, point3,  
point4)  
Example:  
is_parallelogram(point(0,0), point(2,4),  
point(0,8), point(-2,4))returns 2.  
is_perpendicular  
Similar to is_orthogonal. Tests whether or not two lines are  
perpendicular.  
is_perpendicular(line1, line2)  
Geometry  
187  
is_rectangle  
Tests whether or not a set of four points are vertices of a  
rectangle. Returns 0 if they are not, 1 if they are, and 2 if they  
are vertices of a square.  
is_rectangle(point1, point2, point3, point4)  
Examples:  
is_rectangle(point(0,0), point(4,2),  
point(2,6), point(-2,4))returns 2.  
With a set of only three points as argument, tests whether or  
not they are vertices of a right triangle. Returns 0 if they are  
not. If they are, returns the number order of the common point  
of the two perpendicular sides (1, 2, or 3).  
is_rectangle(point(0,0), point(4,2),  
point(2,6)) returns 2.  
is_square  
Tests whether or not a set of four points are vertices of a  
square. Returns 1 if they are and 0 otherwise.  
is_square(point1, point2, point3, point4)  
Example:  
is_square(point(0,0), point(4,2),  
point(2,6), point(-2,4))returns 1.  
Other Geometry functions  
The following functions are not available from a menu in the  
Geometry app, but are available from the Catlg menu.  
convexhull  
Returns a vector containing the points that serve as the convex  
hull for a given set of points.  
convexhull(point1, point2, …, pointn)  
harmonic_conjugate  
Returns the harmonic conjugate of 3 points. Specifically,  
returns the harmonic conjugate of point3 with respect to  
point1 and point2. Also accepts three parallel or concurrent  
188  
Geometry  
lines; in this case, it returns the equation of the harmonic  
conjugate line.  
harmonic_conjugate(point1, point2, point3)or  
harmonic_conjugate(line1, line2, line3)  
Example:  
harmonic_conjugate(point(0, 0), point(3, 0),  
point(4, 0))returns point(12/5, 0)  
harmonic_division  
Returns the harmonic conjugate of 3 points. Specifically,  
returns the harmonic conjugate of point3 with respect to  
point1 and point2 and stores the result in the variable var.  
Also accepts three parallel or concurrent lines; in this case, it  
returns the equation of the harmonic conjugate line.  
harmonic_division(point1, point2, point3, var)  
or harmonic_division(line1, line2, line3, var)  
Example:  
harmonic_division(point(0, 0), point(3, 0),  
point(4, 0), p)returns point(12/5, 0)and stores it  
in the variable p  
is_harmonic  
Tests whether or not 4 points are in a harmonic division or  
range. Returns 1 if they are or 0 otherwise.  
is_harmonic(point1, point2, point3, point4)  
is_harmonic(point1, point2, point3, point4)  
Example:  
is_harmonic(point(0, 0), point(3, 0),  
point(4, 0), point(12/5, 0)) returns 1  
is_harmonic_circle_bundle  
Returns 1 if the circles build a beam, 2 if they have the same  
center, 3 if they are the same circle and 0 otherwise.  
is_harmonic_circle_bundle({circle1, circle2,  
…, circlen})  
Geometry  
189  
is_harmonic_line_bundle  
Returns 1 if the lines are concurrent, 2 if they are all parallel,  
3 if they are the same line and 0 otherwise.  
is_harmonic_line_bundle({line1, line2, …,  
linen}))  
is_rhombus  
Tests whether or not a set of four points are vertices of a  
rhombus. Returns 0 if they are not, 1 if they are, and 2 if they  
are vertices of a square.  
is_rhombus(point1, point2, point3, point4)  
Example:  
is_rhombus(point(0,0), point(-2,2),  
point(0,4), point(2,2))returns 2  
LineHorz  
Draws the horizontal line y=a.  
LineHorz(a)  
Example:  
LineHorz(-2)draws the horizontal line whose equation is  
y = –2  
LineVert  
Draws the vertical line x=a.  
LineVert(a)  
Example:  
LineVert(3) draws the vertical line whose equation is x  
= –3  
open_polygon  
Connects a set of points with line segments, in the given order,  
to produce a polygon. If the last point is the same as the first  
point, then the polygon is closed; otherwise, it is open.  
open_polygon(point1, point2, …, point1) or  
open_polygon(point1, point2, …, pointn)  
190  
Geometry  
polar  
Returns the polar line of the given point as pole with respect  
to the given circle.  
polar(circle, point)  
Example:  
polar(circle(x^2+y^2=1),point(1/3,0)) returns  
x=3  
polar_coordinates  
Returns a vector containing the polar coordinates of a point  
or a complex number.  
polar_coordinates(point)or  
polar_coordinates(complex)  
Example:  
polar_coordinates(2, 2)returns [2, π/4])  
pole  
Returns the pole of the given line with respect to the given  
circle.  
pole(circle, line)  
Example:  
pole(circle(x^2+y^2=1), line(x=3)) returns  
point(1/3, 0)  
powerpc  
Given a circle and a point, returns the difference between the  
square of the distance from the point to the circle’’s center and  
the square of the circle’s radius.  
powerpc(circle, point)  
Example  
powerpc(circle(point(0,0), point(1,1)-  
point(0,0)), point(3,1))returns 8  
radical_axis  
Returns the line whose points all have the same powerpc  
values for the two given circles.  
radical_axis(circle1, circle2)  
Geometry  
191  
Example:  
radical_axis(circle(((x+2)²+y²) =  
8),circle(((x-2)²+y²) = 8))returns line(x=0)  
reciprocation  
Given a circle, returns the poles (points) of given polar lines  
or the polar lines of given poles (points).  
reciprocation(circle, point)or  
reciprocation(circle, line)or  
reciprocation(circle, list)  
Example:  
reciprocation(circle(x^2+y^2=1),{point(1/  
3,0), line(x=2)})returns [line(x=3), point(1/  
2, 0)]  
single_inter  
Returns the intersection of curve1and curve2 that is  
closest to point.  
single_inter(curve1, curve2, point)  
Example:  
single_inter(line(y=x),circle(x^2+y^2=1),  
point(1,1)) returns point(((1+i)* 2)/2)  
vector  
Creates a vector from point1 to point2. With one point as  
argument, the origin is used as the tail of the vector.  
vector(point1, point2) or vector(point)  
Example:  
vector(point(1,1), point(3,0)) creates a vector  
from (1, 1) to (3, 0).  
vertices  
Returns a list of the vertices of a polygon.  
vertices(polygon)  
vertices_abca  
Returns the closed list of the vertices of a polygon.  
vertices_abca(polygon)  
192  
Geometry  
   
9
Spreadsheet  
The Spreadsheet app provides  
a grid of cells for you to enter  
content (such as numbers, text,  
expressions, and so on) and to  
perform certain operations on  
what you enter.  
To open the Spreadsheet app,  
press  
Spreadsheet.  
I
and select  
with its own name (see “Creating an app” on page 107). You  
open a customized spreadsheet in the same way: by pressing  
I
The maximum size of any one spreadsheet is 10,000 rows by  
676 columns.  
and selecting the particular spreadsheet.  
The app opens in Numeric view. There is no Plot or Symbolic  
view. There is a Symbolic Setup view (SY) that enables  
you to override certain system-wide settings. (See “Common  
operations in Symbolic Setup view” on page 87.)  
Getting started with the Spreadsheet app  
Suppose you have a stall at a weekend market. You sell furniture  
on consignment for their owners, taking a 10% commission for  
yourself. You have to pay the landowner $100 a day to set up  
your stall and you will keep the stall open until you have made  
$250 for yourself.  
1. Open the Spreadsheet app: Press  
Press I and select Spreadsheet.  
2. Select column A. Either tap on Aor use the cursor keys to  
highlight the Acell (that is, the heading of the Acolumn).  
Spreadsheet  
193  
 
3. Enter PRICEand tap  
. You have named the entire  
first column PRICE.  
4. Select column B. Either tap on Bor use the cursor keys to  
highlight the Bcell.  
5. Enter a formula for your commission (being 10% of the  
price of each item sold):  
S.PRICEs0.1E  
Because you entered the  
formula in the heading of  
a column, it is  
automatically copied to  
every cell in that column.  
At the moment only 0 is  
shown, since there are no  
values in the PRICE  
column yet.  
6. Once again select the header of column B.  
7. Tap  
and select Name.  
8. Type COMMISand tap  
.
Note that the heading of column Bis now COMMIS.  
9. It is always a good idea to check your formulas by entering  
some dummy values and noting if the result is as expected.  
Select cell A1and make sure that  
and not  
is  
showing in the menu. (If not, tap the button.) This option  
means that your cursor automatically selects the cell  
immediately below the one you have just entered content  
into.  
10.Add some values in the  
PRICEcolumn and note  
the result in the COMMIS  
column. If the results do  
not look right, you can tap  
the COMMISheading, tap  
and fix the  
formula.  
194  
Spreadsheet  
11. To delete the dummy values, select cell A1, tap  
,
press \ until all the dummy values are selected, and then  
press C.  
12. Select cell C1.  
13. Enter a label for your takings:  
S.ANTAKINGSE  
Notice that text strings, but not names, need to be enclosed  
within quotation marks.  
14. Select cell D1.  
15. Enter a formula to add up your takings:  
S.SUM R PRICE E  
You could have specified a range—such as A1:A100—but  
by specifying the name of the column, you can be sure that  
the sum will include all the entries in the column.  
16. Select cell C3.  
17. Enter a label for your total commission:  
S.ANTOTAL COMMISE  
Note that the column is not wide enough for you to see the  
entire label in C3. We need to widen column C.  
18. Select the heading cell for column C, tap  
Column  
and select  
.
An input form appears for you to specify the required width  
of the column.  
19. Enter 100 and tap  
.
You may have to experiment until you get the column width  
exactly as you want it. The value you enter will be the width  
of the column in pixels.  
20.Select cell D3.  
21. Enter a formula to add up your commission:  
S.SUM R COMMIS E  
Note that instead of entering SUMby hand, you could have  
chosen it from the Apps menu (one of the Toolbox menus).  
22.Select cell C5.  
Spreadsheet  
195  
23.Enter a label for your fixed costs:  
S.ANCOSTSE  
24.In cell D5, enter 100. This  
is what you have to pay  
the landowner for renting  
the space for your stall.  
25.Enter the label PROFITin  
cell C7.  
26.In cell D7, enter a formula  
to calculate your profit:  
S.D3 w D5E  
You could also have named D3and D5—say, TOTCOMand  
COSTSrespectively. Then the formula in D7could have  
been =TOTCOMCOSTS.  
27. Enter the label GOALin cell E1.  
You can swipe the screen with a finger, or repeatedly press  
the cursor keys, to bring E1into view.  
28.Enter 250 in cell F1.  
This is the minimum profit you want to make on the day.  
29. In cell C9, enter the label GO HOME.  
30.In cell D9, enter:  
S.D7 F1E  
You can select from the relations palette (Sv).  
What this formula does is  
place 0 in D9if you have  
not reached your goal  
profit, and 1 if you have.  
It provides a quick way for  
you to see when you have  
made enough profit and  
can go home.  
31. Select C9and D9.  
You can select both cells with a finger drag, or by  
highlighting C9, selecting  
and pressing >.  
196  
Spreadsheet  
32.Tap  
33.Choose a color for the contents of the selected cells.  
34.Tap and select Fill.  
and select Color.  
35.Choose a color for the background of the selected cells.  
The most important cells in the spreadsheet will now stand  
out from the rest.  
The spreadsheet is complete,  
but you may want to check all  
the formulas by adding some  
dummy data to the PRICE  
column. When the profit  
reaches 250, you should see  
the value in D9change from 0  
to 1.  
Basic operations  
Navigation, selection and gestures  
You can move about a spreadsheet by using the cursor keys, by  
swiping, or by tapping  
to move to.  
and specifying the cell you want  
You select a cell simply by moving to it. You can also select an  
entire column—by tapping the column letter—and select an  
entire row (by tapping the row number). You can also select the  
entire spreadsheet: just tap on the unnumbered cell at the top-  
left corner of the spreadsheet. (It has the HP logo in it.)  
A block of cells can be selected by pressing down on a cell that  
will be a corner cell of the selection and, after a second,  
dragging your finger to the diagonally opposite cell. You can  
also select a block of cells by moving to a corner cell, tapping  
and using the cursor keys to move to the diagonally  
opposite cell. Tapping on  
selection.  
or another cell deselects the  
Spreadsheet  
197  
   
Cell references  
You can refer to the value of a cell in formulas as if it were a  
variable. A cell is referenced by its column and row coordinates,  
and references can be absolute or relative. An absolute  
reference is written as $C$R (where C is the column number and  
R the row number). Thus $B$7 is an absolute reference. In a  
formula it will always refer to the data in cell B7 wherever that  
formula, or a copy of it, is placed. On the other hand, B7 is a  
relative reference. It is based on the relative position of cells.  
Thus a formula in, say, B8 that references B7 will reference C7  
instead of B7 if it is copied to C8.  
Ranges of cells can also be specified, as in C6:E12, as can  
entire columns (E:E) or entire rows ($3:$5). Note that the  
alphabetic component of column names can be uppercase or  
lowercase except for columns g, l, m, and z. These must be in  
lowercase if not preceded by $. Thus cell B1 can be referred to  
as B1,b1,$B$1or $b$1whereas M1 can only be referred to  
as m1, $m$1, or $M$1. (G, L, M, and Z are names reserved for  
graphic objects, lists, matrices, and complex numbers.)  
Cell naming  
Cells, rows, and columns can be named. The name can then be  
used in a formula. A named cell is given a blue border.  
Method 1  
Method 2  
To name an empty cell, row, or column, go the cell, row header,  
or column header, enter a name and tap  
.
To name a cell, row, or column—whether it is empty or not:  
1. Select the cell, row, or column.  
2. Tap  
and select Name.  
3. Enter a name and tap  
.
Using names  
in calculations  
The name you give a cell, row, or column can be used in a  
formula. For example, if you name a cell TOTAL, you could  
enter in another cell the formula =TOTAL*1.1.  
The following is a more complex example involving the naming  
of an entire column.  
198  
Spreadsheet  
   
1. Select cell A (that is the  
header cell for column A).  
2. Enter COSTand tap  
.
3. Select cell B (that is the  
header cell for column B).  
4. Enter  
S.COST*0.33and tap  
.
5. Enter some values in column A and observe the calculated  
results in column B.  
Entering content  
You can enter content directly in the spreadsheet or import data  
from a statistics app.  
Direct entry  
A cell can contain any valid calculator object: a real number  
(3.14), a complex number (a+ib), an integer (#1Ah), a list ({1,  
2}), a matrix or vector([1, 2]), a string ("text"), a unit (2_m) or  
an expression (that is, a formula). Move to the cell you want to  
add content to and start entering the content as you would in  
Home view. Press E when you have finished. You can  
also enter content into a number of cells with a single entry. Just  
select the cells, enter the content—for example, =Row*3—and  
press E.  
What you enter on the entry line is evaluated as soon as you  
press E, with the result placed in the cell or cells.  
However, if you want to retain the underlying formula, precede  
it with S.. For example, suppose that want to add cell  
A1 (which contains 7) to cell B2 (which contains 12). Entering  
A1+ B2E in, say, A4 yields19, as does entering  
S.A1+ B2 in A5. However, if the value in A1 (or B2)  
changes, the value in A5 changes but not the value in A4. This  
is because the expression (or formula) was retained in A5. To  
see if a cell contains just the value shown in it or also an  
underlying formula that generates the value, move your cursor to  
the cell. The entry line shows a formula if there is one.  
Spreadsheet  
199  
 
A single formula can add content to every cell in a column or  
row. For example, move to C(the heading cell for column C),  
enter S.SIN(Row)and press E. Each cell in the  
column is populated with the sine of the cell’s row number. A  
similar process enables you to populate every cell in a row with  
the same formula. You can also add a formula once and have  
it apply to every cell in the spreadsheet. You do this by placing  
the formula in the cell at the top left (the cell with the HP logo in  
it). To see how this works, suppose you want to generate a table  
of powers (squares, cubes, and so on) starting with the squares:  
1. Tap on the cell with the  
HP logo in it (at the top  
left corner). Alternatively,  
you can use the cursor  
keys to move to that cell  
(just as you can to select a  
column or row heading).  
2. On the entry line type  
S.Rowk Col+1  
Note that Rowand Colare built-in variables. They are  
placeholders for the row number and column number of the  
cell that has a formula containing them.  
3. Tap  
or Press E.  
Note that each column gives the nth power of the row  
number starting with the squares. Thus 95 is 59,049.  
Import data  
You can import data from the Statistics 1Var and Statistics 2Var  
apps (and from any app customized from a statistics app). In the  
procedure immediately below, dataset D1from the Statistics  
1Var app is being imported.  
1. Select a cell.  
2. Enter Statistics_1Var.D1.  
3. Press E.  
The column is filled with the data from the statistics app,  
starting with the cell selected at step 1. Any data in that  
column will be overwritten by the data being imported.  
200  
Spreadsheet  
 
statistics app. See “Entering and editing statistical data” on  
page 213 for the general procedure. It can be used in both  
the Statistics 1Var and Statistics 2Var apps.  
External  
functions  
You can use in a formula any  
function available on the Math,  
CAS, App, User or Catlg  
menus (see chapter 21,  
“Functions and commands” on  
page 305). For example, to  
find the root of 3 – x2 closest to  
x = 2, you could enter in a cell  
S.AAROOTAR3wAs  
jo2E. The answer displayed is 1.732…  
You could also have selected a function from a menu. For  
example:  
1. Press S..  
2. Press D and tap  
.
3. Select Polynomial> Find Roots.  
Your entry line will now look like this: =CAS.proot().  
4. Enter the coefficients of the polynomial, in descending  
order, separating each with a comma:  
Q1o0o3  
5. Press E to see the result. Select the cell and tap  
to see a vector containing both roots: [1.732…  
1.732…].  
6. Tap  
to return to the spreadsheet.  
Note that the CAS prefix added to your function is to remind you  
that the calculation will be carried out by the CAS (and thus a  
symbolic result will be returned, if possible). You can also force  
a calculation to be handled by the CAS by tapping  
the spreadsheet.  
in  
There are additional spreadsheet functions that you can use  
(mostly related to finance and statistics calculations). See  
“Spreadsheet functions” on page 345.  
Spreadsheet  
201  
 
Copy and paste  
To copy one or more cells,  
select them and press  
SV (Copy).  
Move to the desired location  
and press SZ (Paste).  
You can choose to paste  
either the value, formula,  
format, both value and format, or both formula and format.  
External references  
You can refer to data in a  
spreadsheet from outside the  
Spreadsheet app by using the  
reference  
SpreadsheetName.CR. For  
example, in Home view you  
can refer to cell A6 in the built-  
in spreadsheet by entering  
Spreadsheet.A6. Thus the formula 6*Spreadsheet.A6  
would multiply whatever value is currently in cell A6 in the built-  
in app by 6.  
If you have created a customized spreadsheet called, say,  
Savings, you simply refer to it by its name, as in  
5*Savings.A6.  
An external reference can also be to a named cell, as in  
5*Savings.TOTAL.  
In the same way, you can also enter references to spreadsheet  
cells in the CAS.  
If you are working outside a spreadsheet, you cannot refer to a  
cell by its absolute reference. Thus Spreadsheet.$A$6  
produces an error message.  
Note that a reference to a spreadsheet name is case-sensitive.  
202  
Spreadsheet  
   
Referencing variables  
Any variable can be inserted in a cell. This includes Home  
variables, App variables, CAS variables and user variables.  
Variables can be referenced or entered. For example, if you  
have assigned 10 to Pin Home view, you could enter =P*5in  
a spreadsheet cell, press E and get 50. If you  
subsequently changed the value of P, the value in that cell  
automatically changes to reflect the new value. This is an  
example of a referenced variable.  
If you just wanted the current value of P and not have the value  
change if Pchanges, just enter Pand press E. This is an  
example of an entered variable.  
Variables given values in other apps can also be referenced in  
a spreadsheet. In chapter 13 we see how the Solve app can be  
2
2
used to solve equations. An example used is V = U + 2AD.  
You could have four cells in a spreadsheet with =V, =U, =A, and  
=Das formulas. As you experiment with different values for these  
variables in the Solve app, the entered and the calculated values  
are copied to the spreadsheet (where further manipulation could  
be done).  
The variables from other apps includes the results of certain  
calculations. For example, if you have plotted a function in the  
Function app and calculated the signed area between two x-  
values, you can reference that value in a spreadsheet by  
pressing a, tapping  
, and then selecting Function>  
Results> SignedArea.  
Numerous system variables are also available. For example, you  
could enter S+E to get the last answer calculated  
in Home view. You could also enter S.S+E  
to get the last answer calculated in Home view and have the  
value automatically updated as new calculations are made in  
Home view. (Note that this works only with the Ansfrom Home  
view, not the Ansfrom CAS view.)  
All the variables available to you are listed on the variables  
menus, displayed by pressing a. A comprehensive list of  
these variables is provided in chapter 22, “Variables”,  
beginning on page 427.  
Spreadsheet  
203  
 
Using the CAS in spreadsheet calculations  
You can force a spreadsheet calculation to be performed by the  
CAS, thereby ensuring that results are symbolic (and thus exact).  
For example, the formula =Rowin row 5 gives  
2.2360679775if not calculated by the CAS, and 5if it is.  
You choose the calculation engine when you are entering the  
formula. As soon as you begin entering a formula, the  
key changes to  
or  
(depending on the last  
selection). This is a toggle key. Tap on it to change it from one  
to the other.  
When  
the number of significant digits limited by the precsion of the  
calculator). When is showing, the calculation will be  
is showing, the calculation will be numeric (with  
performed by CAS and be exact.  
In the example at the right, the  
formula in cell A is exaclty the  
same as the formula in cell B:  
= Row2(Row–1). The only  
difference is that  
was  
showing (or selected) while the  
formula was being entered in  
B, thereby forcing the  
calculation to be performed by the CAS. Note that CAS  
appears in red on the entry line if the cell selected contains a  
formula that is being calculated by the CAS.  
204  
Spreadsheet  
Buttons and keys  
Button or key  
Purpose  
Activates the entry line for you to edit the object in  
the selected cell. (Only visible if the selected cell  
has content.)  
Converts the text you have entered on the entry line  
to a name. (Only visible when the entry line is  
active.)  
/
A toggle button that is only visible when the entry  
line is active. Both options force the expression to be  
handled by the CAS, but only  
evaluates it.  
Tap to enter the $ symbol. A shortcut when entering  
absolute references. (Only visible when the entry  
line is active.)  
Displays formatting options for the selected cell,  
block, column, row, or the entire spreadsheet. See  
“Formatting options” on page 206.  
Displays an input form for you to specify the cell  
you want to jump to.  
Sets the calculator to select mode so that you can  
easily select a block of cells using the cursor keys. It  
changes to  
to enable you to deselect cells.  
(You can also press, hold and drag to select a  
block of cells.)  
or  
A toggle button that sets the direction the cursor  
moves after content has been entered in a cell.  
Displays the result in the selected cell in full-screen  
mode, with horizontal and vertical scrolling  
enabled. (Only visible if the selected cell has con-  
tent.)  
Enables you to select a column to sort by, and to  
sort it in ascending or descending order. (Only visi-  
ble if cells are selected.)  
Cancel the input and clear the entry line.  
Accept and evaluate the input.  
Clears the spreadsheet.  
SJ  
Spreadsheet  
205  
 
Formatting options  
The formatting options appear  
when you tap . They  
apply to whatever is currently  
selected: a cell, block, column,  
row, or the entire spreadsheet.  
The options are:  
Name: displays an input  
form for you to give a name to whatever is selected  
Number Format: Auto, Standard, Fixed, Scientific, or  
Engineering. See “Home settings” on page 30 for more details.  
Font Size: Auto or from 10 to 22 point  
Color: color for the content (text, number, etc.) in the  
selected cells; the gray-dotted option represents Auto  
Fill: background color that fills the selected cells; the gray-  
dotted option represents Auto  
Align  
Align : vertical alignment—Auto, Top, Center, Bottom  
Column : displays an input form for you to specify the  
: horizontal alignment—Auto, Left, Center, Right  
required width of the selected columns; only available if  
you have selected the entire spreadsheet or one or more  
entire columns.  
You can also change the width of a selected column with  
an open or closed horizontal pinch gesture.  
Row : displays an input form for you to specify the required  
height of the selected rows; only available if you have selected the  
entire spreadsheet or one or more entire rows.  
You can also change the height of a selected row with an  
open or closed vertical pinch gesture.  
show “: show quote marks around strings in the body of  
the spreadsheet—Auto, Yes, No  
Textbook: display formulas in textbook format—Auto, Yes, No  
Caching: turn this option on to speed up calculations in  
spreadsheets with many formulas; only available if you  
have selected the entire spreadsheet  
206  
Spreadsheet  
   
Format  
Parameters  
Each format attribute is represented by a parameter that can be  
referenced in a formula. For example, =D1(1) returns the  
formula in cell D1 (or nothing if D1 has no formula). The  
attributes that can be retrieved in a formulas by referencing its  
associated parameter are listed below.  
Parameter  
Attribute  
Result  
0
1
2
3
content  
contents (or empty)  
formula  
formula  
name  
name (or empty)  
number format  
Standard = 0  
Fixed = 1  
Scientific = 2  
Engineering = 3  
4
5
number of deci- 1 to 11, or unspeci-  
mal places  
fied = –1  
font  
0 to 6, unspecified  
= –1 (with 0 = 10 pt  
and 6 = 22pt).  
6
7
background  
color  
cell fill color, or  
32786 if unspecified  
foreground color cell contents color,  
or 32786 if unspeci-  
fied  
8
9
horizontal align- Left = 0, Center = 1,  
ment  
Right = 2, unspeci-  
fied = –1  
vertical align-  
ment  
Top = 0, Center = 1,  
Bottom = 2, unspeci-  
fied = –1  
10  
11  
show strings in  
quotes  
Yes = 0, No = 1,  
unspecified = –1  
textbook mode  
(as opposed to unspecified = –1  
algebraic mode)  
Yes = 0, No = 1,  
As well as retrieving format attributes, you can set a format  
attribute (or cell content) by specifying it in a formula in the  
Spreadsheet  
207  
 
relevant cell. For example, wherever it is placed g5(1):=6543  
enters 6543in cell g5. Any previous content in g5 is replaced.  
Similarly, B3(5):=2forces the contents of B3 to be displayed in  
medium font size.  
Spreadsheet functions  
As well as the functions on the Math, CAS and Catlg menus,  
you can use special spreadsheet functions. These can be found  
on the App menu, one of the Toolbox menus. Press D, tap  
and select Spreadsheet. The functions are described  
on “Spreadsheet functions” on page 345.  
Remember to precede a function by an equals sign (S.)  
if you want the result to automatically update as the values it is  
dependent on change. Without an equals sign you will be  
entering just the current value.  
208  
Spreadsheet  
   
10  
Statistics 1Var app  
The Statistics 1Var app can store up to ten data sets at one  
time. It can perform one-variable statistical analysis of one  
or more sets of data.  
The Statistics 1Var app starts with the Numeric view which  
is used to enter data. The Symbolic view is used to specify  
which columns contain data and which column contains  
frequencies.  
You can also compute statistics in Home and recall the  
values of specific statistics variables.  
The values computed in the Statistics 1Var app are saved  
in variables, and can be re-used in Home view and in  
other apps.  
Getting started with the Statistics 1Var app  
Suppose that you are measuring the heights of students in  
a classroom to find the mean height. The first five students  
have the following measurements: 160 cm, 165 cm,  
170 cm, 175 cm and180 cm.  
1. Open the Statistics  
1Var app:  
Select  
I
Statistics 1Var  
2. Enter the  
measurement data in  
column D1:  
Statistics 1Var app  
209  
       
160 E  
165 E  
170 E  
175 E  
180 E  
3. Find the mean of the  
sample.  
Tap  
to see  
the statistics  
calculated from the  
sample data in D1.  
_
The mean (x) is 170.  
There are more  
statistics than can be  
displayed on one  
screen. Thus you may need to scroll to see the statistic  
you are after.  
Note that the title of the column of statistics is H1.  
There are 5 data-set definitions available for one-  
variable statistics: H1–H5. If data is entered in D1, H1  
is automatically set to use D1for data, and the  
frequency of each data point is set to 1. You can  
select other columns of data from the Symbolic view  
of the app.  
4. Tap  
to close the statistics window.  
5. Press Y to see the  
data-set definitions.  
The first field in each  
set of definitions is  
where you specify  
the column of data  
that is to be  
analyzed, the  
second field is where you specify the column that has  
the frequencies of each data point, and the third field  
(Plotn) is where you choose the type of plot that will  
represent the data in Plot view: Histogram, Box and  
Whisker, Normal Probability, Line, Bar, or Pareto.  
210  
Statistics 1Var app  
 
Symbolic view: menu items  
The menu items you can tap on in Symbolic view are:  
Menu item  
Purpose  
Copies the column variable (or vari-  
able expression) to the entry line for  
editing. Tap  
when done.  
Selects (or deselects) a statistical  
analysis (H1–H5) for exploration.  
Enters Ddirectly (to save you having  
to press two keys).  
Displays the current expression in  
textbook format in full-screen view.  
Tap  
when done.  
Evaluates the highlighted expres-  
sion, resolving any references to  
other definitions.  
To continue our example, suppose that the heights of the  
rest of the students in the class are measured and that  
each one is rounded to the nearest of the five values first  
recorded. Instead of entering all the new data in D1, we  
simply add another column, D2, that holds the frequencies  
of our five data points in D1.  
Height (cm)  
Frequency  
160  
165  
170  
175  
180  
5
3
8
2
1
6. Tap on Freq to the right of H1(or press > to  
highlight the second H1field).  
Statistics 1Var app  
211  
     
7. Enter the name of the  
column that you will  
contain the  
frequencies (in this  
example, D2):  
2
8. If you want to choose  
a color for the graph of the data in Plot view, see  
“Choose a color for plots” on page 85.  
9. If you have more than one analysis defined in  
Symbolic view, deselect any analysis you are not  
currently interested in.  
10.Return to Numeric view:  
M
11. In column D2, enter  
the frequency data  
shown in the table  
above:  
> 5 E  
3E  
8E  
2E  
1E  
12. Recalculate the  
statistics:  
The mean height  
now is  
approximately  
167.631 cm.  
13. Configure a histogram plot for the data.  
212  
Statistics 1Var app  
P
S
((Setup)  
Enter parameters  
appropriate to your  
data. Those shown at  
the right will ensure  
that all the data in  
this particular  
example are displayed in Plot view.  
14. Plot a histogram of  
the data.  
P
Press > and < to  
move the tracer and  
see the interval and  
frequency of each  
bin. You can also tap to select a bin. Tap and drag to  
scroll the Plot view. You can also zoom in or out on  
the cursor by pressing + and w respectively.  
Entering and editing statistical data  
Each column in Numeric view is a dataset and is  
represented by a variable named D0to D9. There are  
three ways to get data into a column:  
Go to Numeric view and enter the data directly. See  
“Getting started with the Statistics 1Var app” on  
page 209 for an example.  
Go to Home view and copy the data from a list. For  
example, if you enter L1  
D1in Home view,  
the items in list L1are copied into column D1in the  
Statistics 1Var app.  
Go to Home view and copy the data from the  
Spreadsheet app. For example, suppose the data of  
interest is in A1:A10 in the Spreadsheet app and you  
want to copy it into column D7. With the Statistics  
1Var app open, return to Home view and enter  
Spreadsheet.A1:A10  
D7E.  
Statistics 1Var app  
213  
     
Whichever method you use, the data you enter is  
automatically saved. You can leave this app and come  
back to it later. You will find that the data you last entered  
is still available.  
After entering the data, you must define data sets—and  
the way they are to be plotted—in Symbolic view.  
Numeric view: menu items  
The menu items you can tap on in Numeric view are:  
Item  
Purpose  
Copies the highlighted item into  
the entry line.  
Inserts a zero value above the  
highlighted cell.  
Sorts the data in various ways.  
See “Sort data values” on  
page 215.  
Displays a menu from which you  
can choose small, medium, or  
large font.  
Displays an input form for you to  
enter a formula that will generate  
a list of values for a specified col-  
umn. See “Generating data” on  
page 215.  
Calculates statistics for each data  
set selected in Symbolic view. See  
“Computed statistics” on  
page 216.  
Edit a data  
set  
In Numeric view, highlight the data to change, type a new  
value, and press E. You can also highlight the data,  
tap  
to copy it to the entry line, make your change,  
and press  
.
E
214  
Statistics 1Var app  
   
Delete data  
Insert data  
To delete a data item, highlight it and press C. The  
values below the deleted cell will scroll up one row.  
To delete a column of data, highlight an entry in that  
column and press SJ(Clear). Select the column  
and tap  
To delete all data in every column, press SJ  
(Clear), select All columns, and tap  
.
.
1. Highlight the cell below where you want to insert a  
value.  
2. Tap  
and enter the value.  
If you just want to add more data to the data set and it is  
not important where it goes, select the last cell in the data  
set and start entering the new data.  
Generating data You can enter a formula  
to generate a list of data  
points for a specified  
column. In the example  
at the right, 5 data-points  
will be placed in column  
D2. They will be  
generated by the  
expression X 2F where X comes from the set {1, 3, 5, 7,  
9}. These are the values between 1 and 10 that differ by  
2. F is whatever value has been assigned to it elsewhere  
(such as in Home view). If F happened to be 5, column  
D2 is populated with {–4, 4, 20, 44, 76}.  
Sort data values You can sort up to three columns of data at a time, based  
on a selected independent column.  
1. In Numeric view, place the highlight in the column  
you want to sort, and tap  
.
2. Specify the sort order: Ascendingor Descending.  
3. Specify the independent and dependent data  
columns. Sorting is by the independent column. For  
instance, if ages are in C1and incomes in C2and  
Statistics 1Var app  
215  
             
you want to sort by income, then you make C2the  
independent column and C1the dependent column.  
4. Specify any frequency data column.  
5. Tap  
.
The independent column is sorted as specified and  
any other columns are sorted to match the  
independent column. To sort just one column, choose  
Nonefor the Dependentand Frequencycolumns.  
Computed statistics  
Tapping  
displays the following results for each  
dataset selected in Symbolic view.  
Statistic  
Definition  
n
Number of data points  
Minimum value  
Min  
Q1  
First quartile: median of values to  
left of median  
Med  
Q3  
Median value  
Third quartile: median of values to  
right of median  
Max  
Maximum value  
X  
Sum of data values (with their  
frequencies)  
X2  
Sum of the squares of the data  
values  
x
Mean  
sX  
Sample standard deviation  
Population standard deviation  
Standard error  
X  
serrX  
When the data set contains an odd number of values, the  
median value is not used when calculating Q1and Q3. For  
example, for the data set {3,5,7,8,15,16,17}only  
the first three items—3, 5, and 7—are used to calculate  
Q1, and only the last three terms—15, 16, and 17—are  
used to calculate Q3.  
216  
Statistics 1Var app  
   
Plotting  
You can plot:  
Histograms  
Box-and-Whisker plots  
Normal Probability plots  
Line plots  
Bar graphs  
Pareto charts  
Once you have entered your data and defined your data  
set, you can plot your data. You can plot up to five box-  
and-whisker plots at a time; however, with the other types,  
you can only plot one at a time.  
To plot statistical  
data  
1. In the Symbolic view, select the data sets you want to  
plot.  
2. From the Plotn menu, select the plot type.  
3. For any plot, but especially for a histogram, adjust the  
plotting scale and range in the Plot Setup view. If you  
find histogram bars too fat or too thin, you can adjust  
them by changing the HWIDTHsetting. (See “Setting  
up the plot (Plot Setup view)” on page 219.)  
4. Press P. If the scaling is not to your liking, press  
V and select Autoscale.  
Autoscalecan be relied upon to give a good  
starting scale which can then be adjusted, either  
directly in the Plot view or in the Plot Setup view.  
Plot types  
Histogram  
The first set of numbers  
below the plot indicate  
where the cursor is. In the  
example at the right, the  
cursor is in the bin for  
data between 5 and 6  
(but not including 6),  
and the frequency for  
Statistics 1Var app  
217  
           
that bin is 6. The data set is defined by H3 in Symbolic  
view. You can see information about other bins by  
pressing > or <.  
Box-and-Whisker  
plot  
The left whisker marks  
the minimum data value.  
The box marks the first  
quartile, the median,  
and the third quartile.  
The right whisker marks  
themaximumdatavalue.  
The numbers below the  
plot give the statistic at the cursor. You can see other  
statistics by pressing >or <.  
Normal probability  
plot  
The normal probability  
plot is used to determine  
whether or not sample  
data is more or less  
normally distributed. The  
more linear the data  
appear, the more likely  
that the data are  
normally distributed.  
Line plot  
The line plot connects  
points of the form (x, y),  
where x is the row  
number of the data point  
and y is its value.  
Bar graph  
The bar graph shows the  
value of a data point as  
a vertical bar placed  
along the x-axis at the  
row number of the data  
point.  
218  
Statistics 1Var app  
                       
Pareto chart  
A pareto chart places the  
data in descending  
order and displays each  
with its percentage of the  
whole.  
Setting up the plot (Plot Setup view)  
The Plot Setup view (SP) enables you to specify  
many of the same plotting parameters as other apps (such  
as X Rng and Y Rng). There are two settings unique to  
the Statistics 1Var app:  
Histogram width  
Histogram range  
H Width enables you to specify the width of a histogram  
bin. This determines how many bins will fit in the display,  
as well as how the data is distributed (that is, how many  
data points each bin contains).  
H Rng enables you to specify the range of values for a set  
of histogram bins. The range runs from the left edge of the  
leftmost bin to the right edge of the rightmost bin.  
Exploring the graph  
The Plot view (P) has zooming and tracing options, as  
well as coordinate display. The Autoscaleoption is  
available from the View menu (V) as well as the  
menu.The View menu also enables you to view graphs in  
split-screen mode (as explained on page 91).  
For all plot types, you can tap and drag to scroll the Plot  
view. You can also zoom in or out on the cursor by  
pressing + and w respectively.  
Statistics 1Var app  
219  
           
Plot view: menu items  
The menu items you can tap on in Plot view are:  
Button  
Purpose  
Displays the Zoom menu.  
Turns trace mode on or off. See  
“Zoom” on page 100.)  
Displays the definition of the current  
statistical plot.  
Shows or hides the menu.  
220  
Statistics 1Var app  
 
11  
Statistics 2Var app  
The Statistics 2Var app can store up to ten data sets at one  
time. It can perform two-variable statistical analysis of one  
or more sets of data.  
The Statistics 2Var app starts with the Numeric view which  
is used to enter data. The Symbolic view is used to specify  
which columns contain data and which column contains  
frequencies.  
You can also compute statistics in Home and in the  
Spreadsheet app.  
The values computed in the Statistics 2Var app are saved  
in variables. These can be referenced in Home view and  
in other apps.  
Getting started with the Statistics 2Var app  
The following example uses the advertising and sales data  
in the table below. In the example, you will enter the data,  
compute summary statistics, fit a curve to the data, and  
predict the effect of more advertising on sales.  
Advertising minutes  
(independent, x)  
Resulting sales ($)  
(dependent, y)  
2
1
3
5
5
4
1400  
920  
1100  
2265  
2890  
2200  
Statistics 2Var app  
221  
   
Open the  
Statistics 2Var  
app  
1. Open the Statistics  
2Var app:  
Select  
I
Statistics  
2Var.  
Enter data  
2. Enter the advertising minutes data in column C1:  
2
1
3
5
5
4
E E E E E  
E
3. Enter the resulting  
sales data in  
column C2:  
1400  
E
920  
110 0  
E
E
2265  
2890  
2200  
E
E
E
Choose data  
columns and fit  
In Symbolic view, you can define up to five analyses of  
two-variable data, named S1to S5. In this example, we  
will define just one: S1. The process involves choosing  
data sets and a fit type.  
4. Specify the columns that contain the data you want to  
analyze:  
Y
In this case, C1  
and C2 appear  
by default. But you  
could have  
entered your data  
into columns other  
than C1 and C2.  
222  
Statistics 2Var app  
 
5. Select a fit:  
From the Type 1  
field select a fit. In  
this example,  
select Linear.  
6. If you want to  
choose a color for  
the graph of the  
data in Plot view,  
see “Choose a color for plots” on page 85.  
7. If you have more than one analysis defined in  
Symbolic view, deselect any analysis you are not  
currently interested in.  
Explore statistics 8. Find the correlation, r, between advertising time and  
sales:  
M
The correlation is  
r=0.8995…  
9. Find the mean  
advertising time  
(x ).  
The mean  
advertising time,  
x , is 3.33333…  
minutes.  
Statistics 2Var app  
223  
10.Find the mean sales  
(y ).  
The mean sales, y ,  
is approximately  
$1,796.  
Press  
to  
return to Numeric view.  
Setup plot  
11. Change the plotting range to ensure that all the data  
points are plotted (and to select a different data-point  
indicator, if you wish).  
(Setup)  
SP  
1
6
Q
E
100  
E Q  
3200  
0
E
500  
E \  
E
Plot the graph  
12. Plot the graph.  
P
Notice that the  
regression curve (that  
is, a curve to best fit  
the data points) is  
plotted by default.  
224  
Statistics 2Var app  
Display the  
equation  
13. Return to the Symbolic view.  
Y
Note the expression  
in the Fit1 field. It  
shows that the slope  
(m) of the regression  
line is 425.875 and  
the y-intercept (b) is  
376.25.  
Predict values  
Let’s now predict the sales figure if advertising were to go  
up to 6 minutes.  
14. Return to the Plot  
view:  
P
The trace option is  
active by default.  
This option will move  
the cursor from data  
point to data point as you press > or <. As you  
move from data point to data point, the  
corresponding x- and y-values appear at the bottom  
of the screen. In this example, the x-axis represents  
minutes of advertising and the y-axis represents sales.  
However, there is no data point for 6 minutes. Thus  
we cannot move the cursor to x = 6. Instead, we need  
to predict what y will be when x = 6, based on the  
data we do have. To do that, we need to trace the  
regression curve, not the data points we have.  
15. Press \ or = to set  
the cursor to trace  
the regression line  
rather than the data  
points.  
Statistics 2Var app  
225  
The cursor jumps from whatever data point it was on  
to the regression curve.  
16. Tap on the regression line near x = 6 (near the right  
edge of the display). Then press > until x = 6. If the  
x-value is not shown at the bottom left of the screen,  
tap  
. When you reach x = 6, you will see that  
the PREDY value (also displayed at the bottom of the  
screen) reads 2931.5. Thus the model predicts that  
sales would rise to $2,931.50 if advertising were  
increased to 6 minutes.  
T i p  
You could use the same tracing technique to  
predict—although roughly—how many minutes of  
advertising you would need to gain sales of a specified  
amount. However, a more accurate method is available:  
return to Home view and enter Predx(s)where s is the  
sales figure. Predyand Predxare app functions. They  
on page 363.  
Entering and editing statistical data  
Each column in Numeric view is a dataset and is  
represented by a variable named C0to C9. There are  
three ways to get data into a column:  
Go to Numeric view and enter the data directly. See  
“Getting started with the Statistics 2Var app” on  
page 221 for an example.  
Go to Home view and copy the data from a list. For  
example, if you enter L1  
C1in Home view,  
the items in list L1are copied into column C1in the  
Statistics 1Var app.  
Go to Home view and copy the data from a the  
Spreadsheet app. For example, suppose the data of  
interest is in A1:A10 in the Spreadsheet app and you  
want to copy it into column C7. With the Statistics  
2Var app open, return to Home view and enter  
Spreadsheet.A1:A10  
C7E.  
N o t e  
A data column must have at least four data points to  
provide valid two-variable statistics.  
226  
Statistics 2Var app  
   
Whichever method you use, the data you enter is  
automatically saved. You can leave this app and come  
back to it later. You will find that the data you last entered  
is still available.  
After entering the data, you must define data sets—and  
the way they are to be plotted—in Symbolic view.  
Numeric view menu items  
The buttons you can tap on in Numeric view are:  
Button  
Purpose  
Copies the highlighted item to the  
entry line.  
Inserts a new cell above the  
highlighted cell (and gives it a value  
of 0).  
Opens an input form for you to  
choose to sort the data in various  
ways.  
Displays a menu for you to choose  
the small, medium, or large font.  
Opens an input form for you to  
create a sequence based on an  
expression, and to store the result in  
a specified data column. See  
“Generating data” on page 215.  
Calculates statistics for each data set  
selected in Symbolic view. See  
“Computed statistics” on page 231.  
Edit a data set  
In Numeric view, highlight the data to change, type a new  
value, and press E. You can also highlight the data,  
tap  
, make your change, and tap  
.
Statistics 2Var app  
227  
 
Delete data  
Insert data  
To delete a data item, highlight it and press C. The  
values below the deleted cell will scroll up one row.  
To delete a column of data, highlight an entry in that  
column and press SJ(Clear). Select the column  
and tap  
To delete all data in every column, press SJ  
(Clear), select All columns, and tap  
.
.
Highlight the cell below where you want to insert a value.  
Tap and enter the value.  
If you just want to add more data to the data set and it is  
not important where it goes, select the last cell in the data  
set and start entering the new data.  
Sort data values You can sort up to three columns of data at a time, based  
on a selected independent column.  
1. In Numeric view, place the highlight in the column  
you want to sort, and tap  
.
2. Specify the Sort Order: Ascendingor  
Descending.  
3. Specify the independent and dependent data  
columns. Sorting is by the independent column. For  
instance, if ages are in C1and incomes in C2and  
you want to sort by Income, then you make C2the  
independent column and C1the dependent column.  
4. Specify any Frequency data column.  
5. Tap  
.
The independent column is sorted as specified and  
any other columns are sorted to match the  
independent column. To sort just one column, choose  
Nonefor the Dependentand Frequencycolumns.  
228  
Statistics 2Var app  
           
Defining a regression model  
You define a regression model in Symbolic view. There are  
three ways to do so:  
Accept the default option to fit the data to a straight  
line.  
Choose a pre-defined fit type (logarithmic,  
exponential, and so on).  
expression will be plotted so that you can see how  
closely it fits the data points.  
Choose a fit  
1. Press  
to display the Symbolic view.  
Y
2. For the analysis you are interested in (S1 through S5),  
select the Type field.  
3. Tap the field again to see the menu of fit types.  
4. Select your preferred fit type from the menu. (See “Fit  
types” on page 229.)  
Fit types  
Twelve fit types are available:  
Fit type  
Meaning  
Linear  
(Default.) Fits the data to a  
straight line: y = mx+b. Uses a  
least-squares fit.  
Logarithmic  
Exponential  
Power  
Fits the data to a logarithmic  
curve: y = m lnx + b.  
Fits the data to the natural  
exponential curve: y = b emx  
.
Fits the data to a power curve:  
.y = b xm .  
Exponent  
Inverse  
Fits the data to an exponential  
curve: y = b mx .  
Fits the data to an inverse  
m
x
---  
variation: y =  
+ b  
Statistics 2Var app  
229  
           
Fit type  
Meaning (Continued)  
Logistic  
Fits the data to a logistic curve:  
L
--------------------------  
y =  
1 + aebx  
where L is the saturation value  
for growth. You can store a  
positive real value in L, or—if  
L=0—let L be computed  
automatically.  
Quadratic  
Cubic  
Fits the data to a quadratic  
2
curve: y = ax +bx+c. Needs at  
least three points.  
Fits the data to a cubic  
polynomial:  
y = ax3 + b2x + cx + d  
Quartic  
Fits to a quartic polynomial,  
y = ax4 + bx3 + cx2 + dx + e  
Trigonometric Fits the data to a trigonometric  
curve: y = a sinbx + c+ d .  
Needs at least three points.  
User Defined  
Define your own fit (see below).  
To define your  
own fit  
1. Press to display the Symbolic view.  
Y
2. For the analysis you are interested in (S1 through S5),  
select the Type field.  
3. Tap the field again to see a menu of fit types.  
4. Select User Definedfrom the menu.  
5. Select the corresponding Fitn field.  
6. Enter an expression and press  
. The  
E
independent variable must be X, and the expression  
must not contain any unknown variables. Example:  
1.5 cosx+ 0.3 sinx. Note that in this app,  
variables must be entered in uppercase.  
230  
Statistics 2Var app  
         
Computed statistics  
When you tap  
, three sets of statistics become  
available. By default, the statistics involving both the  
independent and dependent columns are shown. Tap  
to see the statistics involving just the independent  
column or  
dependent column. Tap  
to display the statistics derived from the  
to return to the default  
view. The tables below describe the statistics displayed in  
each view.  
The statistics computed when you tap  
are:  
Statistic  
Definition  
n
r
The number of data points.  
Correlation coefficient of the  
independent and dependent data  
columns, based only on the linear  
fit (regardless of the fit type  
chosen). Returns a value between  
–1 and 1, where 1 and –1 indicate  
best fits.  
2
R
The coefficient of determination,  
that is, the square of the correlation  
coefficient. The value of this  
statistics is dependent on the Fit  
type chosen. A measure of 1  
indicates a perfect fit.  
sCOV  
Sample covariance of independent  
and dependent data columns.  
COV  
Population covariance of  
independent and dependent data  
columns.  
XY  
Sum of all the individual products of  
of x and y.  
Statistics 2Var app  
231  
     
The statistics displayed when you tap  
are:  
Statistic  
Definition  
x
Mean of x- (independent) values.  
X  
Sum of x-values.  
2
2
X  
Sum of x -values.  
sX  
The sample standard deviation of  
the independent column.  
X  
The population standard deviation  
of the independent column.  
serrX  
the standard error of the  
independent column  
The statistics displayed when you tap  
are:  
Statistic  
Definition  
y
Mean of y- (dependent) values.  
Y  
Sum of y-values.  
2
2
Y  
Sum of y -values.  
sY  
The sample standard deviation of  
the dependent column.  
Y  
The population standard deviation  
of the dependent column.  
serrY  
The standard error of the  
dependent column.  
Plotting statistical data  
Once you have entered your data, selected the data set to  
analyze and specified your fit model, you can plot your  
data. You can plot up to five scatter plots at a time.  
1. In Symbolic view, select the data sets you want to  
plot.  
2. Make sure that the full range of your data will be  
plotted. You do this by reviewing (and adjusting, if  
232  
Statistics 2Var app  
 
necessary), the X Rng and Y Rng fields in Plot Setup  
view. (SP).  
3. Press  
.
P
If the data set and regression line are not ideally  
positioned, Press V and select Autoscale.  
Autoscale can be relied upon to give a good starting  
scale which can then be adjusted later in the Plot  
Setup view.  
Tracing a scatter  
plot  
The figures below the plot  
indicate that the cursor is  
at the second data point of  
S1, at ((1, 920). Press to  
>
move to the next data  
point and display  
information about it.  
Tracing a curve  
If the regression line is not showing, tap  
. The  
coordinates of the tracer cursor are shown at the bottom  
of the screen. (If they are not visible, tap  
.)  
PressYto see the  
equation of the  
regression line in  
Symbolic view.  
If the equation is too wide  
for the screen, select it  
and press  
.
The example above shows that the slope of the regression  
line (m) is 425.875 and the y-intercept (b) is 376.25.  
Tracing order  
While > and < move the cursor along a fit or from  
point to point in a scatter plot, use = and \ to choose  
the scatter plot or fit you wish to trace. For each active  
analysis (S1–S5), the tracing order is the scatter plot first  
and the fit second. So if both S1 and S2 are active, the  
tracer is by default on the S1 scatter plot when you press  
P . Press \ to trace the S1 fit. At this point, press =  
to return to the S1 scatter plot or \ again to trace the S2  
scatter plot. Press \ a third time to trace the S2 fit. If you  
Statistics 2Var app  
233  
   
press \ a fourth time, you will return to the S1 scatter  
plot. If you are confused as to what you are tracing, just  
tap  
to see the definition of the object (scatter plot  
or fit) currently being traced.  
Plot view: menu items  
The menu items in Plot view are:  
Button  
Purpose  
Displays the Zoom menu.  
Turns trace mode on or off.  
Shows or hides a curve that best fits  
the data points according to the  
selected regression model.  
Enables you to specify a value on the  
regression line to jump to (or a data  
point to jump to if your cursor is on a  
data point rather than on the  
regression line). You might need to  
press = or \ to move the cursor to  
line or the data points.  
Shows or hides the menu buttons.  
Plot setup  
As with all the apps that provide a plotting feature, he Plot  
Setup view—SP (Setup)—enables you to set the  
range and appearance of Plot view. The common settings  
available are discussed in “Common operations in Plot  
Setup view” on page 96. The Plot Setup view in the  
Statistics 2Var app has two additional settings:  
Plotting mark  
Page 1 of the Plot Setup view has fields namedS1MARK  
through S5MARK. These fields enable you to specify one  
of five symbols to use to represent the data points in each  
data set. This will help you distinguish data sets in Plot  
view if you have chosen to plot more than one.  
Connect  
Page 2 of the Plot Setup view has a Connect field. If you  
choose this option, straight lines join the data points in Plot  
view.  
234  
Statistics 2Var app  
   
Predicting values  
PredXis a function that predicts a value for Xgiven a  
value for Y. Likewise, PredYis a function that predicts a  
value for Ygiven a value for X. In both cases, the  
prediction is based on the equation that best fits the data  
according to the specified fit type.  
You can predict values in the Plot view of the Statistics  
2Var app and also in Home view.  
In Plot view  
1. In the Plot view, tap  
to display the regression  
curve for the data set (if it is not already displayed).  
2. Make sure the trace cursor is on the regression curve.  
(Press = or \ if it is not.)  
3. Press > or <. The cursor moves along the  
regression curve and the corresponding Xand Y  
values are displayed across the bottom of the screen.  
(If these values are not visible, tap  
.)  
You can force the cursor to a specific Xvalue by tapping  
, entering the value and tapping  
. The cursor  
jumps to the specified point on the curve.  
In Home  
view  
If the Statistics 2Var app is the active app, you can also  
predict Xand Yvalues in the Home view.  
Enter PredX(Y)  
specified Yvalue.  
to predict the Xvalue for the  
E
Enter PredY(X)  
to predict the Yvalue for the  
E
specified Xvalue.  
You can type PredXand  
PredYdirectly on the  
entry line, or select them  
from the App functions  
menu (under the  
Statistics 2Var  
category). The App  
functions menu is one of  
the Toolbox menus (D).  
Statistics 2Var app  
235  
 
H I N T  
In cases where more than one fit curve is displayed, the  
PredXand PredYfunctions use the first active fit defined  
in Symbolic view.  
Troubleshooting a plot  
If you have problems plotting, check the following:  
The fit (that is, regression model) that you intended to  
select is the one selected.  
Only those data sets you want to analyze or plot are  
selected in Symbolic view.  
The plotting range is suitable. Try pressing  
and  
V
selecting Autoscale, or adjust the plotting  
parameters in Plot Setup view.  
Ensure that both paired columns contain data, and  
are of the same length.  
236  
Statistics 2Var app  
   
12  
Inference app  
The Inference app enables you to calculate confidence  
intervals and undertake hypothesis tests based on the  
Normal Z-distribution or Student’s t-distribution. In  
addition to the Inference app, the Math menu has a full set  
of probability functions based on various distributions  
(Chi-Square, F, Binomial, Poisson, etc.).  
Based on statistics from one or two samples, you can test  
hypotheses and find confidence intervals for the following  
quantities:  
mean  
proportion  
difference between two means  
difference between two proportions  
Sample data  
The Inference app comes with sample data (which you  
can always restore by resetting the app). This sample data  
is useful in helping you gain an understanding of the app.  
Getting started with the Inference app  
Let’s conduct a Z-Test on one mean using the sample data.  
Open the  
Inference  
app  
1. Open the Inference app:  
Select  
I
Inference  
The Inference app  
opens in Symbolic  
view.  
Inference app  
237  
 
Symbolic view options  
The table below summarizes the options available in  
Symbolic view for the two inference methods: hypothesis  
test and confidence interval.  
Hypothesis Test Confidence Interval  
Z-Test: 1 , the Z-  
Test on one mean  
Z-Int: 1 , the confidence  
interval for one mean, based  
on the Normal distribution  
Z-Test: , the  
Z-Int: , the confidence  
1
2
1
2
Z-Test on the  
interval for the difference  
differencebetween between two means, based on  
two means  
the Normal distribution  
Z-Test: 1 , the Z-  
Test on one  
proportion  
Z-Int: 1 , the confidence  
interval for one proportion,  
based on the Normal  
distribution  
Z-Test: , the  
Z-Int: , the confidence  
1
2
1
2
Z-Test on the  
interval for the difference  
differencebetween between two proportions,  
two proportions  
based on the Normal  
distribution  
T-Test: 1 , the T-  
T-Int: 1 , the confidence  
Test on one mean  
interval for one mean, based  
on the Student’s t-distribution  
T-Test: , the  
T-Int: , the confidence  
1
2
1
2
T-Test on the  
interval for the difference  
differencebetween between two means, based on  
two means the Student’s t-distribution  
If you choose one of the hypothesis tests, you can choose  
an alternative hypothesis to test against the null  
hypothesis. For each test, there are three possible choices  
for an alternative hypothesis based on a quantitative  
comparison of two quantities. The null hypothesis is  
always that the two quantities are equal. Thus, the  
alternative hypotheses cover the various cases for the two  
quantities being unequal: <, >, and .  
In this section, we will conduct a Z-Test on one mean on  
the example data to illustrate how the app works.  
238  
Inference app  
     
Select the  
inference  
method  
2. Hypothesis Test  
is the default inference  
method. If it is not  
selected, tap on the  
Method field and  
select it.  
3. Choose the type of  
test. In this case, select  
Z–Test:1from the  
Type menu.  
4. Select an alternative  
hypothesis. In this  
case, select 0  
from the Alt Hypoth  
menu.  
Enter data  
5. Go to Numeric view to  
see the sample data.  
M
The table below describes the fields in this view for  
the sample data.  
Field name  
Definition  
x
n
Sample mean  
Sample size  
0  
Assumed population mean  
Population standard deviation  
Alpha level for the test  
Inference app  
239  
The Numeric view is where you enter the sample statistics  
and population parameters for the situation you are  
examining. The sample data supplied here belong to the  
case in which a student has generated 50 pseudo-random  
numbers on his graphing calculator. If the algorithm is  
working properly, the mean would be near 0.5 and the  
population standard deviation is known to be  
approximately 0.2887. The student is concerned that the  
sample mean (0.461368) seems a bit low and it testing  
the less than alternative hypothesis against the null  
hypothesis.  
Display the  
test results  
6. Display the test  
results:  
The test distribution  
value and its  
associated  
probability are  
displayed, along with the critical value(s) of the test  
and the associated critical value(s) of the statistic. In  
this case, the test indicates that one should not reject  
the null hypothesis.  
Tap  
to return to Numeric view.  
Plot the test  
results  
7. Display a graphical  
view of the test  
results:  
P
The graph of the  
distribution is  
displayed, with the  
test Z-value marked. The corresponding X-value is also  
shown.  
Tap  
to see the critical Z-value. With the alpha  
level showing, you can press \ or = to decrease or  
increase the -level.  
240  
Inference app  
 
Importing statistics  
The Inference app can calculate confidence intervals and  
test hypotheses based on data in the Statistics 1Var and  
Statistics 2Var apps. The following example illustrates the  
process.  
A series of six experiments gives the following values as  
the boiling point of a liquid:  
82.5, 83.1, 82.6, 83.7, 82.4, and 83.0  
Based on this sample, we want to estimate the true boiling  
point at the 90% confidence level.  
Open the  
Statistics  
1Var app  
1. Open the Statistics  
1Var app:  
Select  
I
Statistics 1Var  
Clear  
unwanted  
data  
2. If there is unwanted data in the app, clear it:  
SJ All columns  
Enter data  
3. In column D1, enter  
the boiling points  
found during the  
experiments.  
82.5  
83.1  
82.6  
83.7  
82.4  
E
E
E
E
E
83  
E
Inference app  
241  
 
Calculate  
statistics  
4. Calculate statistics:  
The statistics  
calculated will now  
be imported into the  
Inference app.  
5. Tap  
to close  
the statistics window.  
Open the  
Inference  
app  
6. Open the Inference  
app and clear the  
current settings.  
Select  
I
Inference  
SJ  
Select  
7. Tap on the Method  
field and select  
Confidence  
inference  
method and  
type  
Interval.  
8. Tap on Type and  
select T-Int:1  
Import the  
data  
9. Open Numeric view:  
M
10.Specify the data you want to import:  
Tap  
.
242  
Inference app  
11. From the App field  
select the statistics app  
that has the data you  
want to import.  
12. In the Column field  
specify the column in  
that app where the  
data is stored. (D1 is  
the default.)  
13. Tap  
.
14. Specify a 90%  
confidence interval in  
the C field.  
Display  
15. Display the confidence  
interval in Numeric  
view:  
results  
numerically  
16. Return to Numeric  
view:  
Display  
17. Display the confidence  
interval in Plot view.  
results  
P
graphically  
The 90% confidence  
interval is [82.48…,  
83.28…].  
Hypothesis tests  
You use hypothesis tests to test the validity of hypotheses  
about the statistical parameters of one or two populations.  
The tests are based on statistics of samples of the  
populations.  
Inference app  
243  
 
The HP Prime hypothesis tests use the Normal Z-  
distribution or the Student’s t-distribution to calculate  
probabilities. If you wish to use other distributions, please  
use the Home view and the distributions found within the  
Probability category of the Math menu.  
One-Sample Z-Test  
Menu name  
Z-Test: 1   
On the basis of statistics from a single sample, this test  
measures the strength of the evidence for a selected  
hypothesis against the null hypothesis. The null hypothesis  
is that the population mean equals a specified value,    
 .  
You select one of the following alternative hypotheses  
against which to test the null hypothesis:  
H : <  
0
0
H : >  
0
0
H :   
0
0
Inputs  
The inputs are:  
Field name  
Definition  
x
n
Sample mean  
Sample size  
Hypothetical population mean  
Population standard deviation  
Significance level  
0
244  
Inference app  
 
Results  
The results are:  
Result  
Test Z  
Description  
Z-test statistic  
Test x  
Value of x associated with the  
test Z-value  
P
Probability associated with the  
Z-Test statistic  
Critical Z  
Boundary value(s) of Z  
associated with the level that  
you supplied  
Critical x  
Boundary value(s) of x required  
by the value that you supplied  
Two-Sample Z-Test  
Menu name  
Z-Test:   
2
1
On the basis of two samples, each from a separate  
population, this test measures the strength of the evidence  
for a selected hypothesis against the null hypothesis. The  
null hypothesis is that the means of the two populations  
are equal, : = .  
0
1
2
You select one of the following alternative hypotheses to  
test against the null hypothesis:  
H : <  
0
1
2
H : >  
0
1
2
H :   
0
1
2
Inputs  
The inputs are:  
Field name  
Definition  
x1  
x2  
Sample 1 mean  
Sample 2 mean  
n
Sample 1 size  
1
n
Sample 2 size  
2
Population 1 standard deviation  
Population 2 standard deviation  
Significance level  
1
2
Inference app  
245  
   
Results  
The results are:  
Result  
Test Z  
Description  
Z-Test statistic  
Test x  
Difference in the means associ-  
ated with the test Z-value  
P
Probability associated with the  
Z-Test statistic  
Critical Z  
Critical x  
Boundary value(s) of Z associated  
with the level that you supplied  
Difference in the means associ-  
ated with the level you supplied  
One-Proportion Z-Test  
Menu name  
Z-Test:   
On the basis of statistics from a single sample, this test  
measures the strength of the evidence for a selected  
hypothesis against the null hypothesis. The null hypothesis  
is that the proportion of successes is an assumed value,  
:= .  
0
0
You select one of the following alternative hypotheses  
against which to test the null hypothesis:  
H : <  
0
0
H : >  
0
0
H :   
0
0
Inputs  
The inputs are:  
Field name  
Definition  
x
Number of successes in the sample  
Sample size  
n
Population proportion of successes  
Significance level  
0
246  
Inference app  
   
Results  
The results are:  
Result  
Description  
Test Z  
Z-Test statistic  
ˆ
p
Test  
P
Proportion of successes in the sample  
Probability associated with the Z-Test  
statistic  
Critical Z  
Boundary value(s) of Z associated  
with the level that you supplied  
ˆ
p
Critical  
Proportion of successes associated  
with the level you supplied  
Two-Proportion Z-Test  
Menu name  
Z-Test:   
2
1
On the basis of statistics from two samples, each from a  
different population, this test measures the strength of the  
evidence for a selected hypothesis against the null  
hypothesis. The null hypothesis is that the proportions of  
successes in the two populations are equal, : = .  
0
1
2
You select one of the following alternative hypotheses  
against which to test the null hypothesis:  
H : <  
0
1
2
H : >  
0
1
2
H :   
0
1
2
Inputs  
The inputs are:  
Field name  
Definition  
x
Sample 1 success count  
Sample 2 success count  
Sample 1 size  
1
x
2
n
1
n
Sample 2 size  
2
Significance level  
Inference app  
247  
 
Results  
The results are:  
Result  
Description  
Test Z  
Z-Test statistic  
ˆ
p
Test   
Difference between the  
proportions of successes in the  
two samples that is associated  
with the test Z-value  
P
Probability associated with the  
Z-Test statistic  
Critical Z  
Boundary value(s) of Z  
associated with the level that  
you supplied  
ˆ
p
Critical   
Difference in the proportion of  
successes in the two samples  
associated with the level you  
supplied  
One-Sample T-Test  
Menu name  
T-Test: 1   
This test is used when the population standard deviation is  
not known. On the basis of statistics from a single sample,  
this test measures the strength of the evidence for a  
selected hypothesis against the null hypothesis. The null  
hypothesis is that the sample mean has some assumed  
value,   .  
0
You select one of the following alternative hypotheses  
against which to test the null hypothesis:  
H : <  
0
0
H : >  
0
0
H :   
0
0
248  
Inference app  
   
Inputs  
The inputs are:  
Field name  
Definition  
x
s
n
Sample mean  
Sample standard deviation  
Sample size  
Hypotheticalpopulation mean  
Significance level  
0
Results  
The results are:  
Result  
Test T  
Description  
T-Test statistic  
Test x  
Value of x associated with the  
test t-value  
P
Probability associated with the  
T-Test statistic  
DF  
Degrees of freedom  
Critical T  
Boundary value(s) of T  
associated with the level that  
you supplied  
Critical x  
Boundary value(s) of x required  
by the value that you supplied  
Two-Sample T-Test  
Menu name  
T-Test:   
2
1
This test is used when the population standard deviation is  
not known. On the basis of statistics from two samples,  
each sample from a different population, this test  
measures the strength of the evidence for a selected  
hypothesis against the null hypothesis. The null hypothesis  
is that the two populations means are equal, : = .  
0
  
You select one of the following alternative hypotheses  
against which to test the null hypothesis:  
H : <  
0
1
2
H : >  
0
1
2
H :   
0
1
2
Inference app  
249  
   
Inputs  
The inputs are:  
Field  
name  
Definition  
x1  
x2  
Sample 1 mean  
Sample 2 mean  
s
Sample 1 standard deviation  
Sample 2 standard deviation  
Sample 1 size  
1
s
2
n
1
n
Sample 2 size  
2
Significance level  
Pooled  
Check this option to pool samples  
based on their standard deviations  
Results  
The results are:  
Result  
Test T  
Description  
T-Test statistic  
Test x  
Difference in the means associated  
with the test t-value  
P
Probability associated with the T-Test  
statistic  
DF  
Degrees of freedom  
Critical T  
Boundary values of T associated with  
the level that you supplied  
Critical  
x  
Difference in the means associated  
with the level you supplied  
250  
Inference app  
 
Confidence intervals  
The confidence interval calculations that the HP Prime can  
perform are based on the Normal Z-distribution or  
Student’s t-distribution.  
One-Sample Z-Interval  
Menu name  
Z-Int:   
This option uses the Normal Z-distribution to calculate a  
confidence interval for , the true mean of a population,  
when the true population standard deviation, , is known.  
Inputs  
The inputs are:  
Field  
Definition  
name  
x
n
C
Sample mean  
Sample size  
Population standard deviation  
Confidence level  
Results  
The results are:  
Result  
C
Description  
Confidence level  
Critical values for Z  
Lower bound for   
Upper bound for   
Critical Z  
Lower  
Upper  
Two-Sample Z-Interval  
Menu name  
Z-Int:   
2
1
This option uses the Normal Z-distribution to calculate a  
confidence interval for the difference between the means  
of two populations,  , when the population standard  
deviations, and , are known.  
1
2
Inference app  
251  
           
Inputs  
The inputs are:  
Field  
Definition  
name  
x1  
x2  
Sample 1 mean  
Sample 2 mean  
n
Sample 1 size  
1
n
Sample 2 size  
2
Population 1 standard deviation  
Population 2 standard deviation  
Confidence level  
1
2
C
Results  
The results are:  
Result  
C
Description  
Confidence level  
Critical values for Z  
Lower bound for    
Upper bound for    
Critical Z  
Lower  
Upper  
One-Proportion Z-Interval  
Menu name  
Z-Int: 1  
This option uses the Normal Z-distribution to calculate a  
confidence interval for the proportion of successes in a  
population for the case in which a sample of size n has a  
number of successes x.  
Inputs  
The inputs are:  
Field  
Definition  
name  
x
n
C
Sample success count  
Sample size  
Confidence level  
252  
Inference app  
 
Results  
The results are:  
Result  
C
Description  
Confidence level  
Critical values for Z  
Lower bound for   
Upper bound for   
Critical Z  
Lower  
Upper  
Two-Proportion Z-Interval  
Menu name  
Z-Int:   
2
1
This option uses the Normal Z-distribution to calculate a  
confidence interval for the difference between the  
proportions of successes in two populations.  
Inputs  
The inputs are:  
Field  
Definition  
name  
x1  
x2  
Sample 1 success count  
Sample 2 success count  
Sample 1 size  
n
1
n
Sample 2 size  
2
C
Confidence level  
Results  
The results are:  
Result  
C
Description  
Confidence level  
Critical values for Z  
Lower bound for   
Upper bound for   
Critical Z  
Lower  
Upper  
Inference app  
253  
   
One-Sample T-Interval  
Menu name  
T-Int: 1   
This option uses the Student’s t-distribution to calculate a  
confidence interval for , the true mean of a population,  
for the case in which the true population standard  
deviation, , is unknown.  
Inputs  
The inputs are:  
Field  
Definition  
name  
x
s
n
C
Sample mean  
Sample standard deviation  
Sample size  
Confidence level  
Results  
The results are:  
Result  
C
Description  
Confidence level  
Degrees of freedom  
Critical values for T  
Lower bound for   
Upper bound for   
DF  
Critical T  
Lower  
Upper  
Two-Sample T-Interval  
Menu name  
T-Int:   
2
1
This option uses the Student’s t-distribution to calculate a  
confidence interval for the difference between the means  
of two populations, , when the population  
1
2
standard deviations, and , are unknown.  
1
2
254  
Inference app  
     
Inputs  
The inputs are:  
Result  
x1  
Definition  
Sample 1 mean  
x2  
Sample 2 mean  
s
Sample 1 standard deviation  
Sample 2 standard deviation  
Sample 1 size  
1
s
2
n
1
n
Sample 2 size  
2
C
Confidence level  
Pooled  
Whether or not to pool the samples  
based on their standard deviations  
Results  
The results are:  
Result  
C
Description  
Confidence level  
DF  
Degrees of freedom  
Critical values for T  
Lower bound for    
Upper bound for    
Critical T  
Lower  
Upper  
Inference app  
255  
   
256  
Inference app  
13  
Solve app  
The Solve app enables you to define up to ten equations or  
expressions each with as many variables as you like. You can  
solve a single equation or expression for one of its variables,  
based on a seed value. You can also solve a system of equations  
(linear or non-linear), again using seed values.  
Note the differences between an equation and an expression:  
An equation contains an equals sign. Its solution is a value  
for the unknown variable that makes both sides of the  
equation have the same value.  
An expression does not contain an equals sign. Its solution is  
a root, a value for the unknown variable that makes the  
expression have a value of zero.  
For brevity, the term equation in this chapter will cover both  
equations and expressions.  
Solve works only with real numbers.  
The Solve app uses the customary app views: Symbolic, Plot and  
Numeric described in chapter 5, though the Numeric view is  
significantly different from the other apps as it is dedicated to  
numerical solving rather than to displaying a table of values.  
For a description of the menu buttons common to the other apps  
that are also available in this app, see:  
“Symbolic view: Summary of menu buttons” on page 86  
“Plot view: Summary of menu buttons” on page 96  
Solve app  
257  
       
One equation  
Suppose you want to find the acceleration needed to increase the  
speed of a car from 16.67 m/s (60 kph) to 27.78 m/s (100 kph)  
over a distance of 100 m.  
The equation to solve is:  
V2 = U2 +2AD.  
where V = final speed, U = initial speed, A = acceleration  
needed, and D = distance.  
Open the  
Solve app  
1. Open the Solve app.  
Select Solve  
I
The Solve app starts in  
Symbolic view, where you  
specify the equation to  
solve.  
N O T E  
In addition to the built-in variables, you can use one or more  
variables you created yourself (either in Home view or in the  
CAS). For example, if you’ve created a variable called ME, you  
could include it in an equation such as this: Y2 = G2 + ME.  
Functions defined in other apps can also be referenced in the  
Solve app. For example, if you have defined F1(X) to be X2 +10  
in the Function app, you can enter F1(X)=50in the Solve app  
to solve the equation X2 + 10 = 50.  
Clear the  
app and  
define the  
equation  
2. If you have no need for any equations or expressions already  
defined, press SJ (Clear). Tap  
to confirm your  
intention to clear the app.  
3. Define the equation.  
V
U
A jS.A  
2
A
D
j+ A A  
E
258  
Solve app  
 
Enter known  
variables  
4. Display the Numeric view.  
M
Here you specify the values  
of the known variables,  
highlight the variable that  
you want to solve for, and  
tap  
.
5. Enter the values for the  
known variables.  
2 7  
7 8  
1 6  
6 7 1 0 0  
E\  
.
E
.
E
N O T E  
Some variables may already have values against them when you  
display the Numeric view. This occurs if the variables have been  
assigned values elsewhere. For example, in Home view you  
might have assigned 10 to variable U: 10  
U. Then when  
you open the Numeric view to solve an equation with U as a  
variable, 10 will be the default value for U. This also occurs if a  
variable has been given a value in some previous calculation (in  
an app or program).  
To reset all pre-populated variables to zero, press SJ.  
Solve the  
unknown  
variable  
6. Solve for the unknown variable (A).  
Move the cursor to the A  
field and tap  
.
Therefore, the acceleration  
needed to increase the  
speed of a car from 16.67  
m/s (60 kph) to 27.78 m/s  
(100 kph) over a distance of  
2
100 m is approximately 2.4692 m/s .  
The equation is linear with respect to the variable A. Hence  
we can conclude that there are no further solutions for A. We  
can also see this if we plot the equation.  
Solve app  
259  
Plot the  
equation  
The Plot view shows one graph for each side of the solved  
equation. You can choose any of the variables to be the  
independent variable by selecting it in Numeric view. So in  
this example make sure that A is highlighted.  
The current equation is V2 = U2 +2AD. The plot view will plot  
two equations, one for each side of the equation. One of  
these is Y = V2, with V = 27.78, making Y = 771.7284. This  
graph will be a horizontal line. The other graph will be Y =  
U2 +2AD with U =16.67and D =100, making, Y = 200A +  
277.8889. This graph is also a line. The desired solution is  
the value of A where these two lines intersect.  
7. Plot the equation for variable A.  
V
Select Auto Scale.  
Select Both sides of En  
(where nis the number of  
the selected equation)  
8. By default, the tracer is  
active. Using the cursor  
keys, move the trace cursor  
along either graph until it  
nears the intersection.Note  
that the value of Adisplayed  
near the bottom left corner  
of the screen closely  
matches the value of A you calculated above.  
The Plot view provides a convenient way to find an  
approximation to a solution when you suspect that there are  
a number of solutions. Move the trace cursor close to the  
solution (that is, the intersection) of interest to you and then  
open Numeric view. The solution given in Numeric view will  
be will be for the solution nearest the trace cursor.  
260  
Solve app  
N O T E  
By dragging a finger horizontally or vertically across the screen,  
you can quickly see parts of the plot that are initially outside the  
x and y ranges you set.  
Several equations  
You can define up to ten equations and expressions in Symbolic  
view and select those you want to solve together as a system. For  
example, suppose you want to solve the system of equations  
consisting of:  
X2 + Y2 = 16 and  
X – Y = –1  
Open the  
Solve app  
1. Open the Solve app.  
Select Solve  
I
2. If you have no need for any equations or expressions already  
defined, press SJ (Clear). Tap  
to confirm your  
intention to clear the app.  
Define the  
equations  
3. Define the equations.  
X
Y
A j+A j  
16  
S. E  
X
Y
A wA S.  
1
Q E  
Make sure that both  
equations are selected, as  
we are looking for values of X and Y that satisfy both  
equations.  
Enter a seed  
value  
4. Display Numeric view.  
M
Unlike the example above,  
in this example we have no  
values for any variable. You  
can either enter a seed  
value for one of the  
Solve app  
261  
   
variables, or let the calculator provide a solution. (Typically a  
seed value is a value that directs the calculator to provide, if  
possible, a solution that is closest to it rather than some other  
value.) In this example, let’s look for a solution in the vicinity  
of X = 2.  
5. Enter the seed value in the X field:  
2
The calculator will provide one solution (if there is one) and  
you will not be alerted if there are multiple solutions. Vary the  
seed values to find other potential solutions.  
6. Select the variables you want solutions for. In this example  
we want to find values for both X and Y, so make sure that  
both variables are selected.  
Note too that if you have more than two variables, you can  
enter seed values for more than one of them.  
Solve the  
unknown  
variables  
7. Tap  
to find a solution  
near X = 2 that satisfies  
each selected equation.  
Solutions, if found, are  
displayed beside each  
selected variable.  
Limitations  
You cannot plot equations if more than one is selected in  
Symbolic view.  
The HP Prime will not alert you to the existence of multiple  
solutions. If you suspect that another solution exists close to a  
particular value, repeat the exercise using that value as a seed.  
(In the example just discussed, you will find another solution if you  
enter –4 as the seed value for X.)  
In some situations, the Solve app will use a random number seed  
in its search for a solution. This means that it is not always  
predictable which seed will lead to which solution when there are  
multiple solutions.  
262  
Solve app  
 
Solution information  
When you are solving a single equation, the  
appears on the menu after you tap . Tapping  
displays a message giving you some information about the  
solutions found (if any). Tap to clear the message.  
button  
Message  
Meaning  
Zero  
The Solve app found a point where both  
sides of the equation were equal, or where  
the expression was zero (a root), within the  
calculator's 12-digit accuracy.  
Sign  
Reversal  
Solve found two points where the two sides  
of the equation have opposite signs, but it  
cannot find a point in between where the  
value is zero. Similarly, for an expression,  
where the value of the expression has  
different signs but is not precisely zero.  
Either the two values are neighbors (they  
differ by one in the twelfth digit) or the  
equation is not real-valued between the two  
points. Solve returns the point where the  
value or difference is closer to zero. If the  
equation or expression is continuously real,  
this point is Solve’s best approximation of  
an actual solution.  
Extremum  
Solve found a point where the value of the  
expression approximates a local minimum  
(for positive values) or maximum (for  
negative values). This point may or may not  
be a solution.  
Or:  
Solve stopped searching at  
9.99999999999E499, the largest number  
the calculator can represent.  
Note that the Extremummessage indicates  
that it is highly likely that there is no  
solution. Use Numeric view to verify this  
(and note that any values shown are  
suspect).  
Solve app  
263  
   
Message  
Meaning (Continued)  
Cannotfind  
solution  
No values satisfy the selected equation or  
expression.  
Bad  
Guess(es)  
The initial guess lies outside the domain of  
the equation. Therefore, the solution was  
not a real number or it caused an error.  
Constant?  
The value of the equation is the same at  
every point sampled.  
264  
Solve app  
 
14  
Linear Solver app  
The Linear Solver app enables you to solve a set of linear  
equations. The set can contain two or three linear  
equations.  
In a two-equation set, each equation must be in the form  
ax + by = k . In a three-equation set, each equation must  
be in the form ax + by + cz = k .  
You provide values for a, b, and k (and c in three-equation  
sets) for each equation, and the app will attempt to solve  
for x and y (and z in three-equation sets).  
The HP Prime will alert you if no solution can be found, or  
if there is an infinite number of solutions.  
Getting started with the Linear Solver app  
The following example defines the following set of  
equations and then solves for the unknown variables:  
6x + 9y + 6z = 5  
7x + 10y + 8z = 10  
6x + 4y = 6  
Open the Linear  
Solver app  
1. Open the Linear  
Solver app.  
I Select  
Linear  
Solver  
The app opens in  
Numeric view.  
Linear Solver app  
265  
   
N o t e  
If the last time you used the Linear Solver app you solved  
for two equations, the two-equation input form is  
displayed. To solve a three-equation set, tap  
the input form displays three equations.  
; now  
Defineandsolve  
the equations  
2. You define the equations you want to solve by  
entering the coefficients of each variable in each  
equation and the constant term. Notice that the cursor  
is positioned immediately to the left of x in the first  
equation, ready for you to insert the coefficient of x  
(6). Enter the coefficient and either tap  
or  
press E.  
3. The cursor moves to the next coefficient. Enter that co-  
efficient and either tap or press E.  
Continue doing likewise until you have defined all the  
equations.  
Once you have  
entered enough  
values for the  
solver to be able  
to generate  
solutions, those  
solutions appear  
near the bottom  
of the display. In  
this example, the solver was able to find solutions for  
x, y, and z as soon as the first coefficient of the last  
equation was entered.  
As you enter  
each of the  
remaining known  
values, the  
solution changes.  
The graphic at  
the right shows  
the final solution  
once all the  
coefficients and constants had been entered.  
266  
Linear Solver app  
Solve a two-by-  
two system  
If the three-equation  
input form is  
displayed and you  
want to solve a two-  
equation set, tap  
.
N o t e  
You can enter any expression that resolves to a numerical  
result, including variables. Just enter the name of a  
variable. For more information on assigning values to  
variables, see “Storing a value in a variable” on  
page 42.  
Menu items  
The menu items are:  
: moves the cursor to the entry line where you  
can add or change a value. You can also highlight a  
field, enter a value, and press E. The cursor  
automatically moves to the next field, where you can  
enter the next value and press E.  
: displays the page for solving a system of 2  
linear equations in 2 variables; changes to  
when active  
: displays the page for solving a system of 3  
linear equations in 3 variables; changes to  
when active.  
Linear Solver app  
267  
   
268  
Linear Solver app  
15  
Parametric app  
The Parametric app enables you to explore parametric  
equations. These are equations in which both x and y are  
defined as functions of t. They take the forms x = ftand  
y = gt.  
The Parametric app uses the customary app views:  
Symbolic, Plot and Numeric described in chapter 5.  
For a description of the menu buttons available in this  
app, see:  
“Symbolic view: Summary of menu buttons” on  
page 86  
“Plot view: Summary of menu buttons” on page 96,  
and  
“Numeric view: Summary of menu buttons” on  
page 104  
Throughout this chapter, we will explore the parametric  
equations x(T) = 8sin(T) and y(T) = 8cos(T). These  
equations produce a circle.  
Open the  
Parametric  
app  
1. Open the  
Parametric app.  
Select  
I
Parametric  
The Parametric  
app starts in  
Symbolic view.  
This is the defining  
view. It is where you symbolically define (that is,  
specify) the parametric expressions you want to  
explore.  
Parametric app  
269  
 
The graphical and numerical data you see in Plot  
view and Numeric view are derived from the  
symbolic functions defined here.  
Define the  
functions  
There are 20 fields for defining functions. These are  
labelled X1(T)through X9(T)and X0(T), and Y1(T)  
through Y9(T)and Y0(T). Each X function is paired  
with a Y function.  
2. Highlight which pair of functions you want to use,  
either by tapping on, or scrolling to, one of the pair. If  
you are entering a new function, just start typing. If  
you are editing an existing function, tap  
and  
make your changes. When you have finished  
defining or changing the function, press E.  
3. Define the two expressions.  
8
ed?  
E
8
fd?  
E
Notice how the  
key enters  
d
whatever variable  
is relevant to the  
current app. In the Function app,  
enters an X. In  
d
the Parametric app it enters a T. In the Polar app,  
discussed in chapter16, it enters .  
4. Decide if you want to:  
give one or more function a custom color when it  
is plotted  
evaluate a dependent function  
deselect a definition that you don’t want to  
explore  
incorporate variables, math commands and CAS  
commands in a definition.  
For the sake of simplicity we can ignore these  
operations in this example. However, they can be  
useful and are described in detail in “Common  
operations in Symbolic view” on page 81.  
270  
Parametric app  
Set the angle  
measure  
Set the angle measure to degrees:  
5. Y (Settings)  
S
6. Tap the Angle  
Measure field  
and select  
Degrees.  
You could also  
have set the angle  
measure on the  
Home Settings screen. However, Home settings  
are system-wide. By setting the angle measure in an  
app rather than Home view, you are limiting the  
setting just to that app.  
Set up the  
plot  
7. Open the Plot Setup view:  
P (Setup)  
S
8. Set up the plot by  
specifying  
appropriate  
graphing options.  
In this example, set  
the T Rng and T  
Step fields so that  
T steps from 0to  
360in 5steps:  
Select the 2nd T Rng field  
and enter:  
360  
5
Plot the  
functions  
9. Plot the functions:  
P
Parametric app  
271  
Explore the  
graph  
The menu button gives you access to common tools for  
exploring plots:  
: displays a range of zoom options. (The +  
and w keys can also be used to zoom in and out.)  
moved along the contour of the plot (with the  
coordinates of the cursor displayed at the bottom of  
the screen).  
: specify a Tvalue and the cursor moves to the  
corresponding x and y coordinates.  
: display the functions responsible for the plot.  
Detailed information about these tools is provided in  
“Common operations in Plot view” on page 88.  
Typically you would modify a plot by changing its  
definition in Symbolic view. However, you can modify  
some plots by changing the Plot Setup parameters. For  
example, you can plot a triangle instead of a circle simply  
by changing two plot setup parameters. The definitions in  
Symbolic view remain unchanged. Here is how it is done:  
10. Press  
P (Setup).  
S
11. Change T Step to 120.  
12. Tap  
.
13. From the Method menu, select Fixed-Step  
Segments.  
14. Press  
.
P
A triangle is  
displayed instead  
of a circle. This is  
because the new  
value of T Step  
makes the points  
being plotted 120  
apart instead of the  
nearly continuous 5. And by selecting Fixed-Step  
Segments the points 120° apart are connected with  
line segments.  
272  
Parametric app  
Display the  
numeric view  
15. Display the  
Numeric view:  
M
16. With the cursor in  
the Tcolumn, type  
a new value and  
tap  
The  
.
table scrolls to the  
value you entered.  
You can also zoom in or out on the independent variable  
(thereby decreasing or increasing the increment between  
consecutive values). This and other options are explained  
in “Common operations in Numeric view” on page 100.  
You can see the Plot and Numeric views side by side. See  
“Combining Plot and Numeric Views” on page 106.  
Parametric app  
273  
 
274  
Parametric app  
16  
Polar app  
The Polar app enables you to explore polar equations.  
Polar equations are equations in which r—the distance a  
point is from the origin: (0,0)—is defined in terms of , the  
angle a segment from the point to the origin makes with  
the polar axis. Such equations take the form r = f .  
Getting started with the Polar app  
The Polar app uses the six standard app views described  
in chapter 5, An introduction to HP apps, beginning on  
page 69. That chapter also describes the menu buttons  
used in the Polar app.  
Throughout this chapter, we will explore the expression  
5cos(/2)cos()2.  
Open the  
Polar app  
1. Open the Polar  
app:  
Select Polar  
I
The app opens in  
Symbolic view.  
Define the  
function  
There are 10 fields for defining polar functions. These are  
labelled R1()through R9()and R0().  
2. Highlight the field you want to use, either by tapping  
on it or scrolling to it. If you are entering a new  
function, just start typing. If you are editing an  
existing function, tap  
and make your changes.  
When you have finished defining or changing the  
function, press E.  
Polar app  
275  
   
3. Define the expression 5cos(/2)cos()2.  
5
Szf  
2>>  
dn  
fd  
E
>
j
Notice how the  
key enters  
d
whatever variable  
is relevant to the current app. In this app the relevant  
variable is .  
4. If you wish, choose a color for the plot other than its  
default. You do this by selecting the colored square to  
the left of the function set, tapping  
, and  
selecting a color from the color-picker.  
For more information about adding definitions, modifying  
definitions, and evaluating dependent definitions in  
Symbolic view, see “Common operations in Symbolic  
view” on page 81.  
Set angle  
measure  
Set the angle measure to radians:  
5.  
Y (Settings)  
S
6. Tap the Angle  
Measure field and  
select Radians.  
For more information on  
the Symbolic Setup view,  
see “Common  
operations in Symbolic  
Setup view” on page 87.  
Set up the  
plot  
7. Open the Plot Setup view:  
P (Setup)  
S
276  
Polar app  
8. Set up the plot by  
specifying  
appropriate  
graphing options. In  
this example, set the  
upper limit of the  
range of the  
independent  
variable to 4:  
Select the 2nd Rng field and enter 4  
(  
Sz  
There are numerous ways of configuring the  
appearance of Plot view. For more information, see  
“Common operations in Plot Setup view” on  
page 96.  
Plot the  
expression  
9. Plot the expression:  
P
Explore the  
graph  
10.Display the Plot view menu.  
A number of  
options appear to  
help you can  
explore the graph,  
such as zoom and  
trace options. using  
the trace and zoom  
options. You can also jump directly to a particular   
value by entering that value. The Go To screen  
appears with the number you typed on the entry line.  
Just tap  
to accept it. (You could also tap the  
button and spwecify the target value.)  
Polar app  
277  
If only one polar equation is plotted, you can see the  
equation that generated the plot by tapping  
If there are several equations plotted, move the  
tracing cursor to the plot you are interested—by  
.
pressing = or \—and then tap  
.
For more information on exploring plots in Plot view,  
see “Common operations in Plot view” on page 88.  
Display the  
Numeric  
view  
11. O p e n th e N u m e r i c  
view:  
M
The Numeric view  
displays a table of  
values for and  
R1. If you had  
specified, and  
selected, more than one polar function in Symbolic  
view, a column of evaluations would appear for each  
one: R2, R3, R4and so on.  
12. With the cursor in the column, type a new value  
and tap  
entered.  
The table scrolls to the value you  
.
You can also zoom in or out on the independent variable  
(thereby decreasing or increasing the increment between  
consecutive values). This and other options are explained  
in “Common operations in Numeric view” on page 100.  
You can see the Plot and Numeric views side by side. See  
“Combining Plot and Numeric Views” on page 106.  
278  
Polar app  
 
17  
Sequence app  
The Sequence app provides you with various ways to  
explore sequences.  
You can define a sequence named, for example, U1:  
in terms of n  
in terms of U1(n1)  
in terms of U1(n–2)  
in terms of another sequence, for example, U2(n) or  
in any combination of the above.  
You can define a sequence by specifying just the first term  
and the rule for generating all subsequent terms. However,  
you will have to enter the second term if the HP Prime is  
unable to calculate it automatically. Typically if the nth  
term in the sequence depends on n 2, then you must  
enter the second term.  
The app enables you to create two types of graphs:  
a Stairsteps graph, which plots points of the form (n,  
Un)  
a Cobweb graph, which plots points of the form  
(Un–1, Un).  
Getting started with the Sequence app  
The following example explores the well-known Fibonacci  
sequence, where each term, from the third term on, is the  
sum of the preceding two terms. In this example, we  
specify three sequence fields: the first term, the second  
term and a rule for generating all subsequent terms.  
Sequence app  
279  
         
Open the  
Sequence app  
1. Open the Sequence  
app:  
Select  
I
Sequence  
The app opens in  
Symbolic view.  
Define the  
expression  
2. Define the Fibonacci sequence:  
U1 = 1 , U2 = 1 , Un = Un – 1 + Un – 2 for n 2 .  
In the U1(1) field, specify the first term of the  
sequence:  
1E  
In the U1(2) field, specify the second term of the  
sequence:  
1E  
In the U1(N) field,  
specify the formula  
for finding the nth  
term of the sequence  
from the previous  
two terms (using the  
buttons at the bottom  
of the screen to help  
with some entries):  
E
+
3. Optionally choose a color for your graph (see  
“Choose a color for plots” on page 85).  
Set up the plot  
4. Open the Plot Setup view:  
P (Setup)  
S
5. Reset all settings to their default values:  
SJ (Clear)  
280  
Sequence app  
6. Select Stairstep  
from the Seq Plot  
menu.  
7. Set the X Rng  
maximum, and the  
Y Rng maximum, to  
8 (as shown at the  
right).  
Plot the  
sequence  
8. Plot the Fibonacci  
sequence:  
P
9. Return to Plot Setup  
view (  
P) and  
S
select Cobweb, from  
the Seq Plot menu.  
10.Plot the sequence:  
P
Explore the  
graph  
The  
button gives you access to common plot-  
exploration tools, such as:  
: Zoom in or out on the plot  
: Trace along a graph  
: Go to a specified N value  
: Display the sequence definition  
These tools are explained in “Common operations in Plot  
view” on page 88.  
Split screen and autoscaling options are also available by  
pressing V.  
Sequence app  
281  
Display  
Numeric  
view  
11. Display Numeric  
view:  
M
12. With the cursor  
anywhere in the N  
column, type a new  
value and tap  
.
The table of values  
scrolls to the value  
you entered. You can  
then see the  
corresponding value  
in the sequence. The  
example at the right  
shows that the 25th  
value in the Fibonacci sequence is 75,025.  
Explore the  
table of  
values  
The Numeric view gives you access to common table-  
exploration tools, such as:  
: Change the increment between consecutive  
values  
: Change the size of the font  
: Display the sequence definition  
: Choose the number of sequences to display  
These tools are explained in “Common operations in  
Numeric view” on page 100.  
Split screen and autoscaling options are also available by  
pressing V.  
282  
Sequence app  
Set up the  
table of  
values  
The Numeric Setup view  
provides options  
common to most of the  
graphingapps, although  
there is no zoom factor  
as the domain for the  
sequences is the set of  
counting numbers. See  
“Common operations in Numeric Setup view” on  
page 105 for more information.  
Another example: Explicitly-defined sequences  
In the following example, we define the nth term of a  
sequence simply in terms of n itself. In this case, there is  
no need to enter either of the first two terms numerically.  
Define the  
expression  
1. Define  
U1N=  
N
2
--  
3
Select U1(N)  
RQF and  
select  
2\3  
>>k  
E
Setup the plot 2. Open the Plot Setup  
view:  
SP (Setup)  
3. Reset all settings to  
their default values:  
SJ (Clear)  
4. Tap Seq Plot and  
select Cobweb.  
5. Set both X Rng and Y Rng to [1, 1] as shown  
above.  
Sequence app  
283  
Plot the  
sequence  
6. Plot the sequence:  
P
Press E to see  
the dotted lines in  
the figure to the  
right. Press it again  
to hide the dotted  
lines.  
Explore the  
table of  
sequence  
values  
7. View the table:  
M
8. Tap  
and  
select 1 to see the  
sequence values.  
284  
Sequence app  
 
18  
Finance app  
The Finance app enables you to solve time-value-of-money  
(TVM) and amortization problems. You can use the app to  
do compound interest calculations and to create  
amortization tables.  
Compound interest is accumulative interest, that is, interest  
on interest already earned. The interest earned on a given  
principal is added to the principal at specified  
compounding periods, and then the combined amount  
earns interest at a certain rate. Financial calculations  
involving compound interest include savings accounts,  
mortgages, pension funds, leases, and annuities.  
Getting Started with the Finance app  
Suppose you finance the purchase of a car with a 5-year  
loan at 5.5% annual interest, compounded monthly. The  
purchase price of the car is $19,500, and the down  
payment is $3,000. First, what are the required monthly  
payments? Second, what is the largest loan you can  
afford if your maximum monthly payment is $300?  
Assume that the payments start at the end of the first  
period.  
1. Start the Finance app.  
Select Finance  
I
The app opens in the Numeric view.  
2. In the N field, enter  
5s12 and press  
.
E
Notice that the result  
of the calculation  
(60) appears in the  
field. This is the  
number of months over a five-year period.  
Finance app  
285  
       
3. In the I%/YRfield, type 5.5—the interest rate—and  
press  
.
E
4. In PVfield, type 19500w 3000 and press  
. This is the present value of the loan, being  
E
the purchase price less the deposit.  
5. Leave P/YR and  
C/YR both at 12  
(their default values).  
Leave Endas the  
payment option. Also,  
leave future value, FV,  
as 0(as your goal is  
to end up with a  
future value of the loan of 0).  
6. Move the cursor to  
the PMTfield and tap  
. The PMT  
value is calculated as  
315.17. In other  
words, your monthly  
payment will be  
$315.17.  
The PMT value is negative to indicate that it is money  
owed by you.  
Note that the PMT value is greater than 300, that is,  
greater than the amount you can afford to pay each  
month. So you ned to re-run the calculations, this time  
setting the PMT value to –300 and calculating a new  
PV value.  
7. In the PMTfield, enter Q 300 move the cursor to  
the PVfield, and tap  
.
286  
Finance app  
The PV value is  
calculated as  
15,705.85, this  
being the maximum  
you can borrow.  
Thus, with your  
$3,000 deposit, you  
can afford a car with  
a price tag of up to $18,705.85.  
Cash flow diagrams  
TVM transactions can be represented in cash flow  
diagrams. A cash flow diagram is a time line divided into  
equal segments representing the compounding periods.  
Arrows represent the cash flows. These could be positive  
(upward arrows) or negative (downward arrows),  
depending on the point of view of the lender or borrower.  
The following cash flow diagram shows a loan from a  
borrower’s point of view:  
Finance app  
287  
 
The following cash flow diagram shows a loan from the  
lender's point of view:  
Cash flow diagrams  
also specify when  
payments occur rela-  
tive to the compound-  
ing periods.The  
diagram to the right  
shows lease pay-  
ments at the begin-  
ning of the period.  
This diagram shows  
deposits (PMT) into an  
account at the end of  
each period.  
Time value of money (TVM)  
Time-value-of-money (TVM) calculations make use of the  
notion that a dollar today will be worth more than a dollar  
sometime in the future. A dollar today can be invested at  
a certain interest rate and generate a return that the same  
dollar in the future cannot. This TVM principle underlies  
the notion of interest rates, compound interest, and rates  
of return.  
288  
Finance app  
lThere are seven TVM variables:  
Variable  
Description  
N
The total number of compounding periods  
or payments.  
I%YR  
The nominal annual interest rate (or  
investment rate). This rate is divided by the  
number of payments per year (P/YR) to  
compute the nominal interest rate per  
compounding period. This is the interest  
rate actually used in TVM calculations.  
PV  
The present value of the initial cash flow.  
To a lender or borrower, PV is the amount  
of the loan; to an investor, PV is the initial  
investment. PV always occurs at the  
beginning of the first period.  
P/YR  
PMT  
The number of payments made in a year.  
The periodic payment amount. The  
payments are the same amount each  
period and the TVM calculation assumes  
that no payments are skipped. Payments  
can occur at the beginning or the end of  
each compounding period—an option  
you control by un-checking or checking  
the Endoption.  
C/YR  
FV  
The number of compounding periods in a  
year.  
The future value of the transaction: the  
amount of the final cash flow or the  
compounded value of the series of  
previous cash flows. For a loan, this is the  
size of the final balloon payment (beyond  
any regular payment due). For an  
investment, this is its value at the end of the  
investment period.  
TVM calculations: Another example  
Suppose you have taken out a 30-year, $150,000 house  
mortgage at 6.5% annual interest. You expect to sell the  
house in 10 years, repaying the loan in a balloon  
Finance app  
289  
 
payment. Find the size of the balloon payment—that is,  
the value of the mortgage after 10 years of payment.  
The following cash flow diagram illustrates the case of a  
mortgage with balloon payment:  
1. Start the Finance app:  
Select Finance  
I
2. Return all fields to their default values:  
SJ  
3. Enter the known TVM  
variables, as shown  
in the figure.  
4. Highlight PMTand  
tap  
. The PMTfield shows –984.10. In other  
words, the monthly payments are $948.10.  
5. To determine the balloon payment or future value (FV)  
for the mortgage after 10 years, enter 120 for N,  
highlight FV, and tap  
.
The FVfield shows –127,164.19, indicating that the  
future value of the loan (that is, how much is still  
owing) as $127,164.19.  
290  
Finance app  
Calculating amortizations  
Amortization calculations determine the amounts applied  
towards the principal and interest in a payment, or series  
of payments. They also use TVM variables.  
To calculate amortizations:  
1. Start the Finance app.  
2. Specify the number of payments per year (P/YR).  
3. Specify whether payments are made at the beginning  
or end of periods.  
4. Enter values for I%YR, PV, PMT, and FV.  
5. Enter the number of payments per amortization  
period in the Group Sizefield. By default, the  
group size is 12 to reflect annual amortization.  
6. Tap  
. The calculator displays an amortization  
table. For each amortization period, the table shows  
the amounts applied to interest and principal, as well  
as the remaining balance of the loan.  
Example:  
Amortization for a  
home mortgage  
Using the data from the previous example of a home  
mortgage with balloon payment (see page 289),  
calculate how much has been applied to the principal,  
how much has been paid in interest, and the balance  
remaining after the first 10 years (that is, after 12 × 10 =  
120 payments).  
1. Make your data  
match that shown in  
the figure to the right.  
Finance app  
291  
 
2. Tap  
.
3. Scroll down the table  
to payment group 10.  
Note that after 10  
years, $22,835.53  
has been paid off the  
principal and  
$90,936.47 paid in  
interest, leaving a balloon payment due of  
$127,164 . 47.  
Amortization graph  
Press P to see the  
amortization schedule  
presented graphically.  
The balance owing at the  
end of each payment  
group is indicated by the  
height of a bar. The  
amount by which the  
principal has been reduced, and interest paid, during a  
payment group is shown at the bottom of the bottom of the  
screen. The example at the right shows the first payment  
group selected. This represents the first group of 12  
payments (or the state of the loan at the end of the first  
year). By the end of that year, the principal had been  
reduced by $1,676.57 and $9,700.63 had been paid in  
interest.  
Tap > or < to see the amount by which the principal  
has been reduced, and interest paid, during other  
payment groups.  
292  
Finance app  
     
19  
Triangle Solver app  
The Triangle Solver app enables you to calculate the  
length of a side of a triangle, or the size of an angle in a  
triangle, from information you supply about the other  
lengths, angles, or both.  
You need to specify at least three of the six possible  
values—the lengths of the three sides and the size of the  
three angles—before the app can calculate the other  
values. Moreover, at least one value you specify must be  
a length. For example, you could specify the lengths of  
two sides and one of the angles; or you could specify two  
angles and one length; or all three lengths. In each case,  
the app will calculate the remaining values.  
The HP Prime will alert you if no solution can be found, or  
if you have provided insufficient data.  
If you are determining the lengths and angles of a right-  
angled triangle, a simpler input form is available by  
tapping  
.
Getting started with the Triangle Solver app  
The following example calculates the unknown length of  
the side of a triangle whose two known sides—of lengths  
4 and 6—meet at an angle of 30 degrees.  
Open the  
Triangle Solver  
app  
1. Open the Triangle  
Solver app.  
I Select  
Triangle Solver  
The app opens in  
Numeric view.  
Triangle Solver app  
293  
 
2. If there is unwanted data from a previous calculation,  
you can clear it all by pressing SJ (Clear).  
Set angle  
measure  
Make sure that your angle measure mode is appropriate.  
By default, the app starts in degree mode. If the angle  
information you have is in radians and your current angle  
measure mode is degrees, change the mode to degrees  
before running the solver. Tap  
or  
depending on the mode you want. (The button is a toggle  
button.)  
N o t e  
The lengths of the sides are labeled a, b, and c, and the  
angles are labeled A, B, and, C. It is important that you  
enter the known values in the appropriate fields. In our  
example, we know the length of two sides and the angle  
at which those sides meet. Hence if we specify the lengths  
of sides a and b, we must enter the angle as C (since C is  
the angle where A and B meet). If instead we entered the  
lengths as b and c, we would need to specify the angle  
as A. The illustration on the screen will help you determine  
where to enter the known values.  
Specify the  
known values  
3. Go to a field whose value you know, enter the value  
and either tap  
or press E. Repeat for  
each known value.  
(a). In a type 4  
and press  
E.  
(b). In b type 6  
and press  
E.  
(c). In C type 30  
and press E.  
294  
Triangle Solver app  
Solve for the  
unknown values  
4. Tap  
. The  
app displays the  
values of the  
unknown  
variables. As the  
illustration at the  
right shows, the  
length of the  
unknown side in  
our example is 3.22967… The other two angles have  
also been calculated.  
Choosing triangle types  
The Triangle Solver  
app has two input  
forms: a general  
input form and a  
simpler, specialized  
form for right-angled  
triangles. If the  
general input form is  
displayed, and you  
are investigating a right-angled triangle, tap  
display the simpler input form. To return to the general  
input form, tap . If the triangle you are investigating  
to  
is not a right-angled triangle, or you are not sure what  
type it is, you should use the general input form.  
Triangle Solver app  
295  
Special cases  
The indeterminate  
case  
If two sides and an adjacent acute angle are entered and  
there are two solutions, only one will be displayed initially.  
In this case, the  
button is displayed (as in  
this example). You can  
tap  
to display the  
second solution and tap  
again to return to  
the first solution.  
No solution with  
given data  
If you are using the  
general input form  
and you enter more  
than 3 values, the  
values might not be  
consistent, that is, no  
triangle could  
possibly have all the  
values you specified.  
In these cases, No sol with given dataappears on  
the screen.  
The situation is similar if you are using the simpler input  
form (for a right-angled triangle) and you enter more than  
two values.  
Not enough data  
If you are using the  
general input form,  
youneed to specifyat  
least three values for  
the Triangle Solver to  
be able to calculate  
the remaining  
attributes of the  
triangle. If you  
specify less than three, Not enough dataappears on  
the screen.  
If you are using the simplified input form (for a right-  
angled triangle), you must specify at least two values.  
296  
Triangle Solver app  
   
20  
The Explorer apps  
There are three explorer apps. These are designed for you  
to explore the relationships between the parameters of a  
function and the shape of the graph of that function. The  
explorer apps are:  
Linear Explorer  
For exploring linear functions  
Quadratic Explorer  
For exploring quadratic functions  
Trig Explorer  
For exploring sinusoidal functions  
There are two modes of exploration: graph mode and  
equation mode. In graph mode you manipulate a graph  
and note the corresponding changes in its equation. In  
equation mode you manipulate an equation and note the  
corresponding changes in its graphical representation.  
Each explorer app has a number of equations and graphs  
for to explore, and app has a test mode. In test mode, you  
test you skills at matching equations to graphs.  
Linear Explorer app  
The Linear Explorer app can be used to explore the  
behavior of the graphs of y = ax and y = ax + b as the  
values of a and b change.  
Open the app Press I and select  
Linear Explorer.  
The left half of the display  
shows the graph of a  
linear function. The right  
half shows the general  
The Explorer apps  
297  
 
form of the equation being explored at the top and, below  
it, the current equation of that form. The keys you can use  
to manipulate the graph or equation appear below the  
equation. The x- and y-intercepts are given at the bottom.  
There are two types (or levels) of linear equation available  
for you to explore: y = ax and y = ax + b. You choose  
between them by tapping  
or  
.
The keys available to you to manipulate the graph or  
equation depend on the level you have chosen. For  
example, the screen for a level 1 equation shows this:  
This means that you can press <, >, +, w and  
Q. If you choose a level 2 equation, the screen shows  
this:  
This means that you can press <, >, =, \, +,  
w and Q.  
Graph mode  
The app opens in graph  
mode (indicated by the  
dot on the Graphbutton  
at the bottom of the  
screen). In graph mode,  
the =and \ keys  
translate the graph  
vertically, effectively  
changing the y-intercept of the line. Tap  
the magnitude of the increment for vertical translations.  
The and keys (as well as w and+) decrease  
to change  
<
>
and increase the slope. Press  
the slope.  
to change the sign of  
Q
The form of the linear function is shown at the top right of  
the display, with the current equation that matches the  
graph just below it. As you manipulate the graph, the  
equation updates to reflect the changes.  
298  
The Explorer apps  
Equation mode  
Tap  
to enter  
equation mode. A dot  
will appear on the Eq  
button at the bottom of  
the screen.  
In equation mode, you  
use the cursor keys to  
move between parameters in the equation and change  
their values, observing the effect on the graph displayed.  
Press \ or = to decrease or increase the value of the  
selected parameter. Press > or < to select another  
parameter. Press  
to change the sign of a.  
Q
Test mode  
Tap  
to enter test  
mode. In Test mode you  
test your skill at matching  
an equation to the graph  
shown. Test mode is like  
equation mode in that you  
use the cursor keys to  
select and change the value of each parameter in the  
equation. The goal is to try to match the graph that is  
shown.  
The app displays the graph of a randomly chosen linear  
function of the form dictated by your choice of level. (Tap  
or  
cursor keys to select a parameter and set its value. When  
you are ready, tap to see if you have correctly  
matched your equation to the given graph.  
Tap to see the correct answer and tap  
exit Test mode.  
to change the level.) Now press the  
to  
The Explorer apps  
299  
 
Quadratic Explorer app  
The Quadratic Explorer app can be used to investigate the  
behavior of y = ax + h2 + v as the values of a, h and v  
change.  
Open the app PressI and select  
Quadratic  
Explorer.  
The left half of the display  
shows the graph of a  
quadratic function. The  
right half shows the  
general form of the equation being explored at the top  
and, below it, the current equation of that form. The keys  
you can use to manipulate the graph or equation appear  
below the equation. (These will change depending on the  
level of equation you choose.) Displayed beneath they  
keys is the equation, the discriminant (that is, b2 – 4ac ),  
and the roots of the quadratic.  
Graph mode  
The app opens in graph  
mode. In graph mode,  
you manipulate a copy of  
the graph using whatever  
keys are available. The  
original  
graph—converted to  
dotted lines—remains in  
place for you to easily see the result of your  
manipulations.  
Four general forms of quadratic equations are available  
for you to explore:  
y = ax2 [Level 1]  
y = x + h2 [Level 2]  
y = x2 + v [Level 3]  
y = ax + h2 + v [Level 4]  
300  
The Explorer apps  
 
Choose a general form by tapping the Level  
button— and so on—until the form you  
,
want is displayed. The keys available to you to manipulate  
the graph vary from level to level.  
Equation mode  
Tap  
to move to  
equation mode. In  
equation mode, you use  
the cursor keys to move  
between parameters in  
the equation and change  
their values, observing  
the effect on the graph  
displayed. Press \ or = to decrease or increase the  
value of the selected parameter. Press > or < to select  
another parameter. Press  
to change the sign. You  
Q
have four forms (or levels) of graph, and the keys available  
for manipulating the equation depend on the level chosen.  
Test mode  
Tap  
to enter test  
mode. In Test mode you  
test your skill at matching  
an equation to the graph  
shown. Test mode is like  
equation mode in that you  
use the cursor keys to  
select and change the value of each parameter in the  
equation. The goal is to try to match the graph that is  
shown.  
The app displays the graph of a randomly chosen  
quadratic function. Tap the Level button to choose  
between one of four forms of quadratic equation. You can  
also choose graphs that are relatively easy to match or  
graphs that are harder match (by tapping  
respectively).  
or  
Now press the cursor keys to select a parameter and set  
its value. When you are ready, tap to see if you  
have correctly matched your equation to the given graph.  
The Explorer apps  
301  
Tap  
to see the correct answer and tap  
to  
exit Test mode.  
Trig Explorer app  
The Trig Explorer app can be used to investigate the  
behavior of the graphs y = a sinbx + c+ d and  
y = a cosbx + c+ d as the values of a, b, c and d  
change.  
The menu items available in this app are:  
or  
: toggles between graph mode and  
: toggles between sine and cosine  
: toggles between radians and  
equation mode  
or  
graphs  
or  
degrees as the angle measure for x  
or : toggles between translating the  
graph (  
amplitude (  
the cursor keys.  
: enters test mode  
or : toggles the increment by which  
), and changing its frequency or  
). You make these changes using  
parameter values change: /9, /6, /4, or 20°,  
30°, 45° (depending on angle measure setting)  
Open the app Press I and select  
Trig Explorer.  
An equation is shown at  
the top of the display,  
with its graph shown  
below it.  
Choose the type of  
function you want to explore by tapping either  
or  
.
302  
The Explorer apps  
   
Graph mode  
The app opens in graph  
mode. In graph mode,  
you manipulate a copy of  
the graph by pressing the  
cursor keys. All four keys  
are available. The  
original  
graph—converted to  
dotted lines—remains in place for you to easily see the  
result of your manipulations.  
When  
is chosen,  
the cursor keys simply  
translate the graph  
horizontally and  
vertically. When  
is chosen, pressing = or  
\ changes the  
amplitude of the graph  
(that is, it is stretched or shrunk vertically); and pressing  
< or > changes the frequency of the graph (that is, it is  
stretched or shrunk horizontally).  
The  
or  
button at the far right of the menu  
determines the increment by which the graph moves with  
each press of a cursor key. By default, the increment is set  
at   9 or 20°.  
Equation mode  
Tap  
to switch to  
equation mode. In  
equation mode, you use  
the cursor keys to move  
between parameters in  
the equation and change  
their values. You can then  
observe the effect on the  
graph displayed. Press \ or = to decrease or increase  
the value of the selected parameter. Press > or < to  
select another parameter.  
You can switch back to graph mode by tapping  
.
The Explorer apps  
303  
Test mode  
Tap  
to enter test mode. In test mode you test your  
skill at matching an equation to the graph shown. Test  
mode is like equation mode in that you use the cursor keys  
to select and change the value of one or more parameters  
in the equation. The goal is to try to match the graph that  
is shown.  
The app displays the  
graph of a randomly  
chosen sinusoidal  
function. Tap a Level  
button—  
,
and so on—to choose  
between one of five types  
of sinusoidal equations.  
Now press the cursor keys to select each parameter and  
set its value. When you are ready, tap  
to see if you  
have correctly matched your equation to the given graph.  
Tap  
to see the correct answer and tap  
to  
exit Test mode.  
304  
The Explorer apps  
 
21  
Many mathematical functions are available from the  
calculator’s keyboard. These are described in “Keyboard  
functions” on page 307. Other functions and commands are  
collected together in the Toolbox menus (D). There are five  
Toolbox menus:  
Math  
“Keyboard functions” on page 307)  
CAS  
A collection of symbolic mathematical functions (see  
“CAS menu” on page 322)  
App  
A collection of app functions that can be called from  
elsewhere in the calculator, such as Home view, CAS  
menu” on page 343)  
Note that the Geometry app functions can be called  
from elsewhere in the calculator, but they are not  
available from the App menu. For that reason, the  
Geometry functions are not described in this chapter.  
They are described in the Geometry chapter.  
User  
The functions that you have created (see “Creating your  
own functions” on page 425) and the programs you  
have created that contain global variables.  
Catlg  
All the functions and commands:  
on the Math menu  
on the CAS menu  
used in the Geometry app  
used in programming  
Functions and commands  
305  
         
used in the Matrix Editor  
used in the List Editor  
and some additional functions and commands  
See “Ctlg menu” on page 372.  
Some functions can be chosen  
from the math template (displayed by  
pressing F). See “Math template”  
on page 24.  
You can also create your own  
functions. See “Creating your own functions” on page 425.  
Setting the form  
of menu items  
You can choose to have entries on the Math and CAS menus  
presented either by their descriptive name or their command  
name. (The entries on the Catlg menu are always presented  
by their command name.)  
Descriptive name  
Command name  
Factor List  
ifactors  
cZeros  
gbasis  
factor_xn  
proot  
Complex Zeros  
Groebner Basis  
Factor by Degree  
Find Roots  
The default menu presentation mode is to provide the  
descriptive names for the Math and CAS functions. If you  
prefer the functions to be presented by their command name,  
deselect the Menu Display option on the second page of  
the Home Settings screen (see “Home settings” on  
page 30).  
Abbreviations used in this chapter  
In describing the syntax of functions and commands, the  
following abbreviations and conventions are used:  
Expr: a mathematical expression  
Poly: a polynomial  
LstPoly: a list of polynomials  
Frac: a fraction  
306  
Functions and commands  
 
RatFrac: a rational fraction  
Fnc: a function  
Var: a variable  
LstVar: a list of variables  
Parameters that are optional are given in square brackets, as  
in NORMAL_ICDF([,,]p).  
For ease of reading, commas are used to separate  
parameters, but these are only necessary to separate  
parameters. Thus a single-parameter command needs no  
comma after the parameter even if, in the syntax shown  
below, there is a comma between it and an optional  
parameter. An example is the syntax zeros(Expr,[Var]).  
The comma is needed only if you are specifying the optional  
parameter Var.  
|| is used to indicate or. For example, in  
DotDiv(Lst||Mtrx,Lst||Mtrx), the parameters can  
be lists or matrices.  
Keyboard functions  
The most frequently used functions are available directly from  
the keyboard. Many of the keyboard functions also accept  
complex numbers as arguments. Enter the keys and inputs  
shown below and press E to evaluate the expression.  
In the examples below, shifted functions are represented  
by the actual keys to be pressed, with the function name  
shown in parentheses. For example,  
(ASIN) means  
Se  
that to make an arc sine calculation (ASIN), you press  
.
Se  
The examples below show the results you would get in Home  
view. If you are in the CAS, the results are given in simplified  
symbolic format. For example:  
320 returns 17.88854382in Home view, and  
Sj  
8*5 in the CAS.  
,
Add, subtract, multiply, divide. Also accepts complex  
numbers, lists, and matrices.  
+ w,s,  
n
value1 + value2, etc.  
Functions and commands  
307  
     
Natural logarithm. Also accepts complex numbers.  
h
LN(value)  
Example:  
LN(1)returns 0  
x
(e )  
Natural exponential. Also accepts complex numbers.  
Sh  
value  
e
Example:  
5
e returns 148.413159103  
Common logarithm. Also accepts complex numbers.  
i
LOG(value)  
Example:  
LOG(100) returns 2  
x
(10 )  
Common exponential (antilogarithm). Also accepts complex  
numbers.  
Si  
value  
1
10  
Example:  
103  
1
returns 1000  
Sine, cosine, tangent. Inputs and outputs depend on the  
current angle format: degrees or radians.  
efg  
SIN(value)  
COS(value)  
TAN(value)  
Example:  
TAN(45) returns 1 (degrees mode)  
–1  
(ASIN)  
Arc sine: sin x. Output range is from –90° to 90° or –/2  
Se  
to /2. Inputs and outputs depend on the current angle  
format. Also accepts complex numbers.  
ASIN(value)  
Example:  
ASIN(1) returns 90 (degrees mode)  
308  
Functions and commands  
       
–1  
(ACOS)  
Arc cosine: cos x. Output range is from 0° to 180° or 0 to  
Sf  
. Inputs and outputs depend on the current angle format.  
Also accepts complex numbers. Output will be complex for  
values outside the normal cosine domain of –1 x 1 .  
ACOS(value)  
Example:  
ACOS(1)returns 0(degrees mode)  
–1  
(ATAN)  
Arc tangent: tan x. Output range is from –90° to 90° or –/  
Sg  
2 to /2. Inputs and outputs depend on the current angle  
format. Also accepts complex numbers.  
ATAN(value)  
Example:  
ATAN(1)returns 45(degrees mode)  
Square. Also accepts complex numbers.  
j
2
value  
Example:  
2
18 returns 324  
Square root. Also accepts complex numbers.  
Sj  
value  
)
Example:  
320 returns 17.88854382  
x raised to the power of y. Also accepts complex numbers.  
k
power  
value  
Example:  
8
2
returns 256  
The nth root of x.  
rootvalue  
Sk  
Example:  
38 returns 2  
Functions and commands  
309  
n
Reciprocal.  
S
-1  
value  
Example:  
-1  
3
returns .333333333333  
Negation. Also accepts complex numbers.  
Q-  
-value  
Example:  
-(1+2*i) returns -1-2*i  
(|x|)  
Absolute value.  
SQ  
|value|  
|x+y*i|  
|matrix|  
For a complex number, |x+y*i| returns x2 + y2 . For a  
matrix, |matrix| returns the Frobenius norm of the matrix.  
Example:  
|–1| returns 1  
|(1,2)|returns 2.2360679775  
Math menu  
Press D to open the  
Toolbox menus (one of which  
is the Math menu). The  
functions and commands  
available on the Math menu  
are listed as they are  
categorized on the menu.  
310  
Functions and commands  
     
Numbers  
Ceiling  
Smallest integer greater than or equal to value.  
CEILING(value)  
Examples:  
CEILING(3.2)returns 4  
CEILING(-3.2)returns -3  
Floor  
Greatest integer less than or equal to value.  
FLOOR(value)  
Example:  
FLOOR(3.2)returns 3  
FLOOR(-3.2)returns -4  
IP  
FP  
Integer part.  
IP(value)  
Example:  
IP(23.2)returns 23  
Fractional part.  
FP(value)  
Example:  
FP (23.2)returns .2  
Round  
Rounds value to decimal places. Also accepts complex  
numbers.  
ROUND(value,places)  
ROUNDcan also round to a number of significant digits if  
places is a negative integer (as shown in the second example  
below).  
Examples:  
ROUND(7.8676,2)returns 7.87  
ROUND(0.0036757,-3)returns 0.00368  
Truncate  
Truncates value to decimal places. Also accepts complex  
numbers.  
TRUNCATE(value,places)  
Functions and commands  
311  
 
TRUNCATEcan also round to a number of significant digits if  
places is a negative integer (as shown in the second example  
below).  
Examples:  
TRUNCATE(2.3678,2)returns 2.36  
TRUNCATE(0.0036757,–3)returns 0.00367  
Mantissa  
Exponent  
Mantissa—that is, the significant digits—of value, where  
value is a floating-point number.  
MANT(value)  
Example:  
MANT(21.2E34)returns 2.12  
Exponent of value. That is, the integer component of the  
power of 10 that generates value.  
XPON(value)  
Example:  
XPON(123456)returns 5 (since 105.0915... equals 123456)  
Arithmetic  
Maximum  
Maximum. The greater of two values.  
MAX(value1,value2)  
Example:  
MAX(8/3,11/4)returns 2.75  
Note that in Home view a non-integer result is given as a  
decimal fraction. If you want to see the result as a common  
fraction, press K. This opens the computer algebra system.  
If you want to return to Home view to make further  
calculations, press H.  
Minimum  
Minimum. The lesser of two values.  
MIN(value1,value2)  
Example:  
MIN(210,25)returns 25  
312  
Functions and commands  
   
Modulus  
Modulo. The remainder of value1/value2.  
value1 MOD value2  
Example:  
74 MOD 5returns 4  
Find Root  
Function root-finder (like the Solve app). Finds the value for the  
given variable at which expression most nearly evaluates to  
zero. Uses guess as initial estimate.  
FNROOT(expression,variable,guess)  
Example:  
FNROOT((A*9.8/600)-1,A,1)returns 61.2244897959.  
Percentage  
x percent of y; that is, x/100 y.  
*
%(x,y)  
Example:  
%(20,50)returns 10  
Complex  
Argument  
Argument. Finds the angle defined by a complex number.  
Inputs and outputs use the current angle format set in Home  
modes.  
ARG(x+y*i)  
Example:  
ARG(3+3*i)returns 45 (degrees mode)  
Conjugate  
Real Part  
Complex conjugate. Conjugation is the negation (sign  
reversal) of the imaginary part of a complex number.  
CONJ(x+y*i)  
Example:  
CONJ(3+4*i)returns (3-4*i)  
Real part x, of a complex number, (x+y*i).  
RE(x+y*i)  
Example:  
RE(3+4*i)returns 3  
Functions and commands  
313  
 
Imaginary Part  
Unit Vector  
Imaginary part, y, of a complex number, (x+y*i).  
IM(x+y*i)  
Example:  
IM(3+4*i) returns 4  
Sign of value. If positive, the result is 1. If negative, –1. If zero,  
result is zero. For a complex number, this is the unit vector in  
the direction of the number.  
SIGN(value)  
SIGN((x,y))  
Examples:  
SIGN(POLYEVAL([1,2,–25,–26,2],–2)) returns –1  
SIGN((3,4))returns (.6+.8i)  
Exponential  
ALOG  
Antilogarithm (exponential).  
ALOG(value)  
EXPM1  
LNP1  
Exponential minus 1: ex – 1 .  
EXPM1(value)  
Natural log plus 1: ln(x+1).  
LNP1(value)  
Trigonometry  
The trigonometry functions can also take complex numbers as  
arguments. For SIN, COS, TAN, ASIN, ACOS, and ATAN,  
see “Keyboard functions” on page 307.  
CSC  
ACSC  
SEC  
Cosecant: 1/sinx.  
CSC(value)  
Arc cosecant.  
ACSC(value)  
Secant: 1/cosx.  
SEC(value)  
ASEC  
Arc secant.  
ASEC(value)  
314  
Functions and commands  
     
COT  
Cotangent: cosx/sinx.  
COT(value)  
ACOT  
Arc cotangent.  
ACOT(value)  
Hyperbolic  
The hyperbolic trigonometry functions can also take complex  
numbers as arguments.  
SINH  
ASINH  
COSH  
Hyperbolic sine.  
SINH(value)  
–1  
Inverse hyperbolic sine: sinh x.  
ASINH(value)  
Hyperbolic cosine  
COSH(value)  
–1  
ACOSH  
TANH  
Inverse hyperbolic cosine: cosh x.  
ACOSH(value)  
Hyperbolic tangent.  
TANH(value)  
–1  
ATANH  
Inverse hyperbolic tangent: tanh x.  
ATANH(value)  
Probability  
Factorial  
Factorial of a positive integer. For non-integers, x! = (x + 1).  
This calculates the gamma function.  
value!  
Example:  
5!returns 120  
Functions and commands  
315  
   
Combination  
Permutation  
The number of combinations (without regard to order) of n  
things taken r at a time.  
COMB(n,r)  
Example: Suppose you want to know how many ways five  
things can be combined two at a time.  
COMB(5,2)returns 10.  
Number of permutations (with regard to order) of n things  
taken r at a time.  
PERM (n,r)  
Example: Suppose you want to know how many permutations  
there are for five things taken two at a time.  
PERM(5,2)returns 20.  
Random  
Number  
Integer  
Normal  
Random number. With no argument, this function returns a  
random number between zero and one. With one argument  
a, it returns a random number between 0 and a. With two  
arguments, a, and b, returns a random number between a  
and b. With three arguments, n, a, and b, returns n random  
number between a and b.  
RANDOM  
RANDOM(a)  
RANDOM(a,b  
RANDOM(n,a,b)  
Random integer. With no argument, this function returns either  
0 or 1 randomly. With one integer argument a, it returns a  
random integer between 0 and a. With two arguments, a,  
and b, returns a random integer between a and b. With three  
integer arguments, n, a, and b, returns n random integers  
between a and b.  
RANDINT  
RANDINT(a)  
RANDINT(a,b)  
RANDINT(n,a,b)  
Random real number with normal distribution N(,).  
RANDNORM(,)  
316  
Functions and commands  
 
Seed  
Sets the seed value on which the random functions operate.  
By specifying the same seed value on two or more calculators,  
you ensure that the same random numbers appear on each  
calculator when the random functions are executed.  
RANDSEED(value)  
Density  
Normal  
Normal probability density function. Computes the  
probability density at value x, given the mean, and  
standard deviation, of a normal distribution. If only one  
argument is supplied, it is taken as x, and the assumption is  
that =0 and =1.  
NORMALD([,,]x)  
Example:  
NORMALD(0.5)and NORMALD(0,1,0.5)both return  
0.352065326764.  
T
Student’s t probability density function. Computes the  
probability density of the Student's t-distribution at x, given n  
degrees of freedom.  
STUDENT(n,x)  
Example:  
student(3,5.2)returns 0.00366574413491.  
2  
2 probability density function. Computes the probability  
density of the 2 distribution at x, given n degrees of freedom.  
CHISQUARE(n,x)  
Example:  
CHISQUARE(2,3.2)returns 0.100948258997.  
F
Fisher (or Fisher–Snedecor) probability density function.  
Computes the probability density at the value x, given  
numerator n and denominator d degrees of freedom.  
FISHER(n,d,x)  
Example:  
FISHER(5,5,2)returns 0.158080231095.  
Functions and commands  
317  
 
Binomial  
Binomial probability density function. Computes the  
probability of k successes out of n trials, each with a  
probability of success of p. Returns Comb(n,k) if there is no  
third argument. Note that n and k are integers with k n .  
BINOMIAL(n,k,p)  
Example: Suppose you want to know the probability that just  
6 heads would appear during 20 tosses of a fair coin.  
BINOMIAL(20,6,0.5)returns 0.03696441652002.  
Poisson  
Poisson probability mass function. Computes the probability  
of k occurrences of an event during a future interval given ,  
the mean of the occurrences of that event during that interval  
in the past. For this function, k is a non-negative integer and  
is a real number.  
POISSON(,k)  
Example: Suppose that on average you get 20 emails a day.  
What is the probability that tomorrow you will get 15?  
POISSON(20,15)returns 0.0516488535318.  
Cumulative  
Normal  
Cumulative normal distribution function. Returns the lower-tail  
probability of the normal probability density function for the  
value x, given the mean, and standard deviation, of a  
normal distribution. If only one argument is supplied, it is  
taken as x, and the assumption is that =0 and =1.  
NORMALD_CDF([,,]x)  
Example:  
NORMALD_CDF(0,1,2)returns 0.977249868052.  
T
Cumulative Student's t distribution function. Returns the lower-  
tail probability of the Student's t-probability density function  
at x, given n degrees of freedom.  
STUDENT_CDF(n,x)  
Example:  
STUDENT_CDF(3,–3.2)returns 0.0246659214814.  
2  
Cumulative 2 distribution function. Returns the lower-tail  
probability of the 2 probability density function for the value  
x, given n degrees of freedom.  
CHISQUARE_CDF(n,k)  
318  
Functions and commands  
Example:  
CHISQUARE_CDF(2,6.1)returns 0.952641075609.  
F
Cumulative Fisher distribution function. Returns the lower-tail  
probability of the Fisher probability density function for the  
value x, given numerator n and denominator d degrees of  
freedom.  
FISHER_CDF(n,d,x)  
Example:  
FISHER_CDF(5,5,2)returns 0.76748868087.  
Binomial  
Cumulative binomial distribution function. Returns the  
probability of k or fewer successes out of n trials, with a  
probability of success, p for each trial. Note that n and k are  
integers withk n .  
BINOMIAL_CDF(n,p,k)  
Example: Suppose you want to know the probability that  
during 20 tosses of a fair coin you will get either 0, 1, 2, 3,  
4, 5, or 6 heads.  
BINOMIAL_CDF(20,0.5,6)returns 0.05765914917.  
Poisson  
Cumulative Poisson distribution function. Returns the  
probability x or fewer occurrences of an event in a given time  
interval, given expected occurrences.  
POISSON_CDF(,x)  
Example:  
POISSON_CDF(4,2)returns 0.238103305554.  
Inverse  
Normal  
Inverse cumulative normal distribution function. Returns the  
cumulative normal distribution value associated with the  
lower-tail probability, p, given the mean, and standard  
deviation, of a normal distribution. If only one argument is  
supplied, it is taken as p, and the assumption is that =0 and  
=1.  
NORMALD_ICDF([,,]p)  
Example:  
NORMALD_ICDF(0,1,0.841344746069)returns 1.  
Functions and commands  
319  
T
Inverse cumulative Student's t distribution function. Returns the  
value x such that the Student's-t lower-tail probability of x, with  
n degrees of freedom, is p.  
STUDENT_ICDF(n,p)  
Example:  
STUDENT_ICDF(3,0.0246659214814)returns –3.2.  
2  
Inverse cumulative 2 distribution function. Returns the value x  
such that the 2 lower-tail probability of x, with n degrees of  
freedom, is p.  
CHISQUARE_ICDF(n,p)  
Example:  
CHISQUARE_ICDF(2,0.957147873133)returns 6.3.  
F
Binomial  
Poisson  
Inverse cumulative Fisher distribution function. Returns the  
value x such that the Fisher lower-tail probability of x, with  
numerator n and denominator d degrees of freedom, is p.  
FISHER_ICDF(n,d,p)  
Example:  
FISHER_ICDF(5,5,0.76748868087)returns 2.  
Inverse cumulative binomial distribution function. Returns the  
number of successes, k, out of n trials, each with a probability  
of p, such that the probability of k or fewer successes is q.  
BINOMIAL_ICDF(n,p,q)  
Example:  
BINOMIAL_ICDF(20,0.5,0.6)returns 11.  
Inverse cumulative Poisson distribution function. Returns the  
value x such that the probability of x or fewer occurrences of  
an event, with expected (or mean) occurrences of the event  
in the interval, is p.  
POISSON_ICDF(,p)  
Example:  
POISSON_ICDF(4,0.238103305554)returns 3.  
List  
These functions work on data in a list. They are explained in  
detail in chapter 24, “Lists, beginning on page 453.  
320  
Functions and commands  
 
Matrix  
Special  
These functions work on matrix data stored in matrix  
variables. They are explained in detail in chapter 25,  
“Matrices, beginning on page 465.  
Beta  
Returns the value of the beta function ( for two numbers a  
and b.  
Beta(a,b)  
Gamma  
Psi  
Returns the value of the gamma function ( for a number a.  
Gamma(a)  
Returns the value of the nth derivative of the digamma function  
at x=a, where the digamma function is the first derivative of  
ln((x)).  
Psi(a,n)  
Zeta  
erf  
erfc  
Ei  
Returns the value of the zeta function (Z) for a real x.  
Zeta(x)  
Returns the floating point value of the error function at x=a.  
erf(a)  
Returns the value of the complementary error function at x=a.  
erfc(a)  
Returns the exponential integral of an expression.  
Ei(Expr)  
Si  
Returns the sine integral of an expression.  
Si(Expr)  
Ci  
Returns the cosine integral of an expression.  
Ci(Expr)  
Functions and commands  
321  
   
CAS menu  
Press D to open the  
Toolbox menus (one of which  
is the CAS menu). The  
functions on the CAS menu  
are those most commonly  
used. Many more functions  
are available. See “Ctlg  
menu, beginning on page  
372.  
Note that the Geometry functions appear on the CAS menu  
when the Geometry app is currently active or was the last-  
used app. They are described in “Geometry functions and  
commands, beginning on page 165.  
Algebra  
Simplify  
Returns an expression simplified.  
simplify(Expr)  
Example:  
simplify(4*atan(1/5)-atan(1/239))yields (1/  
4)*pi  
Collect  
Returns a polynomial or list of polynomials factorized over the  
field of the coefficients.  
collect(Poly or LstPoly)  
Example:  
collect(x^2-4)gives (x-2)*(x+2)  
Expand  
Factor  
Returns an expression expanded.  
expand(Expr)  
Example:  
expand((x+y)*(z+1))gives y*z+x*z+y+x  
Returns a polynomial factorized.  
factor(Poly)  
Example:  
factor(x^4-1)gives (x-1)*(x+1)*(x^2+1)  
322  
Functions and commands  
       
Substitute  
Returns the solution when a value is substituted for a variable  
in an expression.  
subst(Expr,Var(v)=value(a))  
Example:  
subst(1/(4+x^2),x=2)gives 1/8  
Partial Fraction  
Returns the partial fraction expansion of a rational fraction.  
partfrac(RatFrac)  
Example:  
partfrac(x/(4-x^2))gives (1/(x-2)*-2))+(1/  
((x+2)*-2))  
Extract  
Numerator  
Returns the numerator of a fraction (after simplifying the  
fraction if necessary).  
numer(Frac(a/b) or RatFrac)  
Example:  
numer(10,12)returns 5  
Denominator  
Returns the denominator of a fraction (after simplifying the  
fraction if necessary).  
denom(Frac(a/b) or RatFrac)  
Example:  
denom(10,12)returns 6  
Left Side  
Returns the left side of an equation or the left bound of an  
interval.  
lhs(Equal(a=b) or Interval(a...b))  
Right Side  
Returns the right side of an equation or the left bound of an  
interval.  
rhs(Equal(a=b) or Interval(a...b))  
Calculus  
Differentiate  
With one expression as argument, returns derivative of the  
expression with respect to x. With one expression and one  
variable as arguments, returns the derivative or partial  
derivative of the expression with respect to the variable. With  
Functions and commands  
323  
   
one expression and more than one variable as arguments,  
returns the derivative of the expression with respect to the  
variables in the second argument. These arguments can be  
followed by $k (k is an integer) to indicate the number of times  
the expression should be derived with respect to the variable.  
For example, diff(exp(x*y),x$3,y$2,z) is the same as  
diff(exp(x*y),x,x,x,y,y,z).  
diff(Expr,[var])  
or  
diff(Expr,var1$k1,var2$k2,...)  
Example:  
diff(x^3-x)gives 3*x^2-1  
Integrate  
Returns the indefinite integral of an expression. With one  
expression as argument, returns the indefinite integral with  
respect to x. With the optional second, third and fourth  
arguments you can specify the variable of integration and the  
bounds of the integrate.  
int(Expr,[Var(x)],[Real(a)],[Real(b)])  
Example:  
int(1/x)gives ln(abs(x))  
Limit  
Returns the limit of an expression when the variable  
approaches a limit point a or +/– infinity. With the optional  
fourth argument you can specify whether it is the limit from  
below, above or bidirectional (d=–1 for limit from below and  
d=+1 for limit from above, d=0 for bidirectional limit). If the  
fourth argument is not provided, the limit returned is  
bidirectional.  
limit(Expr,Var,Val,[Dir(d)])  
Example:  
limit((n*tan(x)-tan(n*x))/(sin(n*x)-  
n*sin(x)),x,0)gives 2  
324  
Functions and commands  
Series  
Returns the series expansion of an expression in the vicinity of  
a given equality variable. With the optional third and fourth  
arguments you can specify the order and direction of the  
series expansion. If no order is specified the series returned is  
fifth order. If no direction is specified, the series is  
bidirectional.  
series(Expr,Equal(var=limit_point),[Orde  
r],[Dir(1,0,-1)])  
Example:  
series((x^4+x+2)/(x^2+1),x=0,5)gives 2+x-2x^2-  
x^3+3x^4+x^5+x^6*order_size(x)  
Summation  
With two arguments, returns the discrete antiderivative of the  
expression with respect to the variable.  
sum(Expr,Var)  
With four arguments, returns the discrete sum of the  
expression with respect to the variable from a to b.  
sum(Expr,Var,VarMin(a),VarMax(b))  
Example:  
sum(n^2,n,1,5)gives 55  
Differential  
Curl  
Returns the rotational curl of a vector field, defined by:  
curl([A,B,C],[x,y,z])=[dC/dy-dB/dz,dA/dz-dC/dx,dB/dx-  
dA/dy].  
curl(Lst(A,B,C),Lst(x,y,z))  
Example:  
curl([2*x*y,x*z,y*z],[x,y,z])gives [z-x,0,z-  
2*x]  
Divergence  
Returns the divergence of a vector field, defined by:  
divergence([A,B,C],[x,y,z])=dA/dx+dB/dy+dC/dz.  
divergence(Lst(A,B,C),Lst(x,y,z))  
Example:  
divergence([x^2+y,x+z+y,z^3+x^2],[x,y,z])  
gives 2*x+3*z^2+1  
Functions and commands  
325  
Gradient  
Hessian  
Returns the gradient of an expression. With a list of variables  
as second argument, returns the vector of partial derivatives.  
grad(Expr,LstVar)  
Example:  
grad(2*x^2*y-x*z^3,[x,y,z])gives [2*2*x*y-  
z^3,2*x^2,-x*3*z^2]  
Returns the Hessian matrix of an expression.  
hessian(Expr,LstVar)  
Example:  
hessian(2*x^2*y-x*z,[x,y,z])gives [[4*y,4*x,-  
1],[2*2*x,0,0],[-1,0,0]]  
Integral  
By Parts v(x)  
Performs integration by parts of the expression f(x)=u(x)*v'(x)  
with f(x) as the first argument and v(x) (or 0) as the second  
argument. With the optional third, fourth and fifth arguments  
you can specify a variable of integration and bounds of the  
integration. If no variable of integration is provided, it is taken  
as x.  
ibpdv(Expr(f(x)),Expr(v(x)),[Var(x)],[Re  
al(a)],[Real(b)])  
Example:  
ibpdv(ln(x),x) gives [x*ln(x),-1]  
By Parts u(v)  
Performs integration by parts of the expression f(x)=u(x)*v'(x)  
with f(x) as the first argument and u(x) (or 0) as the second  
argument. With the optional third, fourth and fifth arguments  
you can specify a variable of integration and bounds of the  
integration. If no variable of integration is provided, it is taken  
as x.  
ibpu(Expr(f(x)),Expr(u(x))[,Var(x)[,[Rea  
l(a),[Real(b)]])  
Example:  
ibpu(Expr(f(x)),Expr(u(x)),[Var(x)],[Real(a)]  
,[Real(b)])  
326  
Functions and commands  
F(b)–F(a)  
Returns F(b)–F(a).  
preval(Expr(F(var)),Real(a),Real(b),[Var])  
Example:  
preval(x^2-2,2,3)gives 5  
Limits  
Riemann Sum  
Returns in the neighborhood of n=+an equivalent of the  
sum of Xpr(var1,var2) for var2 from var2=1 to var2=var1  
when the sum is looked at as a Riemann sum associated with  
a continuous function defined on [0,1].  
sum_riemann(Expr(Xpr),Lst(var1,var2))  
Example:  
sum_riemann(1/(n+k),[n,k])gives ln(2)  
Taylor  
Returns the Taylor series expansion of an expression. With the  
optional second and third arguments you can specify the limit  
point and the order of the expansion. If no limit point is  
provided, it is taken as x=0. If no order is provided, the series  
returned is fifth order.  
taylor(Expr,[Var=limit_point],[Order])  
Example:  
taylor(sin(x)/x,x,0) gives 1+x^2/-6+x^4/  
120+x^6*order_size(x)  
Taylor of Quotient  
Returns the quotient Q of the division of polynomial A by  
polynomial B by increasing power order, with degree(Q)n  
or Q=0. In other words, Q is the Taylor expansion at order n  
of A/B in the vicinity of x=0.  
divpc(A,B,Intg(n))  
Example:  
divpc(x^4+x+2,x^2+1,5)gives x^5+3*x^4-x^3-  
2*x^2+x+2  
Transform  
Laplace  
Returns the Laplace transform of an expression.  
laplace(Expr,[Var],[LapVar])  
Example:  
laplace(exp(x)*sin(x))gives 1/(x^2-2*x+2)  
Functions and commands  
327  
Inverse Laplace  
Returns the inverse Laplace transform of an expression.  
invlaplace(Expr,[Var],[IlapVar])  
Example:  
ilaplace(1/(x^2+1)^2)returns ((-x)*cos(x))/  
2+sin(x)/2  
FFT  
With one argument, returns the discrete Fourier transform in R.  
fft(Vect)  
With three arguments, returns the discrete Fourier transform in  
the field Z/pZ, with a as primitive nth root of 1 (n=size(L)).  
fft((Vect(L),Intg(a),Intg(p))  
Example:  
fft([1,2,3,4,0,0,0,0])gives [10.0,-  
0.414213562373-7.24264068712*(i),-  
2.0+2.0*i,2.41421356237-1.24264068712*i,-  
2.0,2.41421356237+1.24264068712*i,-2.0-2.0*i]  
Inverse FFT  
Returns the inverse discrete Fourier transform.  
ifft(Vect)  
Example:  
ifft([100.0,-52.2842712475+6*i,-  
8.0*i,4.28427124746-  
6*i,4.0,4.28427124746+6*i,8*i,-52.2842712475-  
6*i])gives  
[0.99999999999,3.99999999999,10.0,20.0,25.0,2  
4.0,16.0,-6.39843733552e-12]  
Solve  
Solve  
Returns the solutions to a polynomial equation or a set of  
polynomial equations.  
solve(Expr,[Var])  
Example:  
solve(x^2-3=1)gives list[-2,2]  
328  
Functions and commands  
   
Zeros  
With an expression as argument, returns the zeros (real or  
complex according to the mode) of the expression. With a list  
of expressions as argument, returns the matrix where the rows  
are the solutions of the system (i.e. expression1=0,  
expression2=0,...,).  
zeros(Expr,[Var])  
or  
zeros([LstExpr],[LStVar])  
Example:  
zeros(x^2+4) gives [] in real mode and [-2*i,2*i]  
in complex mode  
Complex Solve  
Complex Zeros  
Returns a list where the elements are complex solutions of the  
system of polynomial equations.  
csolve(LstEq,LstVar)  
Example:  
csolve(x^4-1,x)gives list[1,-1,-i,i]  
With an expression as argument, returns the complex zeros of  
the expression. With a list of expressions as argument, returns  
the matrix where the rows are the solutions of the system (i.e.  
expression1=0, expression2=0,...,).  
Czeros(Expr,[Var])  
or  
Czeros([LstExpr],[LStVar])  
Example:  
cZeros(x^2-1)gives [1,-1]  
Numerical Solve  
Returns the numerical solution of an equation or a system of  
equations.  
nSolve(Expr,Var||Var=Guess)  
Examples:  
nSolve(cos(x)=x,x)gives 0.999847741531  
nSolve(cos(x)=x,x=1.3)gives 0.999847741531  
Functions and commands  
329  
Differential  
Equation  
Returns the solution to a differential equation.  
deSolve(Eq,[TimeVar],FncVar)  
Example:  
desolve(y''+y=0,y)gives c_0*cos(x)+c_1*sin(x)  
ODE Solve  
Returns an approximate value of y at a final value (t1) of a  
given variable, where y(t) is the solution of: y’(t)=f(t,y(t)),  
y(t0)=y0.  
odesolve(Expr(f(t,y)),VectVar([t,y]),Vec  
tInitCond([t0,y0]),FinalVal(t1),[tstep=V  
al,curve])  
Example:  
odesolve(sin(t*y),[t,y],[0,1],2)gives  
[1.8224125572]  
Linear System  
Returns the solution to a system of linear equations.  
linsolve(LstLinEq,LstVar)  
Example:  
linsolve([x+y+z=1,x-y=2,2*x-z=3],[x,y,z])  
gives [3/2,-1/2,0]  
Rewrite  
lncollect  
Returns an expression rewritten with the logarithms collected.  
(applies ln(a)+n*ln(b)->ln(a*b^n) for integers n).  
lncollect(Expr)  
Example:  
lncollect(ln(x)+2*ln(y))gives ln(x*y^2)  
powexpand  
Returns an expression with a power of sum rewritten as a  
product of powers.  
powexpand(Expr)  
Example:  
powexpand(2^(x+y))yields (2^x)*(2^y)  
330  
Functions and commands  
   
tExpand  
Returns a transcendental expression in expanded form.  
tExpand(Expr)  
Example:  
tExpand(sin(2*x)+exp(x+y))gives  
2*cos(x)*sin(x)+exp(x)*exp(y)  
Exp & Ln  
ey*lnx xy  
xy ey*lnx  
exp2trig  
Returns an expression of the form exp(n*ln(x)) rewritten as a  
power of x.  
exp2pow(Expr)  
Example:  
exp2pow(exp(3*ln(x)))gives x^3  
Returns an expression with powers rewritten as an  
exponential.  
pow2exp(Expr)  
Example:  
pow2exp(a^b)gives exp(b*ln(a))  
Returns an expression with complex exponentials rewritten in  
terms of sin and cos.  
exp2trig(Expr)  
Example:  
exp2trig(exp(i*x))gives cos(x)+(i)*sin(x)  
expexpand  
Returns an expression with exponentials in expanded form.  
expexpand(Expr)  
Example:  
expexpand(exp(3*x)) gives exp(x)^3  
Sine  
asinx acosx  
Returns an expression with arcsin(x) rewritten as pi/2-  
arccos(x).  
asin2acos(Expr)  
Example:  
asin2acos(acos(x)+asin(x))gives -  
acos(x)+acos(x)  
Functions and commands  
331  
asinx atanx  
Returns an expression with arcsin(x) rewritten as arctan(x/  
sqrt(1-x^2)).  
asin2atan(Expr)  
Example:  
asin2atan(2*asin(x))gives 2*atan(x/(sqrt(1-  
x^2)))  
sinx cosx/tanx  
Returns an expression with sin(x) rewritten as cos(x)*tan(x).  
sin2costan(Expr)  
Example:  
sin2costan(sin(x))gives tan(x)*cos(x)  
Cosine  
acosx asinx  
Returns an expression with arccos(x) rewritten as pi/2-  
arcsin(x).  
acos2asin(Expr)  
Example:  
acos2asin(acos(x)+asin(x))gives pi/2-  
asin(x)+asin(x)  
acosx atanx  
Returns an expression with arccos(x) rewritten as pi/2-  
arctan(x/sqrt(1-x^2)).  
acos2atan(Expr)  
Example:  
acos2atan(2*acos(x))gives 2*(pi/2-atan(x/  
(sqrt(1-x^2))))  
cosx sinx/tanx  
Returns an expression with cos(x) rewritten as sin(x)/tan(x).  
cos2sintan(Expr)  
Example:  
cos2sintan(cos(x))gives sin(x)/tan(x)  
Tangent  
atanx asinx  
Returns an expression with arctan(x) rewritten as arcsin(x/  
sqrt(1+x^2)).  
atan2asin(Expr)  
332  
Functions and commands  
atanx acosx  
Returns an expression with arctan(x) rewritten as pi/2-  
arccos(x/sqrt(1+x^2)).  
atan2acos(Expr)  
tanx sinx/cosx  
Returns an expression with tan(x) rewritten as sin(x)/cos(x).  
tan2sincos(Expr)  
Example:  
tan2sincos(tan(x))gives sin(x)/cos(x)  
halftan  
Returns an expression with sin(x), cos(x) or tan(x) rewritten as  
tan(x/2).  
halftan(Expr)  
Example:  
halftan(sin(x))gives 2*tan(x/2)/(tan(x/2)^2+  
Trig  
trigx sinx  
Returns an expression simplified using the formulas  
sin(x)^2+cos(x)^2=1 and tan(x)=sin(x)/cos(x) (privileging  
sine).  
trigsin(Expr)  
Example:  
trigsin(cos(x)^4+sin(x)^2)gives sin(x)^4-  
sin(x)^2+  
trigx cosx  
Returns an expression simplified using the formulas  
sin(x)^2+cos(x)^2=1 and tan(x)=sin(x)/cos(x) (privileging  
cosine).  
trigcos(Expr)  
Example:  
trigcos(sin(x)^4+sin(x)^2)gives cos(x)^4-  
3*cos(x)^2+2  
trigx tanx  
Returns an expression simplified using the formulas  
sin(x)^2+cos(x)^2=1 and tan(x)=sin(x)/cos(x) (privileging  
tangent).  
trigtan(Expr)  
Example:  
trigtan(cos(x)^4+sin(x)^2)gives  
(tan(x)^4+tan(x)^2+1)/(tan(x)^4+2*tan(x)^2+1)  
Functions and commands  
333  
atrig2ln  
Returns an expression with inverse trigonometric functions  
rewritten as logarithmic functions.  
atrig2ln(Expr)  
Example:  
atrig2ln(atan(x))gives ((i)*ln((i+x)/(i-x)))/2  
tlin  
Returns a trigonometric expression with the products and  
integer powers linearized.  
tlin(ExprTrig)  
Example:  
tlin(sin(x)^3)gives 3*sin(x)/4+sin(3*x)/-4  
tCollect  
Returns a trigonometric expression linearized and with any  
sine and cosine of the same angle put together.  
tCollect(Expr)  
Example:  
tcollect(sin(x)+cos(x))gives sqrt(2)*cos(x-1/  
4*pi)  
trigexpand  
trig2exp  
Returns a trigonometric expression in expanded form.  
trigexpand(Expr)  
Example:  
trigexpand(sin(3*x))gives (4*cos(x)^2-  
1)*sin(x)  
Returns an expression with trigonometric functions rewritten as  
complex exponentials (without linearization).  
trig2exp(Expr)  
Example:  
trig2exp(sin(x))gives (exp((i)*x)-1/  
exp((i)*x))/(2*i)  
Integer  
Divisors  
Returns the list of divisors of an integer or a list of integers.  
idivis(Intg(a) or (LstIntg))  
Example:  
idivis(12) returns [1, 2, 3, 4, 6, 12]  
334  
Functions and commands  
   
Factors  
Returns the prime factor decomposition of an integer.  
ifactor(Intg(a))  
Example:  
ifactor(150)returns [2*3*5  
Factor List  
Returns the list of prime factors of an integer or a list of  
integers, with each factor is followed by its multiplicity.  
ifactors(Intg(a) or (LstIntg))  
Example:  
ifactors(150)returns [2, 1, 3, 1, 5, 2]  
GCD  
LCM  
Returns the greatest common divisor of two or more integers.  
gcd((Intg(a),Intg(b)...Intg(n))  
Example:  
gcd(32,120,636)gives 4  
Returns the lowest common multiple of two or integers.  
lcm((Intg(a),Intg(b)...Int(n))  
Example:  
lcm(6,4)gives 12  
Prime  
Test if Prime  
Tests whether or not a given integer is a prime number.  
isPrime(Intg(a))  
Example:  
isPrime(1999)returns 1  
Nth Prime  
Returns the nth prime number less than 10000.  
ithprime(Intg(n)) where n is between 1 and 1229  
Example:  
ithprime(5)returns 11  
Next Prime  
Returns the next prime or pseudo-prime after an integer.  
nextprime(Intg(a))  
Example:  
nextprime(11)returns 13  
Functions and commands  
335  
Previous Prime  
Returns the prime or pseudo-prime number closest to but  
smaller than an integer.  
prevprime(Intg(a))  
Example:  
prevprime(11)returns 7  
Euler  
Compute’s Euler's totient for an integer.  
euler(Intg(n))  
Example:  
euler(6)returns 2  
Division  
Quotient  
Returns the integer quotient of the Euclidean division of two  
integers.  
iquo(Intg(a),Intg(b))  
Example:  
iquo(46, 23)returns 2  
Remainder  
Returns the integer remainder from the Euclidean division of  
two integers.  
irem(Intg(a),Intg(b))  
Example:  
irem(46, 23)returns 17  
n
n
a MOD p  
Returns a modulo p in [0;p1].  
powmod(Intg(a),Intg(n),Intg(p),[Expr(P(x  
))],[Var])  
Example:  
powmod(5,2,13)returns 12  
Chinese  
Remainder  
Returns the Chinese remainder of two lists of integers.  
ichinrem(LstIntg(a,p),LstIntg(b,q))  
Example:  
ichinrem([2, 7], [3, 5])returns [-12, 35]  
336  
Functions and commands  
 
Polynomial  
Find Roots  
Returns all computed roots of a polynomial given by its  
coefficients. (It may not work if roots are not simple.)  
proot(Vect||Poly)  
Example:  
proot([1,0,-2]) gives  
[-1.41421356237,1.41421356237]  
Coefficients  
With an integer as third argument, returns the coefficient of a  
polynomial of degree given in the third argument. With no  
third argument, returns the list of coefficients of the  
polynomial.  
coeff(Expr,[Var],degree)  
Example:  
coeff(x*3+2)gives poly1[3,2]  
Divisors  
Returns the list of divisors of a polynomial or a list of  
polynomials.  
divis(Poly or LstPoly)  
Example:  
divis(x^2-1) gives [1,x-1,x+1,(x-1)*(x+1)]  
Factor List  
Returns the list of prime factors of a polynomial or a list of  
polynomials. Each factor is followed by its multiplicity.  
factors(Poly or LstPoly)  
Example:  
factors(x^4-1)gives [x-1,1,x+1,1,x^2+1,1]  
GCD  
LCM  
Returns the greatest common divisor of two or more  
polynomials.  
gcd(Poly1,Poly2...Polyn)  
Returns the lowest common multiple of two or more  
polynomials.  
lcm(Poly1,Poly2...Polyn)  
Example:  
lcm(x^2-2*x+1,x^3-1)gives (x-1)*(x^3-1)  
Functions and commands  
337  
 
Create  
Poly to Coef  
With a variable as second argument, returns the coefficients  
of a polynomial with respect to the variable. With a list of  
variables as the second argument, returns the internal format  
of the polynomial.  
symb2poly(Expr,[Var])  
or  
symb2poly(Expr,ListVar)  
Example:  
symb2poly(x*3+2.1)gives poly1[3,2.1]  
Coef to Poly  
With one list as argument, returns a polynomial in x with  
coefficients (in decreasing order) obtained from the list. With  
a variable as second argument, returns a polynomial in the  
variable as for one argument but the polynomial is in the  
variable specified in the second argument.  
poly2symb(Lst,Var)  
Example:  
poly2symb([1,2,3],x) gives (x+2)*x+3  
Roots to Coef  
Roots to Poly  
Random  
Returns the coefficients (in decreasing order) of the univariate  
polynomial of roots specified in the argument.  
pcoef(Vect)  
Example:  
pcoeff([1,0,0,0,1])gives poly1[1,-2,1,0,0,0]  
Returns the rational function that has the roots and poles  
specified in the argument.  
fcoeff(Lst(root||pole,order))  
Example:  
fcoeff([1,2,0,1,3,-1])gives (x-1)^2*x*(x-3)^-1  
Returns a vector of coefficients of a polynomial of variable Var  
(or x), of degree Intgr and where the coefficients are random  
integers in the range –99 through 99 with uniform distribution  
or in an interval specified by Intrvl.  
randpoly([Var],Intgr,[Dist])  
338  
Functions and commands  
Example:  
randpoly(t, 8, -1..1) returns a vector of 9 random  
integers, all of them between –1 and 1.  
Minimum  
With only a matrix as argument, returns the minimal  
polynomial in x of a matrix written as a list of its coefficients.  
With a matrix and a variable as arguments, returns the  
minimum polynomial of the matrix written in symbolic form  
with respect to the variable.  
pmin(Mtrx,[Var])  
Example:  
pmin([[1,0],[0,1]],x)gives x-1  
Algebra  
Quotient  
Remainder  
Degree  
Returns the Euclidean quotient of two polynomials written as  
vectors or in symbolic form.  
quo((Vect),(Vect),[Var])  
or  
quo((Poly),(Poly),[Var])  
Example:  
quo([1,2,3,4],[-1,2])gives poly1[-1,-4,-11]  
Returns the Euclidean remainder of two polynomials written as  
vectors or in symbolic form.  
rem((Vect),(Vect),[Var])  
or  
rem((Poly),(Poly),[Var])  
Example:  
rem([1,2,3,4],[-1,2])gives poly1[26]  
Returns the degree of a polynomial.  
degree(Poly)  
Example:  
degree(x^3+x)gives 3  
Functions and commands  
339  
Factor by Degree  
Returns a polynomial factorized in x^n, where n is the degree  
of polynomial.  
factor_xn(Poly)  
Example:  
factor_xn(x^4-1)gives x^4*(1-x^-4)  
Coef. GCD  
Returns the greatest common divisor (GCD) of the coefficients  
of a polynomial.  
content(Poly(P),[Var])  
Example:  
content(2*x^2+10*x+6)gives 2  
Zero Count  
If a and b are real, this returns the number of sign changes in  
the specified polynomial in the interval [a,b]. If a or b are non-  
real, it returns the number of complex roots in the rectangle  
bounded by a and b. If Var is omitted, it is assumed to be x.  
sturmab(Poly[,Var],a,b)  
Examples:  
sturmab(x^2*(x^3+2),-2,0)returns 1  
sturmab(n^3-1,n,-2-i,5+3i)returns 3  
Chinese  
Remainder  
Returns the Chinese remainder of the polynomials written as  
lists of coefficients or in symbolic form.  
chinrem([Lst||Expr,Lst||Expr],[Lst||Expr  
,Lst||Expr])  
Example:  
chinrem([[1,2],[1,0,1]],[[1,1],[1,1,1]])gives  
[poly1[-1,-1,0,1],poly1[1,1,2,1,1]]  
Special  
Cyclotomic  
Returns the list of coefficients of the cyclotomic polynomial of  
an integer.  
cyclotomic(Int)  
Example:  
cyclotomic(20)gives [1,0,-1,0,1,0,-1,0,1]  
340  
Functions and commands  
Groebner Basis  
Returns the Groebner basis of the ideal spanned by a list of  
polynomials.  
gbasis(LstPoly,LstVar)  
Example:  
gbasis([x^2-y^3,x+y^2],[x,y])gives [y^4-  
y^3,x+y^2]  
Groebner  
Remainder  
Returns the remainder of the division of a polynomial by the  
Groebner basis of a list of polynomials.  
greduce(Poly,LstPoly,LstVar)  
Example:  
greduce(x*y-1,[x^2-y^2,2*x*y-y^2,y^3],[x,y])  
gives 1/2*y^2-1  
Hermite  
Returns the Hermite polynomial of degree n.  
hermite(Intg(n))where n 1556  
Example:  
hermite(3)gives 8*x^3-12*x  
Lagrange  
Returns the Lagrange polynomial for two lists. The list in the  
first argument corresponds to the abscissa values, and the list  
in the second argument corresponds to the ordinate values.  
lagrange((Lst_xk,Lst_yk)  
or  
lagrange(Mtrx_2*n)  
Example:  
lagrange([1,3],[0,1])gives (x-1)/2  
Laguerre  
Returns the Laguerre polynomial of degree n.  
laguerre(Intg(n))  
Example:  
laguerre(4)gives 1/24*a^4+(-1/6)*a^3*x+5/  
12*a^3+1/4*a^2*x^2+(-3/2)*a^2*x+35/24*a^2+(-  
1/6)*a*x^3+7/4*a*x^2+(-13/3)*a*x+25/12*a+1/  
24*x^4+(-2/3)*x^3+3*x^2-4*x+1  
Functions and commands  
341  
Legendre  
Chebyshev Tn  
Chebyshev Un  
Returns the Legendre polynomial of degree n.  
legendre(Intg(n))  
Example:  
legendre(4)gives 35*x^4/8+-15*x^2/4+3/8  
Returns the Tchebyshev polynomial of first kind of degree n.  
tchebyshev1(Intg(n))  
Example:  
tchebyshev1(3)gives 4*x^3-3*x  
Returns the Tchebyshev polynomial of second kind of degree  
n.  
tchebyshev2(Intg(n))  
Example:  
tchebyshev2(3)gives 8*x^3-4*x  
Plot  
Function  
Plots the graph of an expression of one or two variables with  
superposition.  
plotfunc(Expr,[Var(x)],[Intg(color)])  
or  
plotfunc(Expr,[VectVar],[Intg(color)])  
Example:  
plotfunc(3*sin(x)) draws the graph of y=3*sin(x)  
Density  
Plots the graph of the function z=f(x,y) in the plane where the  
values of z are represented by different colors.  
plotdensity(Expr,[x=xrange,y=yrange],[z],[x  
step],[ystep])  
Slopefield  
Draws the tangent of the differential equation y'=f(t,y), where  
the first argument is the expression f(t,y) (y is the real variable  
and t is the abscissa), the second argument is the vector of  
variables (abscissa must be listed first), and the third argument  
is the optional range.  
plotfield(Expr,VectVar,[Opt])  
342  
Functions and commands  
   
ODE  
Draws the solution of the differential equation y'=f(t,y) that  
crosses the point (t0,y0), where the first argument is the  
expression f(t,y), the second argument is the vector of  
variables (abscissa must be listed first), and the third argument  
is (t0,y0).  
plotode(Expr,VectVar,VectInitCond)  
App menu  
Press D to open the  
Toolbox menus (one of which  
is the App menu). App  
functions are used in HP  
apps to perform common  
calculations. For example, in  
the Function app, the Plot  
view Fcn menu has a  
function called SLOPEthat calculates the slope of a given  
function at a given point. The SLOPEfunction can also be  
used from the Home view or a program to give the same  
results. The app functions described in this section are  
grouped by app.  
Function app functions  
The Function app functions provide the same functionality  
found in the Function app's Plot view under the FCN menu. All  
these operations work on functions. The functions may be  
expressions in X or the names of the Function app variable F0  
through F9.  
AREA  
Area under a curve or between curves. Finds the signed area  
under a function or between two functions. Finds the area  
under the function Fn or below Fn and above the function Fm,  
from lower X-value to upper X-value.  
AREA(Fn,[Fm,]lower,upper)  
Example:  
AREA(-X,X2-2,-2,1) returns 4.5  
Functions and commands  
343  
             
EXTREMUM  
ISECT  
Extremum of a function. Finds the extremum (if one exists) of  
the function Fn that is closest to the X-value guess.  
EXTREMUM(Fn, guess)  
Example:  
EXTREMUM(X2-X-2,0) returns 0.5  
Intersection of two functions. Finds the intersection (if one  
exists) of the two functions Fn and Fm that is closest to the X-  
value guess.  
ISECT(Fn,Fm,guess)  
Example:  
ISECT(X,3-X,2) returns 1.5  
ROOT  
SLOPE  
Root of a function. Finds the root of the function Fn (if one  
exists) that is closest to the X-value guess.  
ROOT(Fn,guess)  
Example:  
ROOT(3-X2,2) returns 1.732…  
Slope of a function. Returns the slope of the function Fn at the  
X-value (if value exists).  
SLOPE(Fn,value)  
Example:  
SLOPE(3-X2,2)returns -4  
Solve app functions  
The Solve app has a single function that solves a given  
equation or expression for one of its variables. En may be an  
equation or expression, or it may be the name of one of the  
Solve Symbolic variables E0–E9.  
SOLVE  
Solve. Solves an equation for one of its variables. Solves the  
equation En for the variable var, using the value of guess as  
the initial value for the value of the variable var. If En is an  
expression, then the value of the variable var that makes the  
expression equal to zero is returned.  
SOLVE(En,var,guess)  
344  
Functions and commands  
   
Example:  
SOLVE(X2-X-2,X,3)returns 2  
This function also returns an integer that is indicative of the  
type of solution found, as follows:  
0—an exact solution was found  
1—an approximate solution was found  
2—an extremum was found that is as close to a solution  
as possible  
3—neither a solution, an approximation, nor an  
extremum was found  
See chapter 13, “Solve app, beginning on page 257, for  
more information about the types of solutions returned by this  
function.  
Spreadsheet functions  
The spreadsheet functions can be selected from the App  
Toolbox menu (D > > Spreadsheet). They can  
also be selected from the View menu (V) when the  
Spreadsheet app is open.  
The syntax for many, but not all, the spreadsheet functions  
follows this pattern:  
functionName(input,[optional  
parameters])  
Inputis the input list for the function. This can be a cell range  
reference, a simple list or anything that results in a list of  
values.  
One useful optional parameter is Configuration. This is a  
string that controls which values are output. Leaving the  
parameter out produces the default output. The order of the  
values can also be controlled by the order that they appear in  
the string.  
Functions and commands  
345  
   
For example:  
=STAT1(A25:A37)  
produces the following  
default output.  
However, if you just wanted  
to see the number of data-  
points, the mean, and the  
standard deviation, you  
would enter  
=STAT1(A25:A37,”h n  
x ”). What the  
configuration string is  
indicating here is that row headings are required (h), and just  
the number of data-points (n), the mean (x), and the standard  
deviation ().  
SUM  
Calculates the sum of a range of numbers.  
SUM([input])  
For example, SUM)B7:B23)returns the sum of the numbers  
in the range B7 to B23. You can also specify a block of cells,  
as in SUM(B7:C23).  
An error is returned if a cell in the specified range contains a  
non-numeric object.  
AVERAGE  
Calculates the arithmetic mean of a range of numbers.  
AVERAGE([input])  
For example, AVERAGE(B7:B23)returns the arithmetic  
mean of the numbers in the range B7 to B23. You can also  
specify a block of cells, as in AVERAG(B7:C23).  
An error is returned if a cell in the specified range contains a  
non-numeric object.  
346  
Functions and commands  
AMORT  
Calculates the principal, interest, and balance of a loan over  
a specified period.  
AMORT(Range, n, i, pv, pmt[, ppyr=12,  
cpyr=ppyr, Grouping=ppyr, beg=false,  
fix=current], "configuration"])  
Range is the cell range where the results are to be placed. If  
only one cell is specified, then the range is automatically  
calculated.  
Configuration is a string that defines if a header row needs to  
be created (starts with H) and what result to place in which  
column.  
h – show row headers  
S – show the start of the period  
E – show the end of the period  
P – show the principal paid this period  
B – show the balance at the end of the period  
I – show the interest paid this period  
n, i, pv, and pmt are the number of periods for the loan, the  
interest rate, the present value, the per-period payment. ppyr  
and cpyr are the number of payments per year and the  
number of compounding periods per year. Grouping is the  
number of periods that need to be grouped together in the  
amortization table. beg is 1 when payments are made at the  
beginning of each period; otherwise it is 0. fix is the number  
of decimal places to used in the results the calculations.  
STAT1  
The STAT1 function provides a range of one-variable statistics.  
It can calculate all or any of x , Σ, Σ², s, s², σ, σ², serr, sqd,  
n, min, q1, med, q3, and max.  
STAT1(Input range, [mode], [outlier  
removal Factor], ["configuration"])  
Input range is the data source (such as A1:D8).  
Mode defines how to treat the input. The valid values are:  
1 = Single data. Each column is treated as an  
independent dataset.  
Functions and commands  
347  
2 = Frequency data. Columns are used in pairs and the  
second column is treated as the frequency of appearance  
of the first column.  
3 = Weight data. Columns are used in pairs and the  
second column is treated as the weight of the first  
column.  
4 = One–Two data. Columns are used in pairs and the 2  
columns are multiplied to generate a data point.  
If more than one column is specified, they are each treated as  
a different input data set. If only one row is selected, it is  
treated as 1 data set. If two columns are selected, the mode  
defaults to frequency.  
Outlier Removal Factor: This allows for the removal of any  
datapoint that is more than n times the standard deviation  
(where n is the outlier removal factor). By default this factor is  
set to 2.  
Configuration: indicates which values you want to place in  
which row and if you want row or columns headers. Place the  
symbol for each value in the order that you want to see the  
values appear in the spreadsheet. The valid symbols are:  
H (Place column headers)  
h (Place row headers)  
x
Σ
Σ²  
s
s²  
σ
σ²  
serr  
q3  
sqd  
max  
n
min  
q1  
med  
For example if you specifiy "h n Σ x", the first column will  
contain row headers, the first row will be the number of items  
in the input data, the second the sum of the items and the third  
the mean of the data. If you do not specify a configuration  
string, a default string will be used.  
Notes:  
The STAT1 f function only updates the content of the  
destination cells when the cell that contains the formula is  
calculated. This means that if the spreadsheet view contains  
at the same time results and inputs, but not the cell that  
348  
Functions and commands  
contains the call to the STAT1 function, updating the data will  
not update the results as the cell that contains STAT1 is not  
recalculated (since it is not visible).  
The format of cells that receive headers is changed to have  
Show " " set to false.  
The STAT1 function will overwrite the content of destination  
cells, potentially erasing data.  
Examples:  
STAT1(A25:A37)  
STAT1(A25:A37,”h n x ”).  
REGRS  
Attempts to fit the input data to a specified function (default is  
linear).  
REGRS(Input range, [ mode],  
["configuration"])  
Input range: specifies the data source; for example  
A1:D8. It must contain an even number of columns. Each  
pair will be treated as a distinct set of datapoints.  
Mode: specifies the mode to be used for the regression:  
1 y= sl*x+int  
2 y= sl*ln(x)+int  
3 y= int*exp(sl*x)  
4 y= int*x^sl  
5 y= int*sl^x  
6 y= sl/x+int  
7 y= L/(1 + a*exp(b*x))  
8 y= a*sin(b*x+c)+d  
9 y= cx^2+bx+a  
10 y= dx^3+cx^2+bx+a  
11 y= ex^4+dx^3+cx^2+bx+a  
Functions and commands  
349  
Configuration: a string which indicates which values you  
want to place in which row and if you want row and  
columns headers. Place each parameter in the order that  
you want to see them appear in the spreadsheet. (If you  
do not provide a configuration string, a default one will  
be provided.) The valid parameters are:  
H (Place column headers)  
h (Place row headers)  
sl (slope, only valid for modes 1–6)  
int (intercept, only valid for modes 1–6)  
cor (correlation, only valid for modes 1–6)  
cd (Coefficient of determination, only valid for modes  
1–6, 8–10)  
sCov (Sample covariance, only valid for modes 1–6)  
pCov (Population covariance, only valid for modes  
1–6)  
L (L parameter for mode 7)  
a (a parameter for modes 7-–11)  
b (b parameter for modes 7-–11)  
c (c parameter for modes 8–11)  
d (d parameter for modes 8, 1011)  
e (e parameter for mode 11)  
py (place 2 cells, one for user input and the other to  
display the predicted y for the input)  
px (place 2 cells, one for user input and the other to  
display the predicted x for the input)  
Example: REGRS(A25:B37,2)  
PredY  
Returns the predicted Y for a given x.  
PredY(mode, x, parameters)  
Modegoverns the regression model used:  
1 y= sl*x+int  
2 y= sl*ln(x)+int  
3 y= int*exp(sl*x)  
4 y= int*x^sl  
350  
Functions and commands  
5 y= int*sl^x  
6 y= sl/x+int  
7 y= L/(1 + a*exp(b*x))  
8 y= a*sin(b*x+c)+d  
9 y= cx^2+bx+a  
10 y= dx^3+cx^2+bx+a  
11 y= ex^4+dx^3+cx^2+bx+a  
Parametersis either one argument (a list of the  
coefficients of the regression line), or the n coefficients  
one after another.  
PredX  
Returns the predicted x for a given y.  
PredX(mode, y, parameters)  
Modegoverns the regression model used:  
1 y= sl*x+int  
2 y= sl*ln(x)+int  
3 y= int*exp(sl*x)  
4 y= int*x^sl  
5 y= int*sl^x  
6 y= sl/x+int  
7 y= L/(1 + a*exp(b*x))  
8 y= a*sin(b*x+c)+d  
9 y= cx^2+bx+a  
10 y= dx^3+cx^2+bx+a  
11 y= ex^4+dx^3+cx^2+bx+a  
Parametersis either one argument (a list of the  
coefficients of the regression line), or the n coefficients  
one after another.  
HypZ1mean  
The hypothesis test HypZ1mean is a one-sample Z-test for  
comparing means.:  
HypZ1mean( input list, ["configuration"])  
HypZ1mean(SampMean, SampSize,  
NullPopMean, PopStdDev, SigLevel, Mode,  
["configuration"])  
Functions and commands  
351  
Input List: A list of input variables (see Input Parameters  
below). This can be a range reference, a list of cell  
references, or a simple list of values.  
Input Parameters:  
SampMean  
SampSize  
NullPopMean  
PopStdDev  
SigLevel  
Mode: Specifies how to calculate the statistic:  
1 = Less than  
2 = Greater than  
3 = Not equal  
Configuration: A string that controls what results are  
shown and the order in which they appear. An empty  
string "" displays the default: all results (including  
headers).  
h = header cells will be created  
acc = Accept/Reject  
tZ = Test Z  
tM = Test Mean  
prob = Probability  
cZ = Critical Z  
cx1 = Critical xbar 1  
cx2 = Critical xbar 2  
std = Standard deviation  
HYPZ2mean  
The hypothesis test HypZ2mean is a two-sample Z-test for  
comparing means.  
HypZ2mean( input list, ["configuration"])  
HypZ2mean(SampMean, SampMean2,  
SampSize,SampSize2, PopStdDev,  
PopStdDev2,SigLevel, Mode,  
["configuration"])  
352  
Functions and commands  
Input List: A list of input variables (see Input Parameters  
below). This can be a range reference, a list of cell  
references, or a simple list of values.  
Input Parameters:  
SampMean  
SampMean2  
SampSize  
SampSize2  
PopStdDev  
PopStdDev2  
SigLevel  
Mode: Specifies how to calculate the statistic:  
1 = Less than  
2 = Greater than  
3 = Not equal  
Configuration: A string that controls what results are  
shown and the order in which they appear. An empty  
string "" displays the default: all results (including  
headers).  
h = header cells will be created  
acc = Accept/Reject  
tZ = Test Z  
tM = Test Mean  
prob = Probability  
cZ = Critical Z  
cx1 = Critical xbar 1  
cx2 = Critical xbar 2  
std = Standard deviation  
Functions and commands  
353  
HypZ1prop  
The hypothesis test HypZ1prop is a one-proportion Z-test.  
HypZ1prop(input list, ["configuration"])  
HypZ1prop(SuccCount, SampSize,  
NullPopProp, SigLevel, Mode,  
["configuration"])  
Input List: A list of input variables (see Input Parameters  
below). This can be a range reference, a list of cell  
references, or a simple list of values.  
Input Parameters:  
SuccCount  
SampSize  
NullPopMean  
SigLevel  
Mode: Specifies how to calculate the statistic:  
1 = Less than  
2 = Greater than  
3 = Not equal  
Configuration: A string that controls what results are  
shown and the order in which they appear. An empty  
string "" displays the default: all results (including  
headers).  
h = header cells will be created  
acc = Accept/Reject  
tZ = Test Z  
tP  
prob  
cZ  
cp1  
cp2  
std  
354  
Functions and commands  
HypZ2prop  
The hypothesis test HypZ2prop is a two-proportion Z-test for  
comparing means.  
HypZ2prop(input list, ["configuration"])  
HypZ2prop(SuccCount1, SuccCount2,  
SampSize1, SampSize2, SigLevel, Mode,  
["configuration"])  
Input List: A list of input variables (see Input Parameters  
below). This can be a range reference, a list of cell  
references, or a simple list of values.  
Input Parameters:  
SuccCount1  
SuccCount2  
SampSize1  
SampSize2  
SigLevel  
Mode: Specifies how to calculate the statistic:  
1 = Less than  
2 = Greater than  
3 = Not equal  
Configuration: A string that controls what results are  
shown and the order in which they appear. An empty  
string "" displays the default: all results (including  
headers).  
h = header cells will be created  
acc = Accept/Reject  
tZ = Test Z  
tP  
prob  
cZ  
cp1  
cp2  
Functions and commands  
355  
HypT1mean  
The hypothesis test HypT1mean is a one-sample T-test for  
comparing means.  
HypT1mean(input list, ["configuration"])  
HypT1mean(SampMean, SampStdDev, SampSize,  
NullPopProp, SigLevel, Mode,  
["configuration"])  
Input List: A list of input variables (see Input Parameters  
below). This can be a range reference, a list of cell  
references, or a simple list of values.  
Input Parameters:  
SampMean  
SampStdDev  
SampSize  
NullPopMean  
SigLevel  
Mode: Specifies how to calculate the statistic:  
1 = Less than  
2 = Greater than  
3 = Not equal  
Configuration: A string that controls what results are  
shown and the order in which they appear. An empty  
string "" displays the default: all results (including  
headers).  
h = header cells will be created  
acc = Accept/Reject  
tT  
prob  
df  
ct  
cX1  
cX2  
356  
Functions and commands  
HypT2mean  
The hypothesis test HypT2mean is a two-sample T-test for  
comparing means.  
HypT2mean(input list, ["configuration"])  
HypT2mean(SampMean1,  
SampMean2,SampStdDev1,  
SampStdDev2,SampSize1,SampSize2,pooled,  
SigLevel, Mode, ["configuration"])  
Input List: A list of input variables (see Input Parameters  
below). This can be a range reference, a list of cell  
references, or a simple list of values.  
Input Parameters:  
SampMean1  
SampMean2  
SampStdDev1  
SampStdDev2  
SampSize1  
SampSize2  
pooled = 0 == false or 1 == true  
SigLevel  
Mode: Specifies how to calculate the statistic:  
1 = Less than  
2 = Greater than  
3 = Not equal  
Configuration: A string that controls what results are  
shown and the order in which they appear. An empty  
string "" displays the default: all results (including  
headers).  
h = header cells will be created  
acc = Accept/Reject  
tT  
tM  
prob  
df  
Functions and commands  
357  
ct  
cX1  
cX2  
stD  
ConfZ1mean  
The ConfZ1mean calculates the confidence interval for a one-  
sample Z-test.  
ConfZ1mean(input list, ["configuration"])  
ConfZ1mean(SampMean, SampSize, PopStdDevm  
ConfLevel, ["configuration"])  
Input List: A list of input variables (see Input Parameters  
below). This can be a range reference, a list of cell  
references, or a simple list of values.  
Input Parameters:  
SampMean  
SampSize  
PopStdDevm  
ConfLevel  
Configuration: A string that controls what results are  
shown and the order in which they appear. An empty  
string "" displays the default: all results (including  
headers).  
h = header cells will be created  
Z
zXl  
zXh  
std  
ConfZ2mean  
The ConfZ2mean calculates the confidence interval for a two-  
sample Z-test.  
ConfZ2mean(input list, ["configuration"])  
ConfZ2mean(SampMean1, SampMean2,  
SampSize1, SampSize2,  
PopStdDev1,PopStdDev2 ConfLevel,  
["configuration"])  
358  
Functions and commands  
Input List: A list of input variables (see Input Parameters  
below). This can be a range reference, a list of cell  
references, or a simple list of values.  
Input Parameters:  
SampMean1  
SampMean2  
SampSize1  
SampSize2  
PopStdDev1  
PopStdDev2  
ConfLevel  
Configuration: A string that controls what results are  
shown and the order in which they appear. An empty  
string "" displays the default: all results (including  
headers).  
h = header cells will be created  
Z
zXl  
zXh  
zXm  
std  
ConfZ1prop  
The ConfZ1prop calculates the confidence interval for a one-  
proportion Z-test.  
ConfZ1prop(input list, ["configuration"])  
ConfZ1prop(SuccCount, SampSize,  
ConfLevel, ["configuration"])  
Input List: A list of input variables (see Input Parameters  
below). This can be a range reference, a list of cell  
references, or a simple list of values.  
Input Parameters:  
SuccCount  
SampSize  
ConfLevel  
Functions and commands  
359  
Configuration: A string that controls what results are  
shown and the order in which they appear. An empty  
string "" displays the default: all results (including  
headers).  
h = header cells will be created  
Z
zXl  
zXh  
zXm  
std  
ConfZ2prop  
The ConfZ1mean calculates the confidence interval for a two-  
proportion Z-test.  
ConfZ2prop(input list, ["configuration"])  
ConfZ2prop(SuccCount1, SuccCount2,  
SampSize1, SampSize2,ConfLevel,  
["configuration"])  
Input List: A list of input variables (see Input Parameters  
below). This can be a range reference, a list of cell  
references, or a simple list of values.  
Input Parameters:  
SuccCount1  
SuccCount2  
SampSize1  
SampSize2  
ConfLevel  
Configuration: A string that controls what results are  
shown and the order in which they appear. An empty  
string "" displays the default: all results (including  
headers).  
h = header cells will be created  
Z
zXl  
zXh  
360  
Functions and commands  
zXm  
std  
ConfT1mean  
The ConfT1mean calculates the confidence interval for a one-  
sample T-test.  
ConfT1mean(input list, ["configuration"])  
ConfT1mean(SampMean, SampStdDev,  
SampSize, ConfLevel, ["configuration"])  
Input List: A list of input variables (see Input Parameters  
below). This can be a range reference, a list of cell  
references, or a simple list of values.  
Input Parameters:  
SampMean  
SampStd  
SampSize  
ConfLevel  
Configuration: A string that controls what results are  
shown and the order in which they appear. An empty  
string "" displays the default: all results (including  
headers).  
h = header cells will be created  
DF  
T
tX1  
tXh  
std  
ConfT2mean  
The ConfT2mean calculates the confidence interval for a two-  
sample T-test.  
ConfT2mean(input list, ["configuration"])  
ConfT2mean(SampMean, SampMean2,  
SampStdDev, SampStdDev2, SampSize,  
SampSize2, pooled, ConfLevel,  
["configuration"])  
Functions and commands  
361  
Input List: A list of input variables (see Input Parameters  
below). This can be a range reference, a list of cell  
references, or a simple list of values.  
Input Parameters:  
SampMean  
SampMean2  
SampStdDev  
SampStdDev2  
SampSize  
SampSize2  
pooled  
ConfLevel  
Configuration: A string that controls what results are  
shown and the order in which they appear. An empty  
string "" displays the default: all results (including  
headers).  
h = header cells will be created  
DF  
T
zX  
zXh  
zXm  
std  
362  
Functions and commands  
 
Statistics 1Var app functions  
The Statistics 1Var app has three functions designed to work  
together to calculate summary statistics based on one of the  
statistical analyses (H1-H5) defined in the Symbolic view of  
the Statistics 1Var app.  
Do1VStats  
SetFreq  
Do1:variable statistics. Performs the same calculations as  
tapping  
in the Numeric view of the Statistics 1Var app  
and stores the results in the appropriate Statistics 1Var app  
results variables. Hn must be one of the Statistics 1Var app  
Symbolic view variables H1-H5.  
Do1VStats(Hn)  
Set frequency. Sets the frequency for one of the statistical  
analyses (H1-H5) defined in the Symbolic view of the  
Statistics 1Var app. The frequency can be either one of the  
columns D0-D9, or any positive integer. Hn must be one of the  
Statistics 1Var app Symbolic view variables H1-H5. If used,  
Dn must be one of the column variables D0-D9; otherwise,  
value must be a positive integer.  
SetFreq(Hn,Dn)  
or  
SetFreq(Hn,value)  
SetSample  
Set sample data. Sets the sample data for one of the statistical  
analyses (H1-H5) defined in the Symbolic view of the  
Statistics 1Var app. Sets the data column to one of the column  
variables D0-D9for one of the statistical analyses H1-H5.  
SetSample(Hn,Dn)  
Statistics 2Var app functions  
The Statistics 2Var app has a number of functions. Some are  
designed to calculate summary statistics based on one of the  
statistical analyses (S1-S5) defined in the Symbolic view of  
the Statistics 2Var app. Others predict X- and Y-values based  
on the fit specified in one of the analyses.  
PredX  
Predict X. Uses the fit from the first active analysis (S1-S5)  
found to predict an x-value given the y-value.  
PredX(value)  
Functions and commands  
363  
     
PredY  
Resid  
Predict Y. Uses the fit from the first active analysis (S1-S5)  
found to predict a y-value given the x-value.  
PredY(value)  
Residuals. Calculates a list of residuals, based on column data  
and a fit defined in the Symbolic view via S1-S5.  
Resid(Sn) or Resid()  
Resid() looks for the first defined analysis in the Symbolic view  
(S1-S5).  
Do2VStats  
Do 2:variable statistics. Performs the same calculations as  
tapping  
in the Numeric view of the Statistics 2Var app  
and stores the results in the appropriate Statistics 2Var app  
results variables. Sn must be one of the Statistics 2Var app  
Symbolic view variables S1-S5.  
Do2VStats(Sn)  
SetDepend  
SetIndep  
Set dependent column. Sets the dependent column for one of  
the statistical analyses S1-S5to one of the column variables  
C0-C9.  
SetDepend(Sn,Cn)  
Set independent column. Sets the independent column for one  
of the statistical analyses S1-S5to one of the column  
variablesC0-C9.  
SetIndep(Sn,Cn)  
Inference app functions  
The Inference app has a single function that returns the same  
results as tapping in the Numeric view of the Inference  
app. The results depend on the contents of the Inference app  
variables Method, Type, and AltHyp.  
DoInference  
Calculate confidence interval or test hypothesis. Performs the  
same calculations as tapping  
in the Numeric view of  
the Inference app and stores the results in the appropriate  
Inference app results variables.  
DoInference()  
364  
Functions and commands  
   
HypZ1mean  
The hypothesis test HypZ1mean is a one-sample Z-test for  
comparing means.:  
HypZ1mean(SampMean, SampSize,  
NullPopMean, PopStdDev, SigLevel, Mode)  
Mode: Specifies how to calculate the statistic:  
1 = Less than  
2 = Greater than  
3 = Not equal  
HYPZ2mean  
The hypothesis test HypZ2mean is a two-sample Z-test for  
comparing means.  
HypZ2mean(SampMean, SampMean2,  
SampSize,SampSize2, PopStdDev,  
PopStdDev2,SigLevel, Mode)  
Mode: Specifies how to calculate the statistic:  
1 = Less than  
2 = Greater than  
3 = Not equal  
HypZ1prop  
The hypothesis test HypZ1prop is a one-proportion Z-test.  
HypZ1prop(SuccCount, SampSize,  
NullPopProp, SigLevel, Mode)  
Mode: Specifies how to calculate the statistic:  
1 = Less than  
2 = Greater than  
3 = Not equal  
HypZ2prop  
The hypothesis test HypZ2prop is a two-proportion Z-test for  
comparing means.  
HypZ2prop(SuccCount1, SuccCount2,  
SampSize1, SampSize2, SigLevel, Mode)  
Functions and commands  
365  
 
Mode: Specifies how to calculate the statistic:  
1 = Less than  
2 = Greater than  
3 = Not equal  
HypT1mean  
The hypothesis test HypT1mean is a one-sample T-test for  
comparing means.  
HypT1mean(SampMean, SampStdDev, SampSize,  
NullPopProp, SigLevel, Mode)  
Mode: Specifies how to calculate the statistic:  
1 = Less than  
2 = Greater than  
3 = Not equal  
HypT2mean  
The hypothesis test HypT2mean is a two-sample T-test for  
comparing means.  
HypT2mean(SampMean1,  
SampMean2,SampStdDev1,  
SampStdDev2,SampSize1,SampSize2,pooled,  
SigLevel, Mode)  
Mode: Specifies how to calculate the statistic:  
1 = Less than  
2 = Greater than  
3 = Not equal  
ConfZ1mean  
ConfZ2mean  
The ConfZ1mean calculates the confidence interval for a one-  
sample Z-test.  
ConfZ1mean(SampMean, SampSize, PopStdDevm  
ConfLevel)  
The ConfZ2mean calculates the confidence interval for a two-  
sample Z-test.  
ConfZ2mean(SampMean1, SampMean2,  
SampSize1, SampSize2,  
PopStdDev1,PopStdDev2 ConfLevel)  
366  
Functions and commands  
   
ConfZ1prop  
ConfZ2prop  
ConfT1mean  
ConfT2mean  
The ConfZ1prop calculates the confidence interval for a one-  
proportion Z-test.  
ConfZ1prop(SuccCount, SampSize,  
ConfLevel, ["configuration"])  
The ConfZ1mean calculates the confidence interval for a two-  
proportion Z-test.  
ConfZ2prop(SuccCount1, SuccCount2,  
SampSize1, SampSize2,ConfLevel)  
The ConfT1mean calculates the confidence interval for a one-  
sample T-test.  
ConfT1mean(SampMean, SampStdDev,  
SampSize, ConfLevel)  
The ConfT2mean calculates the confidence interval for a two-  
sample T-test.  
ConfT2mean(SampMean, SampMean2,  
SampStdDev, SampStdDev2, SampSize,  
SampSize2, pooled, ConfLevel])  
Finance app functions  
The Finance App uses a set of functions that all reference the  
same set of Finance app variables. There are 5 main TVM  
variables, 4 of which are mandatory for each of these  
functions (except DoFinance). There are 3 other variables  
that are optional and have default values. These variables  
occur as arguments to the Finance app functions in the  
following set order:  
NbPmt—the number of payments  
IPYR—the annual interest rate  
PV—the present value of the investment or loan  
PMTV—the payment value  
FV—the future value of the investment or loan  
PPYR—the number of payments per year (12 by  
default)  
Functions and commands  
367  
     
CPYR—the number of compounding periods per year  
(12 by default)  
END—payments made at the end of the period  
The arguments PPYR, CPYR, and ENDare optional; if not  
supplied, PPYR=12, CPYR=PPYR, and END=1.  
CalcFV  
Solves for the future value of an investment or loan.  
CalcFV(NbPmt,IPYR,PV,PMTV[,PPYR,CPYR,END]  
CalcIPYR  
Solves for the interest rate per year of an investment or loan.  
CalcIPYR(NbPmt,PV,PMTV,FV[,PPYR,CPYR,  
END])  
CalcNbPmt  
CalcPMTV  
CalcPV  
Solves for the number of payments in an investment or loan.  
CalcNbPmt(IPYR,PV,PMTV,FV[,PPYR,CPYR,END])  
Solves for the value of a payment for an investment or loan.  
CalcPMTV(NbPmt,IPYR,PV,FV[,PPYR,CPYR,END])  
Solves for the present value of an investment or loan.  
CalcPV(NbPmt,IPYR,PMTV,FV[,PPYR,CPYR,END])  
DoFinance  
Calculate TVM results. Solves a TVM problem for the variable  
TVMVar. The variable must be one of the Finance app's  
Numeric view variables. Performs the same calculation as  
tapping  
in the Numeric view of the Finance app with  
TVMVar highlighted.  
DoFinance(TVMVar)  
Example:  
DoFinance(FV) returns the future value of an investment in  
the same way as tapping  
in the Numeric view of the  
Finance app with FVhighlighted.  
368  
Functions and commands  
 
Linear Solver app functions  
The Linear Solver app has 3 functions that offer the user  
flexibility in solving 2x2 or 3x3 linear systems of equations.  
Solve2x2  
Solves a 2x2 linear system of equations.  
Solve2x2(a, b, c, d, e, f)  
Solves the linear system represented by:  
ax+by=c  
dx+ey=f  
Solve3x3  
Solves a 3x3 linear system of equations.  
Solve3x3(a, b, c, d, e, f, g, h, i, j, k, l)  
Solves the linear system represented by:  
ax+by+cz=d  
ex+fy+gz=h  
ix+jy+kz=l  
LinSolve  
Solve linear system. Solves the 2x2 or 3x3 linear system  
represented by matrix.  
LinSolve(matrix)  
Example:  
LinSolve([[A, B, C], [D, E,F]]) solves the linear system:  
ax+by=c  
dx+ey=f  
Triangle Solver app functions  
The Triangle Solver app has a group of functions which allow  
solving a complete triangle from the input of three consecutive  
parts of the triangle. The names of these commands use A to  
signify an angle, and S to signify a side length. To use these  
commands, enter three inputs in the specified order given by  
the command name. These commands all return a list of the  
three unknown values (lengths of sides and/or measures of  
angles).  
Functions and commands  
369  
   
AAS  
ASA  
SAS  
SSA  
AAS Uses the measure of two angles and the length of the  
non-included side to calculate the measure of the third angle  
and the lengths of the other two sides.  
AAS(angle,angle,side)  
ASA Uses the measure of two angles and the length of the  
included side to calculate the measure of the third angle and  
the lengths of the other two sides.  
ASA(angle,side,angle)  
SAS Uses the length of two sides and the measure of the  
included angle to calculate the length of the third side and the  
measures of the other two angles.  
SAS(side,angle,side)  
SSA Uses the lengths of two sides and the measure of a non-  
included angle to calculate the length of the third side and the  
measures of the other two angles.  
SSA(side,side,angle)  
SSS  
SSS Uses the lengths of the three sides of a triangle to  
calculate the measures of the three angles.  
SSS(side,side,side)  
DoSolve  
Solves the current problem in the Triangle Solver app. The  
Triangle Solver app must have enough data entered to  
successfully solve that is, there must be at least three values  
entered, one of which must be a side length.  
DoSolve()  
Example:  
In Degree mode, SAS(2,90,2) returns {2.82… 45,45}.  
In the indeterminate case AASwhere two solutions may be  
possible, AASmay return a list of two such lists containing  
both results.  
370  
Functions and commands  
 
Linear Explorer functions  
SolveForSlope  
Input: enter two coordinates of the line: x2, x1, y2, y1  
Output: Slope of the line: m = (y2–y1)/(x2–x1)  
Example: SolveForSlope(3,2,4,2)yields 2  
SolveForYIntercept  
Input: x, y, m (that is, slope)  
Output: y-intercept of the line: c = y–mx  
Example: SolveForYIntercept(2,3,–1)yields 5  
Quadratic Explorer functions  
SOLVE  
Input: a, b, c where a, b, c are the constants in ax2+bx+c=0  
Output: Solves the equation to determine the value of x:  
(–b+-d)/2a where d = (b2 –4ac)  
Example: SOLVE(1,0,–4) yields {–2,2}  
DELTA  
Input: a, b, c where a, b, c are the constants in ax2+bx+c=0  
Output: Discriminant/Delta of the equation: D = b 2–4ac  
Example: DELTA(1,0,–4) yields 16  
Common app functions  
In addition to the app functions specific to each app, there are  
two functions common to the following apps:  
Function  
Solve  
Parametric  
Polar  
Sequence  
Advanced Graphing  
Functions and commands  
371  
   
CHECK  
Checks—that is, selects—the Symbolic view variable Symbn.  
Symbncan be any of the following:  
F0-F9—for the Function app  
E0-E9—for the Solve app  
H1-H5—for the Statistics 1Var app  
S1-S5—for the Statistics 2Var app  
X0/Y0-X9/Y9—for the parametric app  
R0-R9—for the Polar app  
U0-U9—for the Sequence app  
CHECK(Symbn)  
Example:  
CHECK(F1) checks the Function app Symbolic view variable  
F1. The result is that F1(X) is drawn in the Plot view and has a  
column of function values in the Numeric view of the Function  
app.  
UNCHECK  
Unchecks the Symbolic view variable Symbn.  
UNCHECK(Symbn)  
Example:  
UNCHECK(R1) unchecks the Polar app Symbolic view  
variable R1. The result is that R1() is not drawn in the Plot  
view and does not appear in the Numeric view of the Polar  
app.  
Ctlg menu  
The Catlg menu brings  
together all the functions and  
commands available on the  
HP Prime. However, this  
section describes the  
functions and commands  
that can only be found on  
the Catlg menu. The  
functions and commands that are also on the Math menu are  
described in “Keyboard functions” on page 307. Those that  
are also on the CAS menu are described in “CAS menu” on  
372  
Functions and commands  
     
page 322. The functions and commands specific to the  
Geometry app are described in “Geometry functions and  
commands” on page 165, and those specific to programming  
are described in “Program commands” on page 525.  
Some of the options on the Catlg menu can  
also be chosen from the relations palette  
(Sr)  
(
Inserts opening parenthesis.  
*
Multiplication symbol. Returns the product of numbers or the  
scalar product of two vectors.  
+
Addition symbol. Returns the term-by-term sum of two lists or  
two matrices, or adds two strings together.  
Subtraction symbol. Returns the term-by-term subtraction of  
two lists or two matrices.  
.*  
List or matrix multiplication symbol. Returns the term-by-term  
multiplication of two lists or two matrices.  
.*(Lst||Mtrx,Lst||Mtrx)  
Example:  
[[1,2],[3,4]].*[[3,4],[5,6]] gives  
[[3,8],[15,24]]  
./  
.^  
List or matrix division symbol. Returns the term-by-term division  
of two lists or two matrices.  
Returns the list or matrix where each term is the corresponding  
term of the list or matrix given as argument, raised to the  
power n.  
(Lst or Mtrx).^Intg(n)  
:=  
Stores the evaluated expression in the variable. Note that:=  
cannot be used with the graphics variables G0–G9. See the  
command BLIT.  
var:=expression  
Example:  
A:=3 stores the value 3 in the variable A  
Functions and commands  
373  
<
Strict inequality test. Returns 1 if the inequality is true, and 0  
if the inequality is false. Note that more than two objects can  
be compared. Thus 6 < 8 < 11 returns 1 (because it is true)  
whereas 6 < 8 < 3 returns 0 (as it is false).  
<=  
<>  
Inequality test. Returns 1 if the inequality is true, and 0 if the  
inequality is false. Note that more than two objects can be  
compared. See comment above regarding <.  
Inequality test. Returns 1 if the inequality is true, and 0 if the  
inequality is false.  
=
Equality symbol. Connects two members of an equation.  
==  
Equality test. Returns 1 if the equality is true, and 0 if the  
equality is false.  
>
Strict inequality test. Returns 1 if the inequality is true, and 0  
if the inequality is false. Note that more than two objects can  
be compared. See comment above regarding <.  
>=  
Inequality test. Returns 1 if the inequality is true, and 0 if the  
inequality is false. Note that more than two objects can be  
compared. See comment above regarding <.  
^
Inserts the power symbol.  
a2q  
Returns the symbolic expression in quadratic form in the  
variables given in VectVar of the symmetric matrix A.  
a2q(MtrxA,VectVar)  
Example:  
a2q([[1,2],[4,4]],[x,y])gives x^2+6*x*y+4*y^2  
abcuv  
ACOS  
Returns the polynomials U and V such that for polynomials A,  
B and C, PU+QV=R. With only polynomials as arguments, the  
variable used is x. With a variable as the final argument, the  
polynomials are expressions of it.  
abcuv(Poly(A),Poly(B),Poly(C),[Var])  
Example:  
abcuv(x^2+2*x+1,x^2-1,x+1)gives [1/2,(-1)/2]  
–1  
Arc cosine: cos x.  
ACOS(value)  
374  
Functions and commands  
additionally  
algvar  
Used in programming with assumeto state an additional  
assumption about a variable.  
Example:  
assume(n,integer);  
additionally(n>5);  
Returns the list of the symbolic variable names used in an  
expression. The list is ordered by the algebraic extensions  
required to build the original expression.  
algvar(Expr)  
Example:  
algvar(sqrt(x)+y)gives [[y],[x]]  
alog10  
altitude  
Returns the solution when 10 is taken to the power of an  
expression.  
alog10(Expr)  
Example:  
alog10(3)gives 1000  
Draws the altitude through A of the triangle ABC.  
altitude(Pnt or Cplx(A),Pnt or Cplx(B),Pnt or  
Cplx(C))  
Example:  
altitude(A,B,C)draws a line passing through point A  
that is perpendicular to BC.  
AND  
Logical And.  
expr1 AND expr2  
Example:  
3+1==4 AND 4 < 5returns 1.  
angleatraw  
Ans  
Displays the value of the measure of the angle AB-AC at point  
z0.  
angleatraw(Pnt(A),Pnt(B),Pnt(C),(Pnt or  
Cplx(z0)))  
Returns the previous answer.  
Ans  
Functions and commands  
375  
append  
apply  
Appends an element to a list, sequence or set.  
append((Lst||Seq||Set,Elem)  
Example:  
append([1,2,3],4)gives [1,2,3,4]  
Returns the result of applying a function to the elements in a  
list.  
apply(Fnc,Lst)  
Example:  
apply(x->x^3,[1,2,3])gives [1,8,27]  
approx  
With one argument, returns the numerical evaluation of it.  
With a second argument, returns the numerical evaluation of  
the first argument with the number of significant figures taken  
from the second argument.  
approx(Expr,[Int])  
areaat  
Displays the algebraic area at point z0 of a circle or a  
polygon. A legend is provided.  
areaat(Polygon,Pnt||Cplx(z0))  
areaatraw  
Displays the algebraic area at point z0 of a circle or a  
polygon.  
areaatraw(Polygone,Pnt||Cplx(z0))  
–1  
ASIN  
Arc sine: sine x.  
ASIN(value)  
assume  
Used in programming to state an assumption about a  
variable.  
assume(Expr)  
–1  
ATAN  
Arc tan: tan x.  
ATAN(value)  
barycenter  
Draws the barycenter of the system consisting of point 1 with  
weight coefficient 1, point 2 with weight coefficient 2, point 3  
with weight coefficient 3, etc.  
barycenter([Pnt1,Coeff1],[Pnt2,Coeff2],[Pnt3,  
Coeff3])  
Example:  
barycenter([–3,1],[3,1],[4,2]) gives point(2,0)  
376  
Functions and commands  
basis  
Returns the basis of the linear subspace defined by the set of  
vectors consisting of vector 1, vector 2,..., and vector n.  
basis(Lst(vector1,...,vectorn))  
Example:  
basis([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])  
gives [[-3,0,3],[0,-3,-6]]  
BEGIN  
Used in programming to begin a set of statements that should  
be taken as a single statement.  
bisector  
Draws the bisector of the angle AB-AC.  
bisector((Pnt(A) or Cplx),(Pnt(B) or  
Cplx),Pnt(C) or Cplx))  
Example:  
bisector(0,-4i,4)draws the line given by y=–x  
black  
blue  
Used with displayto specify the color of the geometrical  
object to be displayed.  
Used with displayto specify the color of the geometrical  
object to be displayed.  
bounded_function  
Returns the argument returned by a limit function thereby  
indicating that the function is bounded.  
BREAK  
Used in programming to interrupt a loop.  
breakpoint  
Used in programming to insert an intentional stopping or  
pausing point.  
canonical_form  
Returns a second degree trinomial in canonical form.  
canonical_form(Trinom(a*x^2+b*x+c),[Var])  
Example:  
canonical_form(2*x^2-12*x+1) gives 2*(x-3)^2-17  
cat  
Evaluates the objects in a sequence, then returns them  
concatenated as a string.  
cat(SeqObj)  
Example:  
cat("aaa",c,12*3)gives "aaac3"  
Functions and commands  
377  
center  
Displays a circle with its center indicated.  
center(Crcle)  
Example:  
center(circle(x^2+y2–x–y)) gives point(1/2,1/2)  
cFactor  
Returns an expression factorized over the complex field (on  
Gaussian integers if there are more than two ).  
cfactor(Expr)  
Example:  
cFactor(x^2*y+y)gives (x+i)*(x-i)*y  
charpoly  
chrem  
circle  
Returns the coefficients of the characteristic polynomial of a  
matrix. With only one argument, the variable used in the  
polynomial is x. With a variable as second argument, the  
polynomial is an expression of it.  
charpoly(Mtrx,[Var])  
Returns the Chinese remainders for two lists of integers.  
chrem(LstIntg(a,b,c....),LstIntg(p,q,r,....))  
Example:  
chrem([2,3],[7,5])gives [-12,35]  
With two arguments, draws a circle. If the second argument  
is a point, then the distance between it and the point given as  
the first argument is equal to the diameter the circle. If the  
second argument is a complex, then the center of the circle is  
at the point given in the first argument and the absolute value  
of the second argument is the radius of the circle.  
circle((Pnt or Cplx(A)),(Pnt or  
Cplx(B)),[Real(a)],[Real(b)],[Var(A)],[Var(B)  
])  
Example:  
circle(GA,GB) draws the circle with diameter AB  
circumcircle  
Returns the circumcircle of the triangle ABC.  
circumcircle((Pnt or Cplx(A)),(Pnt or  
Cplx(B)),((Pnt or Cplx(C)))  
Example:  
circumcircle(GA,GB,GC) draws the circle  
circumscribed about ΔABC  
378  
Functions and commands  
col  
colDim  
Returns the column of index n of a matrix.  
col(Mtrx,n)  
Example:  
col([[1,2,3],[4,5,6],[7,8,9]],1)gives [2,5,8]  
Returns the number of columns of a matrix.  
colDim(Mtrx)  
Example:  
coldim([[1,2,3],[4,5,6]])gives 3  
comDenom  
Rewrites a sum of rational fractions as a one rational fraction.  
The denominator of the one rational fraction is the common  
denominator of the rational fractions in the original  
expression. With a variable as second argument, the  
numerator and denominator are developed according to it.  
comDenom(Expr,[Var])  
Example:  
comDenom(1/x+1/y^2+1)gives (x*y^2+x+y^2)/  
(x*y^2)  
common_perpend  
icular  
Draws the common perpendicular of the lines D1 and D2.  
common_perpendicular(Line(D1),Line(D2))  
companion  
Returns the companion matrix of a polynomial.  
companion(Poly,Var)  
Example:  
companion(x^2+5x-7,x)gives [[0,7],[1,-5]]  
compare  
Compares objects, and returns 1 if type(arg1)<type(arg2) or  
if type(arg1)=type(arg2) and arg1<arg2, and returns 0  
otherwise.  
compare(Obj(arg1),Obj(arg2))  
Example:  
compare(1,2)gives 1  
complexroot  
With two arguments, returns vectors, each of which is either a  
complex root of the polynomial P with its multiplicity or an  
interval the boundaries of which are the opposite vertices of  
a rectangle with sides parallel to the axis and containing a  
complex root of the polynomial with the multiplicity of this  
root. With four arguments, returns vectors described as for  
Functions and commands  
379  
two arguments, but only for those roots lying in the rectangle  
with sides parallel to the axis having complex a and complex  
b as opposite vertices  
complexroot(Poly(P),Real(l),[Cplx(a)],[Cplx(b  
)])  
Example:  
complexroot(x^5-2*x^4+x^3+i,0.1)gives [[[(-21-  
12*i)/32,(-18-9*i)/32],1],[[(6-15*i)/16,(-6-  
21*i)/(16-16*i)],1],[[(27+18*i)/  
(16+16*i),(24-3*i)/16],1],[[(6+27*i)/  
(16+16*i),(9+6*i)/8],1],[[(-15+6*i)/  
(16+16*i),(-3+12*i)/16],1]]  
cone  
conic  
Draws a cone with vertex at A, direction given by v, half angle  
t, and, if provided, height h and –h.  
cone(Pnt(A),Vect(v),Real(t),[Real(h)])  
Defines a conic from an expression and draws it. Without a  
second argument, x and y are taken as the default variable.  
conic(Expr,[LstVar])  
Example:  
conic(x^2+y^2-81) draws a circle with center at (0,0)  
and radius of 9  
contains  
If the list or set l contains the element e, returns 1+ the index  
of the first occurrence of e in l. If the list or set l does not  
contain e, returns 0.  
contains((Lst(l) or Set(l)),Elem(e))  
Example:  
contains(%{0,1,2,3%},2)gives 3  
CONTINUE  
CONVERT  
Used in programming to bypass remaining statements in the  
current iteration and begin the next iteration in a loop.  
Returns the value of an expression subjected to a command.  
convert(Expr,Cmd)  
Example:  
convert(20_m, 1_ft) returns 65.6167979003_ft  
380  
Functions and commands  
convexhull  
Returns the convex hull of a list of two-dimensional points.  
convexhull(Lst)  
Example:  
convexhull(0,1,1+i,1+2i,-1-i,1-3i,-2+i)gives  
1-3*i,1+2*i,-2+i,-1-i  
CopyVar  
Copies the first variable into the second variable without  
evaluation.  
CopyVar(Var1,Var2)  
correlation  
Returns the correlation of the elements of a list or matrix.  
correlation(Lst||Mtrx)  
Example:  
correlation([[1,2],[1,1],[4,7]])gives 33/  
(6*sqrt(31))  
COS  
Cosine: cosx.  
COS(value)  
count  
Applies a function to the elements in a list or matrix and  
returns their sum.  
count(Fnc,(Lst||Mtrx))  
Example:  
count((x)->x,[2,12,45,3,7,78])gives 147  
covariance  
Returns the covariance of the elements in a list or matrix.  
covariance(Lst||Mtrx)  
Example:  
covariance([[1,2],[1,1],[4,7]])gives 11/3  
covariance_correl  
atio  
Returns the list of the covariance and the correlation of the  
elements of a list or matrix.  
covariance_correlation(Lst||Mtrx)  
Example:  
covariance_correlation([[1,2],[1,1],[4,7]])  
gives [11/3,33/(6*sqrt(31))]  
Functions and commands  
381  
cpartfrac  
Returns the result of partial fraction decomposition of a  
rational fraction in the complex field.  
cpartfrac(RatFrac)  
Example:  
cpartfrac((x)/(4-x^2))gives 1/((x-2)*-2)+1/  
((x+2)*-2)  
crationalroot  
Returns the list of complex rational roots of a polynomial  
without indicating the multiplicity.  
crationalroot(Poly)  
Example:  
crationalroot(2*x^3+(-5-7*i)*x^2+(-  
4+14*i)*x+8-4*i)gives [(3+i)/2,2*i,1+i]  
cube  
Draws a cube with a vertex at the line AB and a face in the  
plane containing A,B, and C.  
cube(Pnt(A),Pnt(B),Pnt(C))  
cumSum  
Returns the list, sequence or string whose elements are the  
cumulative sum of the original list, sequence or string.  
cumSum(Lst||Seq||Str)  
Example:  
cumSum([0,1,2,3,4])gives [0,1,3,6,10]  
cyan  
Used with displayto specify the color of the geometrical  
object to be displayed.  
cylinder  
Draws a cylinder with axis from A in the direction of vector v,  
with radius r, and, if provided, with height h.  
cylinder(Pnt(A),Vect(v),Real(r),[Real(h)])  
DEBUG  
Starts the debugger for the program name you specify. In a  
program, DEBUG( )will act as a breakpoint and launch the  
debugger at that location. This allows you to start debugging  
at a specific location, rather than starting at the beginning of  
the program.  
debug(program_name)  
382  
Functions and commands  
delcols  
delrows  
deltalist  
Returns the matrix that is matrix A with the columns n1...nk  
deleted.  
delcols(Mtrx(A),Interval(n1...nk)||n1)  
Example:  
delcols([[1,2,3],[4,5,6],[7,8,9]],1..1)gives  
[[1,3],[4,6],[7,9]]  
Returns the matrix that is matrix A with the rows n1...nk  
deleted.  
delrows(Mtrx(A),Interval(n1..n2)||n1)  
Example:  
delrows([[1,2,3],[4,5,6],[7,8,9]],1..1)gives  
[[1,2,3],[7,8,9]]  
Returns the list of the differences between consecutive terms in  
the original list.  
deltalist(Lst)  
Example:  
deltalist([1,4,8,9])gives [3,4,1]  
Dirac  
Returns the value of the Dirac delta function for a real number.  
Dirac(Real)  
Example:  
Dirac(1)gives 0  
division_point  
Returns a point M such that for the given a and b,  
(z–a)=k*(z–b) and z=MA=k*MB.  
division_point(Pnt or Cplx(a),Pnt or  
Cplx(b),Cplx(k))  
Example:  
division_point(0,6+6*i,4) returns point (8,8)  
DO  
Used in programming to initiate a step or sequence of steps.  
DrawSlp  
Draws the line with slope m that goes through the point (a,b)  
(i.e. y–b=m(x–a)).  
DrawSlp(Real(a),Real(b),Real(m))  
Example:  
DrawSlp(2,1,3) draws the line given by y=3x–5  
Functions and commands  
383  
e
Enters the mathematical constant e (Euler’s number).  
egcd  
Returns three polynomials U, V and D such that for two  
polynomials A and B:  
U(x)*A(x)+V(x)*B(x)=D(x)=GCD(A(x),B(x))  
(where GCD(A(x),B(x) is the greatest common divisor of  
polynomials A and B).  
The polynomials can be provided in symbolic form or as lists.  
Without a third argument, it is assumed that the polynomials  
are expressions of x. With a variable as third argument, the  
polynomials are expressions of it.  
egcd((Poly or Lst(A)),(Poly or Lst(B)),[Var])  
Example:  
egcd((x-1)^2,x^3-1)gives [-x-2,1,3*x-3]  
eigenvals  
Returns the sequence of eigenvalues of a matrix.  
eigenvals(Mtrx)  
Example:  
eigenvals([[-2,-2,1],[-2,1,-2],[1,-2,-2]])  
gives 3,-3,-3  
eigenvects  
eigVc  
Returns the eigenvectors of a diagonalizable matrix.  
eigenvects(Mtrx)  
Returns the eigenvectors of a diagonalizable matrix.  
eigVc(Mtrx)  
eigVl  
Returns the Jordan matrix associated with a matrix when the  
eigenvalues are calculable.  
eigVl(Mtrx)  
element  
Shows a point on a curve or a real in an interval.  
element((Curve or Real_interval),(Pnt or  
Real))  
Example:  
element(0..5) creates a value of 2.5 initially. Tapping  
on this value and pressing Enter enables you to press a  
cursor key to increase or decrease the value in a manner  
similar to a slider bar. Press Enter again to close the  
slider bar. The value you set can be used as a coefficient  
in a function you subsequently plot.  
384  
Functions and commands  
ellipse  
With three points (F1, F2, and M) as arguments, draws an  
ellipse with foci at F1 and F2 that passes though M. With two  
points and a real (F1, F2, and a) as arguments, draws an  
ellipse with foci at F1 and F2 that passes through point M such  
that MF1+MF2=2a. With one second degree polynomial  
p(x,y) as argument, draws the ellipse defined when the  
polynomial is set to equal 0.  
ellipse(Pnt(F1),Pnt(F2),(Pnt(M) or Real(a))  
or  
ellipse(p(x,y))  
Example:  
ellipse(GA,GB,3) draws an ellipse whose foci are  
points A and B. For any point P on the ellipse, AP+BP=6.  
ELSE  
END  
Used in programming to introduce the false clause in a  
conditional statement.  
Used in programming to end a set of statements that should  
be taken as a single statement.  
equilateral_  
triangle  
With three arguments, draws the equilateral triangle ABC of  
side AB. With four arguments, draws the equilateral triangle  
ABC in the plane ABP.  
equilateral_triangle((Pnt(A) or Cplx),(Pnt(B)  
or Cplx),[Pnt(P)],[Var(C)])  
EVAL  
evalc  
Evaluates an expression.  
eval(Expr)  
Returns an complex expression written in the form  
real+i*imag.  
evalc(Expr)  
Example:  
evalc(1/(x+y*i))returns x/(x^2+y^2)+(i)*(-y)/  
(x^2+y^2)  
evalf  
With one argument, returns the numerical evaluation of it.  
With a second argument, returns the numerical evaluation of  
the first argument with the number of significant figures taken  
from the second argument.  
evalf(Expr,[Int])  
Example:  
evalf(2/3)gives 0.666666666667  
Functions and commands  
385  
exact  
Converts an irrational expression to a rational or real  
expression.  
exact(Expr)  
Example:  
exact(1.4141)gives 14141/10000  
exbisector  
Draws the exterior bisector of the angle AB-AC given by A,B,  
and C.  
exbisector((Pnt or Cplx(A)),(Pnt or  
Cplx(B)),(Pnt or Cplx(C)))  
Example:  
exbisector(0,–4i,4) draws the line given by y=x  
excircle  
Draws the excircle of the triangle ABC.  
excircle((Pnt or Cplx(A)),(Pnt or  
Cplx(B)),(Pnt or Cplx(C)))  
Example:  
excircle(GA,GB,GC) draws the circle tangent to BC  
and to the rays AB and AC  
EXP  
Returns the solution to the mathematical constant e to the  
power of an expression.  
exp(Expr)  
Example:  
exp(0)gives 1  
exponential_  
regression  
Returns the coefficients (a,b) of y=b*a^x, where y is the  
exponential which best approximates the points whose  
coordinates are the elements in two lists or the rows of a  
matrix.  
exponential_regression(Lst||Mtrx(A),[Lst])  
Example:  
exponential_regression([[1.0,2.0],[0.0,1.0],[  
4.0,7.0]]) gives 1.60092225473,1.10008339351  
EXPORT  
Export. Exports the function FunctionNameso that it is  
globally available and appears on the User menu  
(D  
).  
EXPORT(FunctionName)  
386  
Functions and commands  
EXPR  
Parses the string str into a number or expression.  
expr(str)  
Examples:  
expr("2+3") returns 5.  
expr("X+10") returns 100.  
(If the variable X has the value 90)  
ezgcd  
f2nd  
Uses the EZ GCD algorithm to return the greatest common  
divisor of two polynomials with at least two variables.  
ezgcd(Poly,Poly)  
Example:  
ezgcd(x^2-2*xy+y^2-1,x-y)gives 1  
Returns a list consisting of the numerator and denominator of  
an irreducible form of a rational fraction.  
f2nd(RatFrac)  
Example:  
f2nd(42/12)returns [7,2]  
faces  
Returns the list of the faces of a polygon or polyhedron. Each  
face is a matrix of n rows and three columns (where n is the  
number of vertices of the polygon or polyhedron).  
faces(Polygon or Polyedr)  
Example:  
faces(polyhedron([0,0,0],[0,5,0],[0,0,5],[1,2  
,6])) gives  
polyhedron[[[0,0,0],[0,5,0],[0,0,5]],[[0,0,0]  
,[0,5,0],[1,2,6]],[[0,0,0],[0,0,5],[1,2,6]],[  
[0,5,0],[0,0,5],[1,2,6]]]  
factorial  
Returns the factorial of an integer or the solution to the gamma  
function for a non-integer.  
factorial(Intg(n)||Real(a))  
Example:  
factorial(4)gives 24  
Functions and commands  
387  
fMax  
Returns the value of the abscissa at the maximum value of an  
expression. Without a second argument, it is assumed that it  
the abscissa is x. With a variable as second argument, it is  
taken as the abscissa.  
fMax(Expr,[Var])  
Example:  
fMax(-x^2+2*x+1,x)gives 1  
fMin  
Returns the value of the abscissa at the minimum value of an  
expression. Without a second argument, it is assumed that it  
the abscissa is x. With a variable as second argument, it is  
taken as the abscissa.  
fMin(Expr,[Var])  
Example:  
fMin(x^2-2*x+1,x)gives 1  
FOR  
Used in programming in loops for which the number of  
iterations is known.  
format  
Returns a real number as a string with the indicated format  
(f=float, s=scientific, e=engineering).  
format(Real,Str("f4"||"s5"||"e6"))  
Example:  
format(9.3456,"s3")gives 9.35  
fracmod  
For a given integer n (representing a fraction) and an integer  
p (the modulus), returns the fraction a/b such that n=a/b(mod  
p).  
fracmod(Intg(n),Intg(p))  
Example:  
fracmod(41,121)gives 2/3  
froot  
Returns the list of roots and poles of a rational polynomial.  
Each root or pole is followed by its multiplicity.  
froot(RatPoly)  
Example:  
froot((x^5-2*x^4+x^3)/(x-3)) gives [0,3,1,2,3,-  
1]  
388  
Functions and commands  
fsolve  
Returns the numerical solution of an equation or a system of  
equations. With the optional third argument you can specify  
a guess for the solution or an interval within which it is  
expected that the solution will occur. With the optional fourth  
argument you can name the iterative algorithm to be used by  
the solver.  
fsolve(Expr,Var,[Guess or Interval],[Method])  
Example:  
fsolve(cos(x)=x,x,-1..1,bisection_solver)  
gives [0.739085133215]  
function_diff  
gauss  
Returns the derivative function of a function.  
function_diff(Fnc)  
Example:  
function_diff(sin)gives (`x`)->cos(`x`)  
Using the Gauss algorithm, returns the quadratic form of an  
expression written as a sum or difference of squares of the  
variables given in VectVar.  
gauss(Expr,VectVar)  
Example:  
gauss(x^2+2*a*x*y,[x,y])gives (a*y+x)^2+(-  
y^2)*a^2  
GETPIX_C  
GF  
Returns the color of the pixel G with coordinates x,y.  
GETPIX_P([G], xposition, yposition)  
G can be any of the graphics variables and is optional. The  
default is G0, the current graphic.  
Creates a Galois Field of characteristic p with p^n elements.  
GF(Intg(p),Intg(n))  
Example:  
GF(5,9)gives GF(5,k^9-k^8+2*k^7+2*k^5-k^2+2*k-  
2,[k,K,g],undef)  
Functions and commands  
389  
gramschmidt  
For a basis B of a vector subspace, and a function Sp that  
defines a scalar product on this vector subspace, returns an  
orthonormal basis for Sp.  
gramschmidt(Basis(B),ScalarProd(Sp))  
Example:  
gramschmidt([1,1+x],(p,q)->integrate(p*q,x,-  
1,1))gives [1/(sqrt(2)),(1+x-1)/(sqrt(6))/3]  
green  
Used with displayto specify the color of the geometrical  
object to be displayed.  
half_cone  
Draws a half-cone with vertex A, direction v, half angle t and,  
if applicable, height h.  
half_cone(Pnt(A),Vect(v),Real(t),[Real(h)])  
half_line  
Draws the half-line AB with A as the origin.  
half_line((Pnt or Cplx(A)),(Pnt or Cplx(B)))  
halftan2hypexp  
Returns an expression with sin(x), cos(x), tan(x) rewritten in  
terms of tan(x/2) and sinh(x), cosh(x), tanh(x) rewritten in  
terms of exp(x).  
halftan_hyp2exp(ExprTrig)  
Example:  
halftan_hyp2exp(sin(x)+sinh(x)) gives 2*tan(x/  
2)/(tan(x/2)^2+1)+(exp(x)-1/exp(x))/2  
halt  
Used in programming to go into step-by-step debugging  
mode.  
hamdist  
Returns the Hamming distance between two integers.  
hamdist(Intg,Intg)  
Example:  
hamdist(0x12,0x38)gives 3  
harmonic_  
conjugate  
Returns the harmonic conjugate of three points or of three  
parallel or concurrent lines, or returns the line of conjugates  
of a point with respect to two lines.  
harmonic_conjugate(Line or Pnt,Line or  
Pnt,Line or Pnt)  
390  
Functions and commands  
harmonic_division  
With three points and a variable as arguments, returns four  
points that are in a harmonic division. With three lines and a  
variable as arguments, returns four lines that are in a  
harmonic division.  
harmonic_division(Pnt or Line,Pnt or Line,Pnt  
or Line,Var)  
has  
Returns 1 if a variable is in an expression, and returns 0  
otherwise.  
has(Expr,Var)  
Example:  
has(x+y,x) gives 1  
head  
Returns the first element of a given vector, sequence or string.  
head(Vect or Seq or Str)  
Example:  
head(1,2,3)gives 1  
Heaviside  
Returns the value of the Heaviside function for a given real  
(i.e. 1 if x>=0, and 0 if x<0).  
Heaviside(Real)  
Example:  
Heaviside(1)gives 1  
hexagon  
Draws a hexagon of side AB in the plane ABP. The other four  
corners of the hexagon are named according to the variables  
given in the third, fourth, fifth and sixth arguments.  
hexagon(Pnt or Cplx(A),Pnt or  
Cplx(B),[Pnt(P)],[Var(C)],[Var(D)],[Var(E)],[  
Var(F)])  
Example:  
hexagon(0,6)draws a regular hexagon whose first two  
vertices are at (0, 0) and (6, 0)  
homothety  
Returns a point A1 such that vect(C,A1)=k*vect(C,A).  
homothety(Pnt(C),Real(k),Pnt(A))  
Example:  
homothety(GA,2,GB) creates a dilation centered at  
point A that has a scale factor of 2. Each point P on  
geometric object B has its image P’ on ray AP such that  
AP’=2AP.  
Functions and commands  
391  
hyp2exp  
Returns an expression with hyperbolic terms rewritten as  
exponentials.  
hyp2exp(ExprHyperb)  
Example:  
hyp2exp(cosh(x))gives (exp(x)+1/exp(x))/2  
hyperbola  
With three points (F1, F2, and M) as arguments, draws an  
hyperbola with foci at F1 and F2 that passes though M. With  
two points and a real (F1, F2, and a) as arguments, draws an  
hyperbola with foci at F1 and F2 that passes through point M  
such that |MF1–MF2|=2a. With one second degree  
polynomial p(x,y) as argument, draws the hyperbola defined  
when the polynomial is set to equal 0.  
hyperbola(Focus(F1),Focus(F2),(Pnt(M) or  
Real(a)))  
Example:  
hyperbola(GA,GB,GC) draws the hyperbola whose foci  
are points A and B and which passes through point C  
iabcuv  
Returns [u,v] such as au+bv=c for three integers a,b, and c.  
Note that c must be a multiple of the greatest common divisor  
of a and b for there to be a solution.  
iabcuv(Intg(a),Intg(b),Intg(c))  
Example:  
iabcuv(21,28,7)gives [-1,1]  
ibasis  
Returns the basis of the intersection of two vector spaces.  
ibasis(Lst(Vect,..,Vect),Lst(Vect,..,Vect))  
Example:  
ibasis([[1,0,0],[0,1,0]],[[1,1,1],[0,0,1]])  
gives [[-1,-1,0]]  
icontent  
Returns the greatest common divisor of the integer coefficients  
of a polynomial.  
icontent(Poly,[Var])  
Example:  
icontent(24x^3+6x^2-12x+18)gives 6  
392  
Functions and commands  
icosahedron  
id  
Draws an icosahedron with center A, vertex B and such that  
the plane ABC contains one vertex among the five nearest  
vertices from B.  
icosahedron(Pnt(A),Pnt(B),Pnt(C))  
Returns the solution to the identity function for an expression.  
id(Seq)  
Example:  
id(1,2,3)gives 1,2,3  
identity  
iegcd  
Returns the identity matrix of dimension n.  
identity(Intg(n))  
Example:  
identity(3)gives [[1,0,0],[0,1,0],[0,0,1]]  
Returns the extended greatest common divisor of two integers.  
iegcd(Intg,Intg)  
Example:  
iegcd(14, 21)returns [-1, 1, 7]  
IF  
Used in programming to begin a conditional statement.  
IFERR  
Executes sequence of commands1. If an error occurs during  
execution of commands1, execute sequence of commands2.  
Otherwise, execute sequence of commands3.  
IFERR commands1 THEN commands2 [ELSE  
commands3] END;  
IFTE  
igcd  
If a condition is satisfied, returns Expr1, otherwise returns  
Expr2.  
IFTE(Cond,Expr1,Expr2)  
Example:  
IFTE(2<3, 5-1, 2+7) returns 4  
Returns the greatest common divisor of two integers or two  
rationals or two polynomials of several variables.  
igcd((Intg(a) or Poly),(Intg(b) or Poly))  
Example:  
igcd(24, 36)returns 12  
Functions and commands  
393  
ilaplace  
incircle  
Returns the inverse Laplace transform of a rational fraction.  
ilaplace(Expr,[Var],[IlapVar])  
Example:  
ilaplace(1/(x^2+1)^2)gives (-x)*cos(x)/  
2+sin(x)/2  
Draws the incircle of triangle ABC.  
incircle((Pnt or Cplx(A)),(Pnt or  
Cplx(B)),(Pnt or Cplx(C)))  
Example:  
incircle(GA,GB,GC) draws the incircle of ΔABC  
inter  
interval2center  
inv  
With two curves or surfaces as arguments, returns the  
intersection of the curves or surfaces as a vector. With a point  
as the third argument, returns the intersection of the curves or  
surfaces close to the point.  
inter(Curve,Curve,[Pnt])  
Returns the center of an interval or object.  
interval2center(Interval or Real)  
Example:  
interval2center(2..5)gives 7/2  
Returns the inverse of an expression or matrix.  
inv(Expr||Mtrx)  
Example:  
inv(9/5)gives 5/9  
inversion  
Returns point A1 such that A1 is on line CA and  
mes_alg(CA1*CA)=k.  
inversion(Pnt(C),Real(k),Pnt(A))  
Example:  
inversion(GA,3,GB) draws point C on line AB such  
that AB*AC=3. In this case, point A is the center of the  
inversion and the scale factor is 3. Point B is the point  
whose inversion is created.  
394  
Functions and commands  
iPart  
Returns a real number without its fractional part or a list of real  
numbers each without its fractional part.  
iPart(Real||LstReal)  
Example:  
iPart(4.3)gives 4.0  
iquorem  
Returns the Euclidean quotient and remainder of two integers.  
iquorem(Intg(a),Intg(b))  
Example:  
iquorem(46, 23)returns [2, 17]  
isobarycenter  
Draws the isobarycenter of the given points.  
isobarycenter((Pnt or Cplx),(Pnt or Cplx),(Pnt  
or Cplx))  
Example:  
isobarycenter(–3,3,3*3*i) returns  
point(3*3*i/3), which is equivalent to (0,3)  
isopolygon  
With two points and n>0, draws a regular polygon with  
vertices at the two points and abs(n) vertices in total. With  
three points and n>0, draws a regular polygon with vertices  
at the first two points and the third point is in the plane of the  
polygon. With two points and n<0, draws a regular polygon  
with center at the first point and a vertex at the second point.  
With three points and n<0, draws a regular polygon with  
center at the first point, vertex at the second point and the third  
point is a point in the plane of the polygon.  
isopolygon(Pnt,Pnt,[Pnt],Intg(n))  
Example:  
isopolygon(GA,GB,6)draws a regular hexagon whose  
first two vertices are the points A and B  
isosceles_triangle  
Draws the isosceles triangle ABC. With an angle (t) as the  
third argument, it is equal to angle AB-AC. With a point (P)  
as the third argument, the triangle is in the plane formed by  
A, B and P, and angle AB-AC is equal to angle AB-AP. With  
a list consisting of a point and an angle as the third argument  
(t,P), the triangle is in the plane formed by A, B and P, and the  
angle AB-AC is equal to t.  
isosceles_triangle((Pnt or Cplx(A)),(Pnt or  
Cplx(B)),(Angle(t) or Pnt(P) or  
Lst(P,t)),[Var(C)])  
Functions and commands  
395  
Example:  
isosceles_triangle(GA,GB,angle(GC,GA,GB)  
defines an isosceles triangle such that one of the two  
sides of equal length is AB, and the angle between the  
two sides of equal length has a measure equal to that of  
angle ACB.  
jacobi_symbol  
Returns the Jacobi symbol of the given integers.  
jacobi_symbol(Intg,Intg)  
Example:  
jacobi_symbol(132,5)gives -1  
KILL  
Used in programming to stop a step-by-step execution with  
debugging.  
laplacian  
Returns the Laplacian of an expression with respect to a list of  
variables.  
laplacian(Expr,LstVar)  
Example:  
laplacian(exp(z)*cos(x*y),[x,y,z]) gives -  
x^2*cos(x*y)*exp(z)-  
y^2*cos(x*y)*exp(z)+cos(x*y)*exp(z)  
lcoeff  
Returns the coefficient of the term of highest degree of a  
polynomial. The polynomial can be expressed in symbolic  
form or as a list.  
lcoeff(Poly||Lst)  
Example:  
lcoeff(-2*x^3+x^2+7*x)gives -2  
legendre_symbol  
length  
Returns the Legendre symbol of the given integers.  
legendre_symbol(Intg,Intg)  
Example:  
legendre(4)gives 35*x^4/8+-15*x^2/4+3/8  
Returns the length of a list, string or sequence.  
length(Lst or Str or Seq)  
Example:  
length([1,2,3])gives 3  
396  
Functions and commands  
lgcd  
lin  
Returns the greatest common divisor of a list of integers or  
polynomials.  
lgcd(Seq or Lst)  
Example:  
lgcd([45,75,20,15])gives 5  
Returns an expression with the exponentials linearized.  
lin(Expr)  
Example:  
lin((exp(x)^3+exp(x))^2) gives  
exp(6*x)+2*exp(4*x)+exp(2*x)  
line_segments  
linear_interpolate  
linear_regression  
Returns the list of the line segments (one line=one segment) of  
a polyhedron.  
line_segments(Polygon or Polyedr(P))  
Takes a regular sample from a polygonal line defined by a  
matrix of two rows.  
linear_interpolate(Mtrx,xmin,xmax,xstep)  
Returns the coefficients a and b of y=a*x+b, where y is the  
line that best approximates the points whose coordinates are  
the elements in two lists or the rows of a matrix.  
linear_regression(Lst||Mtrx(A),[Lst])  
Example:  
linear_regression([[0.0,0.0],[1.0,1.0],[2.0,4  
.0],[3.0,9.0],[4.0,16.0]])gives 4.0,-2.0  
LineHorz  
LineTan  
LineVert  
Draws the horizontal line y=a.  
LineHorz(Expr(a))  
Draws the tangent to y=f(x) at x=a.  
LineTan(Expr(f(x)),[Var],Expr(a))  
Draws the vertical line x=a.  
LineVert(Expr(a))  
Functions and commands  
397  
list2mat  
Returns a matrix of n columns made by splitting a list into rows  
each containing n terms. If the number of elements in the list  
is not divisible by n, then the matrix is completed with zeros.  
list2mat(Lst(l),Intg(n))  
Example:  
list2mat([1,8,4,9],1)gives [[1],[8],[4],[9]]  
LN  
Returns the natural logarithm of an expression.  
ln(Expr)  
lname  
Returns a list of the variables in an expression.  
lname(Expr)  
Example:  
lname(exp(x)*2*sin(y))gives [x,y]  
lnexpand  
Returns the expanded form of a logarithmic expression.  
lnexpand(Expr)  
Example:  
lnexpand(ln(3*x)) gives ln(3)+ln(x)  
LOCAL  
locus  
Used in programming to define local variables.  
LOCALvar1,var2,…varn  
locus(M,A) draws the locus of M.  
locus(d,A) draws the envelope of d.  
A:=element(C) (C is a curve).  
locus(Pnt,Elem)  
LOG  
Returns the natural logarithm of an expression.  
LOG(Expr)  
log10  
Returns the log base 10 of an expression.  
log10(Expr)  
Example:  
log10(10) gives 1  
398  
Functions and commands  
logarithmic_  
regression  
Returns the coefficients a and b of y=a*ln(x)+b, where y is the  
natural logarithm that best approximates the points whose  
coordinates are the elements in two lists or the rows of a  
matrix.  
logarithmic_regression(Lst||Mtrx(A),[Lst])  
Example:  
logarithmic_regression([[1.0,1.0],[2.0,4.0],[  
3.0,9.0],[4.0,16.0]]) gives 10.1506450002,-  
0.564824055818  
logb  
Returns the logarithm of base b of a.  
logb(a,b)  
Example:  
logb(5,2) gives ln(5)/ln(2) which is approximately  
2.32192809489  
logistic_  
regression  
Returns y, y', C, y'max, xmax, and R, where y is a logistic  
function (the solution of y'/y=a*y+b), such that y(x0)=y0 and  
where [y'(x0),y'(x0+1)...] is the best approximation of the line  
formed by the elements in the list L.  
logistic_regression(Lst(L),Real(x0),Real(y0))  
Example:  
logistic_regression([0.0,1.0,2.0,3.0,4.0],0.0  
,1.0)gives [-17.77/(1+exp(-  
0.496893925384*x+2.82232341488+3.14159265359*  
i)),-2.48542227469/(1+cosh(-  
0.496893925384*x+2.82232341488+3.14159265359*  
i))]  
lvar  
Returns a list of variables used in an expression.  
lvar(Expr)  
Example:  
lvar(exp(x)*2*sin(y))gives [exp(x),sin(y)]  
magenta  
map  
Used with displayto specify the color of the geometrical  
object to be displayed.  
Applies a function to the elements of the list.  
map(Lst,Fnc)  
Example:  
map([1,2,3],x->x^3)gives [1,8,27]  
Functions and commands  
399  
mat2list  
matpow  
Returns the list of the terms of a matrix.  
mat2list(Mtrx)  
Example:  
mat2list([[1,8],[4,9]])gives [1,8,4,9]  
Calculates the nth power of a matrix by jordanization  
matpow(Mtrx,Intg(n))  
Example:  
matpow([[1,2],[3,4]],n)gives [[(sqrt(33)-  
3)*((sqrt(33)+5)/2)^n*-6/(-12*sqrt(33))+(-  
(sqrt(33))-3)*((-(sqrt(33))+5)/2)^n*6/(-  
12*sqrt(33)),(sqrt(33)-3)*((sqrt(33)+5)/  
2)^n*(-(sqrt(33))-3)/(-12*sqrt(33))+(-  
(sqrt(33))-3)*((-(sqrt(33))+5)/2)^n*(-  
(sqrt(33))+3)/(-  
12*sqrt(33))],[6*((sqrt(33)+5)/2)^n*-6/(-  
12*sqrt(33))+6*((-(sqrt(33))+5)/2)^n*6/(-  
12*sqrt(33)),6*((sqrt(33)+5)/2)^n*(-  
(sqrt(33))-3)/(-12*sqrt(33))+6*((-  
(sqrt(33))+5)/2)^n*(-(sqrt(33))+3)/(-  
12*sqrt(33))]]  
MAXREAL  
mean  
Returns the maximum real number that the HP Prime is  
capable of representing: 9.99999999999E499.  
Returns the arithmetic mean of a list or of the columns of a  
matrix (with the optional list a list of weights).  
mean(Lst||Mtrx,[Lst])  
Example:  
mean([1,2,3],[1,2,3])gives 7/3  
median  
Returns the median of a list or of the columns of a matrix (with  
the optional list a list of weights).  
median(Lst||Mtrx,[Lst])  
Example:  
median([1,2,3,5,10,4])gives 3.0  
400  
Functions and commands  
median_line  
Draws the median line through A of the triangle ABC.  
median_line((Pnt or Cplx(A)),(Pnt or  
Cplx(B)),(Pnt or Cplx(C)))  
Example:  
median_line(0,8i,4) draws the line whose equation  
is y=2x; that is, the line through (0,0) and (2,4), the  
midpoint of the segment whose endpoints are (0, 8) and  
(4, 0).  
member  
midpoint  
Tests if an element is in a list or set. If the element is in the list  
or set, returns 1+ the index of the first occurrence of the  
element. If the element is not in the list or set, returns 0.  
member(Elem(e),(Lst(l) or Set(l)))  
Example:  
member(1,[4,3,1,2]) gives 3  
Draws the midpoint of the line segment AB.  
midpoint((Pnt or Cplx(A)),(Pnt or Cplx(A)))  
Example:  
midpoint(0,6+6i)returns point(3,3)  
MINREAL  
MKSA  
Returns the minimum real number that the HP Prime is capable  
of representing: 1E4–99.  
Converts a unit object into a unit object written with the  
compatible MKSA base unit.  
mksa(Unit)  
Example:  
mksa(32_yd)returns 29.2608_m  
modgcd  
Uses the modular algorithm to return the greatest common  
divisor of two polynomials.  
modgcd(Poly,Poly)  
Example:  
modgcd(x^4-1,(x-1)^2)gives x-1  
Functions and commands  
401  
mRow  
Multiplies the row n1 of the matrix A by an expression.  
mRow(Expr,Mtrx(A),Intg(n1))  
Example:  
mRow(12,[[1,2],[3,4],[5,6]],0)gives  
[[12,24],[3,4],[5,6]]  
mult_c_conjugate  
If the given complex expression has a complex denominator,  
returns the expression after both the numerator and the  
denominator have been multiplied by the complex conjugate  
of the denominator. If the given complex expression does not  
have a complex denominator, returns the expression after  
both the numerator and the denominator have been  
multiplied by the complex conjugate of the numerator.  
mult_c_conjugate(Expr)  
Example:  
mult_c_conjugate(1/(3+i*2))gives 1*(3+(-i)*2)/  
((3+(i)*2)*(3+(-i)*2))  
mult_conjugate  
Takes an expression in which the numerator or the  
denominator contains a square root. If the denominator  
contains a square root, returns the expression after both the  
numerator and the denominator have been multiplied by the  
complex conjugate of the denominator. If the denominator  
does not contain a square root, returns the expression after  
both the numerator and the denominator have been  
multiplied by the complex conjugate of the numerator.  
mult_conjugate(Expr)  
Example:  
mult_conjugate(sqrt(3)-sqrt(2))gives (sqrt(3)-  
(sqrt(2)))*(sqrt(3)+sqrt(2))/  
(sqrt(3)+sqrt(2))  
nDeriv  
Returns an approximate value of the derivative of an  
expression at a given point, using f’(x)=(f(x+h)–f(x+h))/2*h.  
Without a third argument, the value of h is set to 0.001. With  
a real as third argument, it is the value of h.  
nDeriv(Expr,Var(var),[Real(h)])  
Example:  
nDeriv(f(x),x,h)gives (f(x+h)-(f(x-h)))*0.5/h  
NEG  
Unary minus. Enters the negative sign.  
402  
Functions and commands  
normal  
Returns the expanded irreducible form of an expression.  
normal(Expr)  
Example:  
normal(2*x*2)gives 4*x  
normalize  
Returns a vector divided by its l2 norm (where the l2 norm is the  
square root of the sum of the squares of the vector’s  
coordinates).  
normalize(Lst||Cplx)  
Example:  
normalize(3+4*i)gives (3+4*i)/5  
NOT  
Returns the logical inverse of a Boolean expression.  
not(Boolean)  
NTHROOT  
octahedron  
Gives the expression for calculating the nth root of a number.  
Draws an octahedron with center A and vertex B and such  
that the plane ABC contains four vertices.  
octahedron(Pnt(A),Pnt(B),Pnt(C))  
odd  
Returns 1 if a given integer is odd, and returns 0 otherwise.  
odd(Intg(n))  
Example:  
odd(6)gives 0  
open_polygon  
OR  
Draws a polygonal line with vertices at the elements of the  
given list.  
open_polygon(LstPnt||LstCplx)  
Logical Or.  
expr1 OR expr2  
Example:  
3+1==4 OR 8 < 5returns 1.  
order_size  
Returns the remainder (O term) of a series expansion:  
limit(x^a*order_size(x),x=0)=0 if a>0.  
order_size(Expr)  
Functions and commands  
403  
orthocenter  
orthogonal  
Shows the orthocenter of the triangle made with three points.  
orthocenter((Pnt or Cplx),(Pnt or Cplx),(Pnt  
or Cplx))  
Example:  
orthocenter(0,4i,4)returns (0,0)  
With a point (A) and a line (BC) as arguments, draws the  
orthogonal plane of the line that passes through the point.  
With a point (A) and a plane (BCD) as arguments, draws the  
orthogonal line of the plane that passes through the point.  
orthogonal(Pnt(A),(Line(BC) or Plane(BCD))  
Example:  
orthogonal(A,line(B,C)) draws the orthogonal  
plane of line BC through A and  
orthogonal(A,plane(B,C,D)) draws the orthogonal  
line of plane(B,C,D) through A.  
pa2b2  
pade  
Takes a prime integer n congruent to 1 modulo 4 and returns  
[a,b] such that a^2+b^2=n.  
pa2b2(Intg(n))  
Example:  
pa2b2(17) gives [4,1]  
Returns the Pade approximation i.e. a rational fraction P/Q  
such that P/Q=Xpr mod x^(n+1) or mod N with degree(P)<p.  
pade(Expr(Xpr), Var(x), (Intg(n) || Poly(N)),  
Intg(p))  
Example:  
pade(exp(x),x,10,6)gives (-x^5-30*x^4-420*x^3-  
3360*x^2-15120*x-30240)/(x^5-30*x^4+420*x^3-  
3360*x^2+15120*x-30240)  
parabola  
With two points (F, A) as arguments, draws a parabola of  
focus F and top A. With three points (F, A and P) as  
arguments, draws a parabola with focus F and top A in the  
plane ABP. With a complex (A) and a real (c) as arguments,  
draws a parabola of equation y=yA+c*(x–xA)^2. With one  
second degree polynomial (P(x,y)) as argument, draws the  
parabola when the polynomial is set to equal 0.  
parabola(Pnt(F)||Pnt(xA+i*yA),Pnt(A)||Real(c)  
,[Pnt(P)])  
404  
Functions and commands  
Example:  
parabola(GA,GB) draws a parabola whose focus is  
point A and whose directrix is line B  
parallel  
With a point and a line as arguments, draws the line through  
the point that is parallel to the given line. With a point and a  
plane as arguments, draws the plane through the point that is  
parallel to the given plane. with a point and two lines as  
arguments, draws the plane through the point that is parallel  
to the plane made by the two given lines.  
parallel(Pnt or Line,Line or Plane,[Line])  
Example:  
parallel(A, B) draws the line through point A that is  
parallel to line B  
parallelepiped  
parallelogram  
Draws a parallelepiped with sides AB, AC, and AD. The faces  
of the parallelepiped are parallelograms.  
parallelepiped(Pnt(A),Pnt(B),Pnt(C),Pnt(D))  
Draws the parallelogram ABCD such that  
vector(AB)+vector(AD)=vector(AC).  
parallelogram(Pnt(A)||Cplx,Pnt(B)||Cplx,Pnt(C  
)||Cplx,[Var(D)])  
Example:  
parallelogram(0,6,9+5i) draws a parallelogram  
whose vertices are at (0, 0), (6, 0), (9, 5), and (3,5). The  
coordinates of the last point are calculated automatically.  
perimeterat  
Displays the perimeter at point z0 of a circle or polygon. A  
legend is provided.  
perimeterat(Polygon,Pnt||Cplx(z0))  
perimeteratraw  
Displays the perimeter at point z0 of a circle or polygon.  
perimeteratraw(Polygon,Pnt||Cplx(z0))  
Functions and commands  
405  
perpen_bisector  
Draws the bisection (line or plane) of the segment AB.  
perpen_bisector((Pnt or Cplx(A)),(Pnt or  
Cplx(B)))  
Example:  
perpen_bisector(3+2i,i) draws the perpendicular  
bisector of a segment whose endpoints have coordinates  
(3, 2) and (0, 1); that is, the line whose equation is y=x/  
3+1.  
perpendicular  
With a point and a line as arguments, returns the line that is  
orthogonal to the given line and that passes through the given  
point. With a line and a plane as arguments, draws the plane  
that is orthogonal to the given plane and that contains the  
given line.  
perpendicular((Pnt or Line),(Line or Plane))  
Example:  
perpendicular(3+2i,line(x-y=1)) draws a line  
through the point whose coordinates are (3, 2) that is  
perpendicular to the line whose equation is x – y = 1;  
that is, the line whose equation is y=-x+5.  
PI  
Inserts pi.  
PIECEWISE  
Takes as arguments pairs consisting of a condition and an  
expression. Each of these pairs defines a sub-function of the  
piecewise function and the domain over which it is active. The  
syntax depends on the entry mode and working view:  
When textbook entry is enabled, the syntax (for both non-  
CAS and CAS) is:  
{ case1 if test1  
{ ...  
{ casen [if testn]  
Example:  
{“Even” if (324 MOD 2) == 0  
{“Odd” if  
returns “Even”  
When textbook entry is disabled, the syntax for non-CAS is:  
PIECEWISE(test1, case1, ...[, testn], casen)  
When textbook entry is disabled, the syntax for CAS is:  
piecewise(test1, case1, ...[, testn], casen)  
406  
Functions and commands  
plane  
With three points as arguments, draws the plane made by the  
three points. With a point and a line as arguments, draws the  
plane made by the point and the line. With an equation as  
argument, draws the plane corresponding to the equation in  
3D space.  
plane(Pnt or Eq, [Pnt or Line],[Pnt])  
plotinequation  
plotparam  
Draws the points of the plane whose coordinates satisfy the  
inequations of two  
plotinequation(Expr,[x=xrange,y=yrange],[xste  
p],[ystep])  
With a complex (a(t)+i*b(t)) and a list of values for the  
variable (t) as arguments, draws the parametric representation  
of the curve defined by x=a(t) and y=g(t) over the interval  
specified in the second argument. With a list of expressions of  
two variables (a(u,v),b(u,v),c(u,v)) and a list of values for the  
variables (u=u0...u1,v=v0...v1) as arguments, draws the  
surface defined by x=a(u,v), y=b(u,v), and z=c(u,v) over the  
intervals specified by in the second argument.  
plotparam(Cplx||Lst,Var||Lst(Var))  
plotpolar  
For an expression f(x), draws the polar curve r=f(x) for x over  
the interval VarMin to VarMax.  
plotpolar(Expr,Var,VarMin,VarMax)  
plotseq  
point  
Displays the pth terms of the sequence u(0)=a,u(n)=f(u(n–1)).  
plotseq(Expr(f(Var)),Var=[a,xm,xM],Intg(p))  
With a complex as argument, plots it. With the coordinates of  
a point in three dimensions as argument, plots it.  
point(Cplx||Vect)  
polar  
Returns the line of the conjugated points of A with respect to  
a circle.  
polar(Crcle,Pnt or Cplx(A))  
polar_coordinates  
Returns the list of the norm and of the argument of the affix of  
a point, complex number or list of rectangular coordinates.  
polar_coordinates(Pnt or Cplx or LstRectCoord)  
Example:  
polar_coordinates(point(1+2*i))gives  
[sqrt(5),atan(2)]  
Functions and commands  
407  
polar_point  
pole  
Returns the point with polar coordinates r and t.  
polar_point(Real(r),Real(t))  
Returns the point for which the line is polar with respect to the  
circle.  
pole(Crcle,Line)  
POLYCOEF  
Returns the coefficients of a polynomial with roots given in the  
vector argument.  
polyCoef(Vect)  
Example:  
POLYCOEF({-1, 1})returns {1, 0, -1}  
POLYEVAL  
polygon  
Evaluates a polynomial given by its coefficients at x0.  
polyEval(Vect,Real(x0))  
Example:  
POLYEVAL({1,0,-1},3)returns 8  
Draws the polygon whose vertices are elements in a list.  
polygon(LstPnt||LstCplx)  
Example:  
polygon(GA,GB,GD) draws ΔABD  
polygonplot  
polygonscatterplot  
polyhedron  
Draws the polygons made by joining the points (xk,yk), where  
xk=element row k column 0 and yk=element row k column j  
(for j fixed and for k=0...nrows).  
polygonplot(Mtrx)  
Draws the points (xk,yk) and the polygons made by joining  
the points (xk,yk), where xk=element row k column 0 and  
yk=element row k column j (for j fixed and for k=0...nrows).  
polygonscatterplot(Mtrx)  
Draws a convex polyhedron whose vertices are the points in  
the sequence.  
polyhedron(SeqPnt(A,B,C...))  
408  
Functions and commands  
polynomial_  
regression  
Returns the coefficients (an,...a1,a0) of  
y=an*x^n+..a1x+a0), where y is the nth order polynomial  
which best approximates the points whose coordinates are the  
elements in two lists or the rows of a matrix.  
polynomial_regression(Lst||Mtrx(A),[Lst],Intg  
(n))  
Example:  
polynomial_regression([[1.0,1.0],[2.0,4.0],[3  
.0,9.0],[4.0,16.0]],3)gives [-0.0,1.0,-  
0.0,0.0]  
POLYROOT  
potential  
Returns the zeros of the polynomial given as argument (either  
as symbolic expression or as a vector of coefficients).  
POLYROOT(P(x) or Vect)  
Example:  
POLYROOT([1,0,-1]}returns [-1, 1]  
Returns a function whose gradient is the vector field defined  
by Vect(V) and VectVar.  
potential(Vect(V),VectVar)  
Example:  
potential([2*x*y+3,x^2-4*z,-4*y],[x,y,z])  
gives 2*x^2*y/2+3*x-4*y*z  
power_regression  
Returns the coefficients (m,b) of y=b*x^m, where y is the  
monomial which best approximates the points whose  
coordinates are the elements in two lists or the rows of a  
matrix.  
power_regression(Lst|Mtrx(A),[Lst])  
Example:  
power_regression([[1.0,1.0],[2.0,4.0],[3.0,9.  
0],[4.0,16.0]])gives 2.0,1.0  
powerpc  
Returns the real number d^2–R^2, where d is the distance  
between the point and the center of the circle, and R is the  
radius of the circle.  
powerpc(Crcle,Pnt or Cplx)  
Example:  
powerpc(circle(0,1+i),3+i)gives 8  
Functions and commands  
409  
prepend  
primpart  
Adds an element to the beginning of a list.  
prepend(Lst,Elem)  
Example:  
prepend([1,2],3)gives [3,1,2]  
Returns a polynomial divided by the greatest common divisor  
of its coefficients.  
primpart(Poly,[Var])  
Example:  
primpart(2x^2+10x+6)gives x^2+5*x+3  
prism  
Draws a prism whose base is the plane ABCD and whose  
edges are parallel to the line made by A and A1.  
prism(LstPnt([A,B,C,D]),Pnt(A1))  
product  
With an expression as the first argument, returns the product  
of solutions when the variable in the expression is substituted  
from a to b with step p. If p is not provided, it is taken as 1.  
With a list as the first argument, returns the product of the  
values in the list. With a matrix as the first argument, returns  
the element-by-element product of the matrix.  
product(Expr||Lst,[Var||Lst],[Intg(a)],[Intg(  
b)],[Intg(p)])  
Example:  
product(n,n,1,10,2)gives 945  
projection  
propfrac  
Returns the orthogonal projection of the point on the curve.  
projection(Curve,Pnt)  
Returns a fraction or rational fraction A/B simplified to Q+r/  
B, where R<B or the degree of R is less than the degree of B.  
propfrac(Frac or RatFrac)  
Example:  
propfrac(28/12)gives 2+1/3  
ptayl  
Returns the Taylor polynomial Q such as P(x)=Q(x–a).  
ptayl(Poly(P(var)),Real(a),[Var])  
Example:  
ptayl(x^2+2*x+1,1)gives x^2+4*x+4  
410  
Functions and commands  
purge  
Unassigns a variable name.  
purge(Var)  
pyramid  
With three points as arguments, draws the pyramid with a  
face in the plane of the three points and with two vertices at  
the first and second points. With four points as arguments,  
draws the pyramid with vertices at the four points.  
pyramid(Pnt(A),Pnt(B),Pnt(C),[Pnt(D)])  
q2a  
Returns the matrix of a quadratic form with respect to the given  
in VectVar.  
q2a(QuadraForm,VectVar)  
Example:  
q2a(x^2+2*x*y+2*y^2,[x,y])gives [[1,1],[1,2]]  
quadrilateral  
quantile  
Draws the quadrilateral ABCD.  
quadrilateral(Pnt(A)||Cplx,Pnt(B)||Cplx,Pnt(C  
)||Cplx,Pnt(D)||Cplx)  
Returns the quantile of the elements of a list corresponding to  
p (0<p<1).  
quantile(Lst(l),Real(p))  
Example:  
quantile([0,1,3,4,2,5,6],0.25)gives [1.0]  
quartile1  
quartile3  
Returns the first quartile of the elements of a list or the columns  
of a matrix.  
quartile1(Lst||Mtrx,[Lst])  
Example:  
quartile1([1,2,3,5,10,4])gives 2.0  
Returns the third quartile of the elements of a list or the  
columns of a matrix.  
quartile3(Lst||Mtrx,[Lst])  
Example:  
quartile3([1,2,3,5,10,4])gives 5.0  
Functions and commands  
411  
quartiles  
quorem  
Returns the minimum, first quartile, median, third quartile, and  
maximum of the elements of a list or the columns of a matrix.  
quartiles(Lst||Mtrx,[Lst])  
Example:  
quartiles([1,2,3,5,10,4])gives  
[[1.0],[2.0],[3.0],[5.0],[10.0]]  
Returns the quotient and remainder of the Euclidean division  
(by decreasing power) of two polynomials. The polynomials  
can be expressed as vectors of their coefficients or in symbolic  
form.  
quorem((Vect or Poly),(Vect or Poly),[Var])  
Example:  
quorem([1,2,3,4],[-1,2])gives [poly1[-1,-4,-  
11],poly1[26]]  
QUOTE  
Returns an expression unevaluated.  
quote(Expr)  
radical_axis  
Returns the line which is the locus of points at which tangents  
drawn to two circles have the same length.  
radical_axis(Crcle,Crcle)  
randexp  
Returns a random real according to the exponential  
distribution of parameter a>0.  
randexp(Real(a))  
Example:  
randexp(1) gives 1.17118631006  
randperm  
ratnormal  
Returns a random permutation of [0,1,2,...,n–1].  
randperm(Intg(n))  
Example:  
randperm(4)gives [2,1,3,0]  
Rewrites an expression as an irreducible rational fraction.  
ratnormal(Expr)  
Example:  
ratnormal((x^2-1)/(x^3-1))gives (x+1)/  
(x^2+x+1)  
412  
Functions and commands  
reciprocation  
rectangle  
Returns the list where the point is replaced with its polar and  
the line is replaced with its pole with respect to the circle.  
reciprocation(Crcle,Lst(Pnt,Line))  
Draws the rectangle ABCD, where, if k is provided, AD=k*AB  
if k>0, and where, if k and P are provided, the rectangle is in  
the plane ABP with AD=AP and AD=k*AB.  
rectangle(Pnt(A)||Cplx,Pnt(B)||Cplx,Real(k)||  
Pnt(P)||Lst(P,k),[Var(D)],[Var(C)])  
rectangular_  
coordinat  
Returns the list of the abscissas and of the ordinates of points  
given by a list of their polar coordinates.  
rectangular_coordinates(LstPolCoord)  
Example:  
rectangular_coordinates([1,-1])gives [cos(1),-  
sin(1)]  
red  
Used with displayto specify the color of the geometrical  
object to be displayed.  
reduced_conic  
Takes a conic expression and a vector of , and returns the  
origin of the conic, the matrix of a basis in which the conic is  
reduced, 0 or 1 (0 if the conic is degenerate), the reduced  
equation of the conic, and a vector of the conic’s parametric  
equations.  
reduced_conic(Expr,[LstVar])  
Example:  
reduced_conic(x^2+2*x-2*y+1) gives [[-  
1,0],[[0,1],[-1,0]],1,y^2+2*x,[[-1+(-i)*(t*t/  
-2+(i)*t),t,-4,4,0.1]]]  
ref  
Returns the solution to a system of linear equations written in  
matrix form.  
ref(Mtrx(M))  
Example:  
ref([[3,1,-2],[3,2,2]])gives [[1,1/3,-2/  
3],[0,1,4]]  
Functions and commands  
413  
reflection  
With a line (D) and a point (C) as arguments, returns the  
reflection of the point across the line (i.e. the line is taken as  
a line of symmetry). With a point (A) and a curve (C) as  
arguments, returns the reflection of the curve about the point  
(i.e. the point is taken as the point of symmetry).  
reflection((Pnt(A) or Line(D)),(Pnt(C) or  
Curve(C)))  
Example:  
reflection(line(x=3),point(1,1)) reflects the point  
at (1, 1) over the vertical line x=3 to create a point at (5,1)  
remove  
reorder  
Returns a list with the elements that satisfy the Boolean  
function removed.  
remove(FncBool(f)||e,Lst(l))  
Example:  
remove(x->x>=5,[1,2,6,7])gives [1,2]  
Reorders the in an expression according to the order given in  
LstVar.  
reorder(Expr,LstVar)  
Example:  
reorder(x^2+2*x+y^2,[y,x])gives y^2+x^2+2*x  
REPEAT  
residue  
Used in programming to indicate a statement or statements  
that should be repeated until a given condition is true.  
Returns the residue of an expression at a.  
residue(Expr,Var(v),Cplx(a))  
Example:  
residue(1/z,z,0)gives 1  
restart  
Purges all the variables.  
restart(NULL)  
resultant  
Returns the resultant (i.e. the determinant of the Sylvester  
matrix) of two polynomials.  
resultant(Poly,Poly,Var)  
RETURN  
Used in programming return a value of a function at a certain  
point.  
return(Expr)  
414  
Functions and commands  
revlist  
Returns a list with the elements in reverse order.  
revlist(Lst)  
Example:  
revlist([1,2,3])gives [3,2,1]  
rhombus  
With two points (A and B) and an angle (a) as arguments,  
draws the rhombus ABCD such that the angle AB-AD=a. With  
three points as arguments (A, B and P), draws the rhombus  
ABCD in the plane ABP such that angle AB-AD=angle AB-AP.  
rhombus(Pnt(A)||Cplx,Pnt(B)||Cplx,Angle(a)||P  
nt(P)||Lst(P,a)),[Var(C)],[Var(D)])  
Example:  
rhombus(GA,GB,angle(GC,GD,GE)) draws a rhombus  
on segment AB such that the angle at vertex A has the  
same measure as angle DCE  
right_triangle  
With two points (A and B) and a real (k) as arguments, draws  
right-angled triangle such ABC such that AC=k*AB. With  
three points (A, B and P) as arguments, draws the right-angled  
triangle ABC in the plane ABP and such that AC=AP.  
right_triangle((Pnt(A) or Cplx),(Pnt(B) or  
Cplx),(Real(k) or Pnt(P) or  
Lst(P,k)),[Var(C)])  
romberg  
rotation  
Uses Romberg’s method to return the approximate value of the  
integral of the expression over the interval a to b.  
romberg(Expr(f(x)),Var(x),Real(a),Real(b))  
Example:  
romberg(exp(x^2),x,0,1)gives 1.46265174591  
With a point (B), an angle (a1) and another point (A) as  
arguments, returns the result of rotating the second point by  
the angle about the center of rotation given by the first point.  
With a line (Dr3), an angle (a1) and a curve as arguments,  
returns the result of rotating the curve by the angle about the  
axis of rotation given by the line.  
rotation((Pnt(B) or Cplx or  
Dr3),Angle(a1),(Pnt(A) or Curve))  
Example:  
rotation(GA,angle(GB,GC,GD),GK) rotates the  
geometric object labeled K, about point A, through an  
angle equal to angle CBD.  
Functions and commands  
415  
row  
Returns the row n or the sequence of the rows n1...n2 of the  
matrix A.  
row(Mtrx(A),Intg(n)||Interval(n1..n2))  
Example:  
row([[1,2,3],[4,5,6],[7,8,9]],1)gives [4,5,6]  
rowAdd  
Returns the matrix obtained from matrix A after the n2th row  
is replaced by the sum of the n1th row and the n2th row.  
rowAdd(Mtrx(A),Intg(n1),Intg(n2))  
Example:  
rowAdd([[1,2],[3,4],[5,6]],1,2)gives  
[[1,2],[3,4],[8,10]]  
rowDim  
Returns the number of rows of a matrix.  
rowDim(Mtrx)  
Example:  
rowdim([[1,2,3],[4,5,6]])gives 2  
rowSwap  
Returns the matrix obtained from matrix A after the n1th row  
and the n2th row are swapped.  
rowSwap(Mtrx(A),Intg(n1),Intg(n2))  
Example:  
rowSwap([[1,2],[3,4],[5,6]],1,2)gives  
[[1,2],[5,6],[3,4]]  
rsolve  
Returns the values of a recurrent sequence or a system of  
recurrent sequences.  
rsolve((Expr or LstExpr),(Var or  
LstVar),(InitVal or LstInitVal))  
Example:  
rsolve(u(n+1)=2*u(n)+n,u(n),u(0)=1 gives [-  
n+2*2^n-1]  
segment  
Draws a line segment connecting two points.  
segment((Pnt or Cplx),(Pnt or  
Cplx),[Var],[Var])  
Example:  
segment(1+2i,4) draws the segment defined by the  
points whose coordinates are (1,2) and (4,0)  
416  
Functions and commands  
select  
seq  
Returns a list with only the elements that satisfy the Boolean  
function remaining.  
select(FncBool(f),Lst(l))  
Example:  
select(x->x>=5,[1,2,6,7])gives [6,7]  
With an expression and two integers (a and b) as arguments,  
returns the sequence obtained when the expression is  
evaluated within the interval given by a and b. With an  
expression and three integers (a, b and p) as arguments,  
returns the sequence obtained when the expression is  
evaluated with step of p within the interval given by a and b.  
With an expression and three integers (n, a and b) as  
arguments, returns the sequence obtained when the  
expression is evaluated n times of equal spacing within the  
interval given by a and b.  
seq(Expr,Intg(n)||Var(var),[Intg(a)],[Intg(b)  
],[Intg(p)])  
Example:  
seq(2^k,k=0..8)gives 1,2,4,8,16,32,64,128,256  
seqsolve  
Returns the value of a recurrent sequence or a system of  
recurrent sequences (u_{n+1}=f(u_n) or  
u_{n+2}=f(u_{n+1},u_n)...).  
seqsolve((Expr or LstExpr),(Var or  
LstVar),(InitVal or LstInitVal))  
Example:  
seqsolve(2x+n,[x,n],1)gives -n-1+2*2^n  
shift_phase  
signature  
Returns the result of applying a phase shift of pi/2 to a  
trigonometric expression.  
shift_phase(Expr)  
Example:  
shift_phase(sin(x))gives -cos((pi+2*x)/2)  
Returns the signature of a permutation.  
signature(Permut)  
Example:  
signature([1,0,3,4,2])gives  
[100.0,100.0,0.0,87,14,""]  
Functions and commands  
417  
similarity  
With two points (B and A), a real (k) and an angle (a1) as  
arguments, returns a point that is the point similar to A across  
center B with angle a1 and with scaling coefficient k. With an  
axis (Dr3), a real (k) an angle (a1) and a point (A) as  
arguments, returns a point that is the point similar to A across  
the axis given by the line with angle a1 and with scaling  
coefficient k.  
similarity(Pnt(B) or  
Dr3,Real(k),Angle(a1),Pnt(A))  
Example:  
similarity(0,3,angle(0,1,i),point(2,0)) dilates  
the point at (2,0) by a scale factor of 3 (a point at (6,0)),  
then rotates the result 90° counterclockwise to create a  
point at (0,6)  
simult  
Returns the solution to a system of linear equations or several  
systems of linear equations presented in matrix form. In other  
words, in the case of one system of linear equations, takes a  
matrix A and a column matrix B, and returns column matrix X  
such A*X=B.  
simult(Mtrx(A),Mtrx(B))  
Example:  
simult([[3,1],[3,2]],[[-2],[2]])gives [[-  
2],[4]]  
SIN  
Sine: sinx.  
SIN(value)  
sincos  
Returns an expression with the complex exponentials rewritten  
in terms of sin and cos.  
sincos(Expr)  
Example:  
sincos(exp(i*x))gives cos(x)+(i)*sin(x)  
single_inter  
With two curves or two surfaces as arguments, returns one of  
the intersections of the two curves or surfaces. With to curves  
or surfaces and a point or list of points as arguments, returns  
an intersection of the curves or surfaces that is nearest to the  
point or not in the list of points.  
single_inter(Curve,Curve,[Pnt(A)||LstPnt(L)])  
418  
Functions and commands  
slopeat  
slopeatraw  
sphere  
Displays the value at point z0 of the slope of the line or  
segment d. A legend is provided.  
slopeat(Line,Pnt||Cplx(z0))  
Displays the value at point z0 of the slope of the line or  
segment d.  
slopeatraw(Line,Pnt||Cplx(z0))  
With two points as arguments, draws the sphere of diameter  
made by the line from one point to another. With a point and  
a real as arguments, draws the sphere with center at the point  
and radius given by the real.  
sphere((Pnt or Vect),(Pnt or Real))  
spline  
Returns the natural spline through the points given by two lists.  
The polynomials in the spline are in variable x and of degree d.  
spline(Lst(lx),Lst(ly),Var(x),Intg(d))  
Example:  
spline([0,1,2],[1,3,0],x,3) gives [-5*x^3/  
4+13*x/4+1,5*(x-1)^3/4+-15*(x-1)^2/4+(x-1)/-  
2+3]  
sqrt  
Returns the square root of an expression.  
sqrt(Expr)  
Example:  
sqrt(50) gives 5*sqrt(2)  
square  
Draws the square of side AB in the plane ABP.  
square((Pnt(A) or Cplx),(Pnt(B) or  
Cplx),[Pnt(P),Var(C),Var(D)])  
Example:  
square(0, 3+2i,p,q) draws a square with vertices at  
(0,0), (3,2), (1,5), and (-2,3). The last two vertices are  
computed automatically and are saved into the CAS  
variables p and q.  
stddev  
Returns the standard deviance of the elements in a list with the  
or returns the list of standard deviances of the columns of a  
matrix. The optional second list is a list of weights.  
stddev(Lst||Mtrx,[Lst])  
Example:  
stddev([1,2,3])gives (sqrt(6))/3  
Functions and commands  
419  
stddevp  
Returns the population standard deviation of the elements in  
a list or returns the list of standard deviations of the columns  
of a matrix. The optional second list is a list of weights.  
stddevp(Lst||Mtrx,[Lst])  
Example:  
stddevp([1,2,3])gives 1  
STEP  
sto  
Used in programming to indicate the step in an iteration or  
the step size of an incrementation.  
Stores a real or string in a variable.  
sto((Real or Str),Var)  
sturmseq  
Returns the Sturm sequence for a polynomial or a rational  
fraction.  
sturmseq(Poly,[Var])  
Example:  
sturmseq(x^3-1,x)gives [1,[[1,0,0,-  
1],[3,0,0],9],1]  
subMat  
Extracts from a matrix a sub matrix with first element=A[n1,n2]  
and last element=A[n3,n4].  
subMat(Mtrx(A),Intg(n1),Intg(n2),Intg(n3),Int  
g(n4))  
Example:  
subMat([[1,2],[3,4],[5,6]],1,0,2,1) gives  
[[3,4],[5,6]]  
suppress  
surd  
Returns a list without the nth element.  
suppress(Lst,Intg(n))  
Example:  
suppress([0,1,2,3],2) gives [0,1,3]  
Returns an expression to the power of 1/n.  
surd(Expr,Intg(n))  
Example:  
surd(8,3) gives 8^(1/3)  
420  
Functions and commands  
sylvester  
Returns the Sylvester matrix of two polynomials.  
sylvester(Poly,Poly,Var)  
Example:  
sylvester(x^2-1,x^3-1,x)gives [[1,0,-  
1,0,0],[0,1,0,-1,0],[0,0,1,0,-1],[1,0,0,-  
1,0],[0,1,0,0,-1]]  
table  
tail  
Defines an array where the indexes are strings or real  
numbers.  
table(SeqEqual(index_name=element_value))  
Returns a list or sequence or string without its first element.  
tail(Lst or Seq or Str)  
Example:  
tail([3,2,4,1,0])gives [2,4,1,0]  
TAN  
Tangent: tan(x).  
tan(value)  
tan2cossin2  
Returns an expression with tan(x) rewritten as (1–cos(2*x))/  
sin(2*x).  
tan2cossin2(Expr)  
Example:  
tan2cossin2(tan(x))gives (1-cos(2*x))/sin(2*x)  
tan2sincos2  
tangent  
Returns an expression with tan(x) rewritten as sin(2*x)/  
(1+cos(2*x)).  
tan2sincos2(Expr)  
Example:  
tan2sincos2(tan(x))gives sin(2*x)/(1+cos(2*x)  
With a curve as argument, draws the tangent line to the curve  
at point A. With a surface as argument, draws the tangent  
plane to the surface at point A.  
tangent(Curve or surface(C),Pnt(A))  
Example:  
tangent(plotfunc(x^2),GA) draws the tangent to the  
graph of y=x^2 through point A  
THEN  
Used in programming to introduce a statement dependent on  
a conditional statement.  
Functions and commands  
421  
TO  
Used in programming in a loop when expressing the range of  
values of a variable for which a statement should be executed.  
translation  
With a vector and a point as arguments, returns the point  
translated by the vector. With two points as arguments, returns  
the second point translated by the vector from the origin to the  
first point.  
translation(Vect,Pnt(C))  
Example:  
translation(0-i,GA) translates object A down one  
unit  
transpose  
Returns a matrix transposed (without conjugation).  
transpose(Mtrx)  
Example:  
tran([[1,2,3],[1,3,6],[2,5,7]])gives  
[[1,1,2],[2,3,5],[3,6,7]]  
triangle  
trunc  
Draws a triangle with vertices at the three points.  
triangle((Pnt or Cplx),(Pnt or Cplx),(Pnt or  
Cplx))  
Returns a value or a list of values truncated to n decimal  
places. If n is not provided, it is taken as 0. Accepts complex  
numbers.  
trunc(Real||LstReal,Int(n))  
Example:  
trunc(4.3) gives 4  
tsimplify  
Returns an expression with transcendentals rewritten as  
complex exponentials.  
tsimplify(Expr)  
Example:  
tsimplify(exp(2*x)+exp(x))gives  
exp(x)^2+exp(x)  
type  
Returns the type of an expression (e.g. list, string).  
type(Expr)  
Example:  
type("abc")gives DOM_STRING  
422  
Functions and commands  
UFACTOR  
unapply  
Factorizes a unit in a unit object.  
ufactor(Unit,Unit)  
Returns the function defined by an expression and a variable.  
unapply(Expr,Var)  
Example:  
unapply(2*x^2,x) gives (x)->2*x^2  
UNTIL  
Used in programming to indicate the conditions under which  
a statement should stop being executed.  
USIMPLIFY  
Simplifies a unit in a unit object.  
usimplify(Unit)  
valuation  
Returns the valuation (degree of the term of lowest degree) of  
a polynomial. With only a polynomial as argument, the  
valuation returned is for x. With a variable as second  
argument, the valuation is performed for it.  
valuation(Poly,[Var])  
Example:  
valuation(x^4+x^3)gives 3  
variance  
Returns the variance of a list or the list of variances of the  
columns of a matrix. The optional second list is a list of  
weights.  
variance(Lst||Mtrx,[Lst])  
Example:  
variance([3,4,2])gives 2/3  
vector  
With one point as argument, defines a vector from the origin  
to the point. With two points as arguments, defines a vector  
from the first point to the second point. With a point and a  
vector as arguments, defines a vector beginning from the  
point and with direction and magnitude of the vector.  
vector(Pnt,Pnt||Pnt,Vect)  
vertices  
Returns the list of the vertices of a polygon or polyhedron.  
vertices(Polygon or Polyedr)  
vertices_abca  
Returns the closed list [A,B,...A] of the vertices of a polygon or  
polyhedron.  
vertices_abca(Polygon or Polyedr)  
Functions and commands  
423  
vpotential  
Returns U such as curl(U)=V.  
vpotential(Vect(V),LstVar)  
Example:  
vpotential([2*x*y+3,x^2-4*z,-2*y*z],[x,y,z])  
gives [0,-2*x*y*z,-x^3/3+4*x*z+3*y]  
when  
Used to introduce a conditional statement.  
WHILE  
Used to indicate the conditions under which a statement  
should be executed.  
XOR  
Exclusive or. Returns 1 if the first expression is true and the  
second expression is false or if the first expression is false and  
the second expression is true. Returns 0 otherwise.  
xor(Expr1,Expr2)  
yellow  
zip  
Used with displayto specify the color of the geometrical  
object to be displayed.  
Applies a bivariate function to the elements of two lists.  
Without the default value its length is the minimum of the  
lengths of the two lists and the shorter list is padded with the  
default value.  
zip(Fnc2d(f),Lst(l1),Lst(l2),[Val(default)])  
Example:  
zip('+',[a,b,c,d], [1,2,3,4])gives  
[a+1,b+2,c+3,d+4]  
|
Substitutes a value for a variable in an expression.  
|(Expr,Var(v1)=value(a1)[,v2=a2,...])  
Returns the square of an expression.  
(Expr)2  
2
Inserts pi.  
Inserts a template for a partial derivative expression.  
Inserts a template for a summation expression.  
Inserts a minus sign.  
Inserts a square root sign.  
Inserts a template for an antiderivative expression.  
Inserts a not-equal-to sign.  
424  
Functions and commands  
Inserts a less-than-or-equal-to sign.  
Inserts a greater-than-or-equal-to sign.  
Evaluates the expression then stores the result in variable var.  
Note that cannot be used with the graphics G0–G9. See the  
command BLIT.  
expression var  
i
-1  
Inserts the imaginary number i.  
Returns the inverse of an expression.  
(Expr)–1  
Creating your own functions  
You can create your own function by writing a program (see  
chapter 27) or by using the simpler DEFINEfunctionality.  
Functions you create yourself appear on the User menu (one  
of the Toolbox menus).  
Suppose you wanted to create the function  
SINCOS(A,B)=SIN(A)+COS(B)+C.  
1. Press Sd (Define).  
2. In the Name field, enter  
a name for the  
function—for example,  
SINCOS—and tap  
.
3. In the Function field,  
enter the function.  
eAA>+fAB>AC  
New fields appear  
below your function, one  
for each potential  
parameter it. will take.  
You need to decide  
which ones are to be  
parameters when the  
function is called. In this  
example, we’ll make A  
and B parameters. The value of C will be provided by  
global variable C (which by default is zero).  
Functions and commands  
425  
       
4. Make sure that Aand Bare selected and Cis not.  
5. Tap  
.
You can run your function by entering it on the entry line  
in Home view, or be selecting it from the USER menu. You  
enter the value for each variable you chose to be a  
parameter. In this example. we chose A and B to be  
parameters. Thus you might enter SINCOS(0.5, 0.75).  
426  
Functions and commands  
22  
Variables  
Variables are placeholders for objects (such as function  
definitions, numbers, matrices, the results of calculations,  
and the like). Some are built-in and cannot be deleted. But  
you can also create your own.  
Many built-in variables are automatically assigned objects  
as a result of some operation (such as defining a polar  
function, performing a calculation, or setting an option).  
For example, if you define a polar function, that definition  
is assigned to variable named R0 to R . If you use the  
n
Function app to find the slope of a curve at some x-value,  
the slope is assigned to a variable named Slope. And if  
you choose binary as the base for integer arithmetic, a  
built-in variable named Baseis given the value 0. If you  
had chosen octal instead, Basewould have been given  
the value 1.  
Creating variables  
Variables you create are assigned whatever value you  
give them. You can assign a value to certain built-in  
variables (such as the Home variables). You can also  
create your own variables. Example 1 below gives an  
example of assigning a value to a built-in variable, and  
example 2 illustrates how to create a variable and assign  
a value to it  
Example 1: To assign 2 to the built-in variable A:  
Szj  
AaE  
Your stored value  
appears as shown at the  
right. If you then wanted  
to multiply your stored  
value by 5, you could  
enter:  
Aas5E  
Variables  
427  
     
To assign an object to a built-in variable, it is important  
that you choose a variable that matches the type of object.  
For example, you cannot assign a complex number to the  
variables A through Z. These are reserved fro real  
numbers. Complex numbers need to be assigned to  
variables Z0 through Z9. Likewise, matrices can only be  
assigned to the built-in variables M0 through M9. See  
“Home variables” on page 431 for more information.  
You can also take advantage of the built-in variables in  
CAS view. However, the built-in CAS variables must be  
entered in lowercase: az.  
Example 2: You can create your own variables—in  
Home view and in CAS view. For example, suppose you  
want to create a variable called MEand assign 2 to it.  
You would enter:  
Szj  
A message appears asking if you want to create a  
variable called ME. Tap or press E to  
AQAcE  
confirm your intention. You can now use that variable in  
subsequent calculations: ME*3will yield 303, for  
example.  
You can also create variables by entering [variable  
name]:=[object]. For example, entering  
AxAoAtAwS.55  
Eassigns 55 to the variable YOU. You can now use  
that variable in subsequent calculations: YOU+60 will  
yield 115, for example.  
Using variables to  
change settings  
Just as you can assign values to variables you create  
yourself, you can assign values to certain built-in  
variables. You could modify Home settings on the Home  
Settings screen (SH). But you can also modify a  
Home setting from Home view by assigning a value to the  
variable that represents that setting. For example, entering  
0
BaseE in Home view forces the setting  
for the integer base to binary. (A value of 1 would force it  
to octal, 2 to decimal, and 3 to hex.) Another example:  
you can change the angle measure setting from radians to  
428  
Variables  
degrees by entering 1  
view. Entering 0  
HAngleE in Home  
HAngleE forces the  
setting to return to radians.  
Retrieving variables  
You can see what value has been assigned to a  
variable—built-in or user-defined—by entering its name in  
Home view and pressing E. You can enter the  
name letter by letter, or choose the variable from the  
Variables menu.  
The Variables menu is  
opened by tapping a.  
There are four sub-  
menus, covering Home,  
CAS, app, and user  
variables. Home  
variables are the built-in  
variables set by what you  
do in Home view or by the settings you choose on the  
Home Settings screen. Some examples are HAngle  
and Base. App variables are also built-in, but they are set  
by what you do in an app. Some examples are XMaxand  
Slope. The CAS variables and user variables are those  
you create yourself.  
If you want to retrieve just the value of a variable and not  
its name, tap  
before you select the variable from a  
Variables menu.  
Qualifying  
variables  
Some variables are common to more than one app. For  
example, the Function app has a variable named Xmin,  
but so too does the Polar app, the Parametric app, the  
Sequence app, and the Solve app. Likewise, the X  
variable is common to both the Statistics 1Var and  
Statistics 2Var apps. Although named identically, these  
variables can hold different values.  
Variables  
429  
       
If you attempt to retrieve  
a variable that is used in  
more than one app by  
entering just its name in  
Home view, you will get  
the value that was last  
calculated for that  
variable. This might not  
be the value that you want. To ensure you get the right  
value, you need to qualify the variable with the name of  
the app that generated it. In the example at the right, the  
variable X was entered, but it returned the value of that  
variable as it was calculated in the Statistics 1Var app (the  
first entry). However, it was the value of the variable as it  
was calculated in the Statistics 2Var app that was sought.  
To retrieve that value, the variable name had to be  
qualified by prefixing it with the name of the app that  
generated it: Statistics_2Varfollowed by a period  
(the second entry).  
Note the syntax required:  
app_name.variable_name  
Spaces are not allowed in an app name and must be  
represented by the underscore character: SX. The  
app can be a built-in app or one you have crated based  
on a built-in app. The name of a built-in variable must  
match a name listed in the Home variables or App  
variables tables below.  
Tip  
Non-standard characters in variables name—such as   
and —can be entered by selecting them from the special  
symbols palette: Sr.  
430  
Variables  
Home variables  
The Home variables are accessed by pressing a and  
tapping  
.
Category  
Names  
Real  
A to Z and   
For example, 7.45  
A
Complex  
Z0 to Z9  
For example, 2+3×i  
Z1 or  
(2,3)  
Z1 (depending on your  
Complex number settings)  
List  
L0 to L9  
For example, {1,2,3}  
L1.  
Matrix  
M0 to M9  
Store matrices and vectors in these  
variables.  
For example, [[1,2],[3,4]]  
M1.  
Graphics  
Settings  
G0 to G9  
HAngle  
HFormat  
HDigits  
HComplex  
Date  
Time  
Language  
Entry  
Integer  
Base  
Bits  
Signed  
Variables  
431  
               
App variables  
The app variables are accessed by pressing a and  
tapping . They are grouped below by app. (You  
can find then grouped by view—Symbolic, Numeric, Plot,  
—in “Variables and Programs” on page 553.)  
Note that if you have customized a built-in app, your app  
will appear on the App variables menu under the name you  
gave it. You access the variables in a customized app in the  
same way that you access the variables in built-in apps.  
Function app variables  
Category  
Names  
a
Area  
Extremum  
Isect  
Root  
Slope  
Results  
Symbolic  
Plot  
F1  
F2  
F3  
F4  
F5  
F6  
F7  
F8  
F9  
F0  
Axes  
Xmin  
Cursor  
GridDots  
GridLines  
Labels  
Method  
Recenter  
Xmax  
Xtick  
Xzoom  
Ymax  
Ymin  
Ytick  
Yzoom  
Numeric  
Modes  
NumStart  
NumStep  
Automatic  
NumIndep  
NumType  
NumZoom  
BuildYourOwn  
AAngle  
AComplex  
ADigits  
AFormat  
a. The Results variables contain the last value found by the Signed  
Area, Extremum, Intersection, Root, and Slope functions respectively.  
432  
Variables  
       
Geometry app variables  
Category  
Names  
Numeric  
XMin  
YMin  
XMax  
Modes  
AAngle  
AComplex  
ADigits  
AFormat  
Spreadsheet app variables  
Category  
Names  
Numeric  
ColWidth  
Row  
RowHeight  
Col  
Cell  
Modes  
AAngle  
AComplex  
ADigits  
AFormat  
Solve app variables  
Category  
Names  
Symbolic  
E1  
E2  
E3  
E4  
E5  
E6  
E7  
E8  
E9  
E0  
Plot  
Axes  
Xmin  
Cursor  
GridDots  
GridLines  
Labels  
Method  
Recenter  
Xmax  
Xtick  
Xzoom  
Ymax  
Ymin  
Ytick  
Yzoom  
Modes  
AAngle  
AComplex  
ADigits  
AFormat  
Variables  
433  
     
Advanced Graphing app variables  
Category  
Names  
Symbolic  
S1  
S2  
S3  
S4  
S5  
S6  
S7  
S8  
S9  
S0  
Plot  
Axes  
Xmin  
Cursor  
GridDots  
GridLines  
Labels  
Method  
Recenter  
Xmax  
Xtick  
Xzoom  
Ymax  
Ymin  
Ytick  
Yzoom  
Numeric  
Modes  
NumXStart  
NumYStart  
NumXStep  
NumYStep  
NumIndep  
NumType  
NumXZoom  
NumYZoom  
Automatic  
BuildYourOwn  
AAngle  
AComplex  
ADigits  
AFormat  
434  
Variables  
 
Statistics 1Var app variables  
Category  
Names  
NbItem  
Min  
Q1  
Med  
Q3  
Max  
X  
Results  
[explained  
below]  
X2  
MeanX  
sX  
X  
serrX  
Symbolic  
Plot  
H1  
H2  
H3  
H4  
H5  
H1Type  
H2Type  
H3Type  
H4Type  
H5Type  
Axes  
Xmax  
Cursor  
GridDots  
GridLines  
Hmin  
Xmin  
Xtick  
Xzoom  
Ymax  
Hmax  
Ymin  
Hwidth  
Labels  
Recenter  
Ytick  
Yzoom  
Numeric  
Modes  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
D8  
D9  
D0  
AAngle  
AComplex  
ADigits  
AFormat  
Variables  
435  
 
Results  
NbItem  
Contains the number of data points in the current 1-  
variable analysis (H1-H5).  
Min  
Q1  
Contains the minimum value of the data set in the current  
1-variable analysis (H1-H5).  
Contains the value of the first quartile in the current 1-  
variable analysis (H1-H5).  
Med  
Q3  
Contains the median in the current 1-variable analysis  
(H1-H5).  
Contains the value of the third quartile in the current 1-  
variable analysis (H1-H5).  
Max  
X  
Contains the maximum value in the current 1-variable  
analysis (H1-H5).  
Contains the sum of the data set in the current 1-variable  
analysis (H1-H5).  
X2  
MeanX  
sX  
Contains the sum of the squares of the data set in the  
current 1-variable analysis (H1-H5).  
Contains the mean of the data set in the current 1-variable  
analysis (H1-H5).  
Contains the sample standard deviation of the data set in  
the current 1-variable analysis (H1-H5).  
X  
Contains the population standard deviation of the data set  
in the current 1-variable analysis (H1-H5).  
serrX  
Contains the standard error of the data set in the current  
1-variable analysis (H1-H5).  
436  
Variables  
Statistics 2Var app variables  
Category  
Names  
NbItem  
Corr  
CoefDet  
sCov  
sX  
X  
serrX  
MeanY  
Y  
Results  
[explained  
below]  
Cov  
XY  
Y2  
MeanX  
sY  
Y  
serrY  
X  
X2  
Symbolic  
Plot  
S1  
S2  
S3  
S4  
S5  
S1Type  
S2Type  
S3Type  
S4Type  
S5Type  
Axes  
Xmin  
Cursor  
GridDots  
GridLines  
Labels  
Method  
Recenter  
Xmax  
Xtick  
Xzoom  
Ymax  
Ymin  
Ytick  
Yzoom  
Numeric  
Modes  
C1  
C2  
C3  
C4  
C5  
C6  
C7  
C8  
C9  
C0  
AAngle  
AComplex  
ADigits  
AFormat  
Variables  
437  
 
Results  
NbItem  
Contains the number of data points in the current 2-  
variable analysis (S1-S5).  
Corr  
Contains the correlation coefficient from the latest  
calculation of summary statistics. This value is based on  
the linear fit only, regardless of the fit type chosen.  
CoefDet  
Contains the coefficient of determination from the latest  
calculation of summary statistics. This value is based on  
the fit type chosen.  
sCov  
Cov  
XY  
MeanX  
X  
Contains the sample covariance of the current 2-variable  
statistical analysis (S1-S5).  
Contains the population covariance of the current 2-  
variable statistical analysis (S1-S5).  
Contains the sum of the X·Y products for the current 2-  
variable statistical analysis (S1-S5).  
Contains the mean of the independent values (X) of the  
current 2-variable statistical analysis (S1-S5).  
Contains the sum of the independent values (X) of the  
current 2-variable statistical analysis (S1-S5).  
X2  
sX  
Contains the sum of the squares of the independent values  
(X) of the current 2-variable statistical analysis (S1-S5).  
Contains the sample standard deviation of the  
independent values (X) of the current 2-variable statistical  
analysis (S1-S5).  
X  
Contains the population standard deviation of the  
independent values (X) of the current 2-variable statistical  
analysis (S1-S5).  
serrX  
Contains the standard error of the independent values (X)  
of the current 2-variable statistical analysis (S1-S5).  
MeanY  
Contains the mean of the dependent values (Y) of the  
current 2-variable statistical analysis (S1-S5).  
438  
Variables  
Y  
Contains the sum of the dependent values (Y) of the  
current 2-variable statistical analysis (S1-S5).  
Y2  
sY  
Contains the sum of the squares of the dependent values  
(Y) of the current 2-variable statistical analysis (S1-S5).  
Contains the sample standard deviation of the dependent  
values (Y) of the current 2-variable statistical analysis (S1-  
S5).  
Y  
Contains the population standard deviation of the  
dependent values (Y) of the current 2-variable statistical  
analysis (S1-S5).  
serrY  
Contains the standard error of the dependent values (Y) of  
the current 2-variable statistical analysis (S1-S5).  
Inference app variables  
Category  
Names  
Result  
CritScore  
CritVal1  
CritVal2  
DF  
Results  
[explained  
below]  
TestScore  
TestValue  
Prob  
AltHyp  
Method  
Type  
Symbolic  
Numeric  
Alpha  
Conf  
Mean1  
Mean2  
n1  
Pooled  
s1  
s2  
1  
2  
n2  
0  
x1  
x2  
0  
Modes  
AAngle  
AComplex  
ADigits  
AFormat  
Variables  
439  
 
Results  
CritScore  
Contains the value of the Z- or t-distribution associated  
with the input -value  
CritVal1  
CritVal2  
Contains the lower critical value of the experimental  
variable associated with the negative TestScore value  
which was calculated from the input -level.  
Contains the upper critical value of the experimental  
variable associated with the positive TestScore value  
which was calculated from the input -level.  
DF  
Contains the degrees of freedom for the t-tests.  
Prob  
Contains the probability associated with the TestScore  
value.  
Result  
For hypothesis tests, contains 0 or 1 to indicate rejection  
or failure to reject the null hypothesis.  
TestScore  
TestValue  
Contains the Z- or t-distribution value calculated from the  
hypothesis test or confidence interval inputs.  
Contains the value of the experimental variable  
associated with the TestScore.  
440  
Variables  
 
Parametric app variables  
Category  
Names  
Symbolic  
X1  
Y1  
X2  
Y2  
X3  
Y3  
X4  
Y4  
X5  
X6  
Y6  
X7  
Y7  
X8  
Y8  
X9  
Y9  
X0  
Y0  
Y5  
Plot  
Axes  
Tstep  
Xmax  
Xmin  
Xtick  
Xzoom  
Ymax  
Ymin  
Ytick  
Yzoom  
Cursor  
GridDots  
GridLines  
Labels  
Method  
Recenter  
Tmin  
Tmax  
Numeric  
Modes  
Automatic  
BuildYourOwn  
NumIndep  
NumStep  
NumType  
NumZoom  
NumStart  
AAngle  
AComplex  
ADigits  
AFormat  
Variables  
441  
 
Polar app variables  
Category  
Names  
Symbolic  
R1  
R2  
R3  
R4  
R5  
R6  
R7  
R8  
R9  
R0  
Plot  
min  
max  
Recenter  
Xmax  
step  
Xmin  
Axes  
Xtick  
Xzoom  
Ymax  
Ymin  
Ytick  
Yzoom  
Cursor  
GridDots  
GridLines  
Labels  
Method  
Numeric  
Automatic  
BuildYourOwn  
NumIndep  
NumStep  
NumType  
NumZoom  
NumStart  
Modes  
AAngle  
AComplex  
ADigits  
AFormat  
Finance app variables  
Category  
Names  
CPYR  
BEG  
FV  
NbPmt  
PMTV  
PPYR  
PV  
Numeric  
IPYR  
Modes  
AAngle  
AComplex  
ADigits  
AFormat  
442  
Variables  
   
Linear Solver app variables  
Category  
Numeric  
Modes  
Names  
a
LSystem  
LSolution  
AAngle  
AComplex  
ADigits  
AFormat  
a. Contains a vector with the last solution found by either the Linear  
Solver app or the LSolveapp function.  
Triangle Solver app variables  
Category  
Names  
SideA  
SideB  
SideC  
Rect  
AngleA  
AngleB  
AngleC  
Numeric  
Modes  
AAngle  
AComplex  
ADigits  
AFormat  
Linear Explorer app variables  
Category  
Names  
Modes  
AAngle  
AComplex  
ADigits  
AFormat  
Quadratic Explorer app variables  
Category  
Names  
Modes  
AAngle  
AComplex  
ADigits  
AFormat  
Variables  
443  
   
Trig Explorer app variables  
Category  
Names  
Modes  
AAngle  
AComplex  
ADigits  
AFormat  
Sequence app variables  
Category  
Names  
Symbolic  
U1  
U2  
U3  
U4  
U5  
U6  
U7  
U8  
U9  
U0  
Plot  
Axes  
Xmax  
Cursor  
GridDots  
GridLines  
Labels  
Nmin  
Xmin  
Xtick  
Xzoom  
Ymax  
Ymin  
Nmax  
Recenter  
Ytick  
Yzoom  
Numeric  
Modes  
Automatic  
BuildYourOwn  
NumIndep  
NumStep  
NumType  
NumZoom  
NumStart  
AAngle  
AComplex  
ADigits  
AFormat  
444  
Variables  
   
23  
Units and constants  
Units  
A unit of measurement—such as inch, ohm, or  
Becquerel—enables you to give a precise magnitude to a  
physical quantity.  
You can attach a unit of measurement to any number or  
numerical result. A numerical value with units attached is  
referred to as a measurement. You can operate on  
measurements just as you do on numbers without attached  
units. The units are kept with the numbers in subsequent  
operations.  
The units are on the Units menu. Press SF (Units)  
and, if necessary, tap  
.
The menu is organized by category. Each category is  
listed at the left, with the units in the selected category  
listed at the right.  
Unit categories  
length  
area  
acceleration  
force  
electricity  
light  
volume  
time  
energy  
angle  
power  
viscosity  
radiation  
speed  
mass  
pressure  
temperature  
Units and constants  
445  
   
Prefixes  
The Units menu includes an entry that is not a unit  
category, namely, Prefix. Selecting this option displays  
a palette of prefixes.  
Y: yotta  
G: giga  
d: deci  
p: pico  
Z: zetta  
E: exa  
P: peta  
T: tera  
M: mega k: kilo  
h: hecto  
D: deca  
c: centi  
f: femto  
m: milli  
a: atto  
: micro n: nano  
z: zepto y: octo  
Unit prefixes provide a handy way of entering large or  
small numbers. For example, the speed of light is  
approximately 300,000 m/s. If you wanted to use that in  
a calculation, you could enter it as 300_km/s, with the  
prefix k selected from the prefix palette.  
Select the prefix you want before selecting the unit.  
Unit calculations  
A number plus a unit is a measurement. You can perform  
calculations with multiple measurements providing that the  
units of each measurement are from the same category.  
For example, you can add two measurements of length  
(even lengths of different units, as illustrated in the  
following example). But you cannot add, say, a length  
measurement to a volume measurement.  
446  
Units and constants  
   
Example  
Suppose you want to add 20 centimeters and 5 inches  
and have the result displayed in centimeters.  
1. If you want the result  
in cm, enter the  
centimeter  
measurement first.  
20 SF (Units)  
Select Length  
Select cm  
2. Now add 5 inches.  
5 SF  
+
Select Length  
Select in  
E
The result is shown  
as 32.7 cm. If you  
had wanted the  
result in inches, then  
you would have  
entered the 5 inches  
first.  
3. To continue the  
example, let’s divide  
the result by 4  
seconds.  
4 SF  
n
Select Time  
Select s  
E
The result is shown  
as 8.175 cm*s1.  
Units and constants  
447  
4. Now convert the  
result to kilometers  
per hour.  
SF  
Select Speed  
Select km/h  
E
The result is shown  
as 0.2943 kilometers  
per hour.  
Unit tools  
There are a number of tools for managing and operating  
on units. These are available by pressing SF  
and tapping  
.
CONVERT  
Converts one unit to another unit of the same category.  
CONVERT(5_m,1_ft)returns 16.4041994751_ft  
You can also use the last answer as the first argument in a  
new conversion calculation. Pressing S+ places the  
last answer on the entry line. You can also select a value  
from history and tap  
to copy it to the entry line.  
with a measurement calls the convert command as  
well and converts to whatever unit follows the Store  
symbol.  
MKSA  
Meters, kilograms, seconds, amperes. Converts a  
complex unit into the base components of the MKSA  
system.  
MKSA(8.175_cm/s)returns .08175_m*s–1  
448  
Units and constants  
     
UFACTOR  
USIMPLIFY  
Unit factor conversion. Converts a measurement using a  
compound unit into a measurement expressed in  
constituent units. For example, a Coulomb—a measure of  
electric charge—is a compound unit derived from the SI  
base units of Ampere and second: 1 C = 1 A * 1 s. Thus:  
UFACTOR(100_C,1_A))returns 100_A*s  
Unit simplification. For example, a Joule is defined as one  
kg*m2/s2. Thus:  
USIMPLIFY(5_kg*m^2/s^2)returns 5_J  
Physical constants  
The values of 34 math and physical constants can be  
selected (by name or value) and used in calculations.  
These constants are grouped into four categories: math,  
chemistry, physics and quantum mechanics. A list of all  
these constants is given in “List of constants” on page 451.  
To display the constants, press SF and then tap  
.
Example  
Suppose you want to know the potential energy of a mass  
of 5 units according to the equation E = mc2.  
1. Enter the mass and  
the multiplication  
operator:  
5
s
2. Open the constants  
menu.  
SF  
Units and constants  
449  
   
3. Select Physics.  
4. Select c:  
299792458.  
5. Square the speed of  
light and evaluate  
the expression.  
jE  
Value or  
measurement?  
You can enter just the value of a constant or the constant  
and its units (if it has units). If  
is showing on the  
screen, the value is inserted at the cursor point. If  
is showing on the screen, the value and its units are  
inserted at the cursor point.  
In the example at the  
right, the first entry shows  
the Universal Gas  
Constant after it was  
chosen with  
showing. The second  
entry shows the same  
constant, but chosen  
when  
showing.  
was  
Tapping  
displays  
, and vice versa.  
450  
Units and constants  
List of constants  
Category  
Name and symbol  
e
Math  
MAXREAL  
MINREAL  
i
Avogadro,NA  
Boltmann, k  
molar volume, Vm  
universal gas, R  
standard temperature, StdT  
standard pressure, StdP  
Chemistry  
Phyics  
Stefan-Boltzmann,   
speed of light, c  
permittivity,   
0
permeability, 0  
acceleration of gravity, g  
gravitation, G  
Planck, h  
Dirac,  
Quantum  
electronic charge, q  
electron mass, me  
q/me ratio, qme  
proton mass, mp  
mp/me ratio, mpme  
fine structure,   
magnetic flux,   
Faraday, F  
Rydberg, R∞  
Bohr radius, a0  
Bohr magneton, B  
nuclear magneton, N  
photon wavelength,  
photon frequency, f0  
0  
Compton wavelength, c  
Units and constants  
451  
         
452  
Units and constants  
24  
Lists  
A list consists of comma-separated real or complex  
numbers, expressions, or matrices, all enclosed in braces.  
A list may, for example, contain a sequence of real  
numbers such as {1,2,3}. Lists represent a convenient  
way to group related objects.  
You can do list operations in Home and in programs.  
There are ten list variables available, named L0to L9, or  
you can create your own list variable names. You can use  
them in calculations or expressions in Home or in a  
program. Retrieve a list name from the Vars menu (a),  
or just type its name from the keyboard.  
You can create, edit, delete, send, and receive named lists  
in the List Catalog:  
(List). You can also create  
Sp  
and store lists—named or unnnamed—in Home view.  
List variables are identical in behavior to the columns C1-  
C0in the Statistics 2Var app and the columns D1-D0in  
the Statistics 1Var app. You can store a statistics column  
as a list (or vice versa) and use any of the list functions on  
the statistics columns, or the statistics functions on the list  
variables.  
Create a list in the List Catalog  
1. Open the List  
Catalog.  
(List)  
Sp  
The number of  
elements in a list is  
shown beside the list  
name.  
Lists  
453  
       
2. Tap on the name you  
want to assign to the  
new list (L1, L2,  
etc.). The list editor  
appears.  
If you’re creating a  
new list rather than  
changing, make sure  
you choose a list with out any elements in it.  
3. Enter the values you want in the list, pressing  
after each one.  
E
Values can be real or  
complex numbers (or  
an expression). If  
you enter a  
expression, it is  
evaluated and the  
result is inserted in  
the list.  
4. When done, press  
(List) to return to the List  
Sp  
catalog, or press  
to go to Home view.  
H
List Catalog:  
Buttons and keys  
The buttons and keys in the List Catalog are:  
Button or Key  
Purpose  
Opens the highlighted list for  
editing. You can also just tap on a  
list name.  
or  
Deletes the contents of the selected  
list.  
C
Transmits the highlighted list to  
another HP Prime.  
(Clear)  
Clears all lists.  
SJ  
S=  
or  
Moves to the top or bottom of the  
catalog, respectively.  
\
454  
Lists  
The List Editor  
The List Editor is a special environment for entering data  
into lists. There are two ways to open the List Editor once  
the List Catalog is open:  
Highlight the list and tap  
Tap the name of the list.  
or  
List Editor: Buttons  
and keys  
When you open a list, the following buttons and keys are  
available to you:  
Button or Key  
Purpose  
Copies the highlighted list item  
into the entry line.  
Inserts a new value—with default  
zero—before the highlighted item.  
Deletes the highlighted item.  
C
or  
Displays a menu for you to choose  
the small font, medium font, or  
large font  
Displays a menu for you to choose  
how many lists to display at one  
time: one, two, three, or four. For  
example, if you have only L4  
displayed and you choose 3from  
the Lists menu, lists L5and L6  
will be displayed in addition to  
L4.  
(Clear)  
Clears all items from the list.  
SJ  
or  
Moves the cursor to the start or the  
end of the list.  
S=  
\
Lists  
455  
To edit a list  
1. Open the List  
Catalog.  
(List)  
Sp  
2. Tap on the name of  
the list (L1, L1,etc.). The List Editor appears.  
3. Tap on the element  
you want to edit.  
(Alternatively, press  
or  
until the  
=
\
element you want to  
edit is highlighted.)  
In this example, edit  
the third element so  
that it has a value of 5.  
5
To insert an element  
in a list  
Suppose you want to  
insert a new value, 9, in  
L1(2) in the list L1 shown  
to the right.  
456  
Lists  
 
Select L1(2), that is,  
the second element  
in the list.  
9
Deleting lists  
To delete a list  
In the List Catalog, use the cursor keys to highlight the list  
and press C. You are prompted to confirm your  
decision. Tap  
or press E.  
If the list is one of the reserved lists L0-L9, then only the  
contents of the list are deleted. The list is simply stripped  
of its contents. If the list is one you have named (other than  
L0-L9), then it is deleted entirely.  
To delete all lists  
In the List Catalog, press  
J (Clear).  
S
The contents of the lists L0-L9 are deleted and any other  
named lists are deleted entirely.  
Lists in Home view  
You can enter and operate on lists directly in Home view.  
The lists can be named or unnamed.  
To createa list  
1. Press S  
({}).  
q
A pair of braces appears on the entry line. All lists  
must be enclosed in braces.  
2. Enter the first element in the list followed by a comma:  
[element] o  
3. Continue adding elements, separating each with a  
comma.  
Lists  
457  
     
4. When you have finished entering the elements, press  
. The list is added to History (with any  
E
expressions among the elements evaluated).  
To store a list  
You can store a list in a variable. You can do this  
before the list is added to History, or you can copy it  
from History. When you’ve entered a list in the entry  
line or copied it from History to the entry line, tap  
, enter a name for the list and press E.  
The reserved list variable names available to you are  
L0through L9; however, you can create a list  
variable name of your own as well.  
For example, to store  
the list {25,147,8} in  
L7:  
1. Create the list on the  
entry line.  
2. Press > to move the  
cursor outside the  
list.  
3. Tap  
.
4. Enter the name:  
Aj7  
5. Complete the operation: E.  
To display a list  
To display a list in Home view, type its name and  
pressE.  
If the list is empty, a pair of empty braces is returned.  
To display one  
element  
To display one element of a list in Home view, enter  
listname (element#). For example, if L6 is {3,4,5,6}, then  
L6(2)  
returns 4.  
E
To store one  
element  
To store a value in one element of a list in Home view,  
enter value listname (element#). For example, to  
store 148 as the second element in L2, type  
148 L2(2)  
.
E
458  
Lists  
To send a list  
You can send lists to another calculator or a PC just as you  
can apps, programs, matrices, and notes. See “Sharing  
data” on page 44 for instructions.  
List functions  
List functions are found on the Math menu. You can use  
them in Home and in programs.  
You can type in the name  
of the function, or you  
can copy the name of the  
function from the List  
category of the Math  
menu.  
Press D 6 to select the  
List category in the left column of the Math menu. (List is  
the sixth category on the Math menu, which is why  
pressing 6 will take you straight to the List category.) Tap  
a function to select it, or use the direction keys to highlight  
it and either tap  
or press E.  
List functions are enclosed in parentheses. They have  
arguments that are separated by commas, as in  
CONCAT(L1,L2). An argument can be either a list  
variable name or the actual list; for example,  
REVERSE(L1) or REVERSE({1,2,3}).  
Common operators like +, –, ×, and ÷ can take lists as  
arguments. If there are two arguments and both are lists,  
then the lists must have the same length, since the  
calculation pairs the elements. If there are two arguments  
and one is a real number, then the calculation operates on  
each element of the list.  
Example:  
5*{1,2,3} returns {5,10,15}.  
Besides the common operators that can take numbers,  
matrices, or lists as arguments, there are commands that  
can only operate on lists.  
Lists  
459  
   
Menu format  
By default, a List function is presented on the Math menu  
using its descriptive name, not its common command  
name. Thus the shorthand name CONCATis presented as  
Concatenate and POSis presented as Position.  
If you prefer the Math menu to show command names  
instead, deselect the Menu Display option on page 2 of  
the Home Settings screen (see page 26).  
Make List  
Calculates a sequence of elements for a new list using the  
syntax:  
MAKELIST(expression,variable,begin,end,  
increment)  
Evaluates expression with respect to variable, as variable  
takes on values from begin to end values, taken at  
increment steps.  
Example:  
In Home, generate a series of squares from 23 to 27:  
D
Select List  
Select Make List  
(or MAKELIST)  
a
a
A
A
j o  
o
23  
27  
o
1
o E  
Sort  
Sorts the elements in a list in ascending order.  
SORT(list)  
Example:  
SORT({2,5,3})returns {2,3,5}  
460  
Lists  
Reverse  
Creates a list by reversing the order of the elements in a  
list.  
REVERSE(list)  
Example:  
REVERSE({1,2,3})returns {3,2,1}  
Concatenate  
Position  
Concatenates two lists into a new list.  
CONCAT(list1,list2)  
Example:  
CONCAT({1,2,3},{4})returns {1,2,3,4}.  
Returns the position of an element within a list. The  
element can be a value, a variable, or an expression. If  
there is more than one instance of the element, the  
position of the first occurrence is returned. A value of 0 is  
returned if there is no occurrence of the specified element.  
POS(list, element)  
Example:  
POS ({3,7,12,19},12)returns 3  
Size  
Returns the number of elements in a list.  
SIZE(list)  
Example:  
SIZE({1,2,3})returns 3  
LIST  
Creates a new list composed of the first differences of a  
list; that is, the differences between consecutive elements  
in the list. The new list has one less element than the  
original list. The differences for {x , x , x ,... x , x } are  
1
2
3
n-1  
n
{x –x , x –x ,... x –x }.  
2
1
3
2
n
n–1  
LIST(list1)  
Lists  
461  
Example:  
In Home view, store  
{3,5,8,12,17,23} in L5  
and find the first  
differences for the list.  
q
S
3,5,8,12,17,23  
>
j 5  
A
D
E
Select List  
Select List  
j 5  
A
E
LIST  
Calculates the sum of all elements in a list.  
LIST(list)  
Example:  
LIST({2,3,4})returns 9.  
LIST  
Calculates the product of all elements in list.  
LIST(list)  
Example:  
LIST({2,3,4})returns 24.  
Finding statistical values for lists  
To find statistical values—such as the mean, median,  
maximum, and minimum of a list—you create a list, store  
it in a data set and then use the Statistics 1Var app.  
Example  
In this example, use the Statistics 1Var app to find the  
mean, median, maximum, and minimum values of the  
elements in the list L1, being 88, 90, 89, 65, 70, and 89.  
462  
Lists  
1. In Home view, create  
L1.  
q
S
88, 90, 89, 65,  
70,89 >  
j1  
A
E
2. In Home view, store  
L1 in D1.  
j1  
A
d1  
A
E
You will now be able  
to see the list data in the Numeric view of the  
Statistics 1Var app.  
3. Start the Statistics 1Var app.  
Select  
I
Statistics 1Var  
Notice that your list  
elements are in data  
set D1.  
4. In the Symbolic view,  
specify the data set  
whose statistics you want to find.  
Y
By default, H1 will  
use the data in D1,  
so nothing further  
needs to be done in  
Symbolic view.  
However, if the data  
of interest were in D2, or any column other than D1,  
you would have to specify the desired data column  
here.  
Lists  
463  
5. Calculate the  
statistics.  
M
6. Tap  
when  
you are done.  
See the chapter 10,  
“Statistics 1Var app,  
beginning on page 209, for the meaning of each  
statistic.  
464  
Lists  
25  
Matrices  
You can create, edit, and operate on matrices and vectors  
in the Home view, CAS, or in programs. You can enter  
matrices directly in Home or CAS, or use the Matrix Editor.  
Vectors  
Vectors are one-dimensional arrays. They are composed  
of just one row. A vector is represented by single brackets;  
for example, [1 2 3]. A vector can be a real number  
vector, or a complex number vector such as  
[1+2*i 7+3*i].  
Matrices  
Matrices are two-dimensional arrays. They are composed  
of at least two rows and at least one column. Matrices  
may contain any combination of or real and complex  
numbers, such as:  
1 + 2i  
3 4i  
7
1 2 3  
4 5 6  
or  
.
Matrix variables  
There are ten reserved matrix variables available, named  
M0to M9; however, you can save a matrix in a variable  
name you define. You can then use them in calculations in  
Home or CAS views or in a program. You can retrieve  
matrix names from the Vars menu, or just type their names  
from the keyboard.  
Matrices  
465  
           
Creating and storing matrices  
The Matrix Catalog  
contains the reserved  
matrix variables M0-M9,  
as well as any matrix  
variables you have  
created in Home or CAS  
views (or from a program  
if they are global).  
Once you select a matrix name, you can create, edit, and  
delete matrices in the Matrix Editor. You can also send a  
matrix to another HP Prime.  
To open the Matrix Catalog, press  
(Matrix).  
St  
In the Matrix Catalog, the size of a matrix is shown beside  
the matrix name. (An empty matrix is shown as 1*1.) The  
number of elements in it is shown beside a vector.  
You can also create and store matrices—named or  
unnamed—in Home view. For example, the command:  
POLYROOT([1,0,–1,0])M1  
stores the roots of the complex vector of length 3 into the  
variable M1. M1 will thus contain the three roots of  
x3 x = 0 : 0, 1 and –1.  
Matrix Catalog:  
buttons and keys  
The buttons and keys available in the Matrix Catalog are:  
Button or Key Purpose  
Opens the highlighted matrix for editing.  
C
or  
Deletes the content sof the selected matrix.  
Changes the selected matrix into a one-  
dimensional vector.  
Transmits the highlighted matrix to another  
HP Prime.  
(Clear Clears the contents of the reserved matrix  
variables M0-M9and deletes any user-  
named matrices.  
SJ  
)
466  
Matrices  
       
Working with matrices  
To open the Matrix  
Editor  
To create or edit a matrix, go to the Matrix Catalog, and  
tap on a matrix. (You could also use the cursor keys to  
highlight the matrix and then press  
Editor opens.  
The Matrix  
.)  
Matrix Editor:  
Buttons and keys  
The buttons and keys available in the Matrix Editor are.:  
Button or Key  
Purpose  
Copies the highlighted element to  
the entry line.  
Inserts a row of zeros above, or a  
column of zeros to the left, of the  
highlighted cell. You are  
prompted to choose row or  
column.  
Displays a menu for you to choose  
the small font, medium font, or  
large font.  
A three-way toggle that controls  
how the cursor will move after an  
element has been entered.  
moves the cursor to the right,  
moves it downward, and  
does not move it at all.  
Displays a menu for you to choose  
1, 2, 3, or 4 columns to be  
displayed at a time.  
(Clear)  
Deletes the highlighted row, or  
column, or the entire matrix. (You  
are prompted to make a choice.)  
SJ  
Moves the cursor to the first row,  
last row, first column, or last  
column respectively.  
S=\<>  
Matrices  
467  
     
To create a matrix  
in the Matrix Editor  
1. Open the Matrix Catalog:  
(Matrix)  
St  
2. If you want to create a vector, press = or \ until  
the matrix you want to use is highlighted, tap  
,
and then press  
. Continue from step 4 below.  
E
3. If you want to create a matrix, either tap on the name  
of the matrix (M0–M9), or press = or \ until the  
matrix you want to use is highlighted and then press  
E.  
Note that an empty matrix will be shown with a size  
of 1*1beside its name.  
4. For each element in the matrix, type a number or an  
expression, and then tap  
or press E.  
You can enter complex numbers in complex  
form, that is, (a, b), where a is the real part and b is  
the imaginary part. You can also enter them in the  
form a+bi.  
5. By default, on entering an element the cursor moves  
to the next column in the same row. You can use the  
cursor keys to move to a different row or column. You  
can also change the direction the cursor  
automatically moves by tapping  
. The  
button toggles between the following options:  
: the cursor moves to the cell to the right of  
the current cell when you press  
.
E
: the cursor moves to the cell below the  
current cell when you press  
.
E
: the cursor stays in the current cell when  
you press  
.
E
6. When done, press St (Matrix) to return to the  
Matrix Catalog, or press H to return to Home view.  
The matrix entries are automatically saved.  
Matrices in Home  
view  
You can enter and operate on matrices directly in Home  
view. The matrices can be named or unnamed.  
Enter a vector or matrix in Home or CAS views directly in  
the entry line.  
468  
Matrices  
   
1. Press S u ([])  
to start a vector or  
matrix. The matrix  
template will appear,  
as shown in the  
figure to the right.  
2. Enter a value in the  
square. Then press  
> to enter a second value in the same row, or press  
\ to move to the second row. The matrix will grow  
with you as you enter values, adding rows and  
columns as needed.  
3. You can increase  
your matrix at any  
time, adding  
columns and rows as  
you please. You can  
also delete an entire  
row or column. Just  
place the cursor on  
the ± symbol at the end of a row or column. Then  
press + to insert a new row or column, or w to  
delete the row or column. You can also press C to  
delete a row or column. In the figure above, pressing  
C would delete the second row of the matrix.  
4. When you are  
finished, press  
E and the  
matrix will be  
displayed in the  
History. You can then  
use or name your  
matrix.  
To store a matrix  
You can store a vector or matrix in a variable. You can do  
this before it is added to History, or you can copy it from  
History. When you’ve entered a vector or matrix in the  
entry line or copied it from History to the entry line, tap  
, enter a name for it and press E. The  
variable names reserved for vectors and matrices are M0  
through M9. You can always use a variable name you  
Matrices  
469  
 
devise to store a vector or matrix. The new variable will  
appear in the Vars menu under  
.
The screen at the right  
shows the matrix  
2.5 729  
16 2  
being stored in M5. Note  
that you can enter an  
expression (like 5/2) for  
an element of the matrix, and it will be evaluated upon  
entry  
The figure to the right  
shows the vector [1 2 3]  
being stored in the user  
variable M25. You will  
be prompted to confirm  
that you want to create  
your own variable. Tap  
to proceed or  
to cancel.  
Once you tap  
,
your new matrix will be  
stored under the name  
M25. This variable will  
show up in the User  
section of the Vars menu.  
You will also see your  
new matrix in the Matrix  
Catalog.  
To display a matrix  
In Home view, enter the name of the vector or matrix and  
press  
. If the vector or matrix is empty, zero is  
E
returned inside double square brackets.  
To display one  
element  
In Home view, enter matrixname(row,column). For  
example, if M2is [[3,4],[5,6]], then  
M2(1,2)Ereturns 4.  
To store one  
element  
In Home view, enter value, tap  
matrixname(row,column).  
For example, to change the element in the first row and  
, and then enter  
470  
Matrices  
 
second column of M5 to 728 and then display the  
resulting matrix:  
728  
AQ5  
R1o 2  
E
An attempt to store an  
element to a row or  
column beyond the size of the matrix results in re-sizing the  
matrix to allow the storage. Any intermediate cells will be  
filled with zeroes.  
To send a matrix  
You can send matrices between calculators just as you can  
send apps, programs, lists, and notes. See “Sharing data”  
on page 44 for instructions.  
Matrix arithmetic  
You can use the arithmetic functions (+, –, ×, ÷, and  
powers) with matrix arguments. Division left-multiplies by  
the inverse of the divisor. You can enter the matrices  
themselves or enter the names of stored matrix variables.  
The matrices can be real or complex.  
For the next examples, store [[1,2],[3,4]] in M1 and  
[[5,6],[7,8]] in M2.  
Example  
1. Select the first matrix:  
St (Matrix)  
Tap M1 or highlight it and press E.  
2. Enter the matrix  
elements:  
1 E 2  
E 3 E  
4 E  
Matrices  
471  
   
3. Select the second matrix:  
St (Matrix)  
Tap M2 or highlight it and press E.  
4. Enter the matrix  
elements:  
E
5
E
6
E
7
E
8
5. In Home view, add  
the two matrices you  
have just created.  
HA Q1 +  
A Q2 E  
To multiply and  
divide by a scalar  
For division by a scalar, enter the matrix first, then the  
operator, then the scalar. For multiplication, the order of  
the operands does not matter.  
The matrix and the scalar  
can be real or complex.  
For example, to divide  
the result of the previous  
example by 2, press the  
following keys:  
n 2 E  
To multiply two  
matrices  
To multiply the two matrices that you created for the  
previous example, press the following keys:  
AQ1sA  
Q2E  
To multiply a matrix by a  
vector, enter the matrix  
first, then the vector. The  
number of elements in  
the vector must equal the  
number of columns in the  
matrix.  
472  
Matrices  
To raise a matrix to  
a power  
You can raise a matrix to any power as long as the power  
is an integer. The following example shows the result of  
raising matrix M1, created earlier, to the power of 5.  
AQ1k5  
E
You can also raise a  
matrix to a power without  
first storing it as a  
variable.  
Matrices can also be  
raised to negative  
powers. In this case, the result is equivalent to 1/  
[matrix]^ABS(power). In the following example, M1 is  
raised to the power of –2.  
kQ  
A
1
Q
E
2
To divide by a  
square matrix  
For division of a matrix or a vector by a square matrix, the  
number of rows of the dividend (or the number of  
elements, if it is a vector) must equal the number of rows  
in the divisor.  
This operation is not a mathematical division: it is a left-  
multiplication by the inverse of the divisor. M1/M2 is  
–1  
equivalent to M2 * M1.  
To divide the two  
matrices you created for  
the previous example,  
press the following keys:  
A Q1 n  
A Q2  
Matrices  
473  
 
To invert a matrix  
You can invert a square matrix in Home view by typing the  
matrix (or its variable name) and pressing  
SnE. You can also use the INVERSE  
command in the Matrix category of the Math menu.  
To negate each  
element  
You can change the sign of each element in a matrix by  
pressing Q, entering the matrix name, and pressing  
E.  
Solving systems of linear equations  
You can use matrices to solve systems of linear equations,  
such as the following:  
2x+3y+4z=5  
x+yz=7  
4xy+2z=1  
In this example we will use matrices M1 and M2, but you  
could use any available matrix variable name.  
1. Open the Matrix  
Catalog, clear M1,  
choose to create a  
vector, and open the  
Matrix Editor:  
St  
[press = or \ to  
select M1]  
C
E
2. Create the vector of  
the three constants in  
the linear system.  
5E7E1  
E
474  
Matrices  
       
3. Return to the Matrix  
Catalog.  
St  
The size of M1  
should be showing  
as 3.  
4. Select and clear M2,  
and re-open the  
Matrix Editor:  
[Press \ or = to  
select M2] C  
E
5. Enter the equation  
coefficients.  
2
3
E E  
[Tap in cell R1, C3.]  
4
1
E
1
E E  
1
Q E  
4
1
EQ  
2
E E  
6. Return to Home view  
and left-multiply the constants vector by the inverse of  
the coefficients matrix:  
HA Q2  
S n  
s
A Q1E  
The result is a vector of  
the solutions: x = 2, y = 3  
and z = –2.  
An alternative method is  
to use the RREF function  
(see page 477).  
Matrices  
475  
Matrix functions and commands  
Functions  
Functions can be used in any app or in Home view. They  
are listed on the Math menu under the Matrix category.  
They can be used in mathematical expressions—primarily  
in Home view—as well as in programs.  
Functions always produce and display a result. They do  
not change any stored variables, such as a matrix  
variable.  
Functions have arguments that are enclosed in  
parentheses and separated by commas; for example,  
CROSS(vector1,vector2). The matrix input can be either a  
matrix variable name (such as M1) or the actual matrix  
data inside brackets. For example, CROSS(M1,[1 2]).  
Menu format  
By default, a Matrix function is presented on the Math  
menu using its descriptive name, not its common  
command name. Thus the shorthand name TRNis  
presented as Transpose and DETis presented as  
Determinant.  
If you prefer the Math menu to show command names  
instead, deselect the Menu Display option on page 2 of  
the Home Settings screen (see page 26).  
Commands  
Matrix commands differ from matrix functions in that they  
do not return a result. For this reason, these functions can  
be used in an expression and matrix commands cannot.  
The matrix commands are designed to support programs  
that use matrices.  
The matrix commands are listed in the Matrix category of  
the Commands menu in the Program Editor. They are also  
listed in the Catalog menu, one of the Toolbox menus.  
Press D and tap  
to display the commands  
catalog. The matrix functions are described in the  
following sections of this chapter; the matrix commands  
are described in the chapter Programming (see page  
541).  
476  
Matrices  
 
Argument  
conventions  
For row# or column#, supply the number of the row  
(counting from the top, starting with 1) or the number  
of the column (counting from the left, starting with 1).  
The argument matrix can refer to either a vector or a  
matrix.  
Matrix functions  
The matrix functions are available in the Matrix category  
on the Math menu: D Select MatrixSelect a function.  
Transpose  
Transposes matrix. For a complex matrix, TRN finds the  
conjugate transpose.  
TRN(matrix)  
Example:  
1 2  
3 4  
1 3  
2 4  
TRN  
returns  
Determinant  
Determinant of a square matrix.  
DET(matrix)  
Example:  
1 2  
3 4  
DET  
returns –2  
RREF  
Reduced Row-Echelon Form. Changes a rectangular  
matrix to its reduced row-echelon form.  
RREF(matrix)  
Example:  
1 2 1  
1 0 0.2  
RREF  
returns  
3 4 1  
0 1 0.4  
Create  
Make  
Creates a matrix of dimension rows × columns, using  
expression to calculate each element. If expression  
contains the variables I and J, then the calculation for each  
element substitutes the current row number for I and the  
current column number for J. You can also create a vector  
Matrices  
477  
     
by the number of elements (e) instead of the number of  
rows and columns.  
MAKEMAT(expression, rows, columns)  
MAKEMAT(expression, elements)  
Examples:  
MAKEMAT(0,3,3)returns a 3 × 3 zero matrix,  
[[0,0,0],[0,0,0],[0,0,0]].  
MAKEMAT(2,2,3)returns the 2 × 3 matrix  
[[2,2,2],[2,2,2]].  
MAKEMAT(I+J–1,2,3)returns the 2 × 3 matrix  
[[1,2,3],[2,3,4]]  
Note in the example above that each element is the  
sum of the row number and column number minus 1.  
MAKEMAT(2,2)returns the 2-element vector  
[2,2].  
Identity  
Identity matrix. Creates a square matrix of dimension  
size × size whose diagonal elements are 1 and off-  
diagonal elements are zero.  
IDENMAT(size)  
Random  
Given two integers, n and m, and a matrix name, creates  
an n x m matrix that contains random integers in the range  
99 through 99 with a uniform distribution and stores it in  
the matrix name.  
randMat(MatrixName,n,m)  
Example:  
RANDMAT(M1,2,2)returns a 2x2 matrix with  
random integer elements, and stores it in M1.  
Jordan  
Returns a square nxn matrix with expr on the diagonal, 1  
above and 0 everywhere else.  
JordanBlock(Expr,n)  
Example:  
7 1 0  
JordanBlock(7,3)returns  
0 7 1  
0 0 7  
478  
Matrices  
Hilbert  
Given a positive integer, n, returns the nth order Hilbert  
matrix. Each element of the matrix is given by the formula  
1/(j+k-1) where j is the row number and k is the column  
number.  
hilbert(n)  
Example:  
1 1 1  
1 - - -  
2 3 4  
1 1 1 1  
- - - -  
2 3 4 5  
In CAS view, hilbert(4)returns  
1 1 1 1  
- - - -  
3 4 5 6  
1 1 1 1  
- - - -  
4 5 6 7  
Isometric  
Matrix of an isometry given by its proper elements.  
mkisom(vector,sign(1 or -1))  
Example:  
In CAS view, mkisom([1,2],1)returns  
cos1sin1  
sin1cos1  
Vandermonde  
Returns the Vandermonde matrix. Given a vector [n1, n2  
0
1
… nj], returns a matrix whose first row is [(n1) , (n1) ,  
2
j-1  
0
1
2
(n1) , ,(n1) ]. The second row is [(n2) , (n2) , (n2) ,  
j-1  
…,(n2) ], etc.  
vandermonde(vector)  
Example:  
1 1 1  
vandermonde([1 3 5])returns  
1 3 9  
1 5 25  
Basic  
Norm  
Returns the Frobenius norm of a matrix.  
|matrix|  
Example:  
1 2  
returns 5.47722557505  
3 4  
Matrices  
479  
Row Norm  
Row Norm. Finds the maximum value (over all rows) for  
the sums of the absolute values of all elements in a row.  
ROWNORM(matrix)  
Example:  
1 2  
3 4  
ROWNORM  
returns 7  
Column Norm  
Column Norm. Finds the maximum value (over all  
columns) of the sums of the absolute values of all elements  
in a column.  
COLNORM(matrix)  
Example:  
1 2  
3 4  
COLNORM  
returns 6  
Spectral Norm  
Spectral Radius  
Condition  
Spectral Norm of a square matrix.  
SPECNORM(matrix)  
Example:  
1 2  
3 4  
SPECNORM  
returns 5.46498570422  
Spectral Radius of a square matrix.  
SPECRAD(matrix)  
Example:  
1 2  
3 4  
SPECRAD  
returns 5.37228132327  
Condition Number. Finds the 1-norm (column norm) of a  
square matrix.  
COND(matrix)  
Example:  
1 2  
3 4  
COND  
returns 21  
480  
Matrices  
   
Rank  
Pivot  
Rank of a rectangular matrix.  
RANK(matrix)  
Example:  
1 2  
3 4  
RANK  
returns 2  
Given a matrix, a row number n, and a column number,  
m, uses Gaussian elimination to return a matrix with  
zeroes in column m, except that the element in column m  
and row n is kept as a pivot.  
pivot(matrix,n,m)  
Example:  
1 2  
3 4  
5 6  
1 2  
0 2  
0 4  
pivot  
,1,1 returns  
Trace  
Finds the trace of a square matrix. The trace is equal to the  
sum of the diagonal elements. (It is also equal to the sum  
of the eigenvalues.)  
TRACE(matrix)  
Example:  
1 2  
3 4  
TRACE  
returns 5  
Advanced  
Eigenvalues  
Displays the eigenvalues in vector form for matrix.  
EIGENVAL(matrix)  
Example:  
1 2  
3 4  
EIGENVAL  
returns:  
.
5.372280.37228  
Matrices  
481  
Eigenvectors  
Eigenvectors and eigenvalues for a square matrix.  
Displays a list of two arrays. The first contains the  
eigenvectors and the second contains the eigenvalues.  
EIGENVV(matrix)  
Example:  
1 2  
3 4  
EIGENVV  
returns the following matrices:  
0.41590.83695.3722  
0
,
0.90930.5742  
0
0.3722  
Jordan  
Returns the list made by the matrix of passage and the  
Jordan form of a matrix.  
jordan(matrix)  
Example:  
0 2  
1 0  
2 0  
2 2  
jordan  
returns  
,
1 1  
0 2  
Diagonal  
Given a list, returns a matrix with the list elements along  
its diagonal and zeroes elsewhere. Given a matrix, returns  
a vector of the elements along its diagonal.  
diag(list) or diag(matrix)  
Example:  
1 2  
3 4  
diag  
returns  
1 4  
Cholesky  
For a numerical symmetric matrix A, returns the matrix L  
such that A=L*tran(L).  
cholesky(matrix)  
Example:  
3 1  
1 4  
In CAS view, cholesky  
returns  
3 0  
after simplification  
3 33  
--- -----  
3 3  
482  
Matrices  
Hermite  
Hermite normal form of a matrix with coefficients in Z:  
returns U,B such that U is invertible in Z, B is upper  
triangular and B=U*A.  
ihermite(Mtrx(A))  
Example:  
1 2 3  
4 5 6  
7 8 9  
3 1 0  
1 1 3  
ihermite  
returns  
,
4 1 0  
0 3 6  
1 2 1 0 0 0  
Hessenberg  
Matrix reduction to Hessenberg form. Returns [P,B] such  
that B=inv(P)*A*P.  
hessenberg(Mtrx(A))  
Example:  
In CAS view, hessenberg  
1 2 3  
4 5 6  
7 8 9  
4
7
0 - 1  
1 0 0  
29  
0 1 0  
returns  
39  
278 3  
49 7  
1 --- 2 7 --- 8 0 ----- -  
7
7
Smith  
Smith normal form of a matrix with coefficients in Z:  
returns U,B,V such that U and V invertible in Z, B is  
diagonal, B[i,i] divides B[i+1,i+1], and B=U*A*V.  
ismith(Mtrx(A))  
Example:  
1 2 3  
4 5 6  
7 8 9  
ismith  
returns  
1 0 0 1 0 0 1 2 1  
4 1 0 0 3 0 0 1 2  
1 2 1 0 0 0 0 0 1  
Matrices  
483  
Factorize  
LQ  
LQ Factorization. Factorizes a m × n matrix into three  
matrices L, Q, and P, where  
{[L[m × n lowertrapezoidal]],[Q[n × n orthogonal]],  
[P[m × m permutation]]}and P*A=L*Q.  
LQ(matrix)  
Example:  
1 2  
3 4  
LQ  
returns  
2.2360  
0
0.44720.89441 0  
,
,
4.91930.89440.89440.44720 1   
LSQ  
Least Squares. Displays the minimum norm least squares  
matrix (or vector) corresponding to the system  
matrix1*X=matrix2.  
LSQ(matrix1, matrix2)  
Example:  
1 2 5  
,
3 4 11  
1
2
LSQ  
returns  
LU  
LU Decomposition. Factorizes a square matrix into three  
matrices L, U, and P, where  
{[L[lowertriangular]],[U[uppertriangular]],[P[permutation]]  
}}  
and P*A=L*U.  
LU(matrix)  
Example:  
1 2  
3 4  
LU  
returns  
1
0 3  
,
4
1 0  
,
0.33331 0 0.66660 1   
484  
Matrices  
QR  
QR Factorization. Factorizes an m×n matrix A numerically  
as Q*R, where Q is an orthogonal matrix and R is an  
upper triangular matrix, and returns R. R is stored in var2  
and Q=A*inv(R) is stored in var1.  
QR(matrix A,var1,var2)  
Example:  
1 2  
3 4  
QR  
returns  
0.36120.9486  
0.94860.3162  
3.16224.42711 0  
,
,
0
0.63240 1  
SCHUR  
Schur Decomposition. Factorizes a square matrix into two  
matrices. If matrix is real, then the result is  
{[[orthogonal]],[[upper-quasi triangular]]}.  
If matrix is complex, then the result is  
{[[unitary]],[[upper-triangular]]}.  
SCHUR(matrix)  
Example:  
1 2  
3 4  
SCHUR  
returns  
5.3722  
1
0.41590.9093  
0.90930.4159  
,
17  
5.5510  
0.3722  
SVD  
Singular Value Decomposition. Factorizes an m × n matrix  
into two matrices and a vector:  
{[[m × m square orthogonal]],[[n × n square orthogonal]],  
[real]}.  
SVD(matrix)  
Example:  
1 2  
3 4  
SVD  
returns  
0.40450.9145  
0.91450.4045  
0.57600.8174  
0.81740.5760  
,
,
5.46490.3659  
Matrices  
485  
SVL  
Singular Values. Returns a vector containing the singular  
values of matrix.  
SVL(matrix)  
Example:  
1 2  
3 4  
SVL  
returns  
5.46490.3659  
Vector  
Cross Product  
Dot Product  
L2 Norm  
Cross Product of vector1 with vector2.  
CROSS(vector1, vector2)  
Example:  
CROSS   
,
returns  
1 2 3 4 0 0 2  
Dot Product of two arrays, matrix1 and matrix2.  
DOT(matrix1, matrix2)  
Example:  
DOT   
,
returns 11  
1 2 3 4  
Returns the l2 norm (sqrt(x1^2+x2^2+...xn^2)) of a  
vector.  
l2norm(Vect)  
Example:  
l2norm   
returns 29  
3 4 2  
L1 Norm  
Returns the l1 norm (sum of the absolute values of the  
coordinates) of a vector.  
l1norm(Vect)  
Example:  
l1norm   
returns 9  
3 4 2  
486  
Matrices  
   
Max Norm  
Returns the lnorm (the maximum of the absolute values  
of the coordinates) of a vector.  
maxnorm(Vect or Mtrx)  
Example:  
maxnorm   
returns 4  
1 2 3 4  
Examples  
Identity Matrix  
You can create an identity matrix with the IDENMAT  
function. For example, IDENMAT(2) creates the 2×2  
identity matrix [[1,0],[0,1]].  
You can also create an identity matrix using the MAKEMAT  
(make matrix) function. For example, entering  
MAKEMAT(IJ,4,4) creates a 4 × 4 matrix showing the  
numeral 1 for all elements except zeros on the diagonal.  
The logical operator () returns 0 when I (the row number)  
and J (the column number) are equal, and returns 1 when  
they are not equal. (You can insert by choosing it from  
the relations palette: Sv.)  
Transposing a  
Matrix  
The TRNfunction swaps the row–column and column–row  
elements of a matrix. For instance, element 1,2 (row 1,  
column 2) is swapped with element 2,1; element 2,3 is  
swapped with element 3,2; and so on.  
For example, TRN([[1,2],[3,4]])creates the matrix  
[[1,3],[2,4]].  
Reduced-Row  
Echelon Form  
The set of equations  
x – 2y + 3z = 14  
2x + y z = – 3  
4x – 2y + 2z = 14  
can be written as the augmented matrix  
1 –2 3 14  
2 1 –1 –3  
4 –2 2 14  
Matrices  
487  
       
which can then be stored  
as a 3 4 real matrix in  
any matrix variable. M1  
is used in this example.  
You can then use the  
RREFfunction to change  
this to reduced-row  
echelon form, storing it in  
any matrix variable. M2  
is used in this example.  
The reducedrowechelon  
matrix gives the solution  
to the linear equation in  
the fourth column.  
An advantage of using  
the RREFfunction is that  
it will also work with  
inconsistent matrices  
resulting from systems of equations which have no solution  
or infinite solutions.  
For example, the following set of equations has an infinite  
number of solutions:  
x + y z = 5  
2x y = 7  
x – 2y + z = 2  
The final row of zeros in  
the reduced-row echelon  
form of the augmented  
matrix indicates an  
inconsistent system with  
infinite solutions.  
488  
Matrices  
 
26  
Notes and Info  
The HP Prime has two text editors for entering notes:  
The Note Editor: opens from within the Note Catalog  
(which is a collection of notes independent of apps).  
The Info Editor: opens from the Info view of an app.  
A note created in the Info view is associated with the  
app and stays with it if you send the app to another  
calculator.  
The Note Catalog  
Subject to available memory, you can store as many notes  
as you want in the Note Catalog. These notes are  
independent of any app. The Note Catalog lists the notes  
by name. This list excludes notes that were created in any  
app’s Info view, but these can be copied and then pasted  
into the Note Catalog via the clipboard. From the Note  
Catalog, you create or edit individual notes in the Note  
Editor.  
Note Catalog:  
button and keys  
Press S N (Notes) to enter the Note Catalog. While  
you are in the Note Catalog, you can use the following  
buttons and keys. Note that some buttons will not be  
available if there are no notes in the Note Catalog.  
Button or Key  
Purpose  
Opens the selected note for  
editing.  
Begins a new note, and  
prompts you for a name.  
Tap to provide additional  
features. See below.  
Notes and Info  
489  
     
Button or Key  
Purpose (Continued)  
Save: creates a copy of the  
selected note and prompts you  
to save it under a new name.  
Rename: renames the  
selected note.  
Sort: sorts the list of notes  
(sort options are alphabetical  
and chronological).  
Delete: deletes the selected  
note.  
Clear: deletes all notes.  
Send: sends the selected note  
to another HP Prime.  
Deletes the selected note.  
C
Deletes all notes in the  
catalog.  
SJ  
The Note Editor  
The Note Editor is where you create and edit notes. You  
can launch the Note Editor from the Notes Catalog, and  
also from within an app. Notes created within an app stay  
with that app even if you send the app to another  
calculator. Such notes do not appear in the Notes  
Catalog. They can only be read when the associated app  
is open. Notes created via the Notes Catalog are not  
specific to any app and can be viewed at any time by  
opening the Notes Catalog. Such notes can also be sent  
to another calculator.  
To create a note  
from the Notes  
Catalog  
1. Open the Note  
Catalog.  
SN  
490  
Notes and Info  
     
2. Create a new note.  
3. Enter a name for  
your note. In this  
example, we’ll call  
the note MYNOTE.  
AA MYNOTE  
4. Write your note,  
using the editing  
keys and formatting options described in the  
following sections.  
When you are  
finished, exit the  
Note Editor by  
pressing  
or  
H
pressing I and  
opening an app.  
Your work is  
automatically saved.  
To access your new note, return to the Notes  
Catalog.  
To create a note for  
an app  
You can also create a note that is specific to an app and  
which stays with the app should you send the app to  
another calculator. See Adding a note to an app” on  
page 106. Notes created this way take advantage of all  
the formatting features of the Note Editor (see below).  
Notes and Info  
491  
NoteEditor:buttons  
and keys  
The following buttons and keys are available while you  
are adding or editing a note.  
Button or Key  
Purpose  
Opens the text formatting  
menu. See “Formatting  
options” on page 494.  
Provides bold, italic,  
underline, full caps,  
superscript and subscript  
options. See “Formatting  
options” on page 494  
A toggle button that offers  
three types of bullet. See  
“Formatting options” on  
page 494  
Starts a 2D editor for entering  
mathematical expressions in  
textbook format; see  
“Inserting mathematical  
expressions” on page 495  
Enters a space during text  
entry.  
X
Moves from page to page in a  
multi-page note.  
Shows options for copying text  
in a note. See below.  
SV  
Copy option. Mark where to  
begin a text selection.  
Copy option. Mark where to  
end a text selection.  
Copy option. Select the entire  
note.  
Copy option. Cut the selected  
text.  
Copy option. Copy the  
selected text.  
C
Deletes the character to the  
left of the cursor.  
492  
Notes and Info  
 
Button or Key  
Purpose (Continued)  
Starts a new line.  
E
(Clear)  
Erases the entire note.  
SJ  
a
Menu for entering variable  
names, and the contents of  
variables.  
D
Menu for entering math  
commands.  
(Chars)  
Displays a palette of special  
characters. To type one,  
Sa  
highlight it and tap  
press E. To copy a  
character without closing the  
Chars menu, select it and tap  
.
or  
Entering uppercase  
and lowercase  
characters  
The following table below describes how to quickly enter  
uppercase and lowercase characters.  
Keys  
Purpose  
Make the next character upper-case  
A
Lock mode: make all characters  
uppercase until the mode is reset  
AA  
With uppercase locked, make next  
character lowercase  
S
With uppercase locked, make all  
characters lowercase until the mode  
is reset  
SA  
Reset uppercase lock mode  
A
Make the next character lower-case  
AS  
ASA  
Lock mode: make all characters  
lowercase until the mode is reset  
With lowercase locked, make next  
character uppercase  
S
Notes and Info  
493  
 
Keys  
Purpose (Continued)  
With lowercase locked, make all  
characters uppercase until the mode  
is reset  
SA  
Reset lowercase lock mode  
A
The left side of the notification area of the title bar will  
indicate what case will be applied to the character you  
next enter.  
Text formatting  
You can enter text in different formats in the Note Editor.  
Choose a formatting option before you start entering text.  
The formatting options are described in “Formatting  
options” below.  
Formatting options  
Formatting options are available from three touch buttons  
in the Note Editor and in the Info view of an app:  
The formatting options are listed in the table below.  
Category  
Options  
10–22 pt  
Font Size  
Select from twenty colors.  
Select from twenty colors.  
Foreground Color  
Background Color  
Left  
Center  
Right  
Align  
(text alignment)  
494  
Notes and Info  
   
Category  
Options (Continued)  
Bold  
Italic  
Underline  
Strikethrough  
Superscript  
Subscript  
Font Style  
Bullets  
 
[Cancels bullet]  
Inserting  
mathematical  
expressions  
You can insert a  
mathematical expression  
in textbook format into  
your note, as shown in  
the figure to the right. The  
Note Editor uses the  
same 2D editor that the  
Home and CAS views  
employ, activated via the  
menu button.  
1. Enter the text you want. When you come to the point  
where you want to start a mathematical expression,  
tap  
.
2. Enter the mathematical expression just as you would  
in Home or CAS views. You can use the math  
template as well as any function in the Toolbox  
menus.  
3. When you have finished entering your mathematical  
expression, press > 2 or 3 times (depending on the  
complexity of your expression) to exit the editor. You  
can now continue to enter text.  
Notes and Info  
495  
 
To import a note  
You can import a note from the Note Catalog into an  
app’s Info view and vice versa.  
Suppose you want to copy a note named Assignments  
from the Note Catalog into the Function Info view:  
1. Open the Note Catalog.  
SN  
2. Select the note Assignmentsand tap  
3. Open the copy options for copying to the clipboard.  
SV (Copy))  
The menu buttons change to give you options for  
copying:  
: Marks where the copying or cutting is to begin.  
Marks where the copying or cutting is to  
:
end.  
: Select the entire program.  
: Cut the selection.  
: Copy the selection.  
4. Select what you want to copy or cut (using the options  
listed immediately above).  
5. Tap  
.
or  
6. Open the Info view of the Function app.  
I.  
I, tap the Function app icon, press  
S
7. Move the cursor to the location where you want the  
copied text to be pasted and open the clipboard.  
Z
S
8. Select the text from the clipboard and press  
.
Sharing notes  
You can send a note to another HP Prime. See “Sharing  
data” on page 44.  
496  
Notes and Info  
             
27  
Programming  
This chapter describes how to program the HP Prime. In  
this chapter you’ll learn about:  
programming commands  
writing functions in programs  
using variables in programs  
executing programs  
debugging programs  
creating programs for building custom apps  
sending a program to another HP Prime  
HP Prime  
Programs  
An HP Prime program contains a sequence of commands  
that execute automatically to perform a task.  
Command  
Structure  
Commands are separated by a semicolon ( ; ).  
Commands that take multiple arguments have those  
arguments enclosed in parentheses and separated by a  
comma( , ). For example,  
PIXON(xposition, yposition);  
Sometimes, arguments to a command are optional. If an  
argument is omitted, a default value is used in its place. In  
the case of the PIXON command, a third argument could  
be used that specifies the color of the pixel:  
PIXON(xposition, yposition [,color]);  
In this manual, optional arguments to commands appear  
inside square brackets, as shown above. In the PIXON  
example, a graphics variable (G) could be specified as  
the first argument. The default is G0, which always  
contains the currently displayed screen. Thus, the full  
syntax for the PIXON command is:  
PIXON([G,] xposition, yposition [ ,color]);  
Programming  
497  
     
Some built-in commands employ an alternative syntax  
whereby function arguments do not appear in  
parentheses. Examples include RETURNand RANDOM.  
Program  
Structure  
Programs can contain any number of subroutines (each of  
which is a function or procedure). Subroutines start with a  
heading consisting of the name, followed by parentheses  
that contain a list of parameters or arguments, separated  
by commas. The body of a subroutine is a sequence of  
statements enclosed within a BEGIN–END; pair. For  
example, the body of a simple program, called  
MYPROGRAM, could look like this:  
EXPORT MYPROGAM()  
BEGIN  
PIXON(1,1);  
END;  
Comments  
When a line of a program begins with two forward  
slashes, //, the rest of the line will be ignored. This  
enables you to insert comments in the program:  
EXPORT MYPROGAM()  
BEGIN  
PIXON(1,1);  
//This line is just a comment.  
END;  
The Program Catalog  
The Program Catalog is where you run and debug  
programs, and send programs to another HP Prime. You  
can also rename and remove programs, and it is where  
you start the Program Editor. The Program Editor is where  
you create and edit programs. Programs can also be run  
from Home view or from other programs.  
498  
Programming  
       
Open the  
Program  
Catalog  
Press Sx  
Program) to open the  
Program Catalog.  
The Program Catalog  
displays a list of program  
names. The first item in  
the Program Catalog is a  
built-in entry that has the  
same name as the active app. This entry is the app  
program for the active app, if such a program exists. See  
the App programs” on page 519 for more information.  
Program Catalog: buttons and keys  
Button or Key  
Purpose  
Opens the highlighted  
program for editing.  
Prompts for a new  
program name, then  
opens the Program  
Editor.  
Opens further menu  
options for the selected  
program:  
Save  
Rename  
Sort  
Delete  
Clear  
These options are  
described immediately  
below.  
To redisplay the initial  
menu, press O or  
J.  
Programming  
499  
Button or Key  
Purpose (Continued)  
Save creates a copy of  
the selected program  
with a new name you are  
prompted to give.  
Rename renames the  
selected program.  
Sort sorts the list of  
programs. (Sort options  
are alphabetical and  
chronological).  
Delete deletes the  
selected program.  
Clear deletes all  
programs.  
Transmits the highlighted  
program to another HP  
Prime or to a PC.  
Debugs the selected  
program.  
Runs the highlighted  
program.  
S= or S\  
Moves to the beginning  
or end of the Program  
Catalog.  
Deletes the selected  
program.  
C
Deletes all programs.  
SJ  
500  
Programming  
 
Creating a new program  
1. Open the Program  
Catalog and start a  
new program.  
Sx(Program)  
2. Enter a name for the  
program.  
AA (to lock  
alpha mode)  
MYPROGRAM  
.
3. Press  
again.  
A template for your  
program is then  
automatically  
created. The  
template consists of  
a heading for a  
function with the  
same name as the program, EXPORT  
MYPROGRAM(), and a BEGIN–END;pair that will  
enclose the statements for the function.  
H I N T  
A program name can contain only alphanumeric  
characters (letters and numbers) and the underscore  
character. The first character must be a letter. For  
example, GOOD_NAMEand Spin2are valid program  
names, while HOT STUFF(contains a space) and  
2Cool!(starts with number and includes !) are not valid.  
The Program Editor  
Until you become familiar with the HP Prime commands,  
the easiest way to enter commands is to select them from  
the Catalog menu (D  
menu in the Program Editor (  
), or from the Commands  
). To enter variables,  
Programming  
501  
   
symbols, mathematical functions, units, or characters, use  
the keyboard keys.  
Program Editor:  
buttons and keys  
The buttons and keys in the Program Editor are:  
Button or Key  
Meaning  
Checks the current program  
for errors.  
If your programs goes beyond  
one screen, you can quickly  
jump from screen to screen by  
tapping either side of this  
button. Tap the left side of the  
button to display the previous  
page; tap the right side to  
display the next page. (The  
left tap will be inactive if you  
have the first page of the  
program displayed.)  
or  
S= and  
S\  
Opens a menu from which you  
can choose from common  
programming commands. The  
commandsaregrouped under  
the options:  
Strings  
Drawing  
Matrix  
App Functions  
Integer  
I/O  
More  
Press J to return to the  
main menu.  
The commands in this menu  
are described in “Commands  
under the Cmds menu,  
beginning on page 531.  
502  
Programming  
 
Button or Key  
Meaning (Continued)  
Opens a menu from which you  
can select common  
programming commands. The  
commandsaregroupedunder  
the options:  
Block  
Branch  
Loop  
Variable  
Function  
Press J to return to the  
main menu.  
The commands in this menu  
are described in “Commands  
under the Tmplt menu,  
beginning on page 525.  
Displays menus for selecting  
variable names and values.  
a
Sa  
(Chars)  
Displays a palette of  
characters. If you display this  
palette while a program is  
open, you can choose a  
character and it will be be  
added to your program at the  
cursor point. To add one  
character, highlight it and tap  
or press E. To  
add a character without  
closing the characters palette,  
select it and tap  
.
S> and  
S<  
Moves the cursor to the end  
(or beginning) of the current  
line. You can also swipe the  
screen.  
S= and  
S\  
Moves the cursor to the start  
(or end) of the program. You  
can also swipe the screen.  
Programming  
503  
Button or Key  
Meaning (Continued)  
A> and  
A<  
Moves the cursor one screen  
right (or left). You can also  
swipe the screen.  
Starts a new line.  
E
C
Deletes the character to the  
left of the cursor.  
Deletes the character to the  
right of the cursor.  
SC  
SJ  
Deletes the entire program.  
1. To continue the  
MYPROGRAM  
example (which we  
began on page  
501), use the cursor  
keys to position the  
cursor where you  
want to insert a  
command. In this example, you need to position the  
cursor between BEGINand END.  
2. Tap  
to open  
the menu of common  
programming  
commands for  
blocking, branching,  
looping, variables,  
and functions.  
In this example we’ll  
select a LOOP command from the menu.  
3. Select Loopand  
then select FORfrom  
the sub-menu.  
504  
Programming  
Notice that a  
FOR_FROM_TO_DO  
_ template is  
inserted. All you  
need do is fill in the  
missing information.  
4. Using the cursor keys  
and keyboard, fill in  
the missing parts of  
the command. In this  
case, make the  
statement match the  
following:  
FOR N FROM1 TO  
3 DO  
5. Move the cursor to a blank line below the FOR  
statement.  
6. Tap  
to open the menu of common  
programming commands.  
7. Select I/Oand then  
select MSGBOXfrom  
the sub-menu.  
8. Fill in the argument  
of the MSGBOX  
command, and type  
a semicolon at the  
end of the  
command.  
9. Tap  
to check the syntax of your program.  
10.When you are finished, press Sx to return to  
the Program Catalog or H to go to Home view.  
You are ready now to execute the program.  
Programming  
505  
Run a  
Program  
From Home view, enter the name of the program. If the  
program takes parameters, enter a pair of parentheses  
after the program name with the parameters inside them  
each separated by a comma. To run the program, press  
E.  
From the Program Catalog, highlight the program you  
want to run and tap  
. When a program is executed  
from the catalog, the system looks for a function named  
START()(no parameters).  
You can also run a  
program from the USER  
menu (one of the Toolbox  
menus):  
D
Tap MYPROGRAM  
and MYPROGRAM  
appears on the entry  
line. Tap E and the program executes,  
displaying a message box.  
Tap  
three  
times to step through  
the FORloop. Notice  
that the number  
shown increments by  
1 each time.  
After the program  
terminates, you can  
resume any other activity with the HP Prime.  
If a program has arguments, when you press  
screen appears prompting you to enter the program  
parameters.  
a
506  
Programming  
 
Multi-function  
programs  
If there is more than one EXPORT function in a program,  
when is tapped a list appears for you to choose  
which function to run. To see this feature, create a program  
with the text:  
EXPORT NAME1( )  
BEGIN  
END;  
EXPORT NAME2( )  
BEGIN  
END;  
Now note that when you tap  
or  
, a list with  
NAME1and NAME2appears.  
Debug a  
Program  
You cannot run a program that contains syntax errors. If  
the program does not do what you expect it to do, or if  
there is a run-time error detected by the system, you can  
execute the program step by step, and look at the values  
of local variables.  
Let’s debug the program created above: MYPROGRAM.  
1. In the Program  
Catalog, select  
MYPROGRAM.  
Sx  
Select  
MYPROGRAM  
2. Tap  
.
If there is more than  
one EXPORT function  
in a file, a list  
appears for you to  
choose which  
function to debug.  
While debugging a  
program, the title of the program or intra-program  
function appears at the top of the display. Below that  
is the current line of the program being debugged.  
Programming  
507  
   
The current value of each variable is visible in the  
main body of the screen. The following menu buttons  
are available in the debugger:  
: Skips to the next line or block of the program  
Executes the current line  
:
: Opens a menu of variables  
: Closes the debugger  
: Continues program execution without  
debugging  
3. Execute the FOR loop command.  
The FORloop starts and the top of the display shows  
the next line of the program (the MSGBOX  
command).  
4. Execute the MSGBOX command.  
The message box appears. Note that when each  
message box is displayed, you still have to dismiss it  
by tapping  
or pressing E.  
Tap  
and press E repeatedly to execute  
the program step-by-step.  
to close the debugger at the current line of the  
program, or tap to run the rest of the program  
Tap  
without using the debugger.  
Edit a  
program  
You edit a program using the Program Editor, which is  
accessible from the Program Catalog.  
1. Open the Program  
Catalog.  
Sx  
2. Tap the program you  
want to edit (or use  
the arrow keys to  
highlight it and press  
E).  
The HP Prime opens the Program Editor. The name of  
your program appears in the title bar of the display.  
508  
Programming  
The buttons and keys you can use to edit your  
program are listed in “Program Editor: buttons and  
keys” on page 502.  
Copy a  
You can use the global Copyand Pastecommands to  
copy part or all of a program. The following steps illustrate  
the process:  
program or  
part of a  
program  
1. Open the Program Catalog.  
Sx  
2. Tap the program that has the code you want to copy.  
3. Press SV (Copy).  
The menu buttons change to give you options for  
copying:  
: Marks where the copying or cutting is to begin.  
Marks where the copying or cutting is to  
:
end.  
: Select the entire program.  
: Cut the selection.  
: Copy the selection.  
4. Select what you want to copy or cut (using the options  
listed immediately above).  
5. Tap  
.
or  
6. Return to the Program Catalog and open the target  
program.  
7. Move the cursor to where you want to insert the  
copied or cut code.  
8. Press SZ (Paste). The clipboard opens. What  
you most recently copied or cut will be first in the list  
and highlighted already, so just tap  
. The code  
will be pasted into the program, beginning at the  
cursor location.  
Programming  
509  
 
Delete a  
program  
To delete a program:  
1. Open the Program Catalog.  
Sx  
2. Highlight a program to delete and press C.  
3. At the prompt, tap  
to cancel.  
to delete the program or  
Delete all  
programs  
To delete all programs at once:  
1. Open the Program Catalog.  
Sx  
2. Press SJ (Clear).  
3. At the prompt, tap  
to cancel.  
to delete all programs or  
Delete the  
contents of a  
program  
You can clear the contents of a program without deleting  
the program. The program then just has a name and  
nothing else.  
1. Open the Program Catalog.  
Sx  
2. Tap the program to open it.  
3. Press SJ (Clear).  
4. At the prompt, tap  
to cancel.  
to delete the contents or  
The text of the program is deleted, but the program  
name remains.  
To share a  
program  
You can send programs between calculators just as you  
can send apps, notes, matrices, and lists. See “Sharing  
data” on page 44.  
510  
Programming  
The HP Prime programming language  
Variables  
and visibility  
Variables in an HP Prime program can be used to store  
numbers, lists, matrices, graphics objects, and strings. The  
name of a variable must be a sequence of alphanumeric  
characters (letters and numbers), starting with a letter.  
Names are case-sensitive, so the variables named  
MaxTempand maxTempare different.  
The HP Prime has built-in variables of various types, visible  
globally (that is, visible wherever you are in the  
calculator). For example, the built-in variables Ato Zcan  
be used to store real numbers, Z0to Z9can be used to  
store complex numbers, M0to M9can be used to store  
Matrices and vectors, and so on. These names are  
reserved. You cannot use them for other data. For  
example, you cannot name a program M1, or store a real  
number in a variable named Z8. In addition to these  
reserved variables, each HP app has its own reserved  
variables. Some examples are Root, Xmin, and  
Numstart. Again, these names cannot be used to name  
a program. (A full list of system and app variables is given  
in chapter 22, “Variables, beginning on page 427.)  
In a program you can declare variables for use only within  
a particular function. This is done using a LOCAL  
declaration. The use of LOCALvariables enables you to  
declare and use variables that will not affect the rest of the  
calculator. LOCALvariables are not bound to a particular  
type, that is, you can store floating-point numbers,  
integers, lists, matrices, and symbolic expressions in a  
variable with any local name. Although the system will  
allow you to store different types in the same local  
variable, this is poor programming practice and should  
be avoided.  
Variables declared in a program should have descriptive  
names. For example, a variable used to store the radius of  
a circle is better named RADIUSthan VGFTRFG. You are  
more likely to remember what the variable is used for if its  
name matches its purpose.  
If a variable is needed after the program executes, it can  
be exported from the program using the EXPORT  
command. To do this, the first command in the program  
Programming  
511  
 
(that is, on a line above the program name) would be  
EXPORT RADIUS. Then, if a value is assigned to  
RADIUS, the name appears on the variables menu (a)  
and is visible globally. This feature allows for extensive  
and powerful interactivity among different environments in  
the HP Prime. Note that if another program exports a  
variable with the same name, the most recently exported  
version will be active.  
The program below prompts the user for the value of  
RADIUS, and exports the variable for use outside the  
program.  
EXPORT RADIUS;  
EXPORT GETRADIUS()  
BEGIN  
INPUT(RADIUS);  
END;  
Note that EXPORT  
command for the  
variable RADIUS  
appears before the  
heading of the function  
where RADIUSis  
assigned. After you  
execute this program, a  
new variable named RADIUSappears on the USER  
GETRADIUSsection of the Variables menu.  
Qualifying  
thenameofa  
variable  
The HP Prime has many system variables with names that  
are apparently the same. For example, the Function app  
has a variable named Xmin, but so too does the Polar  
app, the Parametric app, the Sequence app, and the  
Solve app. In a program, and in the Home view, you can  
refer to a particular version of these variables by  
qualifying its name. This is done by entering the name of  
the app (or program) that the variable belongs to,  
followed by a dot (.), and then the actual variable name.  
For example, the qualified variable Function.Xmin  
refers to the value of Xminwithin the Function app.  
Similarly, the qualified variable Parametric.Xmin  
refers to the value of Xminin the Parametric app. Despite  
having the same name—Xmin—the variables could have  
512  
Programming  
   
different values. You do likewise to declare a local  
variable in a program: specify the name of the program,  
followed by the dot, and then variable name.  
Functions,  
their  
You can define your own functions in a program, and data  
can be passed to a function using parameters. Functions  
can return a value (using the RETURNstatement) or not.  
When a program is executed from Home view, the  
program will return the value returned by the last statement  
that was executed.  
arguments,  
and  
parameters  
Furthermore, functions can be defined in a program and  
exported for use by other programs, in much the same  
way that variables can be defined and used elsewhere.  
In this section, we will create a small set of programs, each  
illustrating some aspect of programming in the HP Prime.  
Each program will be used as a building block for a  
custom app described in the next section, App Programs.  
Program ROLLDIE  
We’ll first create a program called ROLLDIE.It simulates  
the rolling of a single die, returning a random integer  
between 1 and whatever number is passed into the  
function.  
In the Program Catalog create a new program named  
ROLLDIE. (For help, see page 501.) Then enter the code  
in the Program Editor.  
EXPORT ROLLDIE(N)  
BEGIN  
RETURN 1+FLOOR(RANDOM(N));  
END;  
The first line is the heading of the function. Execution of the  
RETURNstatement causes a random integer from 1 to N  
to be calculated and returned as the result of the function.  
Note that the RETURNcommand causes the execution of  
the function to terminate. Thus any statements between the  
RETURNstatement and ENDare ignored.  
In Home view (in fact, anywhere in the calculator where a  
number can be used), you can enter ROLLDIE(6)and a  
random integer between 1 and 6 inclusive will be  
returned.  
Programming  
513  
 
Program  
ROLLMANY  
Another program could use the ROLLDIEfunction, and  
generate n rolls of a die with any number of sides. In the  
following program, the ROLLDIEfunction is used to  
generate n rolls of two dice, each with the number of sides  
given by the local variable sides. The results are stored  
in list L2, so that L2(1) shows the number of times the dies  
came up with a combined total of 1, L2(2) shows the  
number of times the dies came up with a combined total  
of 2, etc. L2(1) should be 0 (since the sum of the numbers  
on 2 dice must be at least 2).  
EXPORT ROLLMANY(n,sides)  
BEGIN  
LOCAL k,roll;  
// initialize list of frequencies  
MAKELIST(0,X,1,2*sides,1)L2;  
FOR k FROM 1 TO n DO  
ROLLDIE(sides)+ROLLDIE(sides)roll;  
L2(roll)+1L2(roll);  
END;  
END;  
By omitting the EXPORTcommand when a function is  
declared, its visibility can be restricted to the program  
within which it is defined. For example, you could define the  
ROLLDIEfunction inside the ROLLMANYprogram like this:  
ROLLDIE();  
EXPORT ROLLMANY(n,sides)  
BEGIN  
LOCAL k,roll;  
// initialize list of frequencies  
MAKELIST(0,X,1,2*sides,1)L2;  
FOR k FROM 1 TO n DO  
ROLLDIE(sides)+ROLLDIE(sides)roll;  
L2(roll)+1L2(roll);  
END;  
END;  
ROLLDIE(n)  
BEGIN  
RETURN 1+FLOOR(RANDOM(N));  
END;  
514  
Programming  
In this scenario, assume there is no ROLLDIEfunction  
exported from another program. Instead, ROLLDIEis  
visible only to ROLLMANY. The ROLLDIEfunction must be  
declared before it is called. The first line of the program  
above contains the declaration of the ROLLDIEfunction.  
The definition of the ROLLDIEfunction is located at the  
end of the program.  
Finally, the list of results could be returned as the result of  
calling ROLLMANYinstead of being stored directly in the  
global list variable, L2. This way, if the user wanted to  
store the results elsewhere, it could be done easily.  
EXPORT ROLLMANY(n,sides)  
BEGIN  
LOCAL k,roll,results;  
MAKELIST(0,X,1,2*sides,1)results;  
FOR k FROM 1 TO n DO  
ROLLDIE(sides)+ROLLDIE(sides)roll;  
results(roll)+1results(roll);  
END;  
RETURN results;  
END;  
In Home view you would enter ROLLMANY(100,6)L5  
and the results of the simulation of 100 rolls of two six-  
sided dice would be stored in list L5.  
The User Keyboard: Customizing key presses  
You can assign alternative functionality to any key on the  
keyboard, including to the functionality provided by the  
shift and alpha keys. This enables you to customize the  
keyboard to your particular needs. For example, you  
could assign e to a function that is multi-nested on a  
menu and thus difficult to get to on a menu (such as  
ALOG).  
A customized keyboard is called the user keyboard and  
you activate it when you go into user mode.  
Programming  
515  
         
User mode  
There are two user modes:  
Temporary user mode: the next key press, and only  
the next, enters the object you have assigned to that  
key. After entering that object, the keyboard  
automatically returns to its default operation.  
To activate temporary user mode, press SW  
(User). Notice that 1U appears in the title bar. The 1  
will remind you that the user keyboard will be active  
for just one key press.  
Persistent user mode: each key press from now until  
you turn off user mode will enter whatever object you  
have assigned to a key.  
To activate persistent user mode, press  
SWSW. Notice that U appears in the  
title bar. The user keyboard will now remain active  
until you press SW again.  
If you are in user mode and press a key that hasn’t been  
re-assigned, the key’s standard operation is performed.  
Re-assigning  
keys  
Suppose you want to  
assign a commonly used  
function—such as  
ALOG—to its own key on  
the keyboard. Simply  
create a new program  
that mimics the syntax in  
the image at the right.  
The first line of the program specifies the key to be  
reassigned using its internal name. (The names of all the  
keys are given in “Key names” on page 517. They are  
case-sensitive.)  
On line 3, enter the text you want produced when the key  
being re-assigned is pressed. This text must be enclosed in  
quote marks.  
The next time you want to insert ALOGat the position of  
your cursor, you just press SWe.  
You can enter any string you like in the RETURN line of  
your program. For example, if you enter “Newton, that  
text will be returned when you press the re-assigned key.  
516  
Programming  
 
You can even get the program to return user-defined  
functions as well as system functions, and user-defined  
variables as well as system variables.  
You can also re-assign a shifted key combination. So, for  
example, ASn could be re-assigned to produce  
SLOPE(F1(X),3)rather than the lowercase t. Then if  
ASn is entered in Home view and E  
pressed, the gradient at X = 3 of whatever function is  
currently defined as F1(X) in the Function app would be  
returned.  
T i p  
A quick way to write a program to re-assign a key is to  
press Z and select Create user keywhen you are  
in the Program Editor. You will then be asked to press the  
key (or key combination) you want to re-assign. A  
program template appears, with the internal name of the  
key (or key combination) added automatically.  
Key names  
The first line of a program that re-assigns a key must  
specify the key to be reassigned using its internal name.  
The table below gives the internal name for each key.  
Note that key names are case-sensitive.  
Internal name of keys and key states  
Key  
Name  
S
A
AS  
+ key  
+ key  
+ key  
K_0  
K_1  
K_2  
K_3  
K_4  
K_5  
K_6  
K_7  
K_8  
K_9  
KS_0  
KS_1  
KS_2  
KS_3  
KS_4  
KS_5  
KS_6  
KS_7  
KS_8  
KS_9  
KA_0  
KA_1  
KA_2  
KA_2  
KA_4  
KA_5  
KA_6  
KA_7  
KA_8  
KA_9  
KSA_0  
KSA_1  
KSA_2  
KSA_2  
KSA_4  
KSA_5  
KSA_6  
KSA_7  
KSA_8  
KSA_9  
N
x
y
z
t
u
v
p
q
r
Programming  
517  
   
Internal name of keys and key states  
Key  
Name  
S
A
AS  
+ key  
+ key  
+ key  
K_Abc  
K_Alpha  
K_Apps  
K_Bksp  
KS_Abc  
KS_Alpha  
KS_Apps  
KS_Bksp  
KA_Abc  
KA_Alpha  
KA_Apps  
KA_Bksp  
KSA_Abc  
KSA_Alpha  
KSA_Apps  
KSA_Bksp  
KSA_Comma  
KSA_Cos  
KSA_Div  
c
A
I
C
o
f
n
.
\
K_Comma KS_Comma KA_Comma  
K_Cos  
K_Div  
KS_Cos  
KS_Div  
KA_Cos  
KA_Div  
K_Dot  
KS_Dot  
KS_Down  
KS_Enter  
KS_Home  
KS_Left  
KA_Dot  
KSA_Dot  
K_Down  
K_Enter  
K_Home  
K_Left  
KA_Down  
KA_Enter  
KA_Home  
KA_Left  
KSA_Down  
KSA_Enter  
KSA_Home  
KSA_Left  
E
H
,<  
K_Right  
K_Ln  
KS_Right  
KS_Ln  
KA_Right  
KA_Ln  
KSA_Right  
KSA_Ln  
,>  
h
i
w
Q
M
O
P
+
k
e
j
Y
K_Log  
KS_Log  
KS_Minus  
KS_Neg  
KS_Num  
KA_Log  
KA_Minus  
KA_Neg  
KA_Num  
KA_On  
KSA_Log  
K_Minus  
K_Neg  
K_Num  
K_On  
KSA_Minus  
KSA_Neg  
KSA_Num  
KSA_On  
K_Plot  
KS_Plot  
KS_Plus  
KS_Power  
KS_Sin  
KA_Plot  
KA_Plus  
KA_Power  
KA_Sin  
KSA_Plot  
K_Plus  
K_Power  
K_Sin  
KSA_Plus  
KSA_Power  
KSA_Sin  
K_Sq  
KS_Sq  
KA_Sq  
KSA_Sq  
K_Symb  
KS_Symb  
KA_Symb  
KSA_Symb  
518  
Programming  
Internal name of keys and key states  
Key  
Name  
S
A
AS  
+ key  
+ key  
+ key  
K_Tan  
K_Up  
KS_Tan  
KS_Up  
KA_Tan  
KA_Up  
KSA_Tan  
KSA_Up  
g
=
K_Vars  
K_View  
K_Xttn  
K_Help  
K_Menu  
K_Esc  
KS_Vars  
KS_View  
KS_Xttn  
KA_Vars  
KA_View  
KA_Xttn  
KA_Help  
KA_Menu  
KA_Esc  
KSA_Vars  
KSA_View  
KSA_Xttn  
KSA_Help  
KSA_Menu  
KSA_Esc  
KSA_Cas  
KSA_Math  
KSA_Templ  
KSA_Paren  
KSA_Eex  
KSA_Mul  
a
V
d
W
Z
J
K
D
F
R
B
s
S
X
KS_Menu  
KS_Esc  
KS_Cas  
KS_Math  
KS_Templ  
KS_Paren  
KS_Eex  
KS_Mul  
K_Cas  
K_Math  
K_Templ  
K_Paren  
K_Eex  
KA_Cas  
KA_Math  
KA_Templ  
KA_Paren  
KA_Eex  
KA_Mul  
K_Mul  
K_Space  
KS_Space  
KA_Space  
KSA_Space  
App programs  
An app is a unified collection of views, programs, notes,  
and associated data. Creating an app program allows  
you to redefine the app’s views and how a user will  
interact with those views. This is done with (a) dedicated  
program functions with special names and (b) by  
redefining the views in the Views menu.  
Programming  
519  
   
Using  
These programs are run when the keys shown in the table  
below are pressed. These program functions are designed  
to be used in the context of an app.  
dedicated  
program  
functions  
Program  
Name  
Equivalent  
Keystrokes  
Symb  
Symbolic view  
Symbolic Setup  
Plot view  
Y
SymbSetup  
Plot  
SY  
P
PlotSetup  
Num  
Plot Setup  
SP  
M
Numeric view  
Numeric Setup  
Info view  
NumSetup  
Info  
SM  
SI  
START  
RESET  
Starts an app  
Resets or  
initializes an app  
Redefining  
the Views  
menu  
The Views menu allows any app to define views in  
addition to the standard seven views shown in the table  
above. By default, each HP app has its own set of  
additional views contained in this menu. The VIEWS  
command allows you to redefine these views to run  
programs you have created for an app. The syntax for the  
VIEWScommand is:  
VIEWS"text"  
By adding VIEWS"text" before the declaration of a  
function, you will override the list of views for the app. For  
example, if your app program defines three  
views—"SetSides", "RollDice" and "PlotResults"—when  
you press V you will see SetSides, RollDice, and  
PlotResults instead of the app’s default view list.  
520  
Programming  
 
Customizing  
an app  
When an app is active, its associated program appears  
as the first item in the Program Catalog. It is within this  
program that you put functions to create a custom app. A  
useful procedure for customizing an app is illustrated  
below:  
1. Decide on the HP app that you want to customize.  
The customized app inherits all the properties of the  
HP app.  
2. Go to the Applications Library (I), highlight the  
HP app, tap  
name.  
and save the app with a unique  
3. Customize the new app if you need to (for example,  
by configuring the axes or angle measure settings).  
4. Develop the functions to work with your customized  
app. When you develop the functions, use the app  
naming conventions described above.  
5. Put the VIEWScommand in your program to modify  
the app's Views menu.  
6. Decide if your app will create new global variables. If  
so, you should EXPORTthem from a separate user  
program that is called from the Start()function in  
the app program. This way they will not have their  
values lost.  
7. Test the app and debug the associated programs.  
It is possible to link more than one app via programs. For  
example, a program associated with the Function app  
could execute a command to start the Statistics 1Var app,  
and a program associated with the Statistics 1Var app  
could return to the Function app (or launch any other app).  
Example  
The following example illustrates the process of creating a  
custom app. The app is based on the built-in Statistics  
1Var app. It simulates the rolling of a pair of dice, each  
with a number of sides specified by the user. The results  
are tabulated, and can be viewed either in a table or  
graphically.  
Programming  
521  
     
1. In the Application  
Librray, select the  
Statistics 1Var app  
but don’t open it.  
I Select  
Statistics  
1Var.  
2. Tap  
.
3. Enter a name for the new app (such as  
DiceSimulation.)  
4. Tap  
twice.  
The new app appears in the Application Library.  
5. Open the new app.  
6. Open the Program Catalog.  
Sx  
7. Tap the program to  
open it.  
Each customised  
app has one  
program associated  
with it. Initially, this  
program is empty.  
You customize the  
app by entering functions into that program.  
At this point you decide how you want the user to interact  
with the app. In this example, we will want the user to be  
able to:  
start the app  
specify the number of sides (that is, faces) on each  
die  
specify number of times to roll the dice  
start the app again.  
With that in mind, we will create the following views:  
START, SETSIDES, and SETNUMROLLS.  
The STARToption will initialize the app and display a  
note that gives the user instructions. The user will also  
interact with the app through the Numeric view and the  
522  
Programming  
Plot view. These views will be activated by pressing M  
and P, but the functions Numand Plotin our app  
program will actually launch those views after doing some  
configuration.  
The program discussed earlier in this chapter to get the  
number of sides for a dice is expanded here, so that the  
possible sums of two such die are stored in dataset D1.  
Enter the following sub-routines into the program for the  
DiceSimulationapp.  
The program  
DiceSimulation  
START()  
BEGIN  
DICESIMVARS();  
{}D1;  
{}D2;  
SetSample(H1,D1);  
SetFreq(H1,D2);  
0H1Type;  
END;  
VIEWS "Roll Dice",ROLLMANY()  
BEGIN  
LOCAL k,roll;  
MAKELIST(X+1,X,1,2*SIDES-1,1)D1;  
MAKELIST(X+1,X,1,2*SIDES-1,1)D2;  
FOR k FROM 1 TO ROLLS DO  
roll:=ROLLDIE(SIDES)+ROLLDIE (SIDES);  
D2(roll-1)+1D2(roll-1);  
END;  
-1Xmin;  
MAX(D1)+1Xmax;  
0Ymin;  
MAX(D2)+1Ymax;  
STARTVIEW(1,1);  
END;  
VIEWS "Set Sides",SETSIDES()  
BEGIN  
REPEAT  
Programming  
523  
 
INPUT(SIDES,"Die Sides","N=","ENTER  
num sides",2);  
FLOOR(SIDES)SIDES;  
IF SIDES<2 THEN  
MSGBOX("Must be >= 2");  
END;  
UNTIL SIDES >=2;  
END;  
VIEWS "Set Rolls",SETROLLS()  
BEGIN  
REPEAT  
INPUT(ROLLS,"Numofrolls","N=","Enter  
numrolls",25);  
FLOOR(ROLLS)ROLLS;  
IF ROLLS<1 THEN  
MSGBOX(" u must enter a num >=1");  
END;  
UNTIL ROLLS>=1;  
END;  
PLOT()  
BEGIN  
-1Xmin;  
MAX(D1)+1Xmax;  
0Ymin;  
MAX(D2)+1Ymax;  
STARTVIEW(1,1);  
END;  
The ROLLMANY()routine is an adaptation of the program  
presented earlier in this chapter. Since you cannot pass  
parameters to a program called through a selection from  
a custom Views menu, the exported variables SIDESand  
ROLLSare used in place of the parameters that were used  
in the previous versions.  
The program above calls two other user programs:  
ROLLDIE()and DICESIMVARS(). ROLLDIE()  
appears earlier in this chapter. Here is DICESIMVARS.  
Create a program with that name and enter the following  
code.  
524  
Programming  
The program  
DICESIMVARS  
EXPORT ROLLS,SIDES;  
EXPORT DICESIMVARS()  
BEGIN  
10 ROLLS;  
6
SIDES;  
END;  
Press V to see the  
custom app menu. Here  
you can set the number  
of sides of the dice, the  
number of rolls, and  
execute a simulation.  
After running a  
simulation, press P to  
see a histogram of your simulation results.  
Program commands  
This section describes each program command. The  
commands under the  
commands under the  
menu are described first. The  
menu are described in  
“Commands under the Cmds menu” on page 531.  
Commands under the Tmplt menu  
Block  
The block commands determine the beginning and end of  
a sub-routine or function. There is also a Return  
command to recall results from sub-routines or functions.  
BEGIN END  
Syntax: BEGINstmt1;stm2;…stmtN; END;  
Defines a command or set of commands to be executed  
together. In the simple program:  
EXPORT SQM1(X)  
BEGIN  
RETURN X^2-1;  
END;  
the block is the single RETURN command.  
Programming  
525  
       
If you entered SQM1(8)in Home view, the result returned  
would be 63.  
RETURN  
KILL  
Syntax: RETURNexpression;  
Returns the current value of expression.  
Syntax: KILL;  
Stops the step-by-step execution of the current program  
(with debug).  
Branch  
In what follows, the plural word commands refers to both  
a single command or a set of commands.  
IF THEN  
Syntax: IFtest THENcommands END;  
Evaluate test. If test is true (not 0), execute commands.  
Otherwise, nothing happens.  
IF THEN ELSE  
CASE  
Syntax: IFtest THENcommands1 ELSEcommands 2  
END;  
Evaluate test. If test is true (non 0), execute commands 1,  
otherwise, execute commands 2  
Syntax:  
CASE  
IFtest1 THENcommands1 END;  
IFtest2 THENcommands2 END;  
[DEFAULTcommands]  
END;  
Evaluates test1. If true, execute commands1 and end the  
CASE. Otherwise, evaluate test2. If true, execute  
commands2. Continue evaluating tests until a true is  
found. If no true test is found, execute default commands,  
if provided.  
Example:  
CASE  
IF x 0 THEN RETURN"negative"; END;  
IF x 1 THEN RETURN"small"; END;  
DEFAULT RETURN"large";  
END;  
526  
Programming  
 
IFERR IFERRcommands1 THENcommands2 END;  
Executes sequence of commands1. If an error occurs  
during execution of commands1, executes sequence of  
commands2.  
IFERR ELSE IFERRcommands1 THENcommands2 ELSE  
commands3 END;  
Executes sequence of commands1. If an error occurs  
during execution of commands1, executes sequence of  
commands2. Otherwise, execute sequence of  
commands3.  
Loop  
FOR  
Syntax: FORvar FROMstart TOfinish DOcommands END;  
Sets variable var to start, and for as long as this variable  
is less than or equal to finish, executes the sequence of  
commands, and then adds 1 (increment) to var.  
Example 1: This program determines which integer from 2  
to N has the greatest number of factors.  
EXPORT MAXFACTORS(N)  
BEGIN  
LOCAL cur, max,k,result;  
1max;1result;  
FOR k FROM 2 TO N DO  
SIZE(idivis(k)) cur;  
IF cur > max THEN  
cur max;  
k
result;  
END;  
END;  
MSGBOX("Max of "+ max +" factors for  
"+result);  
END;  
Programming  
527  
   
In Home, enter  
MAXFACTORS(100).  
FOR STEP  
Syntax: FORvar FROMstart TOfinish [STEP increment]  
DOcommands END;  
Sets variable var to start, and for as long as this variable  
is less than or equal to finish, executes the sequence of  
commands, and then adds increment to var.  
Example 2: This  
program draws an  
interesting pattern on  
the screen.  
EXPORT  
DRAWPATTERN()  
BEGIN  
LOCAL  
xincr,yincr,color;  
STARTAPP("Function");  
RECT();  
xincr := (Xmax - Xmin)/320;  
yincr := (Ymax - Ymin)/240;  
FOR X FROM Xmin TO Xmax STEP xincr DO  
FOR Y FROM Ymin TO Ymax STEP yincr DO  
color := FLOOR(X^2+Y^2) MOD 32768;  
PIXON(X,Y,color);  
END;  
END;  
FREEZE;  
END;  
FOR DOWN  
Syntax: FORvar FROMstart DOWNTOfinish DOcommands  
END;  
Sets variable var to start, and for as long as this variable  
is more than or equal to finish, executes the sequence of  
commands, and then subtracts 1 (decrement) from var.  
528  
Programming  
FOR DOWN STEP  
Syntax: FORvar FROMstart DOWNTOfinish [STEP  
increment] DOcommands END;  
Sets variable var to start, and for as long as this variable  
is more than or equal to finish, executes the sequence of  
commands, and then subtract increment from var.  
WHILE  
Syntax: WHILEtest DOcommands END;  
Evaluate test. If result is true (not 0), executes the  
commands, and repeat.  
Example: A perfect number is one that is equal to the sum  
of all its proper divisors. For example, 6 is a perfect  
number because 6 = 1+2+3. The example below returns  
true when its argument is a perfect number.  
EXPORT ISPERFECT(n)  
BEGIN  
LOCAL d, sum;  
2
1
d;  
sum;  
WHILE sum <= n AND d < n DO  
IF irem(n,d)==0 THEN  
sum+d sum;  
END;  
d+1d;  
END;  
RETURN sum==n;  
END;  
The following program displays all the perfect numbers up  
to 1000:  
EXPORT PERFECTNUMS()  
BEGIN  
LOCAL k;  
FOR k FROM 2 TO 1000 DO  
IF ISPERFECT(k) THEN  
MSGBOX(k+" is perfect, press OK");  
END;  
END;  
END;  
Programming  
529  
REPEAT  
Syntax: REPEATcommands UNTILtest;  
Repeats the sequence of commands until test is true (not  
0).  
The example below prompts for a positive value for SIDES,  
modifying an earlier program in this chapter:  
EXPORT SIDES;  
EXPORT GETSIDES()  
BEGIN  
REPEAT  
INPUT(SIDES,"Die Sides","N = ","Enter  
num sides",2);  
UNTIL SIDES>0;  
END;  
BREAK  
Syntax: BREAK(n)  
Exits from loops by breaking out of n loop levels.  
Execution picks up with the first statement after the loop.  
With no argument exit from a single loop.  
CONTINUE  
Syntax: CONTINUE  
Transfer execution to the start of the next iteration of a  
loop.  
Variable  
These commands enable you to control the visibility of a  
user-defined variable.  
LOCAL  
Local.  
Syntax: LOCALvar1,var2,…varn;  
Makes the variables var1, var2, etc. local to the program  
in which they are found.  
EXPORT  
Exports the variable so that it is globally available.  
530  
Programming  
       
Function  
These commands enable you to control the visibility of a  
user-defined function.  
EXPORT  
Export.  
Syntax: EXPORT FunctionName()  
Exports the function FunctionNameso that it is globally  
available and appears on the User menu (D  
).  
VIEW  
KEY  
Sets text that the user can see by pressing V.  
A prefix to a key name when creating a user keyboard.  
See “The User Keyboard: Customizing key presses” on  
page 515.  
Commands under the Cmds menu  
Strings  
A string is a sequence of characters enclosed in double  
quotes (""). To put a double quote in a string, use two  
consecutive double quotes. The \ character starts an  
escape sequence, and the character(s) immediately  
following are interpreted specially. \n inserts a new line  
and two backslashes insert a single backslash. To put a  
new line into the string, press E to wrap the text at  
that point.  
ASC  
Syntax: asc(str)  
Returns a vector containing the ASCII codes of string str.  
Example: asc("AB") returns [65,66]  
CHAR  
Syntax: char(vector or int)  
Returns the string corresponding to the character codes in  
vector, or the single code int.  
Examples: char(65) returns "A"; char([82,77,72])  
returns "RMH"  
Programming  
531  
         
DIM  
Syntax: dim(str)  
Returns the number of characters in string str.  
Example: dim("12345") returns 5, dim("""") and  
dim("\n") return 1. (Notice the use of the two double  
quotes and the escape sequence.)  
STRING  
Syntax: string(object);  
Returns a string representation of the object. The result  
varies depending on the type of object.  
string(2/3); results in the string 0.666666666667  
Examples:  
String  
Result  
string(F1), when F1(X)  
= COS(X)  
"COS(X)"  
"{1,2,3}"  
string(L1) when L1 =  
{1,2,3}  
string(M1) when M1 =  
"[[1,2,3],[4,5,6]]"  
1 2 3  
4 5 6  
INSTRING  
Syntax: inString(str1,str2)  
Returns the index of the first occurrence of str2 in str1.  
Returns 0 if str2 is not present in str1. Note that the first  
character in a string is position 1.  
Examples:  
inString("vanilla","van") returns 1.  
inString("banana","na") returns 3  
inString("ab","abc") returns 0  
LEFT  
Syntax: left(str,n)  
Return the first n characters of string str. If n dimstror  
n 0 , returns str. If n == 0 returns the empty string.  
Example: left("MOMOGUMBO",3) returns "MOM"  
532  
Programming  
RIGHT  
MID  
Syntax: right(str,n)  
Returns the last n characters of string str. If n <= 0, returns  
empty string. If n > –dim(str), returns str  
Example: right("MOMOGUMBO",5) returns  
"GUMBO"  
Syntax: mid(str,pos, [n])  
Extracts n characters from string str starting at index pos.  
n is optional, if not specified, extracts all the remainder of  
the string.  
Example: mid("MOMOGUMBO",3,5) returns  
"MOGUM", mid("PUDGE",4) returns "GE"  
ROTATE  
Syntax: rotate(str,n)  
Permutation of characters in string str. If 0 <=n < dim(str),  
shifts n places to left. If –dim(str) < n <= –1, shifts n spaces  
to right. If n > dim(str) or n < -dim(str), returns str.  
Examples:  
rotate("12345",2) returns "34512"  
rotate("12345",-1) returns "51234"  
rotate("12345",6) returns "12345"  
STRINGFROMID  
Syntax: STRINGFROMID(integer)  
Returns, in the current language, the built-in string  
associated in the internal string table with the specified  
integer.  
Examples:  
STRINGFROMID(56) returns “Complex”  
STRINGFROMID(202) returns “Home Vars”  
REPLACE  
Syntax: REPLACE(object1, start, object2)  
Replaces part of object1 with object2 beginning at start.  
The objects can be matrices, vectors, or stings.  
Example:  
REPLACE("12345",3,”99”) returns "12995"  
Programming  
533  
Drawing  
There are 10 built-in graphics variables in the HP Prime,  
called G0G9. G0 is always the current screen graphic.  
G1 to G9 can be used to store temporary graphic objects  
(called GROBs for short) when programming applications  
that use graphics. They are temporary and thus cleared  
when the calculator turns off.  
Twenty-six functions can be used to modify graphics  
variables. Thirteen of them work with Cartesian  
coordinates using the Cartesian plane defined in the  
current app by the variables Xmin, Xmax, Ymin, and  
Ymax.  
The remaining thirteen work with pixel coordinates where  
the pixel 0,0is the top left pixel of the GROB, and 320,  
240 is the bottom right. Functions in this second set have  
a _P suffix to the function name.  
CPX  
Converts from Cartesian coordinates to screen coordinates.  
DRAWMENU  
Syntax: DRAWMENU({text1, text2, …})  
Draws a menu showing the text items listed.  
FREEZE  
Syntax: FREEZE  
Pauses program execution until a key is pressed. This  
prevents the screen from being redrawn after the end of  
the program execution, leaving the modified display on  
the screen for the user to see.  
PXC  
Converts from screen coordinates to Cartesian  
coordinates.  
RGB  
Syntax: RGB(R, G, B, [A])  
Returns an integer number that can be used as the color  
parameter for a drawing function. Based on Red, Green  
and Blue components values (0 to 255).  
If Alpha is greater than 128, returns the color flagged as  
transparent. There is no alpha channel blending on Prime.  
So RGB(255,0,128) returns #FF000F.  
RECT(RGB(0,0,255)) makes a blue screen, as would  
RGB(255) (any valid number gets interpreted the same way).  
LINE(...,RGB(0,255,0)) makes a green line.  
534  
Programming  
   
Pixels and Cartesian  
ARC_P  
ARC  
Syntax; ARC(G, x, y, r [ , a1, a2, c])  
ARC_P(G, x, y, r [ , a1, a2, c])  
Draws an arc or circle on G, centered on point x,y, with  
radius r and color c starting at angle a1 and ending on  
angle a2.  
G can be any of the graphics variables and is optional.  
The default is G0  
r is given in pixels.  
c is optional and if not specified black is used. It should  
be specified in this way: #RRGGBB (in the same way as  
a color is specified in HTML).  
a1 and a2 follow the current angle mode and are  
optional. The default is a full circle.  
BLIT_P  
BLIT  
Syntax: BLIT([trgtGRB, dx1, dy1, dx2, dy2],  
srcGRB [ ,sx1, sy1, sx2, sy2, c])  
BLIT_P([trgtGRB, dx1, dy1, dx2, dy2],  
srcGRB [ ,sx1, sy1, sx2, sy2, c])  
Copies the region of srcGRB between point sx1, sy1 and  
sx2, sy2 into the region of trgtGRB between points dx1,  
dy1 and dx2, dy2. Do not copy pixels from srcGRB that  
are color c.  
trgtGRB can be any of the graphics variables and is  
optional. The default is G0.  
srcGRB can be any of the graphics variables.  
dx2, dy2 are optional and if not specified will be  
calculated so that the destination area is the same size as  
the source area.  
sx2, sy2 are optional and if not specified will be the  
bottom right of the srcGRB.  
sx1, sy1 are optional and if not specified will be the top  
left of srcGRB.  
Programming  
535  
dx1, dy1 are optional and if not specified will be the top  
left of trgtGRB.  
c can be an color specified as #RRGGBB. If it is not  
specified all pixels from rcGRB will be copied.  
N O T E  
Using the same variable for trgtGRB and srcGRB can be  
unpredictable when the source and destination overlap.  
DIMGROB_P  
DIMGROB  
Syntax: DIMGROB_P(G, w, h, [color]) or  
DIMGROB_P(G, list)  
DIMGROB(G, w, h, [color]) or  
DIMGROB(G, list)  
Sets the dimensions of GROB G to w × h. Initializes the  
graphic G with color or with the graphic data provided in  
list. If the graphic is initialized using graphic data, then list  
is a list of integers. Each integer, as seen in base 16,  
describes one color every 16 bits.  
Colors are in A1R5G5B5 format (that is,1 bit for the alpha  
channel, and 5 bits for R, G, and B).  
GETPIX_P  
GETPIX  
Syntax: GETPIX([G], x, y)  
GETPIX_P([G], x, y)  
Returns the color of the pixel G with coordinates x,y.  
G can be any of the graphics variables and is optional.  
The default is G0, the current graphic.  
GROBH_P  
GROBH  
Syntax: GROBH(G)  
GROBH_P(G)  
Returns the height of G.  
G can be any of the graphics variables and is optional.  
The default is G0.  
536  
Programming  
GROBW_P  
GROBW  
Syntax: GROBW(G)  
GROBW_P(G)  
Returns the width of G.  
G can be any of the graphics variables and is optional.  
The default is G0.  
INVERT_P  
INVERT  
Syntax: INVERT([G, x1, y1, x2, y2])  
INVERT_P([G, x1, y1, x2, y2])  
Executes a reverse video of the selected region. G can be  
any of the graphics variables and is optional. The default  
is G0.  
x2, y2 are optional and if not specified will be the bottom  
right of the graphic.  
x1, y1 are optional and if not specified will be the top left  
of the graphic. If only one x,y pair is specified, it refers to  
the top left.  
LINE_P  
LINE  
Syntax: LINE(G, x1, y1, x2, y2, c)  
LINE_P(G, x1, y1, x2, y2, c)  
Draws a line of color c on G between points x1,y1 and  
x2,y2.  
G can be any of the graphics variables and is optional.  
The default is G0.  
c can be any color specified as #RRGGBB. The default is  
black.  
PIXOFF_P  
PIXOFF  
Syntax: PIXOFF([G], x, y)  
PIXOFF_P([G], x, y)  
Sets the color of the pixel G with coordinates x,y to white.  
G can be any of the graphics variables and is optional.  
The default is G0, the current graphic  
Programming  
537  
PIXON_P  
PIXON  
Syntax: PIXON([G], x, y [ ,color])  
PIXON_P([G], x, y [ ,color])  
Sets the color of the pixel G with coordinates x,y to color.  
G can be any of the graphics variables and is optional.  
The default is G0, the current graphic. Color can be any  
color specified as #RRGGBB. The default is black.  
RECT_P  
RECT  
Syntax: RECT([G, x1, y1, x2, y2, edgecolor, fillcolor])  
RECT_P([G, x1, y1, x2, y2, edgecolor, fillcolor])  
Draws a rectangle on G between points x1,y1 and x2,y2  
using edgecolor for the perimeter and fillcolor for the  
inside.  
G can be any of the graphics variables and is optional.  
The default is G0, the current graphic.  
x1, y1 are optional. The default values represent the top  
left of the graphic.  
x2, y2 are optional. The default values represent the  
bottom right of the graphic.  
edgecolor and fillcolor can be c any color specified as  
#RRGGBB. Both are optional, and fillcolor defaults to  
edgecolor if not specified.  
To erase a GROB, execute RECT(G). To clear the screen  
execute RECT().  
When optional arguments are provided in a command  
with multiple optional parameters (like RECT), the  
arguments provided correspond to the leftmost parameters  
first. For example, in the program below, the arguments  
40and 90in the RECT_Pcommand correspond to x1  
and y1. The argument #000000corresponds to  
edgecolor, since there is only the one additional  
argument. If there had been two additional arguments,  
they would have referred to x2 and y2 rather than  
edgecolor and fillcolor. The program produces the figure  
below.  
538  
Programming  
EXPORT BOX()  
BEGIN  
RECT();  
RECT_P(40,90,  
#000000);  
FREEZE;  
END;  
The program below also uses the RECT_Pcommand. In  
this case, the pair of arguments 0and 3correspond to x2  
and y2.  
EXPORT BOX()  
BEGIN  
RECT();INVERT(G  
0);  
RECT_P(40,90,0,  
3);  
FREEZE;  
END;  
SUBGROB_P  
SUBGROB  
Syntax: SUBGROB(srcGRB [ ,x1, y1, x2, y2], trgtGRB)  
SUBGROB_P(srcGRB [ ,x1, y1, x2, y2], trgtGRB)  
Sets trgtGRB to be a copy of the area of srcGRB between  
points x1,y1 and x2,y2.  
srcGRB can be any of the graphics variables and is  
optional. The default is G0.  
trgtGRB can be any of the graphics variables except G0.  
x2, y2 are optional and if not specified will be the bottom  
right of srcGRB.  
x1, y1 are optional and if not specified will be the top left  
of srcGRB.  
Example: SUBGROB(G1, G4) will copy G1 in G4.  
Programming  
539  
TEXTOUT_P  
TEXTOUT  
Syntax: TEXTOUT(text [ ,G], x, y [ ,font, c1, width, c2])  
TEXTOUT_P(text [ ,G], x, y [ ,font, c1, width,  
c2])  
Draws text using color c1 on graphic G at position x, y  
using font. Do not draw text more than width pixels wide  
and erase the background before drawing the text using  
color c2. G can be any of the graphics variables and is  
optional. The default is G0.  
Font can be:  
0: current font selected in mode screen, 1: small font 2:  
large font. Font is optional and if not specified is the  
current font selected on the Homes Settings screen.  
c1 can be any color specified as #RRGGBB. The default is  
black (#000000).  
width is optional and if not specified, no clipping is  
performed.  
c2 can be any color specified as #RRGGBB. c2 is  
optional. If not specified the background is not erased.  
Example:  
This program displays the successive approximations for   
using the series for the arctangent(1). Note that a color for  
the text, and for background, has been specified (with the  
width of the text being limited to 100 pixels).  
EXPORT RUNPISERIES()  
BEGIN  
LOCAL sign;  
2
K;4 A;  
-1 sign;  
RECT();  
TEXTOUT_P("N=",0,0);  
TEXTOUT_P("PI APPROX=",0,30);  
REPEAT  
A+sign*4/(2*K-1) A;  
TEXTOUT_P(K,35,0,2,  
#FFFFFF,100,#333399);  
540  
Programming  
TEXTOUT_P(A,90,30,2,  
#000000,100,#99CC33);  
sign*-1  
sign;  
K+1K;  
UNTIL 0;  
END;  
The program executes  
until the user presses  
O to terminate. The  
spaces after K(the number of the term) and A(the current  
approximation) in the TEXTOUT_Pcommands are there  
to overwrite the previously displayed value.  
Matrix  
Some matrix commands take as their argument the matrix  
variable name on which the command is applied. Valid  
names are the global variables M0–M9 or a local  
variable that contains a matrix.  
ADDCOL  
Syntax: ADDCOL  
(name [ ,value1,...,valuen],column_number)  
Inserts values into a new column inserted before  
column_number in the specified matrix. You enter the  
values as a vector. (These are not optional arguments.) The  
values must be separated by commas and the number of  
values must be the same as the number of rows in the  
matrix name.  
ADDROW  
Syntax: ADDROW  
(name [ ,value1,...,valuen],row_number)  
Inserts values into a new row inserted before row_number  
in the specified matrix. You enter the values as a vector.  
(These are not optional arguments.) The values must be  
separated by commas and the number of values must be  
the same as the number of columns in the matrix name.  
DELCOL  
Syntax: DELCOL(name ,column_number)  
Deletes column column_number from matrix name.  
Programming  
541  
       
DELROW  
EDITMAT  
Syntax: DELROW(name ,row_number)  
Deletes row row_number from matrix name.  
Syntax: EDITMAT(name)  
Starts the Matrix Editor and displays the specified matrix.  
If used in programming, returns to the program when user  
presses  
. Even though this command returns the  
matrix that was edited, EDITMATcannot be used as an  
argument in other matrix commands.  
REDIM  
Syntax: REDIM(name, size)  
Redimensions the specified matrix (name) or vector to size.  
For a matrix, size is a list of two integers (n1,n2). For a  
vector, size is a list containing one integer (n). Existing  
values in the matrix are preserved. Fill values will be 0.  
REPLACE  
Syntax: REPLACE(name, start, object)  
Replaces portion of a matrix or vector stored in name with  
an object starting at position start. Start for a matrix is a  
list containing two numbers; for a vector, it is a single  
number. REPLACEalso works with lists, graphics, and  
strings. For example, REPLACE("123456", 2, "GRM") ->  
"1GRM56"  
SCALE  
Syntax: SCALE(name, value, rownumber)  
Multiplies the specified row_number of the specified  
matrix by value.  
SCALEADD  
Syntax: SCALEADD(name, value, row1, row2)  
Multiplies the specified row1 of the matrix (name) by  
value, then adds this result to the second specified row2  
of the matrix (name).  
SUB  
Syntax: SUB(name, start, end)  
Extracts a sub-object—a portion of a list, matrix, or  
graphic—and stores it in name. Start and end are each  
specified using a list with two numbers for a matrix, a  
number for vector or lists, or an ordered pair, (X,Y), for  
graphics: SUB(M1{1,2},{2,2})  
542  
Programming  
SAWAPCOL  
Syntax: SWAPCOL(name, column1, column2)  
Swaps column1 and column2 of the specified matrix  
(name).  
SWAPROW  
Syntax: SWAPROW(name, row1, row2)  
Swaps row1 and row2 in the specified matrix (name).  
App Functions  
These commands allow you to launch any HP app, bring  
up any view of the current app, and change the options in  
the Views menu.  
STARTAPP  
Syntax: STARTAPP("name")  
Starts the app with name. This will cause the app  
program’s STARTfunction to be run, if it is present. The  
app’s default view will be started. Note that the START  
function is always executed when the user taps  
in  
the Application Library. This also works for user-defined  
apps.  
Example: STARTAPP("Function") launches the Function  
app.  
STARTVIEW  
Syntax: STARTVIEW(n [,draw?])  
Starts the nth view of the current app. If draw? is true (that  
is, not 0), it will force an immediate redrawing of the  
screen for that view.  
The view numbers (n) are as follows:  
Symbolic:0  
Plot:1  
Numeric:2  
Symbolic Setup:3  
Plot Setup:4  
Numeric Setup:5  
App Info: 6  
Views Menu:7  
First special view (Split Screen Plot Detail):8  
Second special view (Split Screen Plot Table):9  
Third special view (Autoscale):10  
Fourth special view (Decimal):11  
Fifth special view (Integer):12  
Sixth special view (Trig):13  
Programming  
543  
         
The special views in parentheses refer to the Function app,  
and may differ in other apps. The number of a special  
view corresponds to its position in the Views menu for that  
app. The first special view is launched by  
STARTVIEW(8), the second with STARTVIEW(9), and  
so on.  
You can also launch views that are not specific to an app  
by specifying a value for n that is less than 0:  
HomeScreen:-1  
Home Modes:-2  
Memory Manager:-3  
Applications Library:-4  
Matrix Catalog:-5  
List Catalog:-6  
Program Catalog:-7  
Notes Catalog:-8  
VIEW  
Syntax: VIEWS("string"[,program_name])  
Adds a view to the Views menu. When string is selected,  
runs program_name.  
Integer  
BITAND  
BITNOT  
BITOR  
BITSL  
Syntax: BITAND(int1, int2, … intn)  
Returns the bitwise logical AND of the specified integers.  
Example: BITAND(20,13) returns 4.  
Syntax: BITNOT(int)  
Returns the bitwise logical NOT of the specified integer.  
Example: BITNOT(47) returns 549755813840.  
Syntax: BITOR(int1, int2, … intn)  
Returns the bitwise logical OR of the specified integers.  
Example: BITAND(9,26) returns 27.  
Syntax: BITSL(int1 [,int2])  
Bitwise Shift Left. Takes one or two integers as input and  
returns the result of shifting the bits in the first integer to the  
left by the number places indicated by the second integer.  
If there is no second integer, the bits are shifted to the left  
by one place.  
544  
Programming  
     
Examples:  
BITSL(28,2) returns 112  
BITSL(5)returns 10.  
BITSR  
Syntax: BITRL(int1 [,int2])  
Bitwise Shift Right. Takes one or two integers as input and  
returns the result of shifting the bits in the first integer to the  
right by the number places indicated by the second  
integer. If there is no second integer, the bits are shifted to  
the right by one place.  
Examples:  
BITSR(112,2) returns 28  
BITSR(10)returns 5.  
BITXOR  
Syntax: BITXOR(int1, int2, … intn)  
Returns the bitwise logical exclusive OR of the specified  
integers.  
Example: BITAND(9,26) returns 19.  
BR  
Syntax: BR(#integerm)  
Converts an integer in base m to a decimal integer (base  
10). The base marker m can be b (for binary), o (for  
octal), or h (for hexadecimal).  
Example: BR(#1101b)returns 13  
GETBASE  
GETBITS  
Syntax: GETBASE(#integer[m])  
Returns the base for the specified integer (in whatever is  
the current default base): 0 = default, 1 = binary, 2 =  
octal, 3 = hexadecimal.  
Examples: GETBASE(#1101b)returns #1h (if the  
default base is hexadecimal) while GETBASE (#1101)  
returns #0h.  
Syntax: GETBITS(#integer)  
Returns the number of bits used by integer, expressed in  
the default base.  
Example: GETBITS(#22122)returns #20h (if the  
default base is hexadecimal)  
Programming  
545  
RB  
SETBITS  
SETBASE  
Syntax: RB(integer)  
Converts a decimal integer (base 10) to an integer in the  
default base.  
Example: RB(13)returns #1101b(if the default base is  
binary) or #Dh (if the default base is hexadecimal).  
Syntax: SETBITS(#integer[m] [,bits])  
Sets the number of bits to represent integer. Valid values  
are in the range –64 to 65. If m or bits is omitted, the  
default value is used.  
Example: SETBITS(#1111,b15) returns #1111b:15  
Syntax: SETBASE(#integer[m][c])  
Displays integer expressed in base m in whatever base is  
indicated by c, where can be 1 (for binary), 2 (for octal),  
or 3 (for hexadecimal). Parameter m can be b (for binary),  
d (for decimal), o (for octal), or h (for hexadecimal). If m  
is omitted, the input is assumed to be in the default base.  
Likewise, if c is omitted, the output is displayed in the  
default base.  
Examples: SETBASE (#34o,1)returns #11100b while  
GETBASE (#1101)returns #0h ((if the default base is  
hexadecimal).  
I/O  
I/O commands are used for inputting data into a  
program, and for outputting data from a program. They  
allow users to interact with programs.  
These commands start the Matrix and List editors.  
CHOOSE  
Syntax: CHOOSE(var, "title", "item1",  
"item2",…,"itemn")  
Displays a choose box with the title and containing the  
choose items. If the user selects an object, the variable  
whose name is provided will be updated to contain the  
number of the selected object (an integer, 1, 2, 3, …) or  
0 if the user taps  
.
Returns true (not zero) if the user selects an object,  
otherwise return false (0).  
546  
Programming  
 
Example:  
CHOOSE  
(N,"PickHero",  
"Euler","Gauss  
","Newton");  
IF N==1 THEN  
PRINT("You  
picked  
Euler"); ELSE  
IF N==2 THEN PRINT("You picked  
Gauss");ELSE PRINT("You picked  
Newton");  
END;  
END;  
After execution of CHOOSE, the value of n will be updated  
to contain 0, 1, 2, or 3. The IF THEN ELSEcommand  
causes the name of the selected person to be printed to  
the terminal.  
EDITLIST  
EDITMAT  
GETKEY  
Syntax: EDITLIST(listvar)  
Starts the List Editor loading listvar and displays the  
specified list. If used in programming, returns to the  
program when user taps  
.
Example: EDITLIST(L1) edits list L1.  
Syntax: EDITMAT(matrixvar)  
Starts the Matrix Editor and displays the specified matrix.  
If used in programming, returns to the program when user  
taps  
.
Example: EDITMAT(M1) edits matrix M1.  
Syntax: GETKEY  
Returns the ID of the first key in the keyboard buffer, or –1  
if no key was pressed since the last call to GETKEY. Key  
IDs are integers from 0 to 50, numbered from top left (key  
0) to bottom right (key 50) as shown in figure 27-1.  
Programming  
547  
0
1
3
4
2
Keys 0–13  
6
9
7
8
12  
{
5
10  
11  
13  
Keys 1419  
Keys 20–25  
Keys 26–30  
Keys 31–35  
Keys 36–40  
Keys 41–45  
Keys 46–50  
Figure 27-1: Numbers of the keys  
INPUT  
Syntax: INPUT(var [,"title", "label", "help", default]);  
Opens a dialog box with the title text title, with one field  
named label, displaying help at the bottom and using the  
default value. Updates the variable var if the user taps  
and returns 1. If the user taps  
, it does not  
update the variable, and returns 0.  
Example:  
EXPORT SIDES;  
EXPORT  
GETSIDES()  
BEGIN  
INPUT(SIDES,"D  
ie Sides","N =  
","Enter num  
sides",2);  
END;  
548  
Programming  
ISKEYDOWN  
MOUSE  
Syntax: ISKEYDOWN(key_id);  
Returns true (non-zero) if the key whose key_id is provided  
is currently pressed, and false (0) if it is not.  
Syntax: MOUSE[(index)]  
Returns two lists describing the current location of each  
potential pointer (or empty lists if the pointers are not  
used). The output is {x , y, original z, original y, type}  
where type is 0 (for new), 1 (for completed), 2 (for drag),  
3 (for stretch), 4 (for rotate), and 5 (for long click).  
The optional parameter index is the nth element that  
would have been returned—x, y, original x, etc.—had the  
parameter bee omitted (or –1 if no pointer activity had  
occurred).  
MSGBOX  
Syntax: MSGBOX(expression or string [ ,ok_cancel?]);  
Displays a message box with the value of the given  
expression or string.  
If ok_cancel? is true, displays the  
buttons, otherwise only displays the  
value for ok_cancel is false.  
and  
button. Default  
Returns true (non-zero) if the user taps  
, false (0) if  
the user presses  
.
EXPORT AREACALC()  
BEGIN  
LOCAL radius;  
INPUT(radius, "Radius of Circle","r =  
","Enter radius",1);  
MSGBOX("The area is " +*radius^2);  
END;  
If the user enters 10 for  
the radius, the message  
box shows this:  
Programming  
549  
PRINT  
Syntax: PRINT(expression or string);  
Prints the result of expression or string to the terminal.  
The terminal is a program text output viewing mechanism  
which is displayed only when PRINTcommands are  
executed. When visible, you can press \ or = to view  
the text, Cto erase the text and any other key to hide  
the terminal. Pressing O stops the interaction with the  
terminal. PRINTwith no argument clears the terminal.  
There are also commands for outputting data in the  
Graphics section. In particular, the commands TEXTOUT  
and TEXTOUT_Pcan be used for text output.  
This example prompts the user to enter a value for the  
radius of a circle, and prints the area of the circle on the  
terminal.  
EXPORT AREACALC()  
BEGIN  
LOCAL radius;  
INPUT(radius,  
"Radius of  
Circle","r =  
","Enter  
radius",1);  
PRINT("The  
area is "  
+*radius^2);  
END;  
Notice the use of the  
LOCALvariable for the  
radius, and the naming  
convention that uses lower case letters for the local  
variable. Adhering to such a convention will improve the  
readability of your programs.  
WAIT  
Syntax: WAIT(n);  
Pauses program execution for n seconds. With no  
argument or with n = 0, pauses program execution for one  
minute.  
550  
Programming  
More  
%CHANGE  
%TOTAL  
Syntax: %CHANGE(x,y)  
The percentage change in going from x to y.  
Example: %CHANGE(20,50)returns 150.  
Syntax: %TOTAL(x,y)  
The percentage of x that is y.  
Example: %TOTAL(20,50)returns 250.  
CAS  
EVALLIST  
EXECON  
Syntax: CAS(Exp.) or CAS.function(...)or  
CAS.variable[(...)]  
Evaluates the expression or variable using the CAS.  
Syntax: EVALLIST({list})  
Evaluates the content of each element in a list and returns  
an evaluated list.  
Creates a new list based on the elements in one or more  
lists by iteratively modifying each element according to an  
expression that contains the ampersand character (&). The  
syntax:  
EXECON(expression with &,list1 [list2] …  
[listn])  
Where the expression is & plus an operator (o) plus a  
number (n), each element in the list is operated on by o  
and n and a new list created.  
Examples:  
EXECON("&+1",{1,2,3}) returns {2,3,4}  
Where the & is followed directly by a number, the position  
in the list is indicated. For example:  
EXECON("&2–&1",{1, 4, 3, 5}" returns {3, –1,  
2}  
In the example above, &2 indicates the second element  
and &1 the first element in each pair of elements. The  
minus operator between them subtracts the first from the  
second in each pair until there are no more pairs. Note  
that numbers appended to & can only be from 1 to 9  
inclusive.  
Programming  
551  
 
EXECON can also operate on more than one list. For  
example:  
EXECON("&1+&2",{1,2,3},{4,5,6})returns  
{5,7,9}  
In the example above, &1 indicates an element in the first  
list and &2 indicates the corresponding element in the  
second list. The plus operator between them adds the two  
elements until there are no more pairs. Note that numbers  
appended to & can only be from 1 to 9 inclusive.  
EXECON can also begin operating on a specified  
element in a specified list. For example:  
EXECON("&23+&1",{1,5,16},{4,5,6,7})returns  
{7,12}  
In the example above, &23 indicates that operations are  
to begin on the second list and with the third element. To  
that element is added the first element in the first list. The  
process continues until there are no more pairs.  
Again, the digits appended to & can only be from 1 to 9  
inclusive.  
HMS  
Syntax: HMS(value)  
Converts a decimal value to hexagesimal format; that is,  
in units subdivided into groups of 60. This includes  
degrees, minutes, and seconds as well as hours, minutes,  
and seconds.  
Example: HMS(54.8763) returns 54°5234.68″  
HMS→  
ITERATE  
TICKS  
Syntax: HMS(value)  
Converts a value expressed hexagesimal format to  
decimal format.  
Example: HMS (54°5234.68) returns 54.8763  
Syntax: ITERATE(expr, var, ivalue, #times)  
For #times, repeatedly evaluate expr in terms of var  
beginning with var = ivalue.  
Example: ITERATE(X^2, X, 2, 3) returns 256  
Syntax: TICKS  
Returns the internal clock value in milliseconds.  
552  
Programming  
TIME  
TYPE  
Syntax: TIME(program_name)  
Returns the time in milliseconds required to execute the  
program program_name. The results are stored in the  
variable TIME. The variable TICKSis similar. It contains  
the number of milliseconds since boot up.  
Syntax: TYPE(object)  
Returns the type of the object:  
0: Real  
1: Integer  
2: String  
3: Complex  
4: Matrix  
5: Error  
6: List  
8: Function  
9: Unit  
14.?: cas object. The fractional part is the cas type.  
Variables and Programs  
The HP Prime has four types of variables: Home variables,  
App variables, CAS variables, and User variables. You  
can retrieve these variables from the Variable menu (a).  
Home variables are used for real numbers, complex  
numbers, graphics, lists, and matrices among other  
things. Home variables keep the same value in Home and  
in apps.  
App variables are those whose values depend on the  
current app. The app variables are used in programming  
to represent the definitions and settings you make when  
working with apps interactively.  
CAS variables are exactly the same as Home variables  
except that they are used only when doing CAS  
operations. They can, however, be called by commands  
in Home view. The names for CAS variables mirror those  
for Home variables except that they must be lowercase.  
Programming  
553  
       
User variables are variables created by the user or  
exported from a user program. They provide one of  
several mechanisms to allow programs to communicate  
with the rest of the calculator, and with other programs.  
Once a variable has been exported from a program, it  
will appear among the User variables in the Variables  
menu, next to the program that exported it.  
This chapter deals with App variables and User variables.  
For information on Home and CAS variables, see chapter  
22, “Variables, beginning on page 427.  
App  
variables  
Not all app variables are used in every app. S1Fit, for  
example, is only used in the Statistics 2Var app. However,  
most of the variables are used in common by the Function  
app, the Parametric app, the Polar app, the Sequence  
app, the Solve app, the Statistics 1Var app, the Statistics  
2Var app, and others. If a variable is not available in all  
of these apps, or is available only in some other apps,  
then a list of the apps where the variable can be used  
appears under the variable name.  
The following sections list the app variables by the view in  
which they are used. To see the variables listed by the  
menus in which they appears on the Variables menu see  
App variables, beginning on page 432.  
Plot view variables  
Axes  
Turns axes on or off.  
In Plot Setup view, check (or uncheck) AXES.  
In a program, type:  
0Axes—to turn axes on.  
1Axes—to turn axes off.  
Cursor  
Sets the type of cursor. (Inverted or blinking is useful if the  
background is solid).  
In Plot Setup view, choose Cursor.  
554  
Programming  
         
In a program, type:  
0CrossType—for solid crosshairs (default).  
1CrossType—to invert the crosshairs.  
2CrossType—for blinking crosshairs.  
GridDots  
GridLines  
Turns the background dot grid in Plot view on or off.  
In Plot Setup view, check (or uncheck) GRID DOTS.  
In a program, type:  
0GridDots—to turn the grid dots on (default).  
1GridDots—to turn the grid dots off.  
Turns the background line grid in Plot View on or off.  
In Plot Setup View, check (or uncheck) GRID LINES.  
In a program, type:  
0GridLines—to turn the grid lines on (default).  
1GridLines—to turn the grid lines off.  
Hmin/Hmax  
Statistics 1Var  
Defines the minimum and maximum values for histogram  
bars.  
In Plot Setup View for one-variable statistics, set values for  
HRNG.  
In a program, type:  
n1 Hmin  
n2 Hmax  
wheren1 n2  
Hwidth  
Statistics 1Var  
Sets the width of histogram bars.  
In Plot Setup View for one-variable statistics, set a value for  
Hwidth.  
In a program, type:  
n Hwidth  
Labels  
Draws labels in Plot View showing X and Y ranges.  
In Plot Setup View, check (or uncheck) Labels.  
In a program, type:  
1
Labels—to turn labels on (default)  
0Labels—to turn labels off.  
Programming  
555  
Method  
Defines the graphing method: adaptive, fixed-step  
segments, or fixed-step dots. (See “Graphing methods” on  
page 99 for an explanation of the difference between  
these methods.)  
In a program, type:  
0
Method—select adaptive  
1Method—select fixed-step segments  
2Method—select fixed-step dots  
Nmin/Nmax  
Sequence  
Defines the minimum and maximum values for the  
independent variable.  
Appears as the NRNGfields in the Plot Setup view. In Plot  
Setup View, enter values for NRNG.  
In a program, type:  
n1 Nmin  
n2 Nmax  
where n1 n2  
Recenter  
Recenters at the cursor when zooming.  
From Plot-Zoom-Set Factors, check (or uncheck)  
Recenter.  
In a program, type:  
0Recenter— to turn recenter on (default).  
1Recenter— to turn recenter off.  
S1mark-S5mark  
Statistics 2Var  
Sets the mark to use for scatter plots.  
In Plot Setup view for two-variable statistics, select one of  
S1mark-S5marks.  
SeqPlot  
Sequence  
Enables you to choose between a Stairstep or a Cobweb  
plot.  
In Plot Setup view, select SeqPlot, then choose  
Stairstepor Cobweb.  
In a program, type:  
0SeqPlot—for Stairstep.  
1SeqPlot—for Cobweb.  
556  
Programming  
min/max  
Sets the minimum and maximum independent values.  
In Plot Setup, View enter values for RNG.  
In a program, type:  
Polar  
n1  min  
n2  max  
where n1 n2  
step  
Sets the step size for the independent variable.  
In Plot Setup view, enter a value for STEP.  
In a program, type:  
Polar  
n  step  
where n 0  
Tmin/Tmax  
Parametric  
Sets the minimum and maximum independent variable values.  
In Plot Setup View, enter values for TRNG.  
In a program, type:  
n1 Tmin  
n2 Tmax  
where n1 n2  
Tstep  
Parametric  
Sets the step size for the independent variable.  
In Plot Setup View, enter a value for TSTEP.  
In a program, type  
n Tstep  
where n 0  
Xtick  
Ytick  
Sets the distance between tick marks for the horizontal axis.  
In Plot Setup View, enter a value for Xtick.  
I a program, type:  
n Xtickwhere n 0  
Sets the distance between tick marks on the vertical axis.  
In Plot Setup View, enter a value for Ytick.  
In a program, type:  
n Ytickwhere n 0  
Programming  
557  
Xmin/Xmax  
Ymin/Ymax  
Xzoom  
Sets the minimum and maximum horizontal values of the  
plot screen.  
In Plot Setup View, enter values for XRNG.  
In a program, type:  
n1 Xmin  
n2 Xmax  
where n1 n2  
Sets the minimum and maximum vertical values of the plot  
screen.  
In Plot Setup View, enter the values for YRNG.  
In a program, type:  
n1 Ymin  
n2 Ymax  
where n1 n2  
Sets the horizontal zoom factor.  
In Plot View, press  
Factors,select it and press  
Zoom  
then  
. Scroll to Set  
. Enter the value for X  
.
In a program, type:  
n Xzoom  
where n 0  
The default value is 4.  
Yzoom  
From Plot setup (P), press  
Set Factors,select it and press  
then  
. Scroll to  
. Enter the value  
for Y zoom and press  
.
Or, in a program, type:  
n Yzoom  
The default value is 4.  
558  
Programming  
 
Symbolic view variables  
AltHyp  
Inference  
Determines the alternative hypothesis used for a  
hypothesis testing. Choose an option from the Symbolic  
view.  
In a program, type:  
0AltHyp—for   0  
1AltHyp—for   0  
2AltHyp—for   0  
E0...E9  
Solve  
Can contain any equation or expression. Independent  
variable is selected by highlighting it in Numeric View.  
Example:  
X+Y*X-2=YE1  
F0...F9  
Function  
Can contain any expression. Independent variable is X.  
Example:  
SIN(X)F1  
H1...H5  
Statistics 1Var  
Contains the data values for a 1-variable statistical  
analysis. For example, H1(n) returns the nth value in the  
data set for the H1 analysis.  
H1Type...H5Type  
Statistics 1Var  
Sets the type of plot used to graphically represent the  
statistical analyses H1 through H5. From the Symbolic  
setup, specify the type of plot in the field for Type1, Type  
2, etc.  
Or in a program, store one of the following constant  
integers or names into the variables H1Type, H2Type,  
etc.  
0 Histogram(default)  
1 Box and Whisker  
2 Normal Probability  
3 Line  
4 Bar  
5 Pareto  
Example:  
2H3Type  
Programming  
559  
 
Method  
Inference  
Determines whether the Inference app is set to calculate  
hypothesis test results or confidence intervals.  
In a program, type:  
0Method—for Hypothesis Test  
1Method—for Confidence Interval  
R0...R9  
Polar  
Can contain any expression. Independent variable is .  
Example:  
2*SIN(2*)R1  
S1...S5  
Statistics 2Var  
Contains the data values for a 2-variable statistical  
analysis. For example, S1(n) returns the nth data pair in  
the data set for the S1 analysis. With no argument, returns  
a list containing the independent column name, the  
dependent column name and the number of the fit type.  
S1Type...S5Type  
Statistics 2Var  
Sets the type of fit to be used by the FIToperation in  
drawing the regression line. From Symbolic Setup view,  
specify the fit in the field for Type1,Type2, etc.  
In a program, store one of the following constant integers  
or names into a variable S1Type,S2Type,etc.  
0 Linear  
1 Logarithmic  
2 Exponential  
3 Power  
4 Exponent  
5 Inverse  
6 Logistic  
7 Quadratic  
8 Cubic  
9 Quartic  
10 User Defined  
Example:  
CubicS2type  
or  
8S2type  
560  
Programming  
Type  
Inference  
Determines the type of hypothesis test or confidence  
interval. Depends upon the value of the variable Method.  
Make a selection from the Symbolic view.  
Or, in a program, store the constant number from the list  
below into the variable Type. With Method=0, the  
constant values and their meanings are as follows:  
0 Z-Test:1   
1 Z-Test:1 2  
2 Z-Test:1   
3 Z-Test:1 2  
4 T-Test:1   
5 T-Test:1 2  
With Method=1, the constants and their meanings are:  
0 Z-Int:1   
1 Z-Int:1 2  
2 Z-Int:1   
3 Z-Int:1 2  
4 T-Int:1   
5 T-Int:1 2  
X0, Y0...X9,Y9  
Parametric  
Can contain any expression. Independent variable is T.  
Example:  
SIN(4*T)Y1;2*SIN(6*T)X1  
U0...U9  
Sequence  
Can contain any expression. Independent variable is N.  
Example:  
RECURSE (U,U(N-1)*N,1,2)U1  
Numeric view variables  
C0...C9  
Statistics 2Var  
C0 through C9, for columns of data. Can contain lists.  
Enter data in the Numeric view.  
In a program, type:  
LISTCn  
where n = 0 , 1, 2, 3 ... 9 and LISTis either a list or the  
name of a list.  
Programming  
561  
   
D0...D9  
Statistics 1Var  
D0 through D9, for columns of data. Can contain lists.  
Enter data in the Numeric view.  
In a program, type:  
LISTDn  
where n = 0 , 1, 2, 3 ... 9 and LISTis either a list or the  
name of a list.  
NumIndep  
Function  
Parametric  
Polar  
Sequence  
Advanced  
Graphing  
Specifies the list of independent values (or two-value sets  
of independent values) to be used by Build Your Own  
Table. Enter your values one-by-one in the Numeric view.  
In a program, type:  
LISTNumIndep  
Listcan be either a list itself or the name of a list. In the  
case of the Advanced Graphing app, the list will be a list of  
pairs (a list of 2-element vectors) rather than a list of numbers.  
NumStart  
Function  
Parametric  
Polar  
Sets the starting value for a table in Numeric view.  
From Numeric Setup view, enter a value for NUMSTART.  
In a program, type:  
Sequence  
n NumStart  
NumXStart  
Advanced Graphing  
Sets the starting number for the X-values in a table in  
Numeric view.  
From Numeric Setup view, enter a value for NUMXSTART.  
In a program, type:  
n NumXStart  
NumYStart  
Advanced Graphing  
Sets the starting value for the Y-values in a table in  
Numeric view.  
From Numeric Setup view, enter a value for NUMYSTART.  
In a program, type:  
n NumYStart  
NumStep  
Function  
Parametric  
Polar  
Sets the step size (increment value) for an independent  
variable in Numeric view.  
From Numeric Setup view, enter a value for NUMSTEP.  
In a program, type:  
n NumStep  
where n 0  
Sequence  
562  
Programming  
NumXStep  
Advanced Graphing  
Sets the step size (increment value) for an independent X  
variable in Numeric view.  
From Numeric Setup view, enter a value for NUMXSTEP.  
In a program, type:  
n NumXStep  
where n 0  
NumYStep  
Advanced Graphing  
Sets the step size (increment value) for an independent Y  
variable in Numeric view.  
From Numeric Setup view, enter a value for NUMYSTEP.  
In a program, type:  
n NumYStep  
where n 0  
NumType  
Sets the table format.  
Function  
From Numeric Setup view, enter 0or 1.  
In a program, type:  
Parametric  
Polar  
Sequence  
Advanced Graphing  
0NumType—for Automatic(default).  
1NumType—for BuildYourOwn.  
NumZoom  
Function  
Parametric  
Polar  
Sets the zoom factor in the Numeric view.  
From Numeric Setup view, type in a value for NUMZOOM.  
In a program, type:  
Sequence  
n NumZoom  
where n 0  
NumXZoom  
Advanced Graphing  
Sets the zoom factor for the values in the X column in the  
Numeric view.  
From Numeric Setup view, type in a value for NUMXZOOM.  
In a program, type:  
n NumXZoom  
where n 0  
NumYZoom  
Advanced Graphing  
Sets the zoom factor for the values in the Y column in the  
Numeric view.  
From Numeric Setup view, type in a value for NUMYZOOM.  
In a program, type:  
n NumYZoom  
where n 0  
Programming  
563  
Inference  
app  
variables  
The following variables are used by the Inference app.  
They correspond to fields in the Inference app Numeric  
view. The set of variables shown in this view depends on  
the hypothesis test or the confidence interval selected in  
the Symbolic view.  
Alpha  
Sets the alpha level for the hypothesis test. From the  
Numeric view, set the value of Alpha.  
In a program, type:  
n Alpha  
where 0 n 1  
Conf  
Sets the confidence level for the confidence interval. From  
the Numeric view, set the value of Conf.  
In a program, type:  
n Conf  
where 0 n 1  
Mean1  
Sets the value of the mean of a sample for a 1-mean  
hypothesis test or confidence interval. For a 2-mean test or  
interval, sets the value of the mean of the first sample.  
From the Numeric view, set the value of Mean1.  
In a program, type:  
n Mean1  
Mean2  
For a 2-mean test or interval, sets the value of the mean of  
the second sample. From the Numeric view, set the value  
of Mean2.  
In a program, type:  
n Mean2  
The following variables are used to set up hypothesis  
test or confidence interval calculations in the  
Inference app.  
0  
Sets the assumed value of the population mean for a  
hypothesis test. From the Numeric view, set the value of  
0 .  
In a program, type:  
n 0  
564  
Programming  
 
where0  0 1  
n1  
Sets the size of the sample for a hypothesis test or  
confidence interval. For a test or interval involving the  
difference of two means or two proportions, sets the size  
of the first sample. From the Numeric view, set the value of  
n1.  
In a program, type:  
n n1  
n2  
For a test or interval involving the difference of two means  
or two proportions, sets the size of the second sample.  
From the Numeric view, set the value of n2.  
In a program, type:  
n n2  
0  
Sets the assumed proportion of successes for the One-  
proportion Z-test. From the Numeric view, set the value of  
0 .  
In a program, type:  
n 0  
where 0  0 1  
Pooled  
Determine whether or not the samples are pooled for tests  
or intervals using the Student’s T-distribution involving two  
means. From the Numeric view, set the value of Pooled.  
In a program, type:  
0Pooled—for not pooled (default).  
1Pooled—for pooled.  
s1  
Sets the sample standard deviation for a hypothesis test or  
confidence interval. For a test or interval involving the  
difference of two means or two proportions, sets the  
sample standard deviation of the first sample. From the  
Numeric view, set the value of s1.  
In a program, type:  
n s1  
Programming  
565  
s2  
For a test or interval involving the difference of two means  
or two proportions, sets the sample standard deviation of  
the second sample. From the Numeric view, set the value  
of s2.  
In a program, type:  
n s2  
1  
Sets the population standard deviation for a hypothesis  
test or confidence interval. For a test or interval involving  
the difference of two means or two proportions, sets the  
population standard deviation of the first sample. From the  
Numeric view, set the value of 1.  
In a program, type:  
n 1  
2  
For a test or interval involving the difference of two means  
or two proportions, sets the population standard deviation  
of the second sample. From the Numeric view, set the  
value of 2.  
In a program, type:  
n 2  
x1  
Sets the number of successes for a one-proportion  
hypothesis test or confidence interval. For a test or interval  
involving the difference of two proportions, sets the  
number of successes of the first sample. From the Numeric  
view, set the value of x1.  
In a program, type:  
n x1  
x2  
For a test or interval involving the difference of two  
proportions, sets the number of successes of the second  
sample. From the Numeric view, set the value of x2.  
In a program, type:  
n x2  
Finance app  
variables  
The following variables are used by the Finance app. They  
correspond to the fields in the Finance app Numeric view.  
566  
Programming  
 
CPYR  
Compounding periods per year. Sets the number of  
compounding periods per year for a cash flow  
calculation. From the Numeric view of the Finance app,  
enter a value for C/YR.  
In a program, type:  
n CPYR  
where n 0  
END  
Determines whether interest is compounded at the  
beginning or end of the compounding period. From the  
Numeric view of the Finance app. Check or uncheck END.  
In a program, type:  
1END—for compounding at the end of the period  
(Default)  
0END—for compounding at the beginning of the  
period  
FV  
Future value. Sets the future value of an investment. From  
the Numeric view of the Finance app, enter a value for FV.  
In a program, type:  
n FV  
Note: positive values represent return on an investment or  
loan.  
IPYR  
NbPmt  
Interest per year. Sets the annual interest rate for a cash  
flow. From the Numeric view of the Finance app, enter a  
value for I%YR.  
In a program, type:  
n IPYR  
where n 0  
Number of payments. Sets the number of payments for a  
cash flow. From the Numeric view of the Finance app,  
enter a value for N.  
In a program, type:  
n NbPmt  
where n 0  
Programming  
567  
PMT  
Payment value. Sets the value of each payment in a cash  
flow. From the Numeric view of the Finance app, enter a  
value for PMT.  
In a program, type:  
n PMT  
Note that payment values are negative if you are making  
the payment and positive if you are receiving the payment.  
PPYR  
Payments per year. Sets the number of payments made  
per year for a cash flow calculation. From the Numeric  
view of the Finance app, enter a value for P/YR.  
In a program, type:  
n PPYR  
where n 0  
PV  
Present value. Sets the present value of an investment.  
From the Numeric view of the Finance app, enter a value  
for PV.  
In a program, type:  
n PV  
Note: negative values represent an investment or loan.  
GSize  
Group size. Sets the size of each group for the  
amortization table. From the Numeric view of the Finance  
app, enter a value for Group Size.  
In a program, type:  
n GSize  
Linear Solver  
app  
variables  
The following variables are used by the Linear Solver app.  
They correspond to the fields in the app's Numeric view.  
LSystem  
Contains a 2x3 or 3x4 matrix which represents a 2x2 or  
3x3 linear system. From the Numeric view of the Linear  
Solver app, enter the coefficients and constants of the  
linear system.  
In a program, type:  
matrixLSystem  
568  
Programming  
   
where matrixis either a matrix or the name of one of the  
matrix variables M0-M9.  
Size  
Contains the size of the linear system. From the Numeric  
view of the Linear Solver app, press  
or  
.
In a program, type:  
2Size—for a 2x2 linear system  
3Size—for a 3x3 linear system  
Triangle  
Solver app  
variables  
The following variables are used by the Triangle Solver  
app. They correspond to the fields in the app's Numeric  
view.  
SideA  
SideB  
SideC  
The length of Side A. Sets the length of the side opposite  
the angle A. From the Triangle Solver Numeric view, enter  
a positive value for A.  
In a program, type:  
n SideA  
where n 0  
The length of Side B. Sets the length of the side opposite  
the angle B. From the Triangle Solver Numeric view, enter  
a positive value for B.  
In a program, type:  
n SideB  
where n 0  
The length of Side C. Sets the length of the side opposite  
the angle C. From the Triangle Solver Numeric view, enter  
a positive value for C.  
In a program, type:  
n SideC  
where n 0  
AngleA  
The measure of angle . Sets the measure of angle .  
The value of this variable will be interpreted according to  
the angle mode setting (Degreesor Radians). From the  
Triangle Solver Numeric view, enter a positive value for  
angle   
Programming  
569  
 
In a program, type:  
n AngleA  
where n 0  
AngleB  
AngleC  
RECT  
The measure of angle . Sets the measure of angle .  
The value of this variable will be interpreted according to  
the angle mode setting (Degreesor Radians). From the  
Triangle Solver Numeric view, enter a positive value for  
angle .  
In a program, type:  
n AngleB  
where n 0  
The measure of angle . Sets the measure of angle . The  
value of this variable will be interpreted according to the  
angle mode setting (Degreesor Radians). From the  
Triangle Solver Numeric view, enter a positive value for  
angle .  
In a program, type:  
n AngleC  
where n 0  
Corresponds to the status of  
in the Numeric view  
of the Triangle Solver app. Determines whether a general  
triangle solver or a right triangle solver is used. From the  
Triangle Solver view, tap  
.
In a program, type:  
0RECT—for the general Triangle Solver  
1RECT—for the right Triangle Solver  
Modes  
variables  
The following variables are found in the Home Modes  
input form. They can all be over-written in an app's  
Symbolic setup.  
Ans  
Contains the last result calculated in the Home view.  
HAngle  
Sets the angle format for the Home view. From Modes  
view, choose Degreesor Radiansfor angle measure.  
570  
Programming  
In a program, type:  
0HAngle—for Degrees.  
1HAngle—for Radians.  
HDigits  
Sets the number of digits for a number format other than  
Standard in the Home view. From the Modes view, enter  
a value in the second field of Number Format.  
In a program, type:  
n HDigits, where 0 n 11 .  
HFormat  
Sets the number display format used in the Home view.  
From the Modes view, choose Standard, Fixed,  
Scientific, or Engineeringin the Number  
Formatfield.  
In a program, store one of the following the constant  
numbers (or its name) into the variable HFormat:  
0 Standard  
1 Fixed  
2 Scientific  
3 Engineering  
HComplex  
Date  
Sets the complex number mode for the Home view. From  
Modes, check or uncheck the Complexfield. Or, in a  
program, type:  
0
1
HComplex—for OFF.  
HComplex—for ON.  
Returns the system date. The format is YYYY.MMDD. This  
format is used irrespective of the format set on the Home  
Settings screen.  
Time  
Returns the system time or sets the system time.  
HHMMSS Time  
Language  
Sets the language. From Modes, choose a language for  
the Languagefield.  
Programming  
571  
In a program, store one of the following constant numbers  
into the variable Language:  
1 Language (English)  
2 Language (Chinese)  
3 Language (French)  
4 Language (German)  
5 Language (Spanish)  
6 Language (Dutch)  
7 Language (Portuguese)  
Entry  
Sets the entry mode. In a program, enter:  
0
1
2
Entry—for Textbook  
Entry—for Algebraic  
Entry—for RPN  
Integer  
Base  
Returns or sets the integer base. In a program, enter:  
0
1
2
3
Base—for Binary  
Base—for Octal  
Base—for Decimal  
Base—for Hexadecimal  
Bits  
Returns or sets the number of bits for representing integers.  
In a program, enter:  
n Bits where n is the number of bits.  
Signed  
Returns or sets a flag indicating that the integer wordsize  
is signed or not. In a program, enter:  
0
1
Signed—for unsigned  
Signed—for signed  
The following variables are found in the Symbolic setup of  
an app. They can be used to overwrite the value of the  
corresponding variable in Home Modes.  
572  
Programming  
AAngle  
Sets the angle mode.  
From Symbolic setup, choose System, Degrees, or  
Radiansfor angle measure. System(default) will force  
the angle measure to agree with that in Modes.  
In a program, type:  
0AAngle—for System (default).  
1AAngle—for Degrees.  
2AAngle—for Radians.  
AComplex  
Sets the complex number mode.  
From Symbolic setup, choose System, ON, or OFF. System  
(default) will force this setting to agree with the  
corresponding setting in Home Modes.  
In a program, type:  
0AComplex—for System (default).  
1AComplex—for ON.  
2AComplex—for OFF.  
ADigits  
Defines the number of decimal places to use for the  
Fixednumber format in the app’s Symbolic Setup.  
Affects results in the Home view.  
From Symbolic setup, enter a value in the second field of  
Number Format.  
In a program, type:  
n ADigits  
where 0 n 11  
AFormat  
Defines the number display format used for number  
display in the Home view and to label axes in the Plot  
view.  
From Symbolic setup, choose Standard, Fixed,  
Scientific, or Engineeringin the Number Format  
field.  
Programming  
573  
In a program, store the constant number (or its name) into  
the variable AFormat.  
0 System  
1 Standard  
2 Fixed  
3 Scientific  
4 Engineering  
Example:  
ScientificAFormat  
or  
3AFormat  
Results  
variables  
The Function, Linear Solver, Statistics 1Var, Statistics 2Var,  
and Inference apps offer functions that generate results  
that can be re-used outside those apps (such as in a  
program). For example, the Function app can find a root  
of a function, and that root is written to a variable called  
Root. That variable can then be used elsewhere.  
The results variables are listed with the apps that generate  
them. See App variables” on page 432.  
574  
Programming  
     
28  
Basic Integer arithmetic  
The common number base used in contemporary mathematics is  
base 10. By default, all calculations performed by the HP Prime  
are carried out in base 10, and all results are displayed in base  
10.  
However, the HP Prime enables  
you to carry out integer  
arithmetic in four bases: decimal  
(base 10), binary, (base 2),  
octal (base 8), and hexadecimal  
(base 16). For example, you  
could multiply 4 in base 16 by  
71 in base 8 and the answer is  
E4 in base 16. This is equivalent in base 10 to multiplying 4 by  
57 to get 228.  
You indicate that you are about to engage in integer arithmetic  
by preceding the number with the pound symbol (#, got by  
pressing Az). You indicate what base to use for the  
number by appending the appropriate base marker:  
Base marker  
Base  
[blank]  
Adopt the defualt base (see  
“The default base” on  
page 576)  
d
b
o
h
decimal  
binary  
octal  
hexadecimal  
Thus #11brepresents 310. The base marker b indicates that the  
number is to interpreted as a binary number: 112. Likewise #E4h  
Basic Integer arithmetic  
575  
       
represents 22810. In this case, the base marker h indicates that the  
number is to interpreted as a hexadecimal number: E416.  
Note that with integer arithmetic, the result of any calculation that  
would return a remainder in floating-point arithmetic is truncated:  
only the integer portion is presented. Thus #100b/#10b gives the  
correct answer: #10b (since 410/210 is 210). However, #100b/  
#11b gives just the integer component of the correct result: #1b.  
Note too that the accuracy of integer arithmetic can be limited by  
the integer wordsize. The wordsize is the maximum number of bits  
that can represent an integer. You can set this to any value  
between 1 and 64. The smaller the wordsize, the smaller the  
integer that can be accurately represented. The default wordsize  
is 32, which is adequate for representing integers up to  
approximately 2 × 109. However, integers larger than that would  
be truncated, that is, the most significant bits (that is, the leading  
bits) would be dropped. thus the result of any calculation  
involving such a number would not be accurate.  
The default base  
Setting a default base only affects the entry and display of  
numbers being used in integer arithmetic. If you set the default  
base to binary, 27 and 44 will still be represented that way in  
Home view, and result of those numbers being added will still be  
represented as 71. However, if you entered #27b, you would get  
a syntax error, as 2 and 7 are not integers found in binary  
arithmetic. You would have to enter 27 as #11011b (since  
2710=110112).  
Setting a default base means that you do not always have to  
specify a base marker for numbers when doing integer arithmetic.  
The exception is if you want to include a number from the non-  
default base: it will have to include the base marker. Thus if your  
default base is 2 and you want to enter 27 for an integer  
arithmetic operation, you could enter just #11011 without the b  
suffix. But if you wanted to enter E416, you need to enter it with the  
suffix: #E4h. (The HP Prime adds any omitted base markers when  
the calculation is displayed in history.)  
576  
Basic Integer arithmetic  
   
Note that if you change the  
default base, any calculation in  
history that involves integer  
arithmetic for which you did not  
explicitly add a base marker will  
be resisplayed in the new base.  
In the example at the right, the  
first calculation explicitly  
included base markers (b for each operand). The second  
calculation was a copy of the first but without the base markers.  
The default base was then changed to hex. The first calculation  
remained as it was, while the second—without base markers  
being explicitly added to the operands—was redisplayed in base  
16.  
Changing the default base  
The calculator’s default base for integer arithmetic is 16  
(hexadecimal). To change the default base:  
1. Display the Home Settings screen:  
SH  
2. Choose the base you want  
from the Integers menu:  
Binary, Octal, Decimal  
or Hex.  
3. The field to the right of  
Integers is the wordsize  
field. This is the maximum  
number of bits that can  
represent an integer. The default value is 32, but you can  
change it any value between 1 and 64.  
4. If you want to allow for signed integers, select the ± option to  
the right of the wordsize field. Choosing this option reduces  
the maximum size of an integer to one bit less than the  
wordsize.  
Basic Integer arithmetic  
577  
 
Examples of integer arithmetic  
The operands in integer arithmetic can be of the same base or of  
mixed bases.  
Integer calculation  
Decimal equivalent  
#10000b+#10100b =  
#1100b  
8 + 20 = 28  
#71o–#10100b =  
#45o  
57 – 20 = 37  
#4Dh * #11101b = #8B9h  
#32Ah/#5o = #A2h  
77 × 29 = 2233  
810/5 = 162  
Mixed-base arithmetic  
With one exception, where you  
have operands of different  
bases, the result of the  
calculation is presented in the  
base of the first operand. The  
example at the right shows two  
equivalent calculations: the first  
multiplies 410 by 5710 and the  
second multiplies 5710 by 410. Obviously the results too are  
mathematically equivalent. However, each is presented in the  
base of the operand entered first: 16 in the first case and 8 in the  
second.  
The exception is if an operand is  
not marked as an integer by  
preceding it with #. In these  
cases, the result is presented in  
base 10.  
578  
Basic Integer arithmetic  
Integer manipulation  
The result of integer arithmetic can be further analyzed, and  
manipulated, by viewing it in the Edit Integer dialog.  
1. In Home view, use the cursor keys to select the result of  
interest.  
2. Press Sw (Base).  
The Edit Integer dialog  
appears. The Was field at  
the top shows the result you  
selected in Home view.  
The hex and decimal  
equivalents are shown  
under the Out field,  
followed by a bit-by-bit  
representation of the integer.  
Symbols beneath the bit representation show the keys you  
can press to edit the integer. (Note that this doesn’t change  
the result of the calculation in Home view.) The keys are:  
< or > (Shift): these keys shift the bits one space to the  
left (or right). With each press, the new integer  
represented appears in the Out field (and in the hex and  
decimal fields below it).  
= or \ (Bits): these keys increase (or decrease) the  
wordsize. The new wordsize is appended to the value  
shown in the Out field.  
Q (Neg): returns the two’s complement (that is, each  
bit in the specified wordsize is inverted and one is  
added. The new integer represented appears in the Out  
field (and in the hex and decimal fields below it).  
+ or w (Cycle base): displays the integer in the Out  
field in another base.  
Menu buttons provide some additional options:  
: returns all changes to their original state  
: cycles through the bases; same as pressing +  
: toggles the wordsize between signed and unsigned  
: returns the one’s complement (that is, each bit in the  
specified wordsize is inverted: a 0 is replaced by 1 and a 1  
Basic Integer arithmetic  
579  
 
by 0. The new integer represented appears in the Out field  
(and in the hex and decimal fields below it).  
: activates edit mode. A cursor appear sand you can  
move abut the dialog using the cursor keys. The hex and  
decimal fields can be modified, as can the bit  
representation. A change in one such field automatically  
modifies the other fields.  
: closes the dialog and saves your changes. If you  
don’t want to save your changes, press J instead.  
3. Make whatever changes you want.  
4. To save your changes, tap  
; otherwise press J.  
N o t e  
If you save changes, the next time you select that same result in  
Home view and open the Edit Integer dialog, the value shown  
in the Was field will be the value you saved, not the value of the  
result.  
Base functions  
Numerous functions related to integer arithmetic can be invoked  
from Home view and within programs:  
BITAND  
BITSL  
BITNOT  
BITSR  
BITOR  
BITXOR  
GETBITS  
SETBITS  
BR  
GETBASE  
SETBASE  
RB  
These are described in “Integer, beginning on page 544.  
580  
Basic Integer arithmetic  
   
Appendix A  
Glossary  
app  
A small application, designed for the  
study of one or more related topics or  
to solve problems of a particular type.  
The built-in apps are Function,  
Advanced Graphing, Geometry,  
Spreadsheet, Statistics 1Var, Statistics  
2Var, Inference, Datastreamer, Solve,  
Linear Solver, Triangle Solver,  
Finance, Parametric, Polar, Sequence,  
Linear Explorer, Quadratic Explorer,  
and Trig Explorer. An app can be  
filled with the data and solutions for a  
specific problem. It is reusable (like a  
program, but easier to use) and it  
records all your settings and  
definitions.  
button  
CAS  
An option or menu shown at the  
bottom of the screen and activated by  
touch. Compare with key.  
Computer Algebra System. Use the  
CAS to perform exact or symbolic  
calculations. Compare to calculations  
done in Home view, which often yield  
numerical approximations. You can  
share results and variables between  
the CAS and Home view (and vice  
versa).  
catalog  
A collection of items, such as  
matrices, lists, programs and the like.  
New items you create are saved to a  
catalog, and you choose a specific  
item from a catalog to work on it. A  
special catalog that lists the apps is  
called the Application Library.  
Glossary  
581  
       
command  
expression  
function  
An operation for use in programs.  
Commands can store results in  
variables, but do not display results.  
A number, variable, or algebraic  
expression (numbers plus functions)  
that produces a value.  
An operation, possibly with  
arguments, that returns a result. It  
does not store results in variables. The  
arguments must be enclosed in  
parentheses and separated with  
commas.  
Home view  
The basic starting point of the  
calculator. Most calculations can be  
done in Home view. However, such  
calculations only return numeric  
approximations. For exact results, you  
can use the CAS. You can share  
results and variables between the  
CAS and Home view (and vice  
versa).  
input form  
key  
A screen where you can set values or  
choose options. Another name for a  
dialog box.  
A key on the keypad (as opposed to  
a button, which appears on the  
screen and needs to be tapped to be  
activated).  
Library  
list  
A collection of items, more  
specifically, the apps. See also  
catalog.  
A set of objects separated by commas  
and enclosed in curly braces. Lists are  
commonly used to contain statistical  
data and to evaluate a function with  
multiple values. Lists can be created  
and manipulated by the List Editor  
and stored in the List Catalog.  
582  
Glossary  
   
matrix  
A two-dimensional array of real or  
complex numbers enclosed by square  
brackets. Matrices can be created  
and manipulated by the Matrix Editor  
and stored in the Matrix Catalog.  
Vectors are also handled by the  
Matrix Catalog and Editor.  
menu  
note  
A choice of options given in the  
display. It can appear as a list or as a  
set of touch buttons across the bottom  
of the display.  
Text that you write in the Note Editor.  
It can be a general, standalone note  
or a note specific to an app.  
open  
sentence  
An open sentence consists of two  
expressions (algebraic or arithmetic),  
separated by a relational operator  
such as =, <, etc. Examples of open  
sentences include y2<x1 and  
x2y2=3+x.  
program  
variable  
A reusable set of instructions that you  
record using the Program Editor.  
A name given to an object—such as  
a number, list, matrix, graphic and so  
on—to assist in later retrieving it. The  
command assigns a variable,  
and the object can be retrieved by  
selecting the associated variable from  
the variables menu (a).  
vector  
views  
A one-dimensional array of real or  
complex numbers enclosed in single  
square brackets. Vectors can be  
created and manipulated by the  
Matrix Editor and stored in the Matrix  
Catalog.  
The primary environments of HP apps.  
Examples of app views include Plot,  
Plot Setup, Numeric, Numeric Setup,  
Symbolic, and Symbolic Setup.  
Glossary  
583  
       
584  
Glossary  
Appendix B  
Troubleshooting  
Calculator not responding  
If the calculator does not respond, you should first try to  
reset it. This is much like restarting a PC. It cancels certain  
operations, restores certain conditions, and clears  
temporary memory locations. However, it does not clear  
stored data (variables, apps, programs, etc.).  
To reset  
Turn the calculator over and insert a paper clip into the  
Reset hole just above the battery compartment cover. The  
calculator will reboot and return to Home view.  
If the calculator does not turn on  
If the HP Prime does not turn on, follow the steps below  
until the calculator turns on. You may find that the  
calculator turns on before you have completed the  
procedure. If the calculator still does not turn on, contact  
Customer Support for further information.  
1. Charge the calculator for at least one hour.  
2. After an hour of charging, turn the calculator on.  
3. If it does not turn on, reset the calculator as per the  
preceding section.  
Troubleshooting  
585  
   
Operating limits  
Operating temperature: 0to 45C (32to 113F).  
Storage temperature: –20to 65C (4to 149F).  
Operating and storage humidity: 90% relative  
humidity at 40C (104F) maximum. Avoid getting the  
calculator wet.  
The battery operates at 3.7V with a capacity of 1500mAh  
(5.55Wh).  
Status messages  
The table below lists the most common general error  
messages and their meanings. Some apps and the CAS  
have more specific error messages that are self-  
explanatory.  
Message  
Meaning  
Bad argument type Incorrect input for this  
operation.  
Insufficient memory You must recover some memory  
to continue operation. Delete  
one or more customized apps,  
matrices, lists, notes, or  
programs.  
Insufficientstatistics Not enough data points for the  
data  
calculation. For two-variable  
statistics there must be two  
columns of data, and each  
column must have at least four  
numbers.  
Invalid dimension  
Array argument had wrong  
dimensions.  
Statistics data size  
not equal  
Need two columns with equal  
numbers of data values.  
586  
Troubleshooting  
         
Message  
Meaning (Continued)  
Syntax error  
The function or command you  
entered does not include the  
proper arguments or order of  
arguments. The delimiters  
(parentheses, commas, periods,  
and semi-colons) must also be  
correct. Look up the function  
name in the index to find its  
proper syntax.  
No functions  
checked  
You must enter and check an  
equation in the Symbolic view  
before entering the Plot view.  
Receive error  
Problem with data reception  
from another calculator. Re-  
send the data.  
Undefined name  
Out of memory  
The global variable named  
does not exist.  
You must recover a lot of  
memory to continue operation.  
Delete one or more customized  
apps, matrices, lists, notes, or  
programs.  
Two decimal  
separators input  
One of the numbers you have  
entered has two or more  
decimal points.  
X/0  
Division by zero error.  
Undefined result in division.  
LN(0) is undefined.  
0/0  
LN(0)  
Inconsistent units  
The calculation involves  
incompatible units (eg., adding  
length and mass).  
Troubleshooting  
587  
588  
Troubleshooting  
Appendix C  
Product Regulatory Information  
Federal Communications Commission Notice  
This equipment has been tested and found to comply with  
the limits for a Class B digital device, pursuant to Part 15  
of the FCC Rules. These limits are designed to provide  
reasonable protection against harmful interference in a  
residential installation. This equipment generates, uses,  
and can radiate radio frequency energy and, if not  
installed and used in accordance with the instructions,  
may cause harmful interference to radio communications.  
However, there is no guarantee that interference will not  
occur in a particular installation. If this equipment does  
cause harmful interference to radio or television recep-  
tion, which can be determined by turning the equipment  
off and on, the user is encouraged to try to correct the  
interference by one or more of the following measures:  
• Reorient or relocate the receiving antenna.  
• Increase the separation between the equipment and the  
receiver.  
• Connect the equipment into an outlet on a circuit different  
from that to which the receiver is connected.  
• Consult the dealer or an experienced radio or television  
technician for help.  
Modifications  
The FCC requires the user to be notified that any changes  
or modifications made to this device that are not  
expressly approved by Hewlett-Packard Company may  
void the user's authority to operate the equipment.  
Cables  
Connections to this device must be made with shielded  
cables with metallic RFI/EMI connector hoods to main-  
tain compliance with FCC rules and regulations. Applica-  
ble only for products with connectivity to PC/laptop.  
Product Regulatory Information  
589  
 
Declaration of Conformity for products Marked with FCC  
Logo, United States Only  
This device complies with Part 15 of the FCC Rules. Oper-  
ation is subject to the following two conditions: (1) this  
device may not cause harmful interference, and (2) this  
device must accept any interference received, including  
interference that may cause undesired operation.  
If you have questions about the product that are not  
related to this declaration, write to:  
Hewlett-Packard Company  
P.O. Box 692000, Mail Stop 530113  
Houston, TX 77269-2000  
For questions regarding this FCC declaration, write to:  
Hewlett-Packard Company  
P.O. Box 692000, Mail Stop 510101 Houston, TX 77269-  
2000 or call HP at 281-514-3333  
To identify your product, refer to the part, series, or  
model number located on the product.  
Canadian Notice  
This Class B digital apparatus meets all requirements of  
the Canadian Interference-Causing Equipment Regula-  
tions.  
Avis Canadien  
Cet appareil numérique de la classe B respecte toutes les  
exigences du Règlement sur le matériel brouilleur du Can-  
ada.  
590  
Product Regulatory Information  
European Union Regulatory Notice  
Products bearing the CE marking comply with the follow-  
ing EU Directives:  
• Low Voltage Directive 2006/95/EC  
• EMC Directive 2004/108/EC  
• Ecodesign Directive 2009/125/EC, where applicable  
CE compliance of this product is valid if powered with  
the correct CE-marked AC adapter provided by HP.  
Compliance with these directives implies conformity to  
applicable harmonized European standards (European  
Norms) that are listed in the EU Declaration of Confor-  
mity issued by HP for this product or product family and  
available (in English only) either within the product docu-  
mentation or at the following web site: www.hp.eu/cer-  
tificates (type the product number in the search field).  
The compliance is indicated by one of the following con-  
formity markings placed on the product:  
For non-telecommunications products  
and for EU harmonized  
telecommunications products, such as  
Bluetooth® within power class below  
10mW.  
For EU non-harmonized  
telecommunications products (If  
applicable, a 4-digit notified body  
number is inserted between CE and !).  
Please refer to the regulatory label provided on the prod-  
uct.  
The point of contact for regulatory matters is:  
Hewlett-Packard GmbH, Dept./MS: HQ-TRE, Herren-  
berger Strasse 140, 71034 Boeblingen, GERMANY.  
Product Regulatory Information  
591  
Japanese Notice  
Korean Class  
Notice  
Disposal of Waste  
Equipment by Users  
in Private  
Household in the  
European Union  
This symbol on the product or on its  
packaging indicates that this product must  
not be disposed of with your other  
household waste. Instead, it is your  
responsibility to dispose of your waste  
equipment by handing it over to a  
designated collection point for the  
recycling of waste electrical and electronic  
equipment. The separate collection and  
recycling of your waste equipment at the  
time of disposal will help to conserve  
natural resources and ensure that it is  
recycled in a manner that protects human  
health and the environment. For more  
information about where you can drop off  
your waste equipment for recycling, please  
contact your local city office, your  
household waste disposal service or the  
shop where you purchased the product.  
592  
Product Regulatory Information  
Chemical  
Substances  
HP is committed to providing our customers with informa-  
tion about the chemical substances in our products as  
needed to comply with legal requirements such as  
REACH (Regulation EC No 1907/2006 of the European  
Parliament and the Council). A chemical information  
report for this product can be found at:  
Perchlorate Material - special handling may apply  
This calculator's Memory Backup battery may contain  
perchlorate and may require special handling when  
recycled or disposed in California.  
Product Regulatory Information  
593  
594  
Product Regulatory Information  
Index  
A
adapter 12  
adaptive graphing 99  
Advanced Graphing app 69,  
125–134  
Function 69, 111–124  
Geometry 69, 135–192  
Linear Solver 70, 130, 265–267  
Plot Gallery 134  
trace options 129  
variables, summary of 434  
algebra functions 322–323  
algebraic entry 32, 36, 47  
algebraic precedence 39  
alternative hypothesis 238  
amortization 291–292  
angle measure 31, 56  
annunciators 14  
Ans (last answer) 41  
antilogarithm  
Quadratic Explorer 70, 300–302  
Spreadsheet 70, 193–208  
Statistics 1Var 70, 209–220  
Triangle Solver 70, 293–296  
Trig Explorer 70, 302–304  
common 308  
natural 308  
app  
commands 543  
creating 107, 134, 521  
customizing See app, creating  
definition of 581  
deleting 72  
backspace 21  
functions See functions  
HP apps See apps, HP  
library 71  
notes 106  
open 71  
programs 519  
reset 71  
sorting 71, 72  
indicator 16  
variables 109, 432–444,  
554–574  
warning 12  
binary arithmetic See integer arithmetic  
575  
See also variables  
App menu 305  
app views 72  
block commands 525  
Boolean operators 21  
box zoom 90  
Numeric 77  
Numeric Setup 78  
Plot 74  
box-and-whisker plot 218  
branch commands 526, 553  
brightness 13  
Plot Setup 76  
Symbolic Setup 74  
Symbolic view 73  
Build Your Own See custom tables  
Index  
595  
buttons  
command 20  
menu 20  
See also menu buttons  
structure in programming 497  
variable 530, 531  
complex numbers 32, 43, 57  
C
cables 44  
calculations  
CAS 54, 322–343  
confidence intervals 251  
financial 285–292  
geometric 150  
in Home view 35, 307–321  
statistical 216, 231  
with units 446  
computer algebra system See CAS  
confidence intervals 238, 251–255,  
calculus functions 323–328  
CAS 53–59  
calculations using 54, 322–343  
functions  
algebra 322–323  
calculus 323–328  
integer 334–336  
plot 342–343  
math 451  
polynomial 337–342  
rewrite 330–334  
solve 328–330  
menu 322–343  
settings 30, 55  
view 13  
cash flow 287  
Catlg menu 372–425  
programs 509  
cells  
correlation coefficient 234  
entering content 199  
formatting 206  
importing data 200  
naming 198  
referencing 198, 202  
selecting 197  
curves 158  
custom apps 107, 134, 521  
custom functions 425  
custom tables 103  
custom variables 42, 427  
characters 22  
charging 11  
chemistry constants 451  
cobweb graph 279  
coding See programming  
color  
D
highlight 34  
data set definition 222  
data sharing 44  
date 34  
of geometric objects 143  
of graphs 85  
theme 34  
debugging programs 507  
decimal comma 33  
596  
Index  
decimal mark 33  
decimal zoom 90, 93, 102  
default settings, restoring 21, 87, 100,  
106  
define your own fit 230  
degree symbol 21  
deleting  
amortization 291–292  
apps 72  
characters 21  
lists 457  
matrices 466  
Numeric 566–568  
notes 490  
programs 500  
statistical data 215, 228  
determinant 477  
dilation 162  
display 13  
annunciators 14  
clearing 13  
format  
engineering 31  
fixed 31  
hexagesimal 26  
notes 494  
fraction 31  
menu buttons 14  
parts of 14  
in spreadsheets 207  
scientific 31  
standard 31  
DMS format 21  
document conventions 9  
drag 17  
functions 118–122, 343–344  
drawing commands 534–541  
E
editing  
lists 453  
matrices 466  
notes 489  
programs 498  
base 580  
engineering number format 31  
entry format See entry methods  
entry line 14  
calculus 323–328  
common 371  
entry methods 32, 36, 47  
epsilon 58  
creating your own 425  
defining 37, 81, 112  
definition of 111  
Finance app 367–368  
Function app 343–344  
geometric 165–192  
hyperbolic 315  
evaluation (Eval) 84  
evaluation, in Numeric view 102  
exam mode 34, 61–67  
activating 64  
canceling 66  
configuring 63  
Inference app 364–367  
integer 334–336  
Index  
597  
keyboard 307–310  
Linear Explorer 371  
Linear Solver 369  
graphing methods 99  
Greek characters 21  
number 311–312  
plot 342–343  
polynomial 337–342  
probability 315–320  
rewrite 330–334  
H
solve 328–330  
Solve app 344  
spreadsheet 208, 345–362  
Statistics 1Var 363  
Statistics 2Var 363–364  
Triangle Solver 369–370  
G
geometric objects 153–160  
geometric transformations 161–164  
Geometry app 69, 135–192  
commands 165–192  
creating objects  
in Plot view 141  
in Symbolic view 148  
functions 165–192  
naming objects 142  
objects, types of 153–160  
Plot view, menu buttons 146  
selecting an object 143  
shortcut keys 147  
transforming objects 161–164  
undo option 144  
I/O commands, programming 544,  
variables, summary of 433  
gestures 17  
confidence intervals 251–255  
One-Proportion Z-Interval 252  
One-Proportion Z-Test 246  
One-Sample T-Interval 254  
One-Sample T-Test 248  
One-Sample Z-Interval 251  
One-Sample Z-Test 244  
Two-Proportion Z-Interval 253  
Two-Proportion Z-Test 247  
Two-Sample T-Interval 254  
Two-Sample T-Test 249  
Two-Sample Z Test 245  
Two-Sample Z-Interval 251  
global variables 511  
glossary 581–583  
graph  
bar 218  
box-and-whisker 218  
cobweb 279  
color for 85  
line 218  
normal probability 218  
pareto 219  
stairsteps 279  
statistical data  
one-variable 217  
two-variable 232  
598  
Index  
Inference app 69, 237–255  
confidence intervals 251–255  
functions 364–367  
hypothesis tests 243–250  
importing statistics 241  
variables  
Linear Solver 70, 130, 265–267  
Numeric 564  
Results 440  
summary of 439  
Info, Solve app 263  
input form 29  
insufficient memory 586  
insufficient statistics data 586  
integer 32  
integer arithmetic 575  
integer base 56  
operating on 457–459  
variables 431, 453  
loop commands 527, 527–530  
lowercase characters 23, 493  
integer commands, programming 544  
integer functions 334–336  
integer zoom 90, 93, 102  
integer, editing 579–580  
intercepts 132  
invalid  
dimension 586  
statistics data 586  
K
keyboard 18  
customizing 515  
editing keys 20  
entry keys 20  
functions on 307–310  
keys  
enclosing arguments 38  
in scientific notation 27  
negative numbers in 39  
See also calculations  
adding rows 467  
commands 541–543  
condition number 480  
create identity 487  
creating 466, 468  
deleting 466  
edit 20  
entry 20  
internal name of 517  
math 24  
shift 22  
user defined 515  
variables 25  
L
language, select 32  
Library, Application 582  
line plot 218  
deleting columns 467  
deleting rows 467  
determinant 477  
dot product 486  
functions 476–487  
inverting 474  
linear equations, solving 265, 474  
Linear Explorer app 69, 130,  
297–299  
functions 371  
linear equations, solving of 474  
Index  
599  
matrix calculations 465  
negating elements 474  
raised to a power 473  
reduced-row echelon 487  
singular value decomposition 486  
storing 466, 469, 470  
swap row 543  
Normal Z-distribution, confidence inter-  
transposing 487  
variables 431, 465  
maximum real number 36  
measurements See units 445  
menu  
App 305  
CAS 322–343  
Catlg 372–425  
context sensitive 20  
Math 310–321  
shortcuts 28  
User 305  
menu buttons 20  
common operations in 105–106  
in Linear Solver app 267  
in Numeric view 104  
in Plot view  
general 96  
common operations in 100–103  
Geometry app 146  
in Spreadsheet app 205  
in Statistics 1Var app 211, 214  
in Statistics 2Var app 227, 234  
in Symbolic view 86  
menus 28  
Numeric view app variables 554  
object selection, in Geometry app 143  
objects  
closing 29  
display format of 33, 306  
searching through 28  
Toolbox 29  
geometric 153–160  
on and off 12  
One-Proportion Z-Interval 252  
One-Sample Z-Test 244  
online help 45  
messages, Solve app 263  
minutes symbol 21  
mixed numbers 26  
MKSA 448  
mode  
exact 56  
symbolic 56  
open sentences 125  
defining 81, 127  
user 516  
modes See system-wide settings 30  
P
N
palettes, shortcut 21, 25  
Parametric app 70, 269–273  
variables 441  
names, in Geometry app 142, 143  
natural logarithm 308  
navigation 16  
pareto plot 219  
negation 310  
600  
Index  
permutations 316  
physical constants 449  
physics constants 451  
pinch 17  
pixels 18  
plot  
box-and-whisker 218  
cobweb 279  
color of 85  
defined in Geometry app 160  
functions 342–343  
line 218  
one-variable statistics 217  
pareto 219  
stairsteps 279  
statistical data  
Quadratic Explorer app 70, 300–302  
one-variable 217  
two-variable 232  
Plot and Numeric views together 106  
Plot Gallery 134  
Plot Setup view 76  
common operations in 96–100  
Plot view 74  
qualify, variables 110, 429, 512  
regression models See fit types  
regulatory information 589  
common operations in 88–95  
in Geometry app 141  
menu buttons 96, 146  
variables 554–558  
zoom 88–94  
points 153  
Polar app 70, 275–278  
variables 442  
polygons 157  
polynomial functions 337–342  
precedence, algebraic 39  
prediction 235  
right-angled triangles See Triangle Solv-  
prefixes, for units 446  
principal solutions 57  
probability functions 315–320  
program  
RPN 36, 47–52  
commands 51–52  
entry 32  
commands  
app functions 543  
block 525  
S
branch 526  
sample programs 513–515, 523–525  
scientific number format 27, 31  
searching  
drawing 534–541  
function 531  
I/O 544, 546  
menus 28  
integer 544  
online help 45  
speed searches 28  
loop 527  
matrix 541  
Index  
601  
seconds symbol 21  
seed value 257, 261  
sending See data sharing  
Sequence app 70, 279–284  
graph types 279  
importing data from a spreadsheet  
variables 444  
settings 30, 431  
CAS 30, 55  
inserting data 213, 215, 228  
sharing data 44  
shift keys 22  
shortcut palettes 20  
shortcuts  
box-and-whisker plot 218  
in Geometry 147  
in menus 28  
Solve app 70, 257–264  
functions 344  
limitations 262  
messages 263  
one equation 258  
variables, summary of 435  
several equations 261  
variables, summary of 433  
solve functions 328–330  
sort apps 71, 72  
special symbols palette 21, 25  
split-screen viewing 91, 106  
Spreadsheet app 70, 193–208  
cell referencing 198  
entering content 199  
external functions 201  
external referencing 202  
format parameters 207  
formatting 206  
functions 208, 345–362  
gestures 197  
importing data 200  
menu buttons 205  
variables, summary of 437  
storing 42  
naming cells 198  
navigating 197  
selecting cells 197  
variables 203, 433  
square zoom 90, 93  
stack, in RPN 48, 51  
stairsteps graph 279  
standard number format 31  
statistical calculations 216, 231  
statistical fit types 229–230  
statistical plots 217–219, 232  
Statistics 1Var 70, 209–220  
data set definitions 210  
symbolic calculations 56  
Symbolic Setup view 74  
common operations in 87  
Symbolic view 73  
common operations in 81–85  
in Geometry app 148  
menu buttons 86  
symbols, in title bar 14  
system-wide settings 30, 431  
override 87  
602  
Index  
T
tables, custom 103  
template key 24  
variables 429, 512  
user modes 516  
templates 20  
test mode See exam mode  
text 23  
textbook entry 32, 33, 36, 47  
theme 34  
time 16, 34  
time-value-of-money problems 285  
title bar 14  
Advanced Graphing app 434  
app 109, 554–574  
Toolbox menus 29, 305  
touch options 16  
trace 94–95, 129  
transformations, geometric 161–164  
Triangle Solver app 70, 293–296  
functions 369–370  
variables  
Numeric 569  
summary of 443  
Trig Explorer app 70, 302–304  
trig zoom 90, 94, 102  
trigonometric  
Home settings 431  
in programming 553  
Inference app 439  
fit 230  
functions 314  
troubleshooting 585  
turn on and off 12  
TVM problems 285  
Two-Proportion Z-Interval 253  
Two-Proportion Z-Test 247  
Two-Sample T-Interval 254  
Two-Sample T-test 249  
Two-Sample Z-Interval 251  
Two-Sample Z-Test 245  
Polar app 442  
real 431  
U
undo  
retrieving 429  
a zoom 90  
Sequence apps 444  
Solve app 433  
Spreadsheet app 203, 433  
Statistics 1Var 435  
Statistics 2Var 437  
Symbolic view 559–561  
Triangle Solver 443  
types of in programming 553  
User 554  
in Geometry 144  
units 445–451  
calculating with 446  
converting between 448  
prefixes for 446  
tools for manipulating 448  
uppercase characters 23, 493  
Upper-Tail Chi-Square probability 317  
USB cables 44  
Index  
603  
vectors  
definition of 465, 583  
See Also matrices  
views  
wireless network 34  
wordsize 577  
definition of 583  
Z
in apps 72  
Numeric 77  
Z-Intervals 251–253  
zoom  
Numeric Setup 78  
Plot 74  
examples of 91–94  
factors 88  
in Numeric view 100–102  
in Plot view 88–94  
keys for 89, 101  
types of 89–90, 102  
Plot Setup 76  
Symbolic 73  
Symbolic Setup 74  
Views menu 91, 520  
604  
Index  

Alpine 68 09359Z83 B User Manual
ARC Audio 430 8 01 User Manual
Audiovox ACD 28 User Manual
AVerMedia Technologies 300AABWG User Manual
Bravetti PLATINUM PRO EP542 User Manual
Bushnell ImageView 118330 User Manual
Canon VIXIA HF G10 User Manual
FujiFilm FinePix s2900 User Manual
Harbor Freight Tools Binoculars 41021 User Manual
JVC DY 70U User Manual