comparison mayachemtools/docs/modules/html/GraphMatrix.html @ 0:73ae111cf86f draft

Uploaded
author deepakjadmin
date Wed, 20 Jan 2016 11:55:01 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:73ae111cf86f
1 <html>
2 <head>
3 <title>MayaChemTools:Documentation:Graph::GraphMatrix.pm</title>
4 <meta http-equiv="content-type" content="text/html;charset=utf-8">
5 <link rel="stylesheet" type="text/css" href="../../css/MayaChemTools.css">
6 </head>
7 <body leftmargin="20" rightmargin="20" topmargin="10" bottommargin="10">
8 <br/>
9 <center>
10 <a href="http://www.mayachemtools.org" title="MayaChemTools Home"><img src="../../images/MayaChemToolsLogo.gif" border="0" alt="MayaChemTools"></a>
11 </center>
12 <br/>
13 <div class="DocNav">
14 <table width="100%" border=0 cellpadding=0 cellspacing=2>
15 <tr align="left" valign="top"><td width="33%" align="left"><a href="./CyclesDetection.html" title="CyclesDetection.html">Previous</a>&nbsp;&nbsp;<a href="./index.html" title="Table of Contents">TOC</a>&nbsp;&nbsp;<a href="./Path.html" title="Path.html">Next</a></td><td width="34%" align="middle"><strong>Graph::GraphMatrix.pm</strong></td><td width="33%" align="right"><a href="././code/GraphMatrix.html" title="View source code">Code</a>&nbsp;|&nbsp;<a href="./../pdf/GraphMatrix.pdf" title="PDF US Letter Size">PDF</a>&nbsp;|&nbsp;<a href="./../pdfgreen/GraphMatrix.pdf" title="PDF US Letter Size with narrow margins: www.changethemargins.com">PDFGreen</a>&nbsp;|&nbsp;<a href="./../pdfa4/GraphMatrix.pdf" title="PDF A4 Size">PDFA4</a>&nbsp;|&nbsp;<a href="./../pdfa4green/GraphMatrix.pdf" title="PDF A4 Size with narrow margins: www.changethemargins.com">PDFA4Green</a></td></tr>
16 </table>
17 </div>
18 <p>
19 </p>
20 <h2>NAME</h2>
21 <p>GraphMatrix</p>
22 <p>
23 </p>
24 <h2>SYNOPSIS</h2>
25 <p>use Graph::GraphMatrix;</p>
26 <p>use Graph::GraphMatrix qw(:all);</p>
27 <p>
28 </p>
29 <h2>DESCRIPTION</h2>
30 <p><strong>GraphMatrix</strong> class provides the following methods:</p>
31 <p> <a href="#new">new</a>, <a href="#generateadjacencymatrix">GenerateAdjacencyMatrix</a>, <a href="#generateadmittancematrix">GenerateAdmittanceMatrix</a>, <a href="#generatedegreematrix">GenerateDegreeMatrix</a>
32 , <a href="#generatedistancematrix">GenerateDistanceMatrix</a>, <a href="#generateincidencematrix">GenerateIncidenceMatrix</a>, <a href="#generatekirchhoffmatrix">GenerateKirchhoffMatrix</a>
33 , <a href="#generatelaplacianmatrix">GenerateLaplacianMatrix</a>, <a href="#generatenormalizedlaplacianmatrix">GenerateNormalizedLaplacianMatrix</a>
34 , <a href="#generatesiedeladjacencymatrix">GenerateSiedelAdjacencyMatrix</a>, <a href="#getcolumnids">GetColumnIDs</a>, <a href="#getmatrix">GetMatrix</a>, <a href="#getmatrixtype">GetMatrixType</a>, <a href="#getrowids">GetRowIDs</a>
35 , <a href="#stringifygraphmatrix">StringifyGraphMatrix</a>
36 </p><p>
37 </p>
38 <h2>METHODS</h2>
39 <dl>
40 <dt><strong><a name="new" class="item"><strong>new</strong></a></strong></dt>
41 <dd>
42 <div class="OptionsBox">
43 $NewGraphMatrix = new Graph::GraphMatrix($Graph);</div>
44 <p>Using specified <em>Graph</em>, <strong>new</strong> method creates a new <strong>GraphMatrix</strong> and returns
45 newly created <strong>GraphMatrix</strong>.</p>
46 </dd>
47 <dt><strong><a name="generateadjacencymatrix" class="item"><strong>GenerateAdjacencyMatrix</strong></a></strong></dt>
48 <dd>
49 <div class="OptionsBox">
50 $AdjacencyGraphMatrix = $GraphMatrix-&gt;GenerateAdjacencyMatrix();</div>
51 <p>Generates a new <em>AdjacencyGraphMatrix</em> for specified <strong>Graph</strong> and returns
52 <em>AdjacencyGraphMatrix</em>.</p>
53 <p>For a simple graph G with n vertices, the adjacency matrix for G is a n x n square matrix and
54 its elements Mij are:</p>
55 <div class="OptionsBox">
56 . 0 if i == j
57 <br/> . 1 if i != j and vertex Vi is adjacent to vertex Vj
58 <br/> . 0 if i != j and vertex Vi is not adjacent to vertex Vj</div>
59 </dd>
60 <dt><strong><a name="generateadmittancematrix" class="item"><strong>GenerateAdmittanceMatrix</strong></a></strong></dt>
61 <dd>
62 <div class="OptionsBox">
63 $AdmittanceGraphMatrix = $GraphMatrix-&gt;GenerateAdmittanceMatrix();</div>
64 <p>Generates a new <em>AdmittanceGraphMatrix</em> for specified <strong>Graph</strong> and returns
65 <em>AdmittanceGraphMatrix</em>.</p>
66 <p><strong>AdmittanceMatrix</strong> is another name for <strong>LaplacianMatrix</strong>.</p>
67 </dd>
68 <dt><strong><a name="generatedegreematrix" class="item"><strong>GenerateDegreeMatrix</strong></a></strong></dt>
69 <dd>
70 <div class="OptionsBox">
71 $DegreeGraphMatrix = $GraphMatrix-&gt;GenerateDegreeMatrix();</div>
72 <p>Generates a new <em>DegreeGraphMatrix</em> for specified <strong>Graph</strong> and returns
73 <em>DegreeGraphMatrix</em>.</p>
74 <p>For a simple graph G with n vertices, the degree matrix for G is a n x n square matrix and
75 its elements Mij are:</p>
76 <div class="OptionsBox">
77 . deg(Vi) if i == j and deg(Vi) is the degree of vertex Vi
78 <br/> . 0 otherwise</div>
79 </dd>
80 <dt><strong><a name="generatedistancematrix" class="item"><strong>GenerateDistanceMatrix</strong></a></strong></dt>
81 <dd>
82 <div class="OptionsBox">
83 $DistanceGraphMatrix = $GraphMatrix-&gt;GenerateDistanceMatrix();</div>
84 <p>Generates a new <em>DistanceGraphMatrix</em> for specified <strong>Graph</strong> using Floyd-Marshall
85 algorithm [Ref 67] and returns <em>DistanceGraphMatrix</em>.</p>
86 <p>For a simple graph G with n vertices, the distance matrix for G is a n x n square matrix and
87 its elements Mij are:</p>
88 <div class="OptionsBox">
89 . 0 if i == j
90 <br/> . d if i != j and d is the shortest distance between vertex Vi and vertex Vj</div>
91 <p>In the final matrix, value of constant <strong>BigNumber</strong> defined in <strong>Constants.pm</strong> module
92 corresponds to vertices with no edges.</p>
93 </dd>
94 <dt><strong><a name="generateincidencematrix" class="item"><strong>GenerateIncidenceMatrix</strong></a></strong></dt>
95 <dd>
96 <div class="OptionsBox">
97 $IncidenceGraphMatrix = $GraphMatrix-&gt;GenerateIncidenceMatrix();</div>
98 <p>Generates a new <em>IncidenceGraphMatrix</em> for specified <strong>Graph</strong> and returns
99 <em>IncidenceGraphMatrix</em>.</p>
100 <p>For a simple graph G with n vertices and e edges, the incidence matrix for G is a n x e matrix
101 its elements Mij are:</p>
102 <div class="OptionsBox">
103 . 1 if vertex Vi and the edge Ej are incident; in other words, Vi and Ej are related
104 <br/> . 0 otherwise</div>
105 </dd>
106 <dt><strong><a name="generatekirchhoffmatrix" class="item"><strong>GenerateKirchhoffMatrix</strong></a></strong></dt>
107 <dd>
108 <div class="OptionsBox">
109 $KirchhoffGraphMatrix = $GraphMatrix-&gt;GenerateKirchhoffMatrix();</div>
110 <p>Generates a new <em>KirchhoffGraphMatrix</em> for specified <strong>Graph</strong> and returns
111 <em>KirchhoffGraphMatrix</em>.</p>
112 <p><strong>KirchhoffMatrix</strong> is another name for <strong>LaplacianMatrix</strong>.</p>
113 </dd>
114 <dt><strong><a name="generatelaplacianmatrix" class="item"><strong>GenerateLaplacianMatrix</strong></a></strong></dt>
115 <dd>
116 <div class="OptionsBox">
117 $LaplacianGraphMatrix = $GraphMatrix-&gt;GenerateLaplacianMatrix();</div>
118 <p>Generates a new <em>LaplacianGraphMatrix</em> for specified <strong>Graph</strong> and returns
119 <em>LaplacianGraphMatrix</em>.</p>
120 <p>For a simple graph G with n vertices, the Laplacian matrix for G is a n x n square matrix and
121 its elements Mij are:</p>
122 <div class="OptionsBox">
123 . deg(Vi) if i == j and deg(Vi) is the degree of vertex Vi
124 <br/> . -1 if i != j and vertex Vi is adjacent to vertex Vj
125 <br/> . 0 otherwise</div>
126 <p>The Laplacian matrix is the difference between the degree matrix and adjacency matrix.</p>
127 </dd>
128 <dt><strong><a name="generatenormalizedlaplacianmatrix" class="item"><strong>GenerateNormalizedLaplacianMatrix</strong></a></strong></dt>
129 <dd>
130 <div class="OptionsBox">
131 $NormalizedLaplacianGraphMatrix = $GraphMatrix-&gt;GenerateNormalizedLaplacianMatrix();</div>
132 <p>Generates a new <em>NormalizedLaplacianGraphMatrix</em> for specified <strong>Graph</strong> and returns
133 <em>NormalizedLaplacianGraphMatrix</em>.</p>
134 <p>For a simple graph G with n vertices, the normalized Laplacian matrix L for G is a n x n square
135 matrix and its elements Lij are:</p>
136 <div class="OptionsBox">
137 . 1 if i == j and deg(Vi) != 0
138 <br/> . -1/SQRT(deg(Vi) * deg(Vj)) if i != j and vertex Vi is adjacent to vertex Vj
139 <br/> . 0 otherwise</div>
140 </dd>
141 <dt><strong><a name="generatesiedeladjacencymatrix" class="item"><strong>GenerateSiedelAdjacencyMatrix</strong></a></strong></dt>
142 <dd>
143 <div class="OptionsBox">
144 $SiedelAdjacencyGraphMatrix = $GraphMatrix-&gt;GenerateSiedelAdjacencyMatrix();</div>
145 <p>Generates a new <em>SiedelAdjacencyGraphMatrix</em> for specified <strong>Graph</strong> and returns
146 <em>SiedelAdjacencyGraphMatrix</em>.</p>
147 <p>For a simple graph G with n vertices, the Siedal adjacency matrix for G is a n x n square matrix and
148 its elements Mij are:</p>
149 <div class="OptionsBox">
150 . 0 if i == j
151 <br/> . -1 if i != j and vertex Vi is adjacent to vertex Vj
152 <br/> . 1 if i != j and vertex Vi is not adjacent to vertex Vj</div>
153 </dd>
154 <dt><strong><a name="getcolumnids" class="item"><strong>GetColumnIDs</strong></a></strong></dt>
155 <dd>
156 <div class="OptionsBox">
157 @ColumnIDs = $GraphMatrix-&gt;GetColumnIDs();</div>
158 <p>Returns an array containing any specified column IDs for <em>GraphMatrix</em>.</p>
159 </dd>
160 <dt><strong><a name="getmatrix" class="item"><strong>GetMatrix</strong></a></strong></dt>
161 <dd>
162 <div class="OptionsBox">
163 $Matrix = $GraphMatrix-&gt;GetMatrix();</div>
164 <p>Returns <em>Matrix</em> object corresponding to <em>GraphMatrix</em> object.</p>
165 </dd>
166 <dt><strong><a name="getmatrixtype" class="item"><strong>GetMatrixType</strong></a></strong></dt>
167 <dd>
168 <div class="OptionsBox">
169 $MatrixType = $GraphMatrix-&gt;GetMatrixType();</div>
170 <p>Returns <strong>MatrixType</strong> of <em>GraphMatrix</em>.</p>
171 </dd>
172 <dt><strong><a name="getrowids" class="item"><strong>GetRowIDs</strong></a></strong></dt>
173 <dd>
174 <div class="OptionsBox">
175 @RowIDs = $GraphMatrix-&gt;GetRowIDs();</div>
176 <p>Returns an array containing any specified rowIDs IDs for <em>GraphMatrix</em>.</p>
177 </dd>
178 <dt><strong><a name="stringifygraphmatrix" class="item"><strong>StringifyGraphMatrix</strong></a></strong></dt>
179 <dd>
180 <div class="OptionsBox">
181 $String = $GraphMatrix-&gt;StringifyGraphMatrix();</div>
182 <p>Returns a string containing information about <em>GraphMatrix</em> object.</p>
183 </dd>
184 </dl>
185 <p>
186 </p>
187 <h2>AUTHOR</h2>
188 <p><a href="mailto:msud@san.rr.com">Manish Sud</a></p>
189 <p>
190 </p>
191 <h2>SEE ALSO</h2>
192 <p><a href="./Constants.html">Constants.pm</a>,&nbsp<a href="./Graph.html">Graph.pm</a>,&nbsp<a href="./Matrix.html">Matrix.pm</a>
193 </p>
194 <p>
195 </p>
196 <h2>COPYRIGHT</h2>
197 <p>Copyright (C) 2015 Manish Sud. All rights reserved.</p>
198 <p>This file is part of MayaChemTools.</p>
199 <p>MayaChemTools is free software; you can redistribute it and/or modify it under
200 the terms of the GNU Lesser General Public License as published by the Free
201 Software Foundation; either version 3 of the License, or (at your option)
202 any later version.</p>
203 <p>&nbsp</p><p>&nbsp</p><div class="DocNav">
204 <table width="100%" border=0 cellpadding=0 cellspacing=2>
205 <tr align="left" valign="top"><td width="33%" align="left"><a href="./CyclesDetection.html" title="CyclesDetection.html">Previous</a>&nbsp;&nbsp;<a href="./index.html" title="Table of Contents">TOC</a>&nbsp;&nbsp;<a href="./Path.html" title="Path.html">Next</a></td><td width="34%" align="middle"><strong>March 29, 2015</strong></td><td width="33%" align="right"><strong>Graph::GraphMatrix.pm</strong></td></tr>
206 </table>
207 </div>
208 <br />
209 <center>
210 <img src="../../images/h2o2.png">
211 </center>
212 </body>
213 </html>