# Combinations

This chapter describes functions for creating and manipulating combinations. A combination c is represented by an array of k integers in the range 0 .. n-1, where each value c_i is from the range 0 .. n-1 and occurs at most once. The combination c corresponds to indices of k elements chosen from an n element vector. Combinations are useful for iterating over all k-element subsets of a set.

The functions described in this chapter are defined in the header file ``gsl_combination.h'`.

- The Combination struct
- Combination allocation
- Accessing combination elements
- Combination properties
- Combination functions
- Reading and writing combinations
- Combination Examples