Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Change language to: Français - Português - 日本語

See the recommended documentation of this function

Scilab manual >> Linear Algebra > classmarkov

# classmarkov

recurrent and transient classes of Markov matrix

### Calling Sequence

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

### Arguments

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)```