Part 1

Chapter 1: Preamble

Version
Preface
System Distribution
System Requirements
Copyright and Trademarks
Acknowledgments

Part 2

Chapter 1: The CoCoA System

An Overview of the System
System Structure
Contributions
CoCoA and Macaulay
Pointers to the Literature

Chapter 2: Tutorial

A Tutorial Introduction to CoCoA
Setting Up CoCoA for the Tutorial
Entering Commands
Examples of Entering Commands
More on Entering Commands
After the Tutorial
Arithmetic
Variables
The Variable It
Making Lists
Setting Up a Ring
A Groebner Basis Example
Eliminating Variables
Using More Than One Ring
Substitutions
First Functions
More First Functions
Rings Inside User-Defined Functions
Rational Normal Curve
Generic Minors
Leading Term (Initial) Ideals, Generic Polynomials
Ring Mapping Example
Output to a File
Finite Point Sets: Buchberger-Moeller
Syzygies and Resolution Example
Factoring Polynomials

Part 3

Chapter 1: Introduction to CoCoA Programming

An Overview of CoCoA Programming

Chapter 2: Language Elements

Character Set and Special Symbols
Identifiers
Names of Indeterminates
Reserved Names
Comments
Data Types
Commands and Functions for Data Types

Chapter 3: Operators

CoCoA Operators
Algebraic Operators
Relational Operators
Boolean Operators
Selection Operators
Range Operator

Chapter 4: Evaluation and Assignment

Evaluation
Assignment

Chapter 5: User-Defined Functions

Introduction to User-Defined Functions
Commands and Functions for User-Defined Functions

Chapter 6: Flow Control: Conditional Statements and Loops

Commands and Functions for Branching
Commands and Functions for Loops

Chapter 7: Input/Output

Introduction to IO
Standard IO
File IO
String IO
Commands and Functions for IO
Tagged Printing
Tagging an Object
Printing a Tagged Object
Describing a Tagged Object
Another Example Using Tags
Commands and Functions for Tags

Chapter 8: Memory Management

Introduction to Memory
Working Memory
Global Memory
Ring-Bound Memory
Commands and Functions for Memory

Chapter 9: CoCoA Packages

Introduction to Packages
First Example of a Package
Package Essentials
Package Sourcing and Autoloading
Global Aliases
Local Aliases
More Examples of Packages
Package Initialization
Sharing Your Package
Commands and Functions for Packages
Supported Packages
K-Algebra Homomorphisms
Ext Modules
Galois Package
Integer Programming
Algebra of Invariants
Primary Ideals
Special Varieties
Statistics
Geometrical Theorem-Proving
Typevectors
Conductor
Matrix Normal Form

Part 4

Chapter 1: Booleans

Introduction to Booleans
Commands and Functions for Booleans

Chapter 2: Numbers

Introduction to Numbers
Rationals
Numerators and Denominators for Rational Numbers
Modular Integers
Commands and Functions for Numbers

Chapter 3: Strings

Introduction to Strings
Concatenation
Substrings
Quotes Within Strings
Commands and Functions for Strings

Chapter 4: Lists

Introduction to Lists
Commands and Functions for Lists

Chapter 5: Records

Introduction to Records
Commands and Functions for Records

Chapter 6: Vectors

Introduction to Vectors
Commands and Functions for Vectors

Chapter 7: Matrices

Introduction to Matrices
Commands and Functions for Matrices

Chapter 8: Rings

Introduction to Rings
New Rings
Coefficient Rings
Indeterminates
Weights Modifier
Orderings
Predefined Term-Orderings
Temporary Term-Orderings
Custom Term-Orderings
Module Orderings
Accessing Other Rings
Ring Mappings: the Image Function
Quotient Rings
Commands and Functions for Rings

Chapter 9: Polynomials

Introduction to Polynomials
Evaluation of Polynomials
Commands and Functions for Polynomials

Chapter 10: Rational Functions

Introduction to Rational Functions
Numerators and Denominators for Rational Functions
Commands and Functions for Rational Functions

Chapter 11: Ideals

Introduction to Ideals
Commands and Functions for Ideals

Chapter 12: Modules

Introduction to Modules
Quotient Modules
Shifts
Commands and Functions for Modules

Chapter 13: Groebner Bases and Related Computations

Introduction to Groebner Bases in CoCoA
Commands and Functions for Groebner-Type Computations
The Interactive Groebner Framework
Example: Interactive Groebner Basis Computation
Example: Verbose Mode
Example: Interactive Resolution Computation
Example: Truncations
Hilbert-Driven Computations

Part 5

Chapter 1: CoCoA Panels

Introduction to Panels
Setting Options
Options in the GENERAL Panel
Echo
Timer
Trace
Indentation
TraceSources
SuppressWarnings
ComputationStack
Options in the GROEBNER Panel
Sugar
FullRed
SingleStepRed
Verbose
Commands and Functions for Panels

Chapter 2: CoCoA's Help System

Online Help
Quick Tips for Using Online Help
Commands and Functions for Online Help
Other Help

Chapter 3: Fine Tuning At Start-up

User Initialization

Chapter 4: CoCoA Interfaces

CoCoA on a Macintosh
CoCoA under Unix
CoCoA under Windows/DOS