Mercurial > repos > deepakjadmin > mayatool3_test3
view mayachemtools/docs/modules/txt/GraphMatrix.txt @ 9:ab29fa5c8c1f draft default tip
Uploaded
author | deepakjadmin |
---|---|
date | Thu, 15 Dec 2016 14:18:03 -0500 |
parents | 73ae111cf86f |
children |
line wrap: on
line source
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.