# lex_sort

lexicographic matrix rows sorting

## Calling Sequence

    [N, [k]]=lex_sort(M [,sel] [,'unique'])

## Arguments

M

  real matrix

N

  real matrix

k

  column vector of integers

## Description

the `lex_sort` function is now obsolete. It can be replaced by functions gsort and unique.

`N=lex_sort(M)` sorts the rows (as a group) of the matrix `M` in ascending order. If required the output argument `k` contains the ordering: `[N,k]=lex_sort(M)` returns `k` such as `N` is equal to `M(k,:)` .

`N=lex_sort(M,sel [,'unique'])` produces the same result as the following sequence of instructions:

    [N,k]=lex_sort(M(:,sel) [,'unique']);
    N=M(k,:)

The `'unique'` flag has to be given if one wants to retain only unique rows in the result. Note that `lex_sort(M,sel,'unique')` retains only rows such that M(:,sel) are unique.

## Examples

    M=round(2*rand(20,3));

    lex_sort(M)
    lex_sort(M,'unique')
    [N,k]=lex_sort(M,[1 3],'unique')

## See Also

- gsort
- unique