diff mayachemtools/docs/modules/txt/GraphMatrix.txt @ 0:73ae111cf86f draft

Uploaded
author deepakjadmin
date Wed, 20 Jan 2016 11:55:01 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mayachemtools/docs/modules/txt/GraphMatrix.txt	Wed Jan 20 11:55:01 2016 -0500
@@ -0,0 +1,177 @@
+NAME
+    GraphMatrix
+
+SYNOPSIS
+    use Graph::GraphMatrix;
+
+    use Graph::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 Graph::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 <msud@san.rr.com>
+
+SEE ALSO
+    Constants.pm, Graph.pm, Matrix.pm
+
+COPYRIGHT
+    Copyright (C) 2015 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.
+