[Top] [Contents] [Index] [ ? ]

1. The GNU Emacs Calculator
Preamble
2. Getting Started
2.1 What is Calc?
2.3 Notations Used in This Manual
2.4 A Demonstration of Calc
2.5 Using Calc
2.5.1 Starting Calc
2.5.2 The Standard Calc Interface
2.5.3 Quick Mode (Overview)
2.5.5 Standalone Operation
2.5.6 Embedded Mode (Overview)
2.5.7 Other M-# Commands
2.6 History and Acknowledgements
3. Tutorial
4. Tutorial
4.1 Basic Tutorial
4.1.1 RPN Calculations and the Stack
4.1.2 Algebraic-Style Calculations
4.1.3 Undo and Redo
4.1.4 Mode-Setting Commands
4.2 Arithmetic Tutorial
4.3 Vector/Matrix Tutorial
4.3.1 Vector Analysis
4.3.2 Matrices
4.3.3 Vectors as Lists
4.4 Types Tutorial
4.5 Algebra and Calculus Tutorial
4.5.1 Basic Algebra
4.5.2 Rewrite Rules
4.6 Programming Tutorial
4.7.1 RPN Tutorial Exercise 1
4.7.2 RPN Tutorial Exercise 2
4.7.3 RPN Tutorial Exercise 3
4.7.4 RPN Tutorial Exercise 4
4.7.5 Algebraic Entry Tutorial Exercise 1
4.7.6 Algebraic Entry Tutorial Exercise 2
4.7.7 Algebraic Entry Tutorial Exercise 3
4.7.8 Modes Tutorial Exercise 1
4.7.9 Modes Tutorial Exercise 2
4.7.10 Modes Tutorial Exercise 3
4.7.11 Modes Tutorial Exercise 4
4.7.12 Arithmetic Tutorial Exercise 1
4.7.13 Arithmetic Tutorial Exercise 2
4.7.14 Vector Tutorial Exercise 1
4.7.15 Vector Tutorial Exercise 2
4.7.16 Matrix Tutorial Exercise 1
4.7.17 Matrix Tutorial Exercise 2
4.7.18 Matrix Tutorial Exercise 3
4.7.19 List Tutorial Exercise 1
4.7.20 List Tutorial Exercise 2
4.7.21 List Tutorial Exercise 3
4.7.22 List Tutorial Exercise 4
4.7.23 List Tutorial Exercise 5
4.7.24 List Tutorial Exercise 6
4.7.25 List Tutorial Exercise 7
4.7.26 List Tutorial Exercise 8
4.7.27 List Tutorial Exercise 9
4.7.28 List Tutorial Exercise 10
4.7.29 List Tutorial Exercise 11
4.7.30 List Tutorial Exercise 12
4.7.31 List Tutorial Exercise 13
4.7.32 List Tutorial Exercise 14
4.7.33 Types Tutorial Exercise 1
4.7.34 Types Tutorial Exercise 2
4.7.35 Types Tutorial Exercise 3
4.7.36 Types Tutorial Exercise 4
4.7.37 Types Tutorial Exercise 5
4.7.38 Types Tutorial Exercise 6
4.7.39 Types Tutorial Exercise 7
4.7.40 Types Tutorial Exercise 8
4.7.41 Types Tutorial Exercise 9
4.7.42 Types Tutorial Exercise 10
4.7.43 Types Tutorial Exercise 11
4.7.44 Types Tutorial Exercise 12
4.7.45 Types Tutorial Exercise 13
4.7.46 Types Tutorial Exercise 14
4.7.47 Types Tutorial Exercise 15
4.7.48 Algebra Tutorial Exercise 1
4.7.49 Algebra Tutorial Exercise 2
4.7.50 Algebra Tutorial Exercise 3
4.7.51 Algebra Tutorial Exercise 4
4.7.52 Rewrites Tutorial Exercise 1
4.7.53 Rewrites Tutorial Exercise 2
4.7.54 Rewrites Tutorial Exercise 3
4.7.55 Rewrites Tutorial Exercise 4
4.7.56 Rewrites Tutorial Exercise 5
4.7.57 Rewrites Tutorial Exercise 6
4.7.58 Rewrites Tutorial Exercise 7
4.7.59 Programming Tutorial Exercise 1
4.7.60 Programming Tutorial Exercise 2
4.7.61 Programming Tutorial Exercise 3
4.7.62 Programming Tutorial Exercise 4
4.7.63 Programming Tutorial Exercise 5
4.7.64 Programming Tutorial Exercise 6
4.7.65 Programming Tutorial Exercise 7
4.7.66 Programming Tutorial Exercise 8
4.7.67 Programming Tutorial Exercise 9
4.7.68 Programming Tutorial Exercise 10
4.7.69 Programming Tutorial Exercise 11
4.7.70 Programming Tutorial Exercise 12
5. Introduction
5.1 Basic Commands
5.2 Help Commands
5.3 Stack Basics
5.4 Numeric Entry
5.5 Algebraic Entry
5.6 "Quick Calculator" Mode
5.7 Numeric Prefix Arguments
5.8 Undoing Mistakes
5.9 Error Messages
5.10 Multiple Calculators
5.11 Troubleshooting Commands
5.11.2 Recursion Depth
5.11.3 Caches
5.11.4 Debugging Calc
6. Data Types
6.1 Integers
6.2 Fractions
6.3 Floats
6.4 Complex Numbers
6.5 Infinities
6.6 Vectors and Matrices
6.7 Strings
6.8 HMS Forms
6.9 Date Forms
6.10 Modulo Forms
6.11 Error Forms
6.12 Interval Forms
6.13 Incomplete Objects
6.14 Variables
6.15 Formulas
7. Stack and Trail Commands
7.1 Stack Manipulation Commands
7.2 Editing Stack Entries
7.3 Trail Commands
7.4 Keep Arguments
8. Mode Settings
8.1 General Mode Commands
8.2 Precision
8.3 Inverse and Hyperbolic Flags
8.4 Calculation Modes
8.4.1 Angular Modes
8.4.2 Polar Mode
8.4.3 Fraction Mode
8.4.4 Infinite Mode
8.4.5 Symbolic Mode
8.4.6 Matrix and Scalar Modes
8.4.7 Automatic Recomputation
8.4.8 Working Messages
8.5 Simplification Modes
8.6 Declarations
8.6.1 Declaration Basics
8.6.2 Kinds of Declarations
8.6.3 Functions for Declarations
8.7 Display Modes
8.7.2 Grouping Digits
8.7.3 Float Formats
8.7.4 Complex Formats
8.7.5 Fraction Formats
8.7.6 HMS Formats
8.7.7 Date Formats
8.7.7.1 Date Formatting Codes
8.7.7.2 Free-Form Dates
8.7.7.3 Standard Date Formats
8.7.8 Truncating the Stack
8.7.9 Justification
8.7.10 Labels
8.8 Language Modes
8.8.1 Normal Language Modes
8.8.2 C, FORTRAN, and Pascal Modes
8.8.3 TeX Language Mode
8.8.4 Eqn Language Mode
8.8.5 Mathematica Language Mode
8.8.6 Maple Language Mode
8.8.7 Compositions
8.8.7.1 Composition Basics
8.8.7.2 Horizontal Compositions
8.8.7.3 Vertical Compositions
8.8.7.4 Other Compositions
8.8.7.6 User-Defined Compositions
8.8.8 Syntax Tables
8.8.8.1 Syntax Table Basics
8.8.8.2 Precedence
8.8.8.4 Conditional Syntax Rules
8.9 The `Modes` Variable
8.10 The Calc Mode Line
9. Arithmetic Functions
9.1 Basic Arithmetic
9.2 Integer Truncation
9.3 Complex Number Functions
9.4 Conversions
9.5 Date Arithmetic
9.5.1 Date Conversions
9.5.2 Date Functions
9.5.4 Time Zones
9.6 Financial Functions
9.6.1 Percentages
9.6.2 Future Value
9.6.3 Present Value
9.6.4 Related Financial Functions
9.6.5 Depreciation Functions
9.6.6 Definitions
9.7 Binary Number Functions
10. Scientific Functions
10.1 Logarithmic Functions
10.2 Trigonometric/Hyperbolic Functions
10.4 Branch Cuts and Principal Values
10.5 Random Numbers
10.5.1 Random Number Generator
10.6 Combinatorial Functions
10.7 Probability Distribution Functions
11. Vector/Matrix Functions
11.1 Packing and Unpacking
11.2 Building Vectors
11.3 Extracting Vector Elements
11.4 Manipulating Vectors
11.5 Vector and Matrix Arithmetic
11.6 Set Operations using Vectors
11.7 Statistical Operations on Vectors
11.7.1 Single-Variable Statistics
11.7.2 Paired-Sample Statistics
11.8 Reducing and Mapping Vectors
11.8.1 Specifying Operators
11.8.2 Mapping
11.8.3 Reducing
11.8.4 Nesting and Fixed Points
11.8.5 Generalized Products
11.9 Vector and Matrix Display Formats
12. Algebra
12.1 Selecting Sub-Formulas
12.1.1 Making Selections
12.1.2 Changing Selections
12.1.3 Displaying Selections
12.1.4 Operating on Selections
12.1.5 Rearranging Formulas using Selections
12.2 Algebraic Manipulation
12.3 Simplifying Formulas
12.3.1 Default Simplifications
12.3.2 Algebraic Simplifications
12.3.3 "Unsafe" Simplifications
12.3.4 Simplification of Units
12.4 Polynomials
12.5 Calculus
12.5.1 Differentiation
12.5.2 Integration
12.5.3 Customizing the Integrator
12.5.4 Numerical Integration
12.5.5 Taylor Series
12.6 Solving Equations
12.6.1 Multiple Solutions
12.6.2 Solving Systems of Equations
12.6.3 Decomposing Polynomials
12.7 Numerical Solutions
12.7.1 Root Finding
12.7.2 Minimization
12.7.3 Systems of Equations
12.8 Curve Fitting
12.8.1 Linear Fits
12.8.2 Polynomial and Multilinear Fits
12.8.3 Error Estimates for Fits
12.8.4 Standard Nonlinear Models
12.8.5 Curve Fitting Details
12.8.6 Polynomial Interpolation
12.9 Summations
12.10 Logical Operations
12.11 Rewrite Rules
12.11.1 Entering Rewrite Rules
12.11.2 Basic Rewrite Rules
12.11.3 Conditional Rewrite Rules
12.11.4 Algebraic Properties of Rewrite Rules
12.11.5 Other Features of Rewrite Rules
12.11.6 Composing Patterns in Rewrite Rules
12.11.7 Nested Formulas with Rewrite Rules
12.11.8 Multi-Phase Rewrite Rules
12.11.9 Selections with Rewrite Rules
12.11.10 Matching Commands
12.11.11 Automatic Rewrites
12.11.12 Debugging Rewrites
12.11.13 Examples of Rewrite Rules
13. Operating on Units
13.1 Basic Operations on Units
13.2 The Units Table
13.3 Predefined Units
13.4 User-Defined Units
14. Storing and Recalling
14.1 Storing Variables
14.2 Recalling Variables
14.3 Other Operations on Variables
14.4 The Let Command
14.5 The Evaluates-To Operator
15. Graphics
15.1 Basic Graphics
15.2 Three-Dimensional Graphics
15.3 Managing Curves
15.4 Graphics Options
15.5 Graphical Devices
16. Kill and Yank Functions
16.1 Killing from the Stack
16.2 Yanking into the Stack
16.3 Grabbing from Other Buffers
16.4 Yanking into Other Buffers
16.5 X Cut and Paste
18. Embedded Mode
18.1 Basic Embedded Mode
18.3 Assignments in Embedded Mode
18.4 Mode Settings in Embedded Mode
18.5 Customizing Embedded Mode
19. Programming
19.1 Creating User Keys
19.2 Programming with Keyboard Macros
19.2.1 Naming Keyboard Macros
19.2.2 Conditionals in Keyboard Macros
19.2.3 Loops in Keyboard Macros
19.2.4 Local Values in Macros
19.2.5 Queries in Keyboard Macros
19.3 Invocation Macros
19.4 Programming with Formulas
19.5 Programming with Lisp
19.5.1 Defining New Functions
19.5.2 Defining New Simple Commands
19.5.3 Defining New Stack-Based Commands
19.5.4 Argument Qualifiers
19.5.5 Example Definitions
19.5.5.1 Bit-Counting
19.5.5.2 The Sine Function
19.5.6 Calling Calc from Your Lisp Programs
19.5.6.1 Additional Arguments to `calc-eval`
19.5.6.2 Error Handling
19.5.6.3 Numbers Only
19.5.6.4 Default Modes
19.5.6.5 Raw Numbers
19.5.6.6 Predicates
19.5.6.7 Variable Values
19.5.6.8 Stack Access
19.5.6.9 Keyboard Macros
19.5.6.10 Lisp Evaluation
19.5.6.11 Example
19.5.7 Calculator Internals
19.5.7.1 Data Type Formats
19.5.7.2 Interactive Functions
19.5.7.3 Stack-Oriented Functions
19.5.7.4 Predicates
19.5.7.5 Computational Functions
19.5.7.6 Vector Functions
19.5.7.7 Symbolic Functions
19.5.7.8 I/O and Formatting Functions
19.5.7.9 Hooks
A. Installation
A.2 The `make public' Command
A.3 Compilation
A.5 Finding Component Files
A.6 Merging Source Files
A.7 Key Bindings
A.8 The `macedit' Package
A.9 The GNUPLOT Program
A.10 On-Line Documentation
A.11 Printed Documentation
A.12 Settings File
A.13 Testing the Installation
B. Reporting Bugs
C. Calc Summary
Index of Key Sequences
Index of Calculator Commands
Index of Algebraic Functions
Concept Index
Index of Variables
Index of Lisp Math Functions

This document was generated by XEmacs Webmaster on October, 2 2007 using texi2html