## Name

classmarkov — recurrent and transient classes of Markov matrix

## Calling Sequence

[perm,rec,tr,indsRec,indsT]=classmarkov(M)

## Parameters

- M
real N x N Markov matrix. Sum of entries in each row should add to one.

- perm
integer permutation vector.

- rec, tr
integer vector, number (number of states in each recurrent classes, number of transient states).

- indsRec,indsT
integer vectors. (Indexes of recurrent and transient states).

## Description

Returns a permutation vector `perm`

such that

M(perm,perm) = [M11 0 0 0 0 0]
[0 M22 0 0 0]
[0 0 M33 0]
[ ... ]
[0 0 Mrr 0]
[* * * Q]

Each `Mii`

is a Markov matrix of dimension `rec(i) i=1,..,r`

.
`Q`

is sub-Markov matrix of dimension `tr`

.
States 1 to sum(rec) are recurrent and states from r+1 to n
are transient.
One has `perm=[indsRec,indsT]`

where indsRec is a vector of size sum(rec)
and indsT is a vector of size tr.

## Examples

//P has two recurrent classes (with 2 and 1 states) 2 transient states
P=genmarkov([2,1],2,'perm')
[perm,rec,tr,indsRec,indsT]=classmarkov(P);
P(perm,perm)