## Identifying structures on RPs

Everything about quantification of recurrence plots and recurrence networks.
oangelo
Junior
Posts: 2
Joined: Fri Nov 23, 2012 04:13
Affiliation (Univ., Inst., Dept.): Universidade Federal Fluminense
Location: Brazil - Rio de Janeiro
Research field: Physics - complex systems

### Identifying structures on RPs

I'm having a hard time trying to found on the literature how to classify structures of the RPs, somebody could point me a reference or explain.
I am building my own code. The code can measure the length of the maximal main/secondary diagonal length and the maximal vertical/horizontal length of a structure of a RP. I supose, that I should say that a cluster is a main diagonal line, case the length of the main diagonal is much bigger then the other lengths, but I'm not sure it is the right way.
Norbert
Expert
Posts: 195
Joined: Wed Jan 4, 2006 11:03
Affiliation (Univ., Inst., Dept.): Potsdam Institute for Climate Impact Research, Germany
Location: Potsdam, Germany
Location: Potsdam Institute for Climate Impact Research, Germany

### Re: Identifying structures on RPs

hello angelo,

i would say that the definitions of diagonal and vertical lines in a RP are quite clear and well explained in several publications, e.g., in
N. Marwan, M. C. Romano, M. Thiel, J. Kurths: Recurrence Plots for the Analysis of Complex Systems, Physics Reports, 438(5-6), 237-329, DOI:10.1016/j.physrep.2006.11.001

simply speaking a diagonal line are connected points in a RP in diagonal direction, i.e., R_(i,i+j) = 1 for i=a,...,b.

your other question about the clusters is not really clear to me. are you asking to just remove the main diagonal?

best regards
norbert

PS: here is some example code how to fill a histogram of lengths of diagonal lines. here the histogram counts each diagonal line as two lines as finally i consider the entire RP (lower and upper triangle of the matrix) but the implementation considers only the lower triangle (and assumes that the RP is symmetric).

Code: Select all

``````for ( i = 0; i < size; i++ ) { /* for each point */
counterL = 0;
for ( j = 0; j < size-i; j++ ) { /* look in diagonal direction */
/* compute the distance between the phase space points */
d = distance( dataPtr + cols * (i+j), dataPtr + cols * j );
/* check whether we have recurrence point */
if ( d < e && j < size-i) {
/* consider only RP outside the Theiler window */
if(i >= theilerCorr) ++counterL; /* counter for diagonal lines */
} else {
if (counterL > 0 && counterL < size) histL[counterL] += 2;
counterL = 0;
}
}
if (counterL > 0 && counterL <  size) { histL[counterL] += 2; counterL = 0; }
if (counterL > 0 && counterL == size) { histL[counterL] += 1; counterL = 0; }
}
``````
oangelo
Junior
Posts: 2
Joined: Fri Nov 23, 2012 04:13
Affiliation (Univ., Inst., Dept.): Universidade Federal Fluminense
Location: Brazil - Rio de Janeiro
Research field: Physics - complex systems

### Re: Identifying structures on RPs

Thanks Nobert,
now I understand, it is very simple.

Regards.