NMath Reference Guide

## Ordered |

Class OrderedConnectivityMatrix reorders the rows and columns of an
connectivity matrix so that the most affiliated elements appear as clusters
of higher values along the diagonal.

Inheritance Hierarchy

SystemObject

CenterSpace.NMath.CoreDoubleSymmetricMatrix

CenterSpace.NMath.CoreConnectivityMatrix

CenterSpace.NMath.CoreOrderedConnectivityMatrix

CenterSpace.NMath.CoreDoubleSymmetricMatrix

CenterSpace.NMath.CoreConnectivityMatrix

CenterSpace.NMath.CoreOrderedConnectivityMatrix

Syntax

The OrderedConnectivityMatrix type exposes the following members.

Constructors

Name | Description | |
---|---|---|

OrderedConnectivityMatrix(ConnectivityMatrix) | Constructs an OrderedConnectivityMatrix instance using the default linkage and distance functions to perform the hierarchical cluster analysis. The default linkage function is weighted average and the default distance function is dist(i,j) = 1 - aij, where aij is the ijth entry in the connectivity matrix A. | |

OrderedConnectivityMatrix(ConnectivityMatrix, LinkageFunction) | Constructs an OrderedConnectivityMatrix instance using the specified linkage and default distance functions to perform the hierarchical cluster analysis. | |

OrderedConnectivityMatrix(ConnectivityMatrix, OrderedConnectivityMatrixElementDistance) | Constructs an OrderedConnectivityMatrix instance using the default linkage and specified distance functions to perform the hierarchical cluster analysis. | |

OrderedConnectivityMatrix(ConnectivityMatrix, OrderedConnectivityMatrixElementDistance, LinkageFunction) | Constructs an OrderedConnectivityMatrix instance using the specified linkage and distance functions to perform the hierarchical cluster analysis. |

Properties

Name | Description | |
---|---|---|

Cols |
Gets the number of columns in the matrix.
(Inherited from DoubleSymmetricMatrix) | |

CopheneticDistances | Gets the vector of cophenetic distances between all possible element pairs resulting from the hierarchical cluster analysis. | |

DataVector |
Gets the data vector referenced by this matrix.
(Inherited from DoubleSymmetricMatrix) | |

DistanceFunction | Gets and the distance function used in the hierarchical cluster analysis. | |

Distances | Gets the vector of distances between all possible object pairs, computed using the current distance delegate. | |

Item |
Gets and sets the value at the specified position. Symmetry is maintained.
(Inherited from DoubleSymmetricMatrix) | |

Labels |
Gets and sets the labels for the rows/columns of the connectivity matrix.
(Inherited from ConnectivityMatrix) | |

LinkageFunction | Gets the complete hierarchical linkage tree, computed from Distances using the current linkage delegate. | |

NumberOfLabels |
Gets the number of row/column labels.
(Inherited from ConnectivityMatrix) | |

Order |
Gets the order of the matrix.
(Inherited from DoubleSymmetricMatrix) | |

PermutationVector | Gets the permutation vector of the node labels of the leaves of the dendrogram corresponding the hierarchical cluster analysis. Labels are zero based. The permutation vector, p, is used to reorder the connectivity matrix as follows: if A is the original connectivity matrix and C is the ordered connectivity matrix then C[i,j] = A[p[i],p[j]]. | |

Rows |
Gets the number of rows in the matrix.
(Inherited from DoubleSymmetricMatrix) |

Methods

Name | Description | |
---|---|---|

Apply(FuncDoubleVector, Double) |
Returns a new vector containing an element for each column or row in
this matrix. The elements are the results of applying a function that
takes a vector and returns a single-precision number.
(Inherited from DoubleSymmetricMatrix) | |

Apply(FuncDouble, Double) |
Returns a new matrix with the same size as this matrix, whose values are
the result of applying the given unary function to each element of this matrix.
(Inherited from DoubleSymmetricMatrix) | |

Apply(FuncDouble, Double, Double, DoubleSymmetricMatrix) |
Returns a new matrix with the same size as this matrix, whose values are
the result of applying the given binary function to each element of this matrix.
The first parameter to the binary function is the matrix element; the
second parameter is the corresponding element of the passed matrix.
(Inherited from DoubleSymmetricMatrix) | |

Apply(FuncDouble, Double, Double, Double) |
Returns a new matrix with the same size as this matrix, whose values are
the result of applying the given binary function to each element of this matrix.
The first parameter to the binary function is the matrix element; the second
parameter is the passed float-precision value.
(Inherited from DoubleSymmetricMatrix) | |

Apply(FuncDouble, Int32, Double, Int32) |
Returns a new matrix with the same size as this matrix, whose values are
the result of applying the given binary function to each element of this matrix.
The first parameter to the binary function is the matrix element; the second
parameter is the passed integer value.
(Inherited from DoubleSymmetricMatrix) | |

Clone |
Constructs a deep copy of self.
(Inherited from ConnectivityMatrix) | |

CutTree | Constructs the specified number of clusters from the hierarchical linkage tree. | |

DeepenThisCopy |
Guarantees that there is only one reference to the underlying
data and that this data is in contiguous storage.
(Inherited from DoubleSymmetricMatrix) | |

Equals |
Tests for equality of this connectivity matrix and another
connectivity matrix.
Two connectivity matrices are equal if they have the same dimensions
and all values are equal.
(Inherited from ConnectivityMatrix) | |

GetHashCode |
Computes hash code.
(Inherited from ConnectivityMatrix) | |

LeadingSubmatrix |
Returns the k by k upper left corner of the matrix. The
matrix and the submatrix share the same data.
(Inherited from DoubleSymmetricMatrix) | |

Resize |
Changes the order of this matrix to that specified, adding zeros or truncating as
necessary.
(Inherited from DoubleSymmetricMatrix) | |

SetLabels |
Sets the labels to the input values filling in with default values
if there order is greater than the number of input labels.
(Inherited from ConnectivityMatrix) | |

ShallowCopy |
Creates a shallow copy of this matrix.
(Inherited from DoubleSymmetricMatrix) | |

ToCommaSeparated |
Returns a formatted string representation of this matrix using commas
and newlines.
(Inherited from DoubleSymmetricMatrix) | |

ToCommaSeparated(String) |
Returns a formatted string representation of this matrix using commas
and newlines. Numbers are formatted using the specified format string.
(Inherited from DoubleSymmetricMatrix) | |

ToGeneralMatrix |
Converts this sparse matrix to a general matrix.
(Inherited from DoubleSymmetricMatrix) | |

ToString |
Returns a formatted string representation of this matrix.
(Inherited from DoubleSymmetricMatrix) | |

ToString(String) |
Returns a formatted string representation of this matrix. Numbers are displayed
using the specified format.
(Inherited from DoubleSymmetricMatrix) | |

ToTabDelimited |
Returns a formatted string representation of this matrix using tabs
and newlines.
(Inherited from DoubleSymmetricMatrix) | |

ToTabDelimited(String) |
Returns a formatted string representation of this matrix using tabs
and newlines. Numbers are formatted using the specified format string.
(Inherited from DoubleSymmetricMatrix) | |

Transform(FuncDouble, Double) |
Modifies the elements of this matrix by applying the given unary function to
each element.
(Inherited from DoubleSymmetricMatrix) | |

Transform(FuncDouble, Double, Double, DoubleSymmetricMatrix) |
Modifies the contents of this matrix by applying the given binary function
to each element. The first parameter to the binary function is the matrix
element; the second parameter is the corresponding element of the passed matrix.
(Inherited from DoubleSymmetricMatrix) | |

Transform(FuncDouble, Double, Double, Double) |
Modifies the contents of this matrix by applying the given binary function
to each element. The first parameter to the binary function is
the matrix element; the second parameter is the passed float-precision value.
(Inherited from DoubleSymmetricMatrix) | |

Transform(FuncDouble, Int32, Double, Int32) |
Modifies the contents of this matrix by applying the given binary function
to each element. The first parameter to the binary function is
the matrix element; the second parameter is the passed integer value.
(Inherited from DoubleSymmetricMatrix) | |

Transpose |
Returns this matrix.
(Inherited from DoubleSymmetricMatrix) |

Fields

Name | Description | |
---|---|---|

labels_ |
Lables for the items being connected.
(Inherited from ConnectivityMatrix) |

Remarks

The connectivity matrix a symmetric matrix, A, of non-negative values
where aij is a measure of the connectivity of element i and j. The
values aij may be 0 and 1 with 1 indicating that elemets i and j are
adjacent and 0 indicating that they are not. They may also be floating
point numbers. For example the values aij may be real numbers between
0 and 1 and indicate the probability, or belief that elements i and j
are adjacent.

First a hierarchical cluster analysis is performed on the elements represented in the connectivity matrix. For the purpose of clustering the elements represented in the connectivity matrix are labeled 0, 1, 2,...,n-1, where n is the number of the elements. Given two integers, i and j, the provided distance function should return the distance between the ith and jth elements. If no distance function is provided the default distance function returns the value 1.0 - aij for the distance between the ith and jth elements, where aij is the i, jth element of the connectivity matrix A. After the hierarchical clustering process, the leaf nodes of the dendrogram produced from the results are traversed in order to produce a permutation vector. This permutation vector is used to reorder the rows and columns of the input connectivity matrix, causing the most affiliated elements to appear as clusters of higher values along the diagonal.

References: "Constructing and Reconstructing the Reorderable Matrix" Harri Siirtola1 and Erkki Mäkinen

"Concept Map: Clustering Visualizations of Categorical Domains" David Rouff and Mark McLean

First a hierarchical cluster analysis is performed on the elements represented in the connectivity matrix. For the purpose of clustering the elements represented in the connectivity matrix are labeled 0, 1, 2,...,n-1, where n is the number of the elements. Given two integers, i and j, the provided distance function should return the distance between the ith and jth elements. If no distance function is provided the default distance function returns the value 1.0 - aij for the distance between the ith and jth elements, where aij is the i, jth element of the connectivity matrix A. After the hierarchical clustering process, the leaf nodes of the dendrogram produced from the results are traversed in order to produce a permutation vector. This permutation vector is used to reorder the rows and columns of the input connectivity matrix, causing the most affiliated elements to appear as clusters of higher values along the diagonal.

References: "Constructing and Reconstructing the Reorderable Matrix" Harri Siirtola1 and Erkki Mäkinen

"Concept Map: Clustering Visualizations of Categorical Domains" David Rouff and Mark McLean

See Also