The Pivot MDS (multi-dimensional scaling) layout algorithm.
More...
#include <ogdf/energybased/PivotMDS.h>
|
const static double | EPSILON |
| Convergence factor used for power iteration. More...
|
|
const static double | FACTOR |
| Factor used to center the pivot matrix. More...
|
|
const static unsigned int | SEED = 0 |
| Seed of the random number generator. More...
|
|
The Pivot MDS (multi-dimensional scaling) layout algorithm.
Definition at line 57 of file PivotMDS.h.
◆ PivotMDS()
ogdf::PivotMDS::PivotMDS |
( |
| ) |
|
|
inline |
◆ ~PivotMDS()
virtual ogdf::PivotMDS::~PivotMDS |
( |
| ) |
|
|
inlinevirtual |
◆ call()
◆ centerPivotmatrix()
void ogdf::PivotMDS::centerPivotmatrix |
( |
Array< Array< double >> & |
pivotMatrix | ) |
|
|
private |
Centers the pivot matrix.
◆ copySPSS()
void ogdf::PivotMDS::copySPSS |
( |
Array< double > & |
copyTo, |
|
|
NodeArray< double > & |
copyFrom |
|
) |
| |
|
private |
◆ doPathLayout()
Computes the layout of a path.
◆ eigenValueDecomposition()
void ogdf::PivotMDS::eigenValueDecomposition |
( |
Array< Array< double >> & |
K, |
|
|
Array< Array< double >> & |
eVecs, |
|
|
Array< double > & |
eValues |
|
) |
| |
|
private |
Computes the eigen value decomposition based on power iteration.
◆ getPivotDistanceMatrix()
Computes the pivot distance matrix based on the maxmin strategy.
◆ getRootedPath()
node ogdf::PivotMDS::getRootedPath |
( |
const Graph & |
G | ) |
|
|
private |
Checks whether the given graph is a path or not.
◆ isForcing2DLayout()
bool ogdf::PivotMDS::isForcing2DLayout |
( |
| ) |
const |
|
inline |
◆ normalize()
double ogdf::PivotMDS::normalize |
( |
Array< double > & |
x | ) |
|
|
private |
◆ pivotMDSLayout()
Computes the pivot mds layout of the given connected graph of GA
.
◆ prod()
double ogdf::PivotMDS::prod |
( |
const Array< double > & |
x, |
|
|
const Array< double > & |
y |
|
) |
| |
|
private |
Computes the product of two vectors x
and y
.
◆ randomize()
void ogdf::PivotMDS::randomize |
( |
Array< Array< double >> & |
matrix | ) |
|
|
private |
Fills the given matrix
with random doubles d 0 <= d <= 1.
◆ selfProduct()
void ogdf::PivotMDS::selfProduct |
( |
const Array< Array< double >> & |
d, |
|
|
Array< Array< double >> & |
result |
|
) |
| |
|
private |
Computes the self product of d
.
◆ setEdgeCosts()
void ogdf::PivotMDS::setEdgeCosts |
( |
double |
edgeCosts | ) |
|
|
inline |
Sets the desired distance between adjacent nodes. If the new value is smaller or equal 0 the default value (100) is used.
Definition at line 76 of file PivotMDS.h.
◆ setForcing2DLayout()
void ogdf::PivotMDS::setForcing2DLayout |
( |
bool |
forcing2DLayout | ) |
|
|
inline |
◆ setNumberOfPivots()
void ogdf::PivotMDS::setNumberOfPivots |
( |
int |
numberOfPivots | ) |
|
|
inline |
Sets the number of pivots. If the new value is smaller or equal 0 the default value (250) is used.
Definition at line 70 of file PivotMDS.h.
◆ singularValueDecomposition()
void ogdf::PivotMDS::singularValueDecomposition |
( |
Array< Array< double >> & |
K, |
|
|
Array< Array< double >> & |
eVecs, |
|
|
Array< double > & |
eVals |
|
) |
| |
|
private |
Computes the singular value decomposition of matrix K
.
◆ useEdgeCostsAttribute() [1/2]
bool ogdf::PivotMDS::useEdgeCostsAttribute |
( |
| ) |
const |
|
inline |
◆ useEdgeCostsAttribute() [2/2]
void ogdf::PivotMDS::useEdgeCostsAttribute |
( |
bool |
useEdgeCostsAttribute | ) |
|
|
inline |
◆ EPSILON
const static double ogdf::PivotMDS::EPSILON |
|
staticprivate |
Convergence factor used for power iteration.
Definition at line 103 of file PivotMDS.h.
◆ FACTOR
const static double ogdf::PivotMDS::FACTOR |
|
staticprivate |
Factor used to center the pivot matrix.
Definition at line 106 of file PivotMDS.h.
◆ m_dimensionCount
int ogdf::PivotMDS::m_dimensionCount |
|
private |
The dimension count determines the number of evecs that will be computed. Nevertheless PivotMDS only takes the first two with the highest eigenwert into account.
Definition at line 117 of file PivotMDS.h.
◆ m_edgeCosts
double ogdf::PivotMDS::m_edgeCosts |
|
private |
The costs to traverse an edge.
Definition at line 120 of file PivotMDS.h.
◆ m_forcing2DLayout
bool ogdf::PivotMDS::m_forcing2DLayout |
|
private |
◆ m_hasEdgeCostsAttribute
bool ogdf::PivotMDS::m_hasEdgeCostsAttribute |
|
private |
Tells whether the pivot mds is based on uniform edge costs or a edge costs attribute.
Definition at line 124 of file PivotMDS.h.
◆ m_numberOfPivots
int ogdf::PivotMDS::m_numberOfPivots |
|
private |
◆ SEED
const static unsigned int ogdf::PivotMDS::SEED = 0 |
|
staticprivate |
Seed of the random number generator.
Definition at line 109 of file PivotMDS.h.
The documentation for this class was generated from the following file: