# Polyrhythm as a Multi-Ordered Sequence Pattern

Let us have some sequence organized in the following way.
Let us implement (generally speaking a conditional one)
division of the sequence into compact single-connected
subgroups with the same number of elements each in the
subgroup, which actually means that we split the sequence
into a sequence of subsequences with the same number of
elements in each. Consider the internal ordering of each
subsequence from the perspective of the placement of the
values of its elements and repeatability of the some
patterns of the placement of the elements.
We assume that the elements can be compared in relation of
order, that is, they are the elements of the data type
that has an implemented instance of the class Ord.

Considering that the elements of the subsequences may be
pairwise different (or in some cases equal), we will
compare the positions on which the subgroups of elements
that have a higher degree of relatedness ("closeness",
"similarity") in value and order are located.
Denote such subgroups by indices that have in the module
code mostly a letter designation.

Then each subsequence will consist of the same number of
elements of one nature (in particular, numbers of the
type Double), in each subsequence there will be selected
several subgroups of "similar" elements in value (and
order, if the subsequences are sorted by the value),
each of which will have its own index as a symbol
(most often in the code -- the characters). Subgroups must
have (actually approximately) the same number of elements
(in the code it is not strictly used for simplification
of the former one, but it is so in the vast majority of
cases because of the excessive "accuracy" of numbers of
type Double that are used). Consider the question of
positions in the subsequences of the corresponding
subgroups in case of they have been belonging to different
subsequences.

To assess this, we introduce certain numerical functions
(see the information below)
that have regular behavior and allow us to determine
whether the subsequences actually have elements that
belong to the relevant corresponding subgroups in the
same places, or on different ones. It can be shown that
the situation "on different ones" corresponds to the
presence of several rhythmimc patterns - for each subgroup
will be their own, which do not mutually match, at the
same time the ideal situation "completely in the same places"
corresponds to the case when these rhythms are consistent
with each other, as is the case of coherence in quantum
physics, in particular spatial and temporal coherence,
which is important in particular for understanding of
lasers and masers. Polyrhythms consisting of such
rhythms, which cohere with each other, form a more
noticeable overall rhythm, as well as the presence of
coherence in the radiation leads to a more structured
latter one.

# Coherent States of Polyrhythmicity as One of the Essential Sources of Rhythmicity

The described pattern of rhythmicity is one of the
significant possible options for the formation of
rhythmicity in particular in lyrics or music, but not the
only one. It should be noted that the described mechanism
of rhythm formation, as is noticed in the statistical
experiments with texts using this code (the code of the
library and its dependent packages on the Hackage site)
may not be the only possible option, but in many cases it
is crucial and influences the course of the rhythmization
process (formation, change or disappearance of the
rhythm). It is also known that the presence of the
statistical relationship does not mean the existence of
deeper connections between phenomena, in particular --
the causality. "Correlation does not mean causality."
A deeper connection implies the presence of other than the
statistical ones to confirm it.

# Rap Music Consequences

The code of the library allows in practice to obtain
rhythmic patterns that are often close to the lyrics in
rap style. Therefore, this can be attributed to one of
the direct applications of the library.

# Increasing and Decreasing Functions

Since the 0.5.3.0 version the increasing and decreasing
functions for the polyrhythmicity evaluation have become
more similar to be more likewise the inverse one to
another. This leads to that fact that these functions
now are expected to be smoother for usage for the
beginning of the line, its middle and its ending.

Since the 0.6.0.0 version these functions became more
linearized and there is also library possibility to
specify kernels for them to control which parts
of the line are more important and which are less.

Since the 0.7.0.0 version the program tries more
completely include the information for analysis. Besides,
there are first weighted increasing and decreasing
functions and functionality respectively.

Since the 0.8.0.0 version added the weighted functions
that try to increase the importance of the line ending
and to decrease the importance of the beginnings.