# Singular

## 2.2 How to use this manual

#### For the impatient user

In Getting started, some simple examples explain how to use SINGULAR in a step-by-step manner.

Examples should come next for real learning-by-doing or to quickly solve some given mathematical problem without dwelling too deeply into SINGULAR. This chapter contains a lot of real-life examples and detailed instructions and explanations on how to solve mathematical problems using SINGULAR.

#### For the systematic user

In General concepts, all basic concepts which are important to use and to understand SINGULAR are developed. But even for users preferring the systematic approach it will be helpful to take a look at the examples in Getting started, every now and then. The topics in the chapter are organized more or less in the natural order in which the novice user is expected to have to deal with them.

• In Interactive use, and its subsections there are some words on entering and exiting SINGULAR, followed by a number of other aspects concerning the interactive user-interface.

• To do anything more than trivial integer computations, one needs to define a basering in SINGULAR. This is explained in detail in Rings and orderings.

• An overview of the algorithms implemented in the kernel of SINGULAR is given in Implemented algorithms.

• In The SINGULAR language, language specific concepts are introduced, such as the notions of names and objects, data types and conversion between them, etc.

• In Input and output, SINGULAR's mechanisms to store and retrieve data are discussed.

• The more complex concepts of procedures and libraries as well as tools for debugging them are considered in the following sections: Procedures, Libraries, and Debugging tools.

Data types, is a complete treatment of SINGULAR's data types in alphabetical order, where each section corresponds to one data type. For each data type, its purpose is explained, the syntax of its declaration is given, related operations and functions are listed, and one or more examples illustrate its usage.

Functions and system variables, is an alphabetically ordered reference list of all of SINGULAR's functions, control structures, and system variables. Each entry includes a description of the syntax and semantics of the item being explained as well as one or more examples on how to use it.

#### Miscellaneous

Tricks and pitfalls, is a loose collection of limitations and features which may be unexpected by those who expect the SINGULAR language to be an exact copy of the C programming language or of some other Computer Algebra system's language. Additionally, some mathematical hints are collected there.

Mathematical background, introduces some of the mathematical notions and definitions used throughout this manual. For example, if in doubt what exactly a "negative degree reverse lexicographical ordering" is in SINGULAR, one should refer to this chapter.

SINGULAR libraries, lists the libraries which come with SINGULAR, and all functions contained in them.

#### Typographical conventions

Throughout this manual, the following typographical conventions are adopted:

• text in `typewriter` denotes SINGULAR input and output as well as reserved names:

• The basering can, e.g., be set using the command `setring`.

• the arrow ==> denotes SINGULAR output:

• `poly p=x+y+z;`
• `p*p;`
• `==> x2+2xy+y2+2xz+2yz+z2`

• square brackets are used to denote parts of syntax descriptions which are optional:

• [optional_text] required_text

• keys are denoted using typewriter, for example:

• `N` (press the key `N` to get to the next node in help mode)
• `RETURN` (press `RETURN` to finish an input line)
• `CTRL-P` (press the control key together with the key `P` to get the previous input line)

### Misc 