MayaChemTools

Previous  TOC  NextGraph::GraphMatrix.pmCode | PDF | PDFGreen | PDFA4 | PDFA4Green

NAME

GraphMatrix

SYNOPSIS

use GraphMatrix;

use GraphMatrix qw(:all);

DESCRIPTION

GraphMatrix class provides the following methods:

new, GenerateAdjacencyMatrix, GenerateAdmittanceMatrix, GenerateDegreeMatrix , GenerateDistanceMatrix, GenerateIncidenceMatrix, GenerateKirchhoffMatrix , GenerateLaplacianMatrix, GenerateNormalizedLaplacianMatrix , GenerateSiedelAdjacencyMatrix, GetColumnIDs, GetMatrix, GetMatrixType, GetRowIDs , StringifyGraphMatrix

METHODS

new
$NewGraphMatrix = new GraphMatrix($Graph);

Using specified Graph, new method creates a new GraphMatrix and returns newly created GraphMatrix.

GenerateAdjacencyMatrix
$AdjacencyGraphMatrix = $GraphMatrix->GenerateAdjacencyMatrix();

Generates a new AdjacencyGraphMatrix for specified Graph and returns AdjacencyGraphMatrix.

For a simple graph G with n vertices, the adjacency matrix for G is a n x n square matrix and its elements Mij are:

. 0 if i == j
. 1 if i != j and vertex Vi is adjacent to vertex Vj
. 0 if i != j and vertex Vi is not adjacent to vertex Vj
GenerateAdmittanceMatrix
$AdmittanceGraphMatrix = $GraphMatrix->GenerateAdmittanceMatrix();

Generates a new AdmittanceGraphMatrix for specified Graph and returns AdmittanceGraphMatrix.

AdmittanceMatrix is another name for LaplacianMatrix.

GenerateDegreeMatrix
$DegreeGraphMatrix = $GraphMatrix->GenerateDegreeMatrix();

Generates a new DegreeGraphMatrix for specified Graph and returns DegreeGraphMatrix.

For a simple graph G with n vertices, the degree matrix for G is a n x n square matrix and its elements Mij are:

. deg(Vi) if i == j and deg(Vi) is the degree of vertex Vi
. 0 otherwise
GenerateDistanceMatrix
$DistanceGraphMatrix = $GraphMatrix->GenerateDistanceMatrix();

Generates a new DistanceGraphMatrix for specified Graph using Floyd-Marshall algorithm [Ref 67] and returns DistanceGraphMatrix.

For a simple graph G with n vertices, the distance matrix for G is a n x n square matrix and its elements Mij are:

. 0 if i == j
. d if i != j and d is the shortest distance between vertex Vi and vertex Vj

In the final matrix, value of constant BigNumber defined in Constants.pm module corresponds to vertices with no edges.

GenerateIncidenceMatrix
$IncidenceGraphMatrix = $GraphMatrix->GenerateIncidenceMatrix();

Generates a new IncidenceGraphMatrix for specified Graph and returns IncidenceGraphMatrix.

For a simple graph G with n vertices and e edges, the incidence matrix for G is a n x e matrix its elements Mij are:

. 1 if vertex Vi and the edge Ej are incident; in other words, Vi and Ej are related
. 0 otherwise
GenerateKirchhoffMatrix
$KirchhoffGraphMatrix = $GraphMatrix->GenerateKirchhoffMatrix();

Generates a new KirchhoffGraphMatrix for specified Graph and returns KirchhoffGraphMatrix.

KirchhoffMatrix is another name for LaplacianMatrix.

GenerateLaplacianMatrix
$LaplacianGraphMatrix = $GraphMatrix->GenerateLaplacianMatrix();

Generates a new LaplacianGraphMatrix for specified Graph and returns LaplacianGraphMatrix.

For a simple graph G with n vertices, the Laplacian matrix for G is a n x n square matrix and its elements Mij are:

. deg(Vi) if i == j and deg(Vi) is the degree of vertex Vi
. -1 if i != j and vertex Vi is adjacent to vertex Vj
. 0 otherwise

The Laplacian matrix is the difference between the degree matrix and adjacency matrix.

GenerateNormalizedLaplacianMatrix
$NormalizedLaplacianGraphMatrix = $GraphMatrix->GenerateNormalizedLaplacianMatrix();

Generates a new NormalizedLaplacianGraphMatrix for specified Graph and returns NormalizedLaplacianGraphMatrix.

For a simple graph G with n vertices, the normalized Laplacian matrix L for G is a n x n square matrix and its elements Lij are:

. 1 if i == j and deg(Vi) != 0
. -1/SQRT(deg(Vi) * deg(Vj)) if i != j and vertex Vi is adjacent to vertex Vj
. 0 otherwise
GenerateSiedelAdjacencyMatrix
$SiedelAdjacencyGraphMatrix = $GraphMatrix->GenerateSiedelAdjacencyMatrix();

Generates a new SiedelAdjacencyGraphMatrix for specified Graph and returns SiedelAdjacencyGraphMatrix.

For a simple graph G with n vertices, the Siedal adjacency matrix for G is a n x n square matrix and its elements Mij are:

. 0 if i == j
. -1 if i != j and vertex Vi is adjacent to vertex Vj
. 1 if i != j and vertex Vi is not adjacent to vertex Vj
GetColumnIDs
@ColumnIDs = $GraphMatrix->GetColumnIDs();

Returns an array containing any specified column IDs for GraphMatrix.

GetMatrix
$Matrix = $GraphMatrix->GetMatrix();

Returns Matrix object corresponding to GraphMatrix object.

GetMatrixType
$MatrixType = $GraphMatrix->GetMatrixType();

Returns MatrixType of GraphMatrix.

GetRowIDs
@RowIDs = $GraphMatrix->GetRowIDs();

Returns an array containing any specified rowIDs IDs for GraphMatrix.

StringifyGraphMatrix
$String = $GraphMatrix->StringifyGraphMatrix();

Returns a string containing information about GraphMatrix object.

AUTHOR

Manish Sud

SEE ALSO

Constants.pmGraph.pmMatrix.pm

COPYRIGHT

Copyright (C) 2004-2012 Manish Sud. All rights reserved.

This file is part of MayaChemTools.

MayaChemTools is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

 

 

Previous  TOC  NextJanuary 1, 2012Graph::GraphMatrix.pm