comparison mayachemtools/docs/modules/html/Graph.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.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="./PathsTraversal.html" title="PathsTraversal.html">Previous</a>&nbsp;&nbsp;<a href="./index.html" title="Table of Contents">TOC</a>&nbsp;&nbsp;<a href="./HTMLUtil.html" title="HTMLUtil.html">Next</a></td><td width="34%" align="middle"><strong>Graph.pm</strong></td><td width="33%" align="right"><a href="././code/Graph.html" title="View source code">Code</a>&nbsp;|&nbsp;<a href="./../pdf/Graph.pdf" title="PDF US Letter Size">PDF</a>&nbsp;|&nbsp;<a href="./../pdfgreen/Graph.pdf" title="PDF US Letter Size with narrow margins: www.changethemargins.com">PDFGreen</a>&nbsp;|&nbsp;<a href="./../pdfa4/Graph.pdf" title="PDF A4 Size">PDFA4</a>&nbsp;|&nbsp;<a href="./../pdfa4green/Graph.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>Graph</p>
22 <p>
23 </p>
24 <h2>SYNOPSIS</h2>
25 <p>use Graph;</p>
26 <p>use Graph qw(:all);</p>
27 <p>
28 </p>
29 <h2>DESCRIPTION</h2>
30 <p><strong>Graph</strong> class provides the following methods:</p>
31 <p> <a href="#new">new</a>, <a href="#addcycle">AddCycle</a>, <a href="#addedge">AddEdge</a>, <a href="#addedges">AddEdges</a>, <a href="#addpath">AddPath</a>, <a href="#addvertex">AddVertex</a>, <a href="#addvertices">AddVertices</a>, <a href="#clearcycles">ClearCycles</a>
32 , <a href="#copy">Copy</a>, <a href="#copyedgesproperties">CopyEdgesProperties</a>, <a href="#copyverticesandedges">CopyVerticesAndEdges</a>, <a href="#copyverticesproperties">CopyVerticesProperties</a>
33 , <a href="#deletecycle">DeleteCycle</a>, <a href="#deleteedge">DeleteEdge</a>, <a href="#deleteedgeproperties">DeleteEdgeProperties</a>, <a href="#deleteedgeproperty">DeleteEdgeProperty</a>, <a href="#deleteedges">DeleteEdges</a>
34 , <a href="#deleteedgesproperties">DeleteEdgesProperties</a>, <a href="#deleteedgesproperty">DeleteEdgesProperty</a>, <a href="#deletegraphproperties">DeleteGraphProperties</a>
35 , <a href="#deletegraphproperty">DeleteGraphProperty</a>, <a href="#deletepath">DeletePath</a>, <a href="#deletevertex">DeleteVertex</a>, <a href="#deletevertexproperties">DeleteVertexProperties</a>
36 , <a href="#deletevertexproperty">DeleteVertexProperty</a>, <a href="#deletevertices">DeleteVertices</a>, <a href="#deleteverticesproperty">DeleteVerticesProperty</a>, <a href="#detectcycles">DetectCycles</a>
37 , <a href="#getadjacencymatrix">GetAdjacencyMatrix</a>, <a href="#getadmittancematrix">GetAdmittanceMatrix</a>, <a href="#getallpaths">GetAllPaths</a>, <a href="#getallpathsstartingat">GetAllPathsStartingAt</a>
38 , <a href="#getallpathsstartingatwithlength">GetAllPathsStartingAtWithLength</a>, <a href="#getallpathsstartingatwithlengthupto">GetAllPathsStartingAtWithLengthUpto</a>
39 , <a href="#getallpathswithlength">GetAllPathsWithLength</a>, <a href="#getallpathswithlengthupto">GetAllPathsWithLengthUpto</a>, <a href="#getcircumference">GetCircumference</a>
40 , <a href="#getconnectedcomponentsvertices">GetConnectedComponentsVertices</a>, <a href="#getcycles">GetCycles</a>, <a href="#getcycleswithevensize">GetCyclesWithEvenSize</a>
41 , <a href="#getcycleswithoddsize">GetCyclesWithOddSize</a>, <a href="#getcycleswithsize">GetCyclesWithSize</a>, <a href="#getcycleswithsizegreaterthan">GetCyclesWithSizeGreaterThan</a>
42 , <a href="#getcycleswithsizelessthan">GetCyclesWithSizeLessThan</a>, <a href="#getdegree">GetDegree</a>, <a href="#getdegreematrix">GetDegreeMatrix</a>, <a href="#getdistancematrix">GetDistanceMatrix</a>
43 , <a href="#getedgecycles">GetEdgeCycles</a>, <a href="#getedgecycleswithevensize">GetEdgeCyclesWithEvenSize</a>, <a href="#getedgecycleswithoddsize">GetEdgeCyclesWithOddSize</a>
44 , <a href="#getedgecycleswithsize">GetEdgeCyclesWithSize</a>, <a href="#getedgecycleswithsizegreaterthan">GetEdgeCyclesWithSizeGreaterThan</a>
45 , <a href="#getedgecycleswithsizelessthan">GetEdgeCyclesWithSizeLessThan</a>, <a href="#getedgeproperties">GetEdgeProperties</a>, <a href="#getedgeproperty">GetEdgeProperty</a>, <a href="#getedges">GetEdges</a>
46 , <a href="#getedgesproperty">GetEdgesProperty</a>, <a href="#getfusedandnonfusedcycles">GetFusedAndNonFusedCycles</a>, <a href="#getgirth">GetGirth</a>, <a href="#getgraphproperties">GetGraphProperties</a>
47 , <a href="#getgraphproperty">GetGraphProperty</a>, <a href="#getincidencematrix">GetIncidenceMatrix</a>, <a href="#getisolatedvertices">GetIsolatedVertices</a>, <a href="#getkirchhoffmatrix">GetKirchhoffMatrix</a>
48 , <a href="#getlaplacianmatrix">GetLaplacianMatrix</a>, <a href="#getlargestcycle">GetLargestCycle</a>, <a href="#getlargestedgecycle">GetLargestEdgeCycle</a>, <a href="#getlargestvertexcycle">GetLargestVertexCycle</a>
49 , <a href="#getleafvertices">GetLeafVertices</a>, <a href="#getmaximumdegree">GetMaximumDegree</a>, <a href="#getmininumdegree">GetMininumDegree</a>, <a href="#getneighborhoodvertices">GetNeighborhoodVertices</a>
50 , <a href="#getneighborhoodverticeswithradiusupto">GetNeighborhoodVerticesWithRadiusUpto</a>, <a href="#getneighborhoodverticeswithsuccessors">GetNeighborhoodVerticesWithSuccessors</a>
51 , <a href="#getneighborhoodverticeswithsuccessorsandradiusupto">GetNeighborhoodVerticesWithSuccessorsAndRadiusUpto</a>, <a href="#getneighbors">GetNeighbors</a>
52 , <a href="#getnormalizedlaplacianmatrix">GetNormalizedLaplacianMatrix</a>, <a href="#getnumofcycles">GetNumOfCycles</a>, <a href="#getnumofcycleswithevensize">GetNumOfCyclesWithEvenSize</a>
53 , <a href="#getnumofcycleswithoddsize">GetNumOfCyclesWithOddSize</a>, <a href="#getnumofcycleswithsize">GetNumOfCyclesWithSize</a>
54 , <a href="#getnumofcycleswithsizegreaterthan">GetNumOfCyclesWithSizeGreaterThan</a>, <a href="#getnumofcycleswithsizelessthan">GetNumOfCyclesWithSizeLessThan</a>
55 , <a href="#getnumofedgecycles">GetNumOfEdgeCycles</a>, <a href="#getnumofedgecycleswithevensize">GetNumOfEdgeCyclesWithEvenSize</a>, <a href="#getnumofedgecycleswithoddsize">GetNumOfEdgeCyclesWithOddSize</a>
56 , <a href="#getnumofedgecycleswithsize">GetNumOfEdgeCyclesWithSize</a>, <a href="#getnumofedgecycleswithsizegreaterthan">GetNumOfEdgeCyclesWithSizeGreaterThan</a>
57 , <a href="#getnumofedgecycleswithsizelessthan">GetNumOfEdgeCyclesWithSizeLessThan</a>, <a href="#getnumofvertexcycles">GetNumOfVertexCycles</a>
58 , <a href="#getnumofvertexcycleswithevensize">GetNumOfVertexCyclesWithEvenSize</a>, <a href="#getnumofvertexcycleswithoddsize">GetNumOfVertexCyclesWithOddSize</a>
59 , <a href="#getnumofvertexcycleswithsize">GetNumOfVertexCyclesWithSize</a>, <a href="#getnumofvertexcycleswithsizegreaterthan">GetNumOfVertexCyclesWithSizeGreaterThan</a>
60 , <a href="#getnumofvertexcycleswithsizelessthan">GetNumOfVertexCyclesWithSizeLessThan</a>, <a href="#getpaths">GetPaths</a>, <a href="#getpathsbetween">GetPathsBetween</a>
61 , <a href="#getpathsstartingat">GetPathsStartingAt</a>, <a href="#getpathsstartingatwithlength">GetPathsStartingAtWithLength</a>
62 , <a href="#getpathsstartingatwithlengthupto">GetPathsStartingAtWithLengthUpto</a>, <a href="#getpathswithlength">GetPathsWithLength</a>, <a href="#getpathswithlengthupto">GetPathsWithLengthUpto</a>
63 , <a href="#getsiedeladjacencymatrix">GetSiedelAdjacencyMatrix</a>, <a href="#getsizeoflargestcycle">GetSizeOfLargestCycle</a>, <a href="#getsizeoflargestedgecycle">GetSizeOfLargestEdgeCycle</a>
64 , <a href="#getsizeoflargestvertexcycle">GetSizeOfLargestVertexCycle</a>, <a href="#getsizeofsmallestcycle">GetSizeOfSmallestCycle</a>, <a href="#getsizeofsmallestedgecycle">GetSizeOfSmallestEdgeCycle</a>
65 , <a href="#getsizeofsmallestvertexcycle">GetSizeOfSmallestVertexCycle</a>, <a href="#getsmallestcycle">GetSmallestCycle</a>, <a href="#getsmallestedgecycle">GetSmallestEdgeCycle</a>
66 , <a href="#getsmallestvertexcycle">GetSmallestVertexCycle</a>, <a href="#gettopologicallysortedvertices">GetTopologicallySortedVertices</a>, <a href="#getvertex">GetVertex</a>
67 , <a href="#getvertexcycles">GetVertexCycles</a>, <a href="#getvertexcycleswithevensize">GetVertexCyclesWithEvenSize</a>, <a href="#getvertexcycleswithoddsize">GetVertexCyclesWithOddSize</a>
68 , <a href="#getvertexcycleswithsize">GetVertexCyclesWithSize</a>, <a href="#getvertexcycleswithsizegreaterthan">GetVertexCyclesWithSizeGreaterThan</a>
69 , <a href="#getvertexcycleswithsizelessthan">GetVertexCyclesWithSizeLessThan</a>, <a href="#getvertexproperties">GetVertexProperties</a>, <a href="#getvertexproperty">GetVertexProperty</a>
70 , <a href="#getvertexwithlargestdegree">GetVertexWithLargestDegree</a>, <a href="#getvertexwithsmallestdegree">GetVertexWithSmallestDegree</a>, <a href="#getvertices">GetVertices</a>
71 , <a href="#getverticesproperty">GetVerticesProperty</a>, <a href="#getverticeswithdegreelessthan">GetVerticesWithDegreeLessThan</a>, <a href="#hascycle">HasCycle</a>, <a href="#hasedge">HasEdge</a>
72 , <a href="#hasedgeproperty">HasEdgeProperty</a>, <a href="#hasedges">HasEdges</a>, <a href="#hasfusedcycles">HasFusedCycles</a>, <a href="#hasgraphproperty">HasGraphProperty</a>, <a href="#haspath">HasPath</a>, <a href="#hasvertex">HasVertex</a>
73 , <a href="#hasvertexproperty">HasVertexProperty</a>, <a href="#hasvertices">HasVertices</a>, <a href="#isacyclic">IsAcyclic</a>, <a href="#isacyclicedge">IsAcyclicEdge</a>, <a href="#isacyclicvertex">IsAcyclicVertex</a>
74 , <a href="#iscyclic">IsCyclic</a>, <a href="#iscyclicedge">IsCyclicEdge</a>, <a href="#iscyclicvertex">IsCyclicVertex</a>, <a href="#isgraph">IsGraph</a>, <a href="#isisolatedvertex">IsIsolatedVertex</a>, <a href="#isleafvertex">IsLeafVertex</a>
75 , <a href="#isunicyclic">IsUnicyclic</a>, <a href="#isunicyclicedge">IsUnicyclicEdge</a>, <a href="#isunicyclicvertex">IsUnicyclicVertex</a>, <a href="#setactivecyclicpaths">SetActiveCyclicPaths</a>
76 , <a href="#setedgeproperties">SetEdgeProperties</a>, <a href="#setedgeproperty">SetEdgeProperty</a>, <a href="#setedgesproperty">SetEdgesProperty</a>, <a href="#setgraphproperties">SetGraphProperties</a>
77 , <a href="#setgraphproperty">SetGraphProperty</a>, <a href="#setvertexproperties">SetVertexProperties</a>, <a href="#setvertexproperty">SetVertexProperty</a>, <a href="#setverticesproperty">SetVerticesProperty</a>
78 , <a href="#stringifyedgesproperties">StringifyEdgesProperties</a>, <a href="#stringifygraph">StringifyGraph</a>, <a href="#stringifygraphproperties">StringifyGraphProperties</a>
79 , <a href="#stringifyproperties">StringifyProperties</a>, <a href="#stringifyverticesandedges">StringifyVerticesAndEdges</a>, <a href="#stringifyverticesproperties">StringifyVerticesProperties</a>
80 , <a href="#updateedgeproperty">UpdateEdgeProperty</a>, <a href="#updatevertexproperty">UpdateVertexProperty</a>
81 </p><p>
82 </p>
83 <h2>METHODS</h2>
84 <dl>
85 <dt><strong><a name="new" class="item"><strong>new</strong></a></strong></dt>
86 <dd>
87 <div class="OptionsBox">
88 $NewGraph = new Graph([@VertexIDs]);</div>
89 <p>Using specified <em>Graph</em> <em>VertexIDs</em>, <strong>new</strong> method creates a new <strong>Graph</strong> object and returns
90 newly created <strong>Graph</strong> object.</p>
91 <p>Examples:</p>
92 <div class="OptionsBox">
93 $Graph = new Graph();
94 <br/> $Graph = new Graph(@VertexIDs);</div>
95 </dd>
96 <dt><strong><a name="addcycle" class="item"><strong>AddCycle</strong></a></strong></dt>
97 <dd>
98 <div class="OptionsBox">
99 $Graph-&gt;AddCycle(@VertexIDs);</div>
100 <p>Adds edges between successive pair of <em>VertexIDs</em> including an additional edge from the last
101 to first vertex ID to complete the cycle to <em>Graph</em> and returns <em>Graph</em>.</p>
102 </dd>
103 <dt><strong><a name="addedge" class="item"><strong>AddEdge</strong></a></strong></dt>
104 <dd>
105 <div class="OptionsBox">
106 $Graph-&gt;AddEdge($VertexID1, $VertexID2);</div>
107 <p>Adds an edge between <em>VertexID1</em> and <em>VertexID2</em> in a <em>Graph</em> and returns <em>Graph</em>.</p>
108 </dd>
109 <dt><strong><a name="addedges" class="item"><strong>AddEdges</strong></a></strong></dt>
110 <dd>
111 <div class="OptionsBox">
112 $Graph-&gt;AddEdges(@VertexIDs);</div>
113 <p>Adds edges between successive pair of <em>VertexIDs</em> in a <em>Graph</em> and returns <em>Graph</em>.</p>
114 </dd>
115 <dt><strong><a name="addpath" class="item"><strong>AddPath</strong></a></strong></dt>
116 <dd>
117 <div class="OptionsBox">
118 $Graph-&gt;AddPath(@VertexIDs);</div>
119 <p>Adds edges between successive pair of <em>VertexIDs</em> in a <em>Graph</em> and returns <em>Graph</em>.</p>
120 </dd>
121 <dt><strong><a name="addvertex" class="item"><strong>AddVertex</strong></a></strong></dt>
122 <dd>
123 <div class="OptionsBox">
124 $Graph-&gt;AddVertex($VertexID);</div>
125 <p>Adds <em>VertexID</em> to <em>Graph</em> and returns <em>Graph</em>.</p>
126 </dd>
127 <dt><strong><a name="addvertices" class="item"><strong>AddVertices</strong></a></strong></dt>
128 <dd>
129 <div class="OptionsBox">
130 $Graph-&gt;AddVertices(@VertexIDs);</div>
131 <p>Adds vertices using <em>VertexIDs</em> to <em>Graph</em> and returns <em>Graph</em>.</p>
132 </dd>
133 <dt><strong><a name="clearcycles" class="item"><strong>ClearCycles</strong></a></strong></dt>
134 <dd>
135 <div class="OptionsBox">
136 $Graph-&gt;ClearCycles();</div>
137 <p>Delete all cycle properties assigned to graph, vertices, and edges by <em>DetectCycles</em> method.</p>
138 </dd>
139 <dt><strong><a name="copy" class="item"><strong>Copy</strong></a></strong></dt>
140 <dd>
141 <div class="OptionsBox">
142 $NewGraph = $Graph-&gt;Copy();</div>
143 <p>Copies <em>Graph</em> and its associated data using <strong>Storable::dclone</strong> and returns a new
144 <strong>Graph</strong> object.</p>
145 </dd>
146 <dt><strong><a name="copyedgesproperties" class="item"><strong>CopyEdgesProperties</strong></a></strong></dt>
147 <dd>
148 <div class="OptionsBox">
149 $OtherGraph = $Graph-&gt;CopyEdgesProperties($OtherGraph);</div>
150 <p>Copies all properties associated with edges from <em>Graph</em> to <em>$OtherGraph</em> and
151 returns <em>OtherGraph</em>.</p>
152 </dd>
153 <dt><strong><a name="copyverticesandedges" class="item"><strong>CopyVerticesAndEdges</strong></a></strong></dt>
154 <dd>
155 <div class="OptionsBox">
156 $OtherGraph = $Graph-&gt;CopyVerticesAndEdges($OtherGraph);</div>
157 <p>Copies all vertices and edges from <em>Graph</em> to <em>$OtherGraph</em> and returns <em>OtherGraph</em>.</p>
158 </dd>
159 <dt><strong><a name="copyverticesproperties" class="item"><strong>CopyVerticesProperties</strong></a></strong></dt>
160 <dd>
161 <div class="OptionsBox">
162 $OtherGraph = $Graph-&gt;CopyVerticesProperties($OtherGraph);</div>
163 <p>Copies all properties associated with vertices from <em>Graph</em> to <em>$OtherGraph</em> and
164 returns <em>OtherGraph</em>.</p>
165 </dd>
166 <dt><strong><a name="deletecycle" class="item"><strong>DeleteCycle</strong></a></strong></dt>
167 <dd>
168 <div class="OptionsBox">
169 $Graph-&gt;DeleteCycle(@VertexIDs);</div>
170 <p>Deletes edges between successive pair of <em>VertexIDs</em> including an additional edge from the last
171 to first vertex ID to complete the cycle to <em>Graph</em> and returns <em>Graph</em>.</p>
172 </dd>
173 <dt><strong><a name="deleteedge" class="item"><strong>DeleteEdge</strong></a></strong></dt>
174 <dd>
175 <div class="OptionsBox">
176 $Graph-&gt;DeleteEdge($VertexID1, $VertexID2);</div>
177 <p>Deletes an edge between <em>VertexID1</em> and <em>VertexID2</em> in a <em>Graph</em> and returns <em>Graph</em>.</p>
178 </dd>
179 <dt><strong><a name="deleteedgeproperties" class="item"><strong>DeleteEdgeProperties</strong></a></strong></dt>
180 <dd>
181 <div class="OptionsBox">
182 $Graph-&gt;DeleteEdgeProperties($VertexID1, $VertexID2);</div>
183 <p>Deletes all properties associated with edge between <em>VertexID1</em> and <em>VertexID2</em> in a <em>Graph</em>
184 and returns <em>Graph</em>.</p>
185 </dd>
186 <dt><strong><a name="deleteedgeproperty" class="item"><strong>DeleteEdgeProperty</strong></a></strong></dt>
187 <dd>
188 <div class="OptionsBox">
189 $Graph-&gt;DeleteEdgeProperty($PropertyName, $VertexID1, $VertexID2);</div>
190 <p>Deletes <em>PropertyName</em> associated with edge between <em>VertexID1</em> and <em>VertexID2</em> in a <em>Graph</em>
191 and returns <em>Graph</em>.</p>
192 </dd>
193 <dt><strong><a name="deleteedges" class="item"><strong>DeleteEdges</strong></a></strong></dt>
194 <dd>
195 <div class="OptionsBox">
196 $Graph-&gt;DeleteEdges(@VertexIDs);</div>
197 <p>Deletes edges between successive pair of <em>VertexIDs</em> and returns <em>Graph</em>.</p>
198 </dd>
199 <dt><strong><a name="deleteedgesproperties" class="item"><strong>DeleteEdgesProperties</strong></a></strong></dt>
200 <dd>
201 <div class="OptionsBox">
202 $Graph-&gt;DeleteEdgesProperties(@VertexIDs);</div>
203 <p>Deletes all properties associated with edges between successive pair of <em>VertexIDs</em> and
204 returns <em>Graph</em>.</p>
205 </dd>
206 <dt><strong><a name="deleteedgesproperty" class="item"><strong>DeleteEdgesProperty</strong></a></strong></dt>
207 <dd>
208 <div class="OptionsBox">
209 $Graph-&gt;DeleteEdgesProperty($PropertyName, @VertexIDs);</div>
210 <p>Deletes <em>PropertyName</em> associated with edges between successive pair of <em>VertexIDs</em>
211 and returns <em>Graph</em>.</p>
212 </dd>
213 <dt><strong><a name="deletegraphproperties" class="item"><strong>DeleteGraphProperties</strong></a></strong></dt>
214 <dd>
215 <div class="OptionsBox">
216 $Graph-&gt;DeleteGraphProperties();</div>
217 <p>Deletes all properties associated as graph not including properties associated to vertices
218 or edges and returns <em>Graph</em>.</p>
219 </dd>
220 <dt><strong><a name="deletegraphproperty" class="item"><strong>DeleteGraphProperty</strong></a></strong></dt>
221 <dd>
222 <div class="OptionsBox">
223 $Graph-&gt;DeleteGraphProperty($PropertyName);</div>
224 <p>Deletes a <em>PropertyName</em> associated as graph property and returns <em>Graph</em>.</p>
225 </dd>
226 <dt><strong><a name="deletepath" class="item"><strong>DeletePath</strong></a></strong></dt>
227 <dd>
228 <div class="OptionsBox">
229 $Graph-&gt;DeletePath(@VertexIDs);</div>
230 <p>Deletes edges between successive pair of <em>VertexIDs</em> in a <em>Graph</em> and returns <em>Graph</em>.</p>
231 </dd>
232 <dt><strong><a name="deletevertex" class="item"><strong>DeleteVertex</strong></a></strong></dt>
233 <dd>
234 <div class="OptionsBox">
235 $Graph-&gt;DeleteVertex($VertexID);</div>
236 <p>Deletes <em>VertexID</em> to <em>Graph</em> and returns <em>Graph</em>.</p>
237 </dd>
238 <dt><strong><a name="deletevertexproperties" class="item"><strong>DeleteVertexProperties</strong></a></strong></dt>
239 <dd>
240 <div class="OptionsBox">
241 $Graph-&gt;DeleteVertexProperties($VertexID);</div>
242 <p>Deletes all properties associated with <em>VertexID</em> and returns <em>Graph</em>.</p>
243 </dd>
244 <dt><strong><a name="deletevertexproperty" class="item"><strong>DeleteVertexProperty</strong></a></strong></dt>
245 <dd>
246 <div class="OptionsBox">
247 $Graph-&gt;DeleteVertexProperty($PropertyName, $VertexID);</div>
248 <p>Deletes a <em>PropertyName</em> associated with <em>VertexID</em> and returns <em>Graph</em>.</p>
249 </dd>
250 <dt><strong><a name="deletevertices" class="item"><strong>DeleteVertices</strong></a></strong></dt>
251 <dd>
252 <div class="OptionsBox">
253 $Graph-&gt;DeleteVertices(@VertexIDs);</div>
254 <p>Deletes vertices specified in <em>VertexIDs</em> and returns <em>Graph</em>.</p>
255 </dd>
256 <dt><strong><a name="deleteverticesproperty" class="item"><strong>DeleteVerticesProperty</strong></a></strong></dt>
257 <dd>
258 <div class="OptionsBox">
259 $Graph-&gt;DeleteVerticesProperty($PropertyName, @VertexIDs);</div>
260 <p>Deletes a <em>PropertyName</em> associated with <em>VertexIDs</em> and returns <em>Graph</em>.</p>
261 </dd>
262 <dt><strong><a name="detectcycles" class="item"><strong>DetectCycles</strong></a></strong></dt>
263 <dd>
264 <div class="OptionsBox">
265 $Graph-&gt;DetectCycles();</div>
266 <p>Detect cycles using <strong>CyclesDetection</strong> class and associate found cycles to <em>Graph</em>
267 object as graph properties: <em>ActiveCyclicPaths, AllCyclicPaths, IndependentCyclicPaths</em>.</p>
268 <p>Notes:</p>
269 <div class="OptionsBox">
270 . CyclesDetection class detects all cycles in the graph and filters
271 them to find independent cycles.
272 <br/> . All cycles related methods in the graph operate on
273 ActiveCyclicPaths. By default, active cyclic paths correspond
274 to IndependentCyclicPaths. This behavior can be changed
275 using SetActiveCyclicPaths method.</div>
276 </dd>
277 <dt><strong><a name="getadjacencymatrix" class="item"><strong>GetAdjacencyMatrix</strong></a></strong></dt>
278 <dd>
279 <div class="OptionsBox">
280 $GraphMatrix = $Graph-&gt;GetAdjacencyMatrix();</div>
281 <p>Returns adjacency matrix for <em>Graph</em> as a <em>GraphMatrix</em> object with row and column indices
282 corresponding to graph vertices returned by GetVertices method.</p>
283 <p>For a simple graph G with n vertices, the adjacency matrix for G is a n x n square matrix and
284 its elements Mij are:</p>
285 <div class="OptionsBox">
286 . 0 if i == j
287 <br/> . 1 if i != j and vertex Vi is adjacent to vertex Vj
288 <br/> . 0 if i != j and vertex Vi is not adjacent to vertex Vj</div>
289 </dd>
290 <dt><strong><a name="getadmittancematrix" class="item"><strong>GetAdmittanceMatrix</strong></a></strong></dt>
291 <dd>
292 <div class="OptionsBox">
293 $GraphMatrix = $Graph-&gt;GetAdmittanceMatrix();</div>
294 <p>Returns admittance matrix for <em>Graph</em> as a <em>GraphMatrix</em> object with row and column indices
295 corresponding to graph vertices returned by GetVertices method.</p>
296 <p>For a simple graph G with n vertices, the adjacency matrix for G is a n x n square matrix and
297 its elements Mij are:</p>
298 <div class="OptionsBox">
299 . 0 if i == j
300 <br/> . 1 if i != j and vertex Vi is adjacent to vertex Vj
301 <br/> . 0 if i != j and vertex Vi is not adjacent to vertex Vj</div>
302 </dd>
303 <dt><strong><a name="getallpaths" class="item"><strong>GetAllPaths</strong></a></strong></dt>
304 <dd>
305 <div class="OptionsBox">
306 $PathsRef = $Graph-&gt;GetAllPaths([$AllowCycles]);</div>
307 <p>Returns a reference to an array containing <strong>Path</strong> objects corresponding to all possible
308 lengths starting from each vertex in graph with sharing of edges in paths traversed.
309 By default, cycles are included in paths. A path containing a cycle is terminated at a vertex
310 completing the cycle. Duplicate paths are not removed.</p>
311 </dd>
312 <dt><strong><a name="getallpathsstartingat" class="item"><strong>GetAllPathsStartingAt</strong></a></strong></dt>
313 <dd>
314 <div class="OptionsBox">
315 @Paths = $Graph-&gt;GetAllPathsStartingAt($StartVertexID,
316 [$AllowCycles]);</div>
317 <p>Returns an array of <em>Path</em> objects starting from a <em>StartVertexID</em> of any length
318 with sharing of edges in paths traversed. By default, cycles are included in paths.
319 A path containing a cycle is terminated at a vertex completing the cycle.</p>
320 </dd>
321 <dt><strong><a name="getallpathsstartingatwithlength" class="item"><strong>GetAllPathsStartingAtWithLength</strong></a></strong></dt>
322 <dd>
323 <div class="OptionsBox">
324 @Paths = $Graph-&gt;GetAllPathsStartingAtWithLength($StartVertexID,
325 $Length, [$AllowCycles]);</div>
326 <p>Returns an array of <em>Path</em> objects starting from a <em>StartVertexID</em> of specified <em>Length</em>
327 with sharing of edges in paths traversed. By default, cycles are included in paths.
328 A path containing a cycle is terminated at a vertex completing the cycle.</p>
329 </dd>
330 <dt><strong><a name="getallpathsstartingatwithlengthupto" class="item"><strong>GetAllPathsStartingAtWithLengthUpto</strong></a></strong></dt>
331 <dd>
332 <div class="OptionsBox">
333 @Paths = $Graph-&gt;GetAllPathsStartingAtWithLengthUpto($StartVertexID,
334 $Length, [$AllowCycles]);</div>
335 <p>Returns an array of <em>Path</em> objects starting from a <em>StartVertexID</em> with length upto a
336 <em>Length</em> with sharing of edges in paths traversed. By default, cycles are included in paths.
337 A path containing a cycle is terminated at a vertex completing the cycle.</p>
338 </dd>
339 <dt><strong><a name="getallpathswithlength" class="item"><strong>GetAllPathsWithLength</strong></a></strong></dt>
340 <dd>
341 <div class="OptionsBox">
342 $PathsRef = $Graph-&gt;GetAllPathsWithLength($Length,
343 [$AllowCycles]);</div>
344 <p>Returns a reference to an array containing <strong>Path</strong> objects corresponding to paths with
345 <em>Length</em> starting from each vertex in graph with sharing of edges in paths traversed.
346 By default, cycles are included in paths. A path containing a cycle is terminated at a vertex
347 completing the cycle. Duplicate paths are not removed.</p>
348 </dd>
349 <dt><strong><a name="getallpathswithlengthupto" class="item"><strong>GetAllPathsWithLengthUpto</strong></a></strong></dt>
350 <dd>
351 <div class="OptionsBox">
352 $PathsRef = $Graph-&gt;GetAllPathsWithLengthUpto($Length,
353 [$AllowCycles]);</div>
354 <p>Returns a reference to an array containing <strong>Path</strong> objects corresponding to paths up to
355 specified <em>Length</em> starting from each vertex in graph with sharing of edges in paths traversed.
356 By default, cycles are included in paths. A path containing a cycle is terminated at a vertex
357 completing the cycle. Duplicate paths are not removed.</p>
358 </dd>
359 <dt><strong><a name="getcircumference" class="item"><strong>GetCircumference</strong></a></strong></dt>
360 <dd>
361 <div class="OptionsBox">
362 $Circumference = $Graph-&gt;GetCircumference();</div>
363 <p>Returns size of largest cycle in a <em>Graph</em></p>
364 </dd>
365 <dt><strong><a name="getconnectedcomponentsvertices" class="item"><strong>GetConnectedComponentsVertices</strong></a></strong></dt>
366 <dd>
367 <div class="OptionsBox">
368 @ConnectedComponents = $Graph-&gt;GetConnectedComponentsVertices();</div>
369 <p>Returns an array <em>ConnectedComponents</em> containing referecens to arrays with vertex
370 IDs for each component sorted in order of their decreasing size.</p>
371 </dd>
372 <dt><strong><a name="getcycles" class="item"><strong>GetCycles</strong></a></strong></dt>
373 <dd>
374 <div class="OptionsBox">
375 @CyclicPaths = $Graphs-&gt;GetCycles();</div>
376 <p>Returns an array <em>CyclicPaths</em> containing <em>Path</em> objects corresponding to cycles
377 in a <em>Graph</em>.</p>
378 </dd>
379 <dt><strong><a name="getcycleswithevensize" class="item"><strong>GetCyclesWithEvenSize</strong></a></strong></dt>
380 <dd>
381 <div class="OptionsBox">
382 @CyclicPaths = $Graph-&gt;GetCyclesWithEvenSize();</div>
383 <p>Returns an array <em>CyclicPaths</em> containing <em>Path</em> objects corresponding to cycles with
384 even size in a <em>Graph</em>.</p>
385 </dd>
386 <dt><strong><a name="getcycleswithoddsize" class="item"><strong>GetCyclesWithOddSize</strong></a></strong></dt>
387 <dd>
388 <div class="OptionsBox">
389 @CyclicPaths = $Graph-&gt;GetCyclesWithOddSize();</div>
390 <p>Returns an array <em>CyclicPaths</em> containing <em>Path</em> objects corresponding to cycles with
391 odd size in a <em>Graph</em>.</p>
392 </dd>
393 <dt><strong><a name="getcycleswithsize" class="item"><strong>GetCyclesWithSize</strong></a></strong></dt>
394 <dd>
395 <div class="OptionsBox">
396 @CyclicPaths = $Graph-&gt;GetCyclesWithSize($CycleSize);</div>
397 <p>Returns an array <em>CyclicPaths</em> containing <em>Path</em> objects corresponding to cycles with
398 <em>CycleSize</em> in a <em>Graph</em>.</p>
399 </dd>
400 <dt><strong><a name="getcycleswithsizegreaterthan" class="item"><strong>GetCyclesWithSizeGreaterThan</strong></a></strong></dt>
401 <dd>
402 <div class="OptionsBox">
403 @CyclicPaths = $Graph-&gt;GetCyclesWithSizeGreaterThan($CycleSize);</div>
404 <p>Returns an array <em>CyclicPaths</em> containing <em>Path</em> objects corresponding to cycles with
405 size greater than <em>CycleSize</em> in a <em>Graph</em>.</p>
406 </dd>
407 <dt><strong><a name="getcycleswithsizelessthan" class="item"><strong>GetCyclesWithSizeLessThan</strong></a></strong></dt>
408 <dd>
409 <div class="OptionsBox">
410 @CyclicPaths = $Graph-&gt;GetCyclesWithSizeGreaterThan($CycleSize);</div>
411 <p>Returns an array <em>CyclicPaths</em> containing <em>Path</em> objects corresponding to cycles with
412 size less than <em>CycleSize</em> in a <em>Graph</em>.</p>
413 </dd>
414 <dt><strong><a name="getdegree" class="item"><strong>GetDegree</strong></a></strong></dt>
415 <dd>
416 <div class="OptionsBox">
417 $Degree = $Graph-&gt;GetDegree($VertexID);</div>
418 <p>Returns <strong>Degree</strong> for <em>VertexID</em> in a <em>Graph</em> corresponding to sum of in and out vertex
419 degree values.</p>
420 </dd>
421 <dt><strong><a name="getdegreematrix" class="item"><strong>GetDegreeMatrix</strong></a></strong></dt>
422 <dd>
423 <div class="OptionsBox">
424 $GraphMatrix = $Graph-&gt;GetDegreeMatrix();</div>
425 <p>Returns degree matrix for <em>Graph</em> as a <em>GraphMatrix</em> object with row and column indices
426 corresponding to graph vertices returned by GetVertices method.</p>
427 <p>For a simple graph G with n vertices, the degree matrix for G is a n x n square matrix and
428 its elements Mij are:</p>
429 <div class="OptionsBox">
430 . deg(Vi) if i == j and deg(Vi) is the degree of vertex Vi
431 <br/> . 0 otherwise</div>
432 </dd>
433 <dt><strong><a name="getdistancematrix" class="item"><strong>GetDistanceMatrix</strong></a></strong></dt>
434 <dd>
435 <div class="OptionsBox">
436 $GraphMatrix = $Graph-&gt;GetDistanceMatrix();</div>
437 <p>Returns distance matrix for <em>Graph</em> as a <em>GraphMatrix</em> object with row and column indices
438 corresponding to graph vertices returned by GetVertices method.</p>
439 <p>For a simple graph G with n vertices, the distance matrix for G is a n x n square matrix and
440 its elements Mij are:</p>
441 <div class="OptionsBox">
442 . 0 if i == j
443 <br/> . d if i != j and d is the shortest distance between vertex Vi and vertex Vj</div>
444 <p>In the final matrix, value of constant <strong>BigNumber</strong> defined in <strong>Constants.pm</strong> module
445 corresponds to vertices with no edges.</p>
446 </dd>
447 <dt><strong><a name="getedgecycles" class="item"><strong>GetEdgeCycles</strong></a></strong></dt>
448 <dd>
449 <div class="OptionsBox">
450 @CyclicPaths = $Graph-&gt;GetEdgeCycles($VertexID1, $VertexID2);</div>
451 <p>Returns an array <em>CyclicPaths</em> containing <em>Path</em> objects corresponding to all cycles containing
452 edge between <em>VertexID1</em> and <em>VertexID2</em> in a <em>Graph</em>.</p>
453 </dd>
454 <dt><strong><a name="getedgecycleswithevensize" class="item"><strong>GetEdgeCyclesWithEvenSize</strong></a></strong></dt>
455 <dd>
456 <div class="OptionsBox">
457 @CyclicPaths = $Graph-&gt;GetEdgeCyclesWithEvenSize($VertexID1,
458 $VertexID2);</div>
459 <p>Returns an array <em>CyclicPaths</em> containing <em>Path</em> objects corresponding to cycles with
460 even size containing edge between <em>VertexID1</em> and <em>VertexID2</em> in a <em>Graph</em>.</p>
461 </dd>
462 <dt><strong><a name="getedgecycleswithoddsize" class="item"><strong>GetEdgeCyclesWithOddSize</strong></a></strong></dt>
463 <dd>
464 <div class="OptionsBox">
465 @CyclicPaths = $Graph-&gt;GetEdgeCyclesWithOddSize($VertexID1,
466 $VertexID2);</div>
467 <p>Returns an array <em>CyclicPaths</em> containing <em>Path</em> objects corresponding to cycles with
468 odd size containing edge between <em>VertexID1</em> and <em>VertexID2</em> in a <em>Graph</em>.</p>
469 </dd>
470 <dt><strong><a name="getedgecycleswithsize" class="item"><strong>GetEdgeCyclesWithSize</strong></a></strong></dt>
471 <dd>
472 <div class="OptionsBox">
473 @CyclicPaths = $Graph-&gt;GetEdgeCyclesWithSize($VertexID1, $VertexID2,
474 $CycleSize);</div>
475 <p>Returns an array <em>CyclicPaths</em> containing <em>Path</em> objects corresponding to cycles with
476 size <em>CycleSize</em> containing edge between <em>VertexID1</em> and <em>VertexID2</em> in a <em>Graph</em>.</p>
477 </dd>
478 <dt><strong><a name="getedgecycleswithsizegreaterthan" class="item"><strong>GetEdgeCyclesWithSizeGreaterThan</strong></a></strong></dt>
479 <dd>
480 <div class="OptionsBox">
481 @CyclicPaths = $Graph-&gt;GetEdgeCyclesWithSizeGreaterThan($VertexID1,
482 $VertexID2, $CycleSize);</div>
483 <p>Returns an array <em>CyclicPaths</em> containing <em>Path</em> objects corresponding to cycles with
484 size greater than <em>CycleSize</em> containing edge between <em>VertexID1</em> and <em>VertexID2</em>
485 in a <em>Graph</em>.</p>
486 </dd>
487 <dt><strong><a name="getedgecycleswithsizelessthan" class="item"><strong>GetEdgeCyclesWithSizeLessThan</strong></a></strong></dt>
488 <dd>
489 <div class="OptionsBox">
490 @CyclicPaths = $Graph-&gt;GetEdgeCyclesWithSizeLessThan($VertexID1,
491 $VertexID2, $CycleSize);</div>
492 <p>Returns an array <em>CyclicPaths</em> containing <em>Path</em> objects corresponding to cycles with
493 size less than <em>CycleSize</em> containing edge between <em>VertexID1</em> and <em>VertexID2</em>.</p>
494 </dd>
495 <dt><strong><a name="getedgeproperties" class="item"><strong>GetEdgeProperties</strong></a></strong></dt>
496 <dd>
497 <div class="OptionsBox">
498 %EdgeProperties = $Graph-&gt;GetEdgeProperties($VertexID1, $VertexID2);</div>
499 <p>Returns a hash <strong>EdgeProperties</strong> containing all <strong>PropertyName</strong> and <strong>PropertyValue</strong>
500 pairs associated with an edge between <em>VertexID1</em> and <em>VertexID2</em> in a <em>Graph</em>.</p>
501 </dd>
502 <dt><strong><a name="getedgeproperty" class="item"><strong>GetEdgeProperty</strong></a></strong></dt>
503 <dd>
504 <div class="OptionsBox">
505 $Value = $Graph-&gt;GetEdgeProperty($PropertyName, $VertexID1, $VertexID2);</div>
506 <p>Returns value of <em>PropertyName</em> associated with an edge between <em>VertexID1</em>
507 and <em>VertexID2</em> in a <em>Graph</em>.</p>
508 </dd>
509 <dt><strong><a name="getedges" class="item"><strong>GetEdges</strong></a></strong></dt>
510 <dd>
511 <div class="OptionsBox">
512 @EdgeVertexIDs = $Graph-&gt;GetEdges($VertexID);
513 <br/> $NumOfEdges = $Graph-&gt;GetEdges($VertexID);</div>
514 <p>Returns an array <em>EdgeVertexIDs</em> with successive pair of IDs corresponding to edges involving
515 <em>VertexID</em> or number of edges for <em>VertexID</em> in a <em>Graph</em>.</p>
516 </dd>
517 <dt><strong><a name="getedgesproperty" class="item"><strong>GetEdgesProperty</strong></a></strong></dt>
518 <dd>
519 <div class="OptionsBox">
520 @PropertyValues = $Graph-&gt;GetEdgesProperty($PropertyName, @VertexIDs);</div>
521 <p>Returns an array <em>PropertyValues</em> containing property values corresponding to
522 <em>PropertyName</em> associated with edges between successive pair of <em>VertexIDs</em>.</p>
523 </dd>
524 <dt><strong><a name="getfusedandnonfusedcycles" class="item"><strong>GetFusedAndNonFusedCycles</strong></a></strong></dt>
525 <dd>
526 <div class="OptionsBox">
527 ($FusedCycleSetsRef, $NonFusedCyclesRef) =
528 $Graph-&gt;GetFusedAndNonFusedCycles();</div>
529 <p>Returns references to arrays <em>FusedCycleSetsRef</em> and <em>NonFusedCyclesRef</em>
530 containing references to arrays of cyclic <em>Path</em> objects corresponding to fuses and
531 non-fused cyclic paths.</p>
532 </dd>
533 <dt><strong><a name="getgirth" class="item"><strong>GetGirth</strong></a></strong></dt>
534 <dd>
535 <div class="OptionsBox">
536 $Girth = $Graph-&gt;GetGirth();</div>
537 <p>Returns size of smallest cycle in a <em>Graph</em>.</p>
538 </dd>
539 <dt><strong><a name="getgraphproperties" class="item"><strong>GetGraphProperties</strong></a></strong></dt>
540 <dd>
541 <div class="OptionsBox">
542 %GraphProperties = $Graph-&gt;GetGraphProperties();</div>
543 <p>Returns a hash <strong>EdgeProperties</strong> containing all <strong>PropertyName</strong> and <strong>PropertyValue</strong>
544 pairs associated with graph in a <em>Graph</em>.</p>
545 </dd>
546 <dt><strong><a name="getgraphproperty" class="item"><strong>GetGraphProperty</strong></a></strong></dt>
547 <dd>
548 <div class="OptionsBox">
549 $PropertyValue = $Graph-&gt;GetGraphProperty($PropertyName);</div>
550 <p>Returns value of <em>PropertyName</em> associated with graph in a <em>Graph</em>.</p>
551 </dd>
552 <dt><strong><a name="getincidencematrix" class="item"><strong>GetIncidenceMatrix</strong></a></strong></dt>
553 <dd>
554 <div class="OptionsBox">
555 $GraphMatrix = $Graph-&gt;GetIncidenceMatrix();</div>
556 <p>Returns incidence matrix for <em>Graph</em> as a <em>GraphMatrix</em> object with row and column indices
557 corresponding to graph vertices returned by GetVertices method.</p>
558 <p>For a simple graph G with n vertices and e edges, the incidence matrix for G is a n x e matrix
559 its elements Mij are:</p>
560 <div class="OptionsBox">
561 . 1 if vertex Vi and the edge Ej are incident; in other words, Vi and Ej are related
562 <br/> . 0 otherwise</div>
563 </dd>
564 <dt><strong><a name="getisolatedvertices" class="item"><strong>GetIsolatedVertices</strong></a></strong></dt>
565 <dd>
566 <div class="OptionsBox">
567 @VertexIDs = $Graph-&gt;GetIsolatedVertices();</div>
568 <p>Returns an array <em>VertexIDs</em> containing vertices without any edges in <em>Graph</em>.</p>
569 </dd>
570 <dt><strong><a name="getkirchhoffmatrix" class="item"><strong>GetKirchhoffMatrix</strong></a></strong></dt>
571 <dd>
572 <div class="OptionsBox">
573 $GraphMatrix = $Graph-&gt;GetGetKirchhoffMatrix();</div>
574 <p>Returns Kirchhoff matrix for <em>Graph</em> as a <em>GraphMatrix</em> object with row and column indices
575 corresponding to graph vertices returned by GetVertices method.</p>
576 <p><strong>KirchhoffMatrix</strong> is another name for <strong>LaplacianMatrix</strong>.</p>
577 </dd>
578 <dt><strong><a name="getlaplacianmatrix" class="item"><strong>GetLaplacianMatrix</strong></a></strong></dt>
579 <dd>
580 <div class="OptionsBox">
581 $GraphMatrix = $Graph-&gt;GetLaplacianMatrix();</div>
582 <p>Returns Laplacian matrix for <em>Graph</em> as a <em>GraphMatrix</em> object with row and column indices
583 corresponding to graph vertices returned by GetVertices method.</p>
584 <p>For a simple graph G with n vertices, the Laplacian matrix for G is a n x n square matrix and
585 its elements Mij are:</p>
586 <div class="OptionsBox">
587 . deg(Vi) if i == j and deg(Vi) is the degree of vertex Vi
588 <br/> . -1 if i != j and vertex Vi is adjacent to vertex Vj
589 <br/> . 0 otherwise</div>
590 </dd>
591 <dt><strong><a name="getlargestcycle" class="item"><strong>GetLargestCycle</strong></a></strong></dt>
592 <dd>
593 <div class="OptionsBox">
594 $CyclicPath = $Graph-&gt;GetLargestCycle();</div>
595 <p>Returns a cyclic <em>Path</em> object corresponding to largest cycle in a <em>Graph</em>.</p>
596 </dd>
597 <dt><strong><a name="getlargestedgecycle" class="item"><strong>GetLargestEdgeCycle</strong></a></strong></dt>
598 <dd>
599 <div class="OptionsBox">
600 $CyclicPath = $Graph-&gt;GetLargestEdgeCycle($VertexID1, $VertexID2);</div>
601 <p>Returns a cyclic <em>Path</em> object corresponding to largest cycle containing edge between
602 <em>VertexID1</em> and <em>VertexID2</em> in a <em>Graph</em>.</p>
603 </dd>
604 <dt><strong><a name="getlargestvertexcycle" class="item"><strong>GetLargestVertexCycle</strong></a></strong></dt>
605 <dd>
606 <div class="OptionsBox">
607 $CyclicPath = $Graph-&gt;GetLargestVertexCycle($VertexID);</div>
608 <p>Returns a cyclic <em>Path</em> object corresponding to largest cycle containing <em>VertexID</em>
609 in a <em>Graph</em>.</p>
610 </dd>
611 <dt><strong><a name="getleafvertices" class="item"><strong>GetLeafVertices</strong></a></strong></dt>
612 <dd>
613 <div class="OptionsBox">
614 @VertexIDs = $Graph-&gt;GetLeafVertices();</div>
615 <p>Returns an array <em>VertexIDs</em> containing vertices with degree of 1 in a <em>Graph</em>.</p>
616 </dd>
617 <dt><strong><a name="getmaximumdegree" class="item"><strong>GetMaximumDegree</strong></a></strong></dt>
618 <dd>
619 <div class="OptionsBox">
620 $Degree = $Graph-&gt;GetMaximumDegree();</div>
621 <p>Returns value of maximum vertex degree in a <em>Graph</em>.</p>
622 </dd>
623 <dt><strong><a name="getmininumdegree" class="item"><strong>GetMininumDegree</strong></a></strong></dt>
624 <dd>
625 <div class="OptionsBox">
626 $Degree = $Graph-&gt;GetMininumDegree();</div>
627 <p>Returns value of minimum vertex degree in a <em>Graph</em>.</p>
628 </dd>
629 <dt><strong><a name="getneighborhoodvertices" class="item"><strong>GetNeighborhoodVertices</strong></a></strong></dt>
630 <dd>
631 <div class="OptionsBox">
632 @VertexNeighborhoods = GetNeighborhoodVertices($StartVertexID);</div>
633 <p>Returns an array <em>VertexNeighborhoods</em> containing references to arrays corresponding to
634 neighborhood vertices around a specified <em>StartVertexID</em> at all possible radii levels.</p>
635 </dd>
636 <dt><strong><a name="getneighborhoodverticeswithradiusupto" class="item"><strong>GetNeighborhoodVerticesWithRadiusUpto</strong></a></strong></dt>
637 <dd>
638 <div class="OptionsBox">
639 @VertexNeighborhoods = GetNeighborhoodVerticesWithRadiusUpto(
640 $StartVertexID, $Radius);</div>
641 <p>Returns an array <em>VertexNeighborhoods</em> containing references to arrays corresponding to
642 neighborhood vertices around a specified <em>StartVertexID</em> upto specified <em>Radius</em> levels.</p>
643 </dd>
644 <dt><strong><a name="getneighborhoodverticeswithsuccessors" class="item"><strong>GetNeighborhoodVerticesWithSuccessors</strong></a></strong></dt>
645 <dd>
646 <div class="OptionsBox">
647 @VertexNeighborhoods = GetNeighborhoodVerticesWithSuccessors(
648 $StartVertexID);</div>
649 <p>Returns vertex neighborhoods around a specified <em>StartVertexID</em>, along with their successor
650 connected vertices, collected at all neighborhood radii as an array <em>VertexNeighborhoods</em>
651 containing references to arrays with first value corresponding to vertex ID and second
652 value as reference to an array containing its successor connected vertices.</p>
653 <p>For a neighborhood vertex at each radius level, the successor connected vertices correspond to the
654 neighborhood vertices at the next radius level. Consequently, the neighborhood vertices at the last
655 radius level don't contain any successor vertices which fall outside the range of specified radius.</p>
656 </dd>
657 <dt><strong><a name="getneighborhoodverticeswithsuccessorsandradiusupto" class="item"><strong>GetNeighborhoodVerticesWithSuccessorsAndRadiusUpto</strong></a></strong></dt>
658 <dd>
659 <div class="OptionsBox">
660 @VertexNeighborhoods = GetNeighborhoodVerticesWithSuccessors(
661 $StartVertexID, $Radius);</div>
662 <p>Returns vertex neighborhoods around a specified <em>StartVertexID</em>, along with their successor
663 connected vertices, collected with in a specified <em>Radius</em> as an array <em>VertexNeighborhoods</em>
664 containing references to arrays with first value corresponding to vertex ID and second value
665 as reference to a list containing its successor connected vertices.</p>
666 <p>For a neighborhood vertex at each radius level, the successor connected vertices correspond to the
667 neighborhood vertices at the next radius level. Consequently, the neighborhood vertices at the last
668 radius level don't contain any successor vertices which fall outside the range of specified radius.</p>
669 </dd>
670 <dt><strong><a name="getneighbors" class="item"><strong>GetNeighbors</strong></a></strong></dt>
671 <dd>
672 <div class="OptionsBox">
673 @VertexIDs = $Graph-&gt;GetNeighbors($VertexID);
674 <br/> $NumOfNeighbors = $Graph-&gt;GetNeighbors($VertexID);</div>
675 <p>Returns an array <em>VertexIDs</em> containing vertices connected to <em>VertexID</em> of number of
676 neighbors of a <em>VertextID</em> in a <em>Graph</em>.</p>
677 </dd>
678 <dt><strong><a name="getnormalizedlaplacianmatrix" class="item"><strong>GetNormalizedLaplacianMatrix</strong></a></strong></dt>
679 <dd>
680 <div class="OptionsBox">
681 $GraphMatrix = $Graph-&gt;GetNormalizedLaplacianMatrix();</div>
682 <p>Returns normalized Laplacian matrix for <em>Graph</em> as a <em>GraphMatrix</em> object with row and column indices
683 corresponding to graph vertices returned by GetVertices method.</p>
684 <p>For a simple graph G with n vertices, the normalized Laplacian matrix L for G is a n x n square
685 matrix and its elements Lij are:</p>
686 <div class="OptionsBox">
687 . 1 if i == j and deg(Vi) != 0
688 <br/> . -1/SQRT(deg(Vi) * deg(Vj)) if i != j and vertex Vi is adjacent to vertex Vj
689 <br/> . 0 otherwise</div>
690 </dd>
691 <dt><strong><a name="getnumofcycles" class="item"><strong>GetNumOfCycles</strong></a></strong></dt>
692 <dd>
693 <div class="OptionsBox">
694 $NumOfCycles = $Graph-&gt;GetNumOfCycles();</div>
695 <p>Returns number of cycles in a <em>Graph</em>.</p>
696 </dd>
697 <dt><strong><a name="getnumofcycleswithevensize" class="item"><strong>GetNumOfCyclesWithEvenSize</strong></a></strong></dt>
698 <dd>
699 <div class="OptionsBox">
700 $NumOfCycles = $Graph-&gt;GetNumOfCyclesWithEvenSize();</div>
701 <p>Returns number of cycles with even size in a <em>Graph</em>.</p>
702 </dd>
703 <dt><strong><a name="getnumofcycleswithoddsize" class="item"><strong>GetNumOfCyclesWithOddSize</strong></a></strong></dt>
704 <dd>
705 <div class="OptionsBox">
706 $NumOfCycles = $Graph-&gt;GetNumOfCyclesWithOddSize();</div>
707 <p>Returns number of cycles with odd size in a <em>Graph</em>.</p>
708 </dd>
709 <dt><strong><a name="getnumofcycleswithsize" class="item"><strong>GetNumOfCyclesWithSize</strong></a></strong></dt>
710 <dd>
711 <div class="OptionsBox">
712 $NumOfCycles = $Graph-&gt;GetNumOfCyclesWithSize($CycleSize);</div>
713 <p>Returns number of cycles with <em>CyclesSize</em> in a <em>Graph</em>.</p>
714 </dd>
715 <dt><strong><a name="getnumofcycleswithsizegreaterthan" class="item"><strong>GetNumOfCyclesWithSizeGreaterThan</strong></a></strong></dt>
716 <dd>
717 <div class="OptionsBox">
718 $NumOfCycles = $Graph-&gt;GetNumOfCyclesWithSizeGreaterThan(
719 $CycleSize);</div>
720 <p>Returns number of cycles with size greater than <em>CyclesSize</em> in a <em>Graph</em>.</p>
721 </dd>
722 <dt><strong><a name="getnumofcycleswithsizelessthan" class="item"><strong>GetNumOfCyclesWithSizeLessThan</strong></a></strong></dt>
723 <dd>
724 <div class="OptionsBox">
725 $NumOfCycles = $Graph-&gt;GetNumOfCyclesWithSizeLessThan($CycleSize);</div>
726 <p>Returns number of cycles with size less than <em>CyclesSize</em> in a <em>Graph</em>.</p>
727 </dd>
728 <dt><strong><a name="getnumofedgecycles" class="item"><strong>GetNumOfEdgeCycles</strong></a></strong></dt>
729 <dd>
730 <div class="OptionsBox">
731 $NumOfCycles = $Graph-&gt;GetNumOfEdgeCycles($VertexID1, $VertexID2);</div>
732 <p>Returns number of cycles containing edge between <em>VertexID1</em> and <em>VertexID2</em>
733 in a <em>Graph</em>.</p>
734 </dd>
735 <dt><strong><a name="getnumofedgecycleswithevensize" class="item"><strong>GetNumOfEdgeCyclesWithEvenSize</strong></a></strong></dt>
736 <dd>
737 <div class="OptionsBox">
738 $NumOfCycles = $Graph-&gt;GetNumOfEdgeCyclesWithEvenSize($VertexID1,
739 $VertexID2);</div>
740 <p>Returns number of cycles containing edge between <em>VertexID1</em> and <em>VertexID2</em> with even
741 size in a <em>Graph</em>.</p>
742 </dd>
743 <dt><strong><a name="getnumofedgecycleswithoddsize" class="item"><strong>GetNumOfEdgeCyclesWithOddSize</strong></a></strong></dt>
744 <dd>
745 <div class="OptionsBox">
746 $NumOfCycles = $Graph-&gt;GetNumOfEdgeCyclesWithOddSize($VertexID1,
747 $VertexID2);</div>
748 <p>Returns number of cycles containing edge between <em>VertexID1</em> and <em>VertexID2</em> with odd
749 size in a <em>Graph</em>.</p>
750 </dd>
751 <dt><strong><a name="getnumofedgecycleswithsize" class="item"><strong>GetNumOfEdgeCyclesWithSize</strong></a></strong></dt>
752 <dd>
753 <div class="OptionsBox">
754 $NumOfCycles = $Graph-&gt;GetNumOfEdgeCyclesWithSize($VertexID1,
755 $VertexID2, $CycleSize);</div>
756 <p>Returns number of cycles containing edge between <em>VertexID1</em> and <em>VertexID2</em> with
757 <em>CycleSize</em> size in a <em>Graph</em>.</p>
758 </dd>
759 <dt><strong><a name="getnumofedgecycleswithsizegreaterthan" class="item"><strong>GetNumOfEdgeCyclesWithSizeGreaterThan</strong></a></strong></dt>
760 <dd>
761 <div class="OptionsBox">
762 $NumOfCycles = $Graph-&gt;GetNumOfEdgeCyclesWithSizeGreaterThan(
763 $VertexID1, $VertexID2, $CycleSize);</div>
764 <p>Returns number of cycles containing edge between <em>VertexID1</em> and <em>VertexID2</em> with
765 size greater than <em>CycleSize</em> size in a <em>Graph</em>.</p>
766 </dd>
767 <dt><strong><a name="getnumofedgecycleswithsizelessthan" class="item"><strong>GetNumOfEdgeCyclesWithSizeLessThan</strong></a></strong></dt>
768 <dd>
769 <div class="OptionsBox">
770 $NumOfCycles = $Graph-&gt;GetNumOfEdgeCyclesWithSizeLessThan(
771 $VertexID1, $VertexID2, $CycleSize);</div>
772 <p>Returns number of cycles containing edge between <em>VertexID1</em> and <em>VertexID2</em> with
773 size less than <em>CycleSize</em> size in a <em>Graph</em>.</p>
774 </dd>
775 <dt><strong><a name="getnumofvertexcycles" class="item"><strong>GetNumOfVertexCycles</strong></a></strong></dt>
776 <dd>
777 <div class="OptionsBox">
778 $NumOfCycles = $Graph-&gt;GetNumOfVertexCycles($VertexID);</div>
779 <p>Returns number of cycles containing <em>VertexID</em> in a <em>Graph</em>.</p>
780 </dd>
781 <dt><strong><a name="getnumofvertexcycleswithevensize" class="item"><strong>GetNumOfVertexCyclesWithEvenSize</strong></a></strong></dt>
782 <dd>
783 <div class="OptionsBox">
784 $NumOfCycles = $Graph-&gt;GetNumOfVertexCyclesWithEvenSize($VertexID);</div>
785 <p>Returns number of cycles containing <em>VertexID</em> with even size in a <em>Graph</em>.</p>
786 </dd>
787 <dt><strong><a name="getnumofvertexcycleswithoddsize" class="item"><strong>GetNumOfVertexCyclesWithOddSize</strong></a></strong></dt>
788 <dd>
789 <div class="OptionsBox">
790 $NumOfCycles = $Graph-&gt;GetNumOfVertexCyclesWithOddSize($VertexID);</div>
791 <p>Returns number of cycles containing <em>VertexID</em> with odd size in a <em>Graph</em>.</p>
792 </dd>
793 <dt><strong><a name="getnumofvertexcycleswithsize" class="item"><strong>GetNumOfVertexCyclesWithSize</strong></a></strong></dt>
794 <dd>
795 <div class="OptionsBox">
796 $NumOfCycles = $Graph-&gt;GetNumOfVertexCyclesWithSize($VertexID);</div>
797 <p>Returns number of cycles containing <em>VertexID</em> with even size in a <em>Graph</em>.</p>
798 </dd>
799 <dt><strong><a name="getnumofvertexcycleswithsizegreaterthan" class="item"><strong>GetNumOfVertexCyclesWithSizeGreaterThan</strong></a></strong></dt>
800 <dd>
801 <div class="OptionsBox">
802 $NumOfCycles = $Graph-&gt;GetNumOfVertexCyclesWithSizeGreaterThan(
803 $VertexID, $CycleSize);</div>
804 <p>Returns number of cycles containing <em>VertexID</em> with size greater than <em>CycleSize</em>
805 in a <em>Graph</em>.</p>
806 </dd>
807 <dt><strong><a name="getnumofvertexcycleswithsizelessthan" class="item"><strong>GetNumOfVertexCyclesWithSizeLessThan</strong></a></strong></dt>
808 <dd>
809 <div class="OptionsBox">
810 $NumOfCycles = $Graph-&gt;GetNumOfVertexCyclesWithSizeLessThan(
811 $VertexID, $CycleSize);</div>
812 <p>Returns number of cycles containing <em>VertexID</em> with size less than <em>CycleSize</em>
813 in a <em>Graph</em>.</p>
814 </dd>
815 <dt><strong><a name="getpaths" class="item"><strong>GetPaths</strong></a></strong></dt>
816 <dd>
817 <div class="OptionsBox">
818 $PathsRefs = $Graph-&gt;GetPaths([$AllowCycles]);</div>
819 <p>Returns a reference to an array of <em>Path</em> objects corresponding to paths of all possible
820 lengths starting from each vertex with no sharing of edges in paths traversed. By default,
821 cycles are included in paths. A path containing a cycle is terminated at a vertex completing
822 the cycle.</p>
823 </dd>
824 <dt><strong><a name="getpathsbetween" class="item"><strong>GetPathsBetween</strong></a></strong></dt>
825 <dd>
826 <div class="OptionsBox">
827 @Paths = $Graph-&gt;GetPathsBetween($StartVertexID, $EndVertexID);</div>
828 <p>Returns an arrays of <em>Path</em> objects list of paths between <em>StartVertexID</em> and <em>EndVertexID</em>.
829 For cyclic graphs, the list contains may contain more than one <em>Path</em> object.</p>
830 </dd>
831 <dt><strong><a name="getpathsstartingat" class="item"><strong>GetPathsStartingAt</strong></a></strong></dt>
832 <dd>
833 <div class="OptionsBox">
834 @Paths = $Graph-&gt;GetPathsStartingAt($StartVertexID, [$AllowCycles]);</div>
835 <p>Returns an array of <em>Path</em> objects corresponding to all possible lengths starting from a
836 specified <em>StartVertexID</em> with no sharing of edges in paths traversed. By default, cycles
837 are included in paths. A path containing a cycle is terminated at a vertex completing the cycle.</p>
838 </dd>
839 <dt><strong><a name="getpathsstartingatwithlength" class="item"><strong>GetPathsStartingAtWithLength</strong></a></strong></dt>
840 <dd>
841 <div class="OptionsBox">
842 @Paths = $Graph-&gt;StartingAtWithLength($StartVertexID, $Length,
843 $AllowCycles);</div>
844 <p>Returns an array of <em>Path</em> objects corresponding to all paths starting from a specified <em>StartVertexID</em>
845 with length <em>Length</em> and no sharing of edges in paths traversed. By default, cycles are included in paths.
846 A path containing a cycle is terminated at a vertex completing the cycle.</p>
847 </dd>
848 <dt><strong><a name="getpathsstartingatwithlengthupto" class="item"><strong>GetPathsStartingAtWithLengthUpto</strong></a></strong></dt>
849 <dd>
850 <div class="OptionsBox">
851 @Paths = $Graph-&gt;StartingAtWithLengthUpto($StartVertexID, $Length,
852 $AllowCycles);</div>
853 <p>Returns an array of <em>Path</em> objects corresponding to all paths starting from a specified <em>StartVertexID</em>
854 with length upto <em>Length</em> and no sharing of edges in paths traversed. By default, cycles are included in paths.
855 A path containing a cycle is terminated at a vertex completing the cycle.</p>
856 </dd>
857 <dt><strong><a name="getpathswithlength" class="item"><strong>GetPathsWithLength</strong></a></strong></dt>
858 <dd>
859 <div class="OptionsBox">
860 @Paths = $Graph-&gt;GetPathsWithLength($Length, $AllowCycles);</div>
861 <p>Returns an array of <em>Path</em> objects corresponding to to paths starting from each vertex in graph
862 with specified &lt;Length&gt; and no sharing of edges in paths traversed. By default, cycles are included
863 in paths. A path containing a cycle is terminated at a vertex completing the cycle.</p>
864 </dd>
865 <dt><strong><a name="getpathswithlengthupto" class="item"><strong>GetPathsWithLengthUpto</strong></a></strong></dt>
866 <dd>
867 <div class="OptionsBox">
868 @Paths = $Graph-&gt;GetPathsWithLengthUpto($Length, $AllowCycles);</div>
869 <p>Returns an array of <em>Path</em> objects corresponding to to paths starting from each vertex in graph
870 with length upto specified <em>Length</em> and no sharing of edges in paths traversed. By default,
871 cycles are included in paths. A path containing a cycle is terminated at a vertex completing the cycle.</p>
872 </dd>
873 <dt><strong><a name="getsiedeladjacencymatrix" class="item"><strong>GetSiedelAdjacencyMatrix</strong></a></strong></dt>
874 <dd>
875 <div class="OptionsBox">
876 $GraphMatrix = $Graph-&gt;GetSiedelAdjacencyMatrix();</div>
877 <p>Returns Siedel admittance matrix for <em>Graph</em> as a <em>GraphMatrix</em> object with row and column indices
878 corresponding to graph vertices returned by GetVertices method.</p>
879 <p>For a simple graph G with n vertices, the Siedal adjacency matrix for G is a n x n square matrix and
880 its elements Mij are:</p>
881 <div class="OptionsBox">
882 . 0 if i == j
883 <br/> . -1 if i != j and vertex Vi is adjacent to vertex Vj
884 <br/> . 1 if i != j and vertex Vi is not adjacent to vertex Vj</div>
885 </dd>
886 <dt><strong><a name="getsizeoflargestcycle" class="item"><strong>GetSizeOfLargestCycle</strong></a></strong></dt>
887 <dd>
888 <div class="OptionsBox">
889 $Size = $Graph-&gt;GetSizeOfLargestCycle();</div>
890 <p>Returns size of the largest cycle in a <em>Graph</em>.</p>
891 </dd>
892 <dt><strong><a name="getsizeoflargestedgecycle" class="item"><strong>GetSizeOfLargestEdgeCycle</strong></a></strong></dt>
893 <dd>
894 <div class="OptionsBox">
895 $Size = $Graph-&gt;GetSizeOfLargestEdgeCycle($VertexID1, $VertexID2);</div>
896 <p>Returns size of the largest cycle containing egde between <em>VertextID1</em> and <em>VertexID2</em>
897 in a <em>Graph</em>.</p>
898 </dd>
899 <dt><strong><a name="getsizeoflargestvertexcycle" class="item"><strong>GetSizeOfLargestVertexCycle</strong></a></strong></dt>
900 <dd>
901 <div class="OptionsBox">
902 $Size = $Graph-&gt;GetSizeOfLargestVertexCycle($VertexID);</div>
903 <p>Returns size of the largest cycle containing <em>VertextID</em> in a <em>Graph</em>.</p>
904 </dd>
905 <dt><strong><a name="getsizeofsmallestcycle" class="item"><strong>GetSizeOfSmallestCycle</strong></a></strong></dt>
906 <dd>
907 <div class="OptionsBox">
908 $Size = $Graph-&gt;GetSizeOfSmallestCycle();</div>
909 <p>Returns size of the smallest cycle in a <em>Graph</em>.</p>
910 </dd>
911 <dt><strong><a name="getsizeofsmallestedgecycle" class="item"><strong>GetSizeOfSmallestEdgeCycle</strong></a></strong></dt>
912 <dd>
913 <div class="OptionsBox">
914 $Size = $Graph-&gt;GetSizeOfSmallestEdgeCycle($VertexID1, $VertexID2);</div>
915 <p>Returns size of the smallest cycle containing egde between <em>VertextID1</em> and <em>VertexID2</em>
916 in a <em>Graph</em>.</p>
917 </dd>
918 <dt><strong><a name="getsizeofsmallestvertexcycle" class="item"><strong>GetSizeOfSmallestVertexCycle</strong></a></strong></dt>
919 <dd>
920 <div class="OptionsBox">
921 $Size = $Graph-&gt;GetSizeOfSmallestVertexCycle($VertexID);</div>
922 <p>Returns size of the smallest cycle containing <em>VertextID</em> in a <em>Graph</em>.</p>
923 </dd>
924 <dt><strong><a name="getsmallestcycle" class="item"><strong>GetSmallestCycle</strong></a></strong></dt>
925 <dd>
926 <div class="OptionsBox">
927 $CyclicPath = $Graph-&gt;GetSmallestCycle();</div>
928 <p>Returns a cyclic <em>Path</em> object corresponding to smallest cycle in a <em>Graph</em>.</p>
929 </dd>
930 <dt><strong><a name="getsmallestedgecycle" class="item"><strong>GetSmallestEdgeCycle</strong></a></strong></dt>
931 <dd>
932 <div class="OptionsBox">
933 $CyclicPath = $Graph-&gt;GetSmallestEdgeCycle($VertexID1, $VertexID2);</div>
934 <p>Returns a cyclic <em>Path</em> object corresponding to smallest cycle containing edge between
935 <em>VertexID1</em> and <em>VertexID2</em> in a <em>Graph</em>.</p>
936 </dd>
937 <dt><strong><a name="getsmallestvertexcycle" class="item"><strong>GetSmallestVertexCycle</strong></a></strong></dt>
938 <dd>
939 <div class="OptionsBox">
940 $CyclicPath = $Graph-&gt;GetSmallestVertexCycle($VertexID);</div>
941 <p>Returns a cyclic <em>Path</em> object corresponding to smallest cycle containing <em>VertexID</em> in a <em>Graph</em>.</p>
942 </dd>
943 <dt><strong><a name="gettopologicallysortedvertices" class="item"><strong>GetTopologicallySortedVertices</strong></a></strong></dt>
944 <dd>
945 <div class="OptionsBox">
946 @VertexIDs = $Graph-&gt;GetTopologicallySortedVertices(
947 [$RootVertexID]);</div>
948 <p>Returns an array of <em>VertexIDs</em> sorted topologically starting from a specified <em>RootVertexID</em> or
949 from an arbitrary vertex ID.</p>
950 </dd>
951 <dt><strong><a name="getvertex" class="item"><strong>GetVertex</strong></a></strong></dt>
952 <dd>
953 <div class="OptionsBox">
954 $VertexValue = $Graph-&gt;GetVertex($VertexID);</div>
955 <p>Returns vartex value for <em>VertexID</em> in a <em>Graph</em>. Vartex IDs and values are equivalent
956 in the current implementation of <strong>Graph</strong>.</p>
957 </dd>
958 <dt><strong><a name="getvertexcycles" class="item"><strong>GetVertexCycles</strong></a></strong></dt>
959 <dd>
960 <div class="OptionsBox">
961 @CyclicPaths = $Graph-&gt;GetVertexCycles($VertexID);</div>
962 <p>Returns an array <em>CyclicPaths</em> containing <em>Path</em> objects corresponding to all cycles containing
963 <em>VertexID</em> in a <em>Graph</em>.</p>
964 </dd>
965 <dt><strong><a name="getvertexcycleswithevensize" class="item"><strong>GetVertexCyclesWithEvenSize</strong></a></strong></dt>
966 <dd>
967 <div class="OptionsBox">
968 @CyclicPaths = $Graph-&gt;GetVertexCyclesWithEvenSize($VertexID);</div>
969 <p>Returns an array <em>CyclicPaths</em> containing <em>Path</em> objects corresponding to cycles with
970 even size containing <em>VertexID</em> in a <em>Graph</em>.</p>
971 </dd>
972 <dt><strong><a name="getvertexcycleswithoddsize" class="item"><strong>GetVertexCyclesWithOddSize</strong></a></strong></dt>
973 <dd>
974 <div class="OptionsBox">
975 @CyclicPaths = $Graph-&gt;GetVertexCyclesWithOddSize($VertexID);</div>
976 <p>Returns an array <em>CyclicPaths</em> containing <em>Path</em> objects corresponding to cycles with
977 odd size containing <em>VertexID</em> in a <em>Graph</em>.</p>
978 </dd>
979 <dt><strong><a name="getvertexcycleswithsize" class="item"><strong>GetVertexCyclesWithSize</strong></a></strong></dt>
980 <dd>
981 <div class="OptionsBox">
982 @CyclicPaths = $Graph-&gt;GetVertexCyclesWithSize($VertexID,
983 $CycleSize);</div>
984 <p>Returns an array <em>CyclicPaths</em> containing <em>Path</em> objects corresponding to cycles with
985 size <em>CycleSize</em> containing <em>VertexID</em> in a <em>Graph</em>.</p>
986 </dd>
987 <dt><strong><a name="getvertexcycleswithsizegreaterthan" class="item"><strong>GetVertexCyclesWithSizeGreaterThan</strong></a></strong></dt>
988 <dd>
989 <div class="OptionsBox">
990 @CyclicPaths = $Graph-&gt;GetVertexCyclesWithSizeGreaterThan($VertexID,
991 $CycleSize);</div>
992 <p>Returns an array <em>CyclicPaths</em> containing <em>Path</em> objects corresponding to cycles with
993 size greater than <em>CycleSize</em> containing <em>VertexID</em> in a <em>Graph</em>.</p>
994 </dd>
995 <dt><strong><a name="getvertexcycleswithsizelessthan" class="item"><strong>GetVertexCyclesWithSizeLessThan</strong></a></strong></dt>
996 <dd>
997 <div class="OptionsBox">
998 @CyclicPaths = $Graph-&gt;GetVertexCyclesWithSizeLessThan($VertexID,
999 $CycleSize);</div>
1000 <p>Returns an array <em>CyclicPaths</em> containing <em>Path</em> objects corresponding to cycles with
1001 size less than <em>CycleSize</em> containing <em>VertexID</em> in a <em>Graph</em>.</p>
1002 </dd>
1003 <dt><strong><a name="getvertexproperties" class="item"><strong>GetVertexProperties</strong></a></strong></dt>
1004 <dd>
1005 <div class="OptionsBox">
1006 %VertexProperties = $Graph-&gt;GetVertexProperties($VertexID);</div>
1007 <p>Returns a hash <strong>VertexProperties</strong> containing all <strong>PropertyName</strong> and <strong>PropertyValue</strong>
1008 pairs associated with a <em>VertexID</em> in a <em>Graph</em>.</p>
1009 </dd>
1010 <dt><strong><a name="getvertexproperty" class="item"><strong>GetVertexProperty</strong></a></strong></dt>
1011 <dd>
1012 <div class="OptionsBox">
1013 $Value = $Graph-&gt;GetVertexProperty($PropertyName, $VertexID);</div>
1014 <p>Returns value of <em>PropertyName</em> associated with a <em>VertexID</em> in a <em>Graph</em>.</p>
1015 </dd>
1016 <dt><strong><a name="getvertexwithlargestdegree" class="item"><strong>GetVertexWithLargestDegree</strong></a></strong></dt>
1017 <dd>
1018 <div class="OptionsBox">
1019 $VertexID = $Graph-&gt;GetVertexWithLargestDegree();</div>
1020 <p>Returns <strong>VertexID</strong> with largest degree in a <em>Graph</em>.</p>
1021 </dd>
1022 <dt><strong><a name="getvertexwithsmallestdegree" class="item"><strong>GetVertexWithSmallestDegree</strong></a></strong></dt>
1023 <dd>
1024 <div class="OptionsBox">
1025 $VertexID = $Graph-&gt;GetVertexWithSmallestDegree();</div>
1026 <p>Returns <strong>VertexID</strong> with smallest degree in a <em>Graph</em>.</p>
1027 </dd>
1028 <dt><strong><a name="getvertices" class="item"><strong>GetVertices</strong></a></strong></dt>
1029 <dd>
1030 <div class="OptionsBox">
1031 @VertexIDs = $Graph-&gt;GetVertices();
1032 <br/> $VertexCount = $Graph-&gt;GetVertices();</div>
1033 <p>Returns an array of <em>VertexIDs</em> corresponding to all vertices in a <em>Graph</em>; in a scalar context,
1034 number of vertices is returned.</p>
1035 </dd>
1036 <dt><strong><a name="getverticesproperty" class="item"><strong>GetVerticesProperty</strong></a></strong></dt>
1037 <dd>
1038 <div class="OptionsBox">
1039 @PropertyValues = $Graph-&gt;GetVerticesProperty($PropertyName, @VertexIDs);</div>
1040 <p>Returns an array <em>PropertyValues</em> containing property values corresponding to
1041 <em>PropertyName</em> associated with with <em>VertexIDs</em> in a <em>Graph</em>.</p>
1042 </dd>
1043 <dt><strong><a name="getverticeswithdegreelessthan" class="item"><strong>GetVerticesWithDegreeLessThan</strong></a></strong></dt>
1044 <dd>
1045 <div class="OptionsBox">
1046 @VertexIDs = $Graph-&gt;GetVerticesWithDegreeLessThan($Degree);</div>
1047 <p>Returns an array of <em>VertexIDs</em> containing vertices with degree less than <em>Degree</em> in
1048 a <em>Graph</em>.</p>
1049 </dd>
1050 <dt><strong><a name="hascycle" class="item"><strong>HasCycle</strong></a></strong></dt>
1051 <dd>
1052 <div class="OptionsBox">
1053 $Status = $Graph-&gt;HasCycle(@VertexIDs);</div>
1054 <p>Returns 1 or 0 based on whether edges between successive pair of <em>VertexIDs</em> including
1055 an additional edge from the last to first vertex ID exists in a <em>Graph</em>.</p>
1056 </dd>
1057 <dt><strong><a name="hasedge" class="item"><strong>HasEdge</strong></a></strong></dt>
1058 <dd>
1059 <div class="OptionsBox">
1060 $Status = $Graph-&gt;HasEdge($VertexID1, $VertexID2);</div>
1061 <p>Returns 1 or 0 based on whether an edge between <em>VertexID1</em> and <em>VertexID2</em> exist in
1062 a <em>Graph</em>.</p>
1063 </dd>
1064 <dt><strong><a name="hasedgeproperty" class="item"><strong>HasEdgeProperty</strong></a></strong></dt>
1065 <dd>
1066 <div class="OptionsBox">
1067 $Status = $Graph-&gt;HasEdgeProperty($PropertyName, $VertexID1,
1068 $VertexID2);</div>
1069 <p>Returns 1 or 0 based on whether <em>PropertyName</em> has already been associated with an edge
1070 between <em>VertexID1</em> and <em>VertexID2</em> in a <em>Graph</em>.</p>
1071 </dd>
1072 <dt><strong><a name="hasedges" class="item"><strong>HasEdges</strong></a></strong></dt>
1073 <dd>
1074 <div class="OptionsBox">
1075 @EdgesStatus = $Graph-&gt;HasEdges(@VertexIDs);
1076 <br/> $FoundEdgesCount = $Graph-&gt;HasEdges(@VertexIDs);</div>
1077 <p>Returns an array <em>EdgesStatus</em> containing 1s and 0s corresponding to whether edges between
1078 successive pairs of <em>VertexIDs</em> exist in a <em>Graph</em>. In a scalar context, number of edges found
1079 is returned.</p>
1080 </dd>
1081 <dt><strong><a name="hasfusedcycles" class="item"><strong>HasFusedCycles</strong></a></strong></dt>
1082 <dd>
1083 <div class="OptionsBox">
1084 $Status = $Graph-&gt;HasFusedCycles();</div>
1085 <p>Returns 1 or 0 based on whether any fused cycles exist in a <em>Graph</em>.</p>
1086 </dd>
1087 <dt><strong><a name="hasgraphproperty" class="item"><strong>HasGraphProperty</strong></a></strong></dt>
1088 <dd>
1089 <div class="OptionsBox">
1090 $Status = $Graph-&gt;HasGraphProperty($PropertyName);</div>
1091 <p>Returns 1 or 0 based on whether <em>PropertyName</em> has already been associated as a
1092 graph property as opposed to vertex or edge property in a <em>Graph</em>.</p>
1093 </dd>
1094 <dt><strong><a name="haspath" class="item"><strong>HasPath</strong></a></strong></dt>
1095 <dd>
1096 <div class="OptionsBox">
1097 $Status = $Graph-&gt;HasPath(@VertexIDs));</div>
1098 <p>Returns 1 or 0 based on whether edges between all successive pairs of <em>VertexIDs</em> exist in
1099 a <em>Graph</em>.</p>
1100 </dd>
1101 <dt><strong><a name="hasvertex" class="item"><strong>HasVertex</strong></a></strong></dt>
1102 <dd>
1103 <div class="OptionsBox">
1104 $Status = $Graph-&gt;HasVertex($VertexID);</div>
1105 <p>Returns 1 or 0 based on whether <em>VertexID</em> exists in a <em>Graph</em>.</p>
1106 </dd>
1107 <dt><strong><a name="hasvertexproperty" class="item"><strong>HasVertexProperty</strong></a></strong></dt>
1108 <dd>
1109 <div class="OptionsBox">
1110 $Status = $Graph-&gt;HasGraphProperty($HasVertexProperty, $VertexID);</div>
1111 <p>Returns 1 or 0 based on whether <em>PropertyName</em> has already been associated with
1112 <em>VertexID</em> in a <em>Graph</em>.</p>
1113 </dd>
1114 <dt><strong><a name="hasvertices" class="item"><strong>HasVertices</strong></a></strong></dt>
1115 <dd>
1116 <div class="OptionsBox">
1117 @VerticesStatus = $Graph-&gt;HasVertices(@VertexIDs);
1118 <br/> $VerticesFoundCount = $Graph-&gt;HasVertices(@VertexIDs);</div>
1119 <p>Returns an array <em></em> containing 1s and 0s corresponding to whether <em>VertexIDs</em> exist in a
1120 <em>Graph</em>. In a scalar context, number of vertices found is returned.</p>
1121 </dd>
1122 <dt><strong><a name="isacyclic" class="item"><strong>IsAcyclic</strong></a></strong></dt>
1123 <dd>
1124 <div class="OptionsBox">
1125 $Status = $Graph-&gt;IsAcyclic();</div>
1126 <p>Returns 0 or 1 based on whether a cycle exist in a <em>Graph</em>.</p>
1127 </dd>
1128 <dt><strong><a name="isacyclicedge" class="item"><strong>IsAcyclicEdge</strong></a></strong></dt>
1129 <dd>
1130 <div class="OptionsBox">
1131 $Status = $Graph-&gt;IsAcyclicEdge($VertexID1, $VertexID2);</div>
1132 <p>Returns 0 or 1 based on whether a cycle containing an edge between <em>VertexID1</em> and
1133 <em>VertexID2</em> exists in a <em>Graph</em>.</p>
1134 </dd>
1135 <dt><strong><a name="isacyclicvertex" class="item"><strong>IsAcyclicVertex</strong></a></strong></dt>
1136 <dd>
1137 <div class="OptionsBox">
1138 $Status = $Graph-&gt;IsAcyclicVertex($VertexID1);</div>
1139 <p>Returns 0 or 1 based on whether a cycle containing a <em>VertexID</em> exists in a <em>Graph</em>.</p>
1140 </dd>
1141 <dt><strong><a name="iscyclic" class="item"><strong>IsCyclic</strong></a></strong></dt>
1142 <dd>
1143 <div class="OptionsBox">
1144 $Status = $Graph-&gt;IsCyclic();</div>
1145 <p>Returns 1 or 0 based on whether a cycle exist in a <em>Graph</em>.</p>
1146 </dd>
1147 <dt><strong><a name="iscyclicedge" class="item"><strong>IsCyclicEdge</strong></a></strong></dt>
1148 <dd>
1149 <div class="OptionsBox">
1150 $Status = $Graph-&gt;IsCyclicEdge($VertexID1, $VertexID2);</div>
1151 <p>Returns 1 or 0 based on whether a cycle containing an edge between <em>VertexID1</em> and
1152 <em>VertexID2</em> exists in a <em>Graph</em>.</p>
1153 </dd>
1154 <dt><strong><a name="iscyclicvertex" class="item"><strong>IsCyclicVertex</strong></a></strong></dt>
1155 <dd>
1156 <div class="OptionsBox">
1157 $Status = $Graph-&gt;IsCyclicVertex($VertexID1);</div>
1158 <p>Returns 1 or 0 based on whether a cycle containing a <em>VertexID</em> exists in a <em>Graph</em>.</p>
1159 </dd>
1160 <dt><strong><a name="isgraph" class="item"><strong>IsGraph</strong></a></strong></dt>
1161 <dd>
1162 <div class="OptionsBox">
1163 $Status = Graph::IsGraph($Object);</div>
1164 <p>Returns 1 or 0 based on whether <em>Object</em> is a <strong>Graph</strong> object.</p>
1165 </dd>
1166 <dt><strong><a name="isisolatedvertex" class="item"><strong>IsIsolatedVertex</strong></a></strong></dt>
1167 <dd>
1168 <div class="OptionsBox">
1169 $Status = $Graph-&gt;IsIsolatedVertex($VertexID);</div>
1170 <p>Returns 1 or 0 based on whether <em>VertexID</em> is an isolated vertex in a <em>Graph</em>. A vertex
1171 with zero as its degree value is considered an isolated vertex.</p>
1172 </dd>
1173 <dt><strong><a name="isleafvertex" class="item"><strong>IsLeafVertex</strong></a></strong></dt>
1174 <dd>
1175 <div class="OptionsBox">
1176 $Status = $Graph-&gt;IsLeafVertex($VertexID);</div>
1177 <p>Returns 1 or 0 based on whether <em>VertexID</em> is an isolated vertex in a <em>Graph</em>. A vertex
1178 with one as its degree value is considered an isolated vertex.</p>
1179 </dd>
1180 <dt><strong><a name="isunicyclic" class="item"><strong>IsUnicyclic</strong></a></strong></dt>
1181 <dd>
1182 <div class="OptionsBox">
1183 $Status = $Graph-&gt;IsUnicyclic();</div>
1184 <p>Returns 1 or 0 based on whether only one cycle is present in a <em>Graph</em>.</p>
1185 </dd>
1186 <dt><strong><a name="isunicyclicedge" class="item"><strong>IsUnicyclicEdge</strong></a></strong></dt>
1187 <dd>
1188 <div class="OptionsBox">
1189 $Status = $Graph-&gt;IsUnicyclicEdge($VertexID1, $VertexID2);</div>
1190 <p>Returns 1 or 0 based on whether only one cycle contains the edge between <em>VertexID1</em> and
1191 <em>VertexID2</em> in a <em>Graph</em>.</p>
1192 </dd>
1193 <dt><strong><a name="isunicyclicvertex" class="item"><strong>IsUnicyclicVertex</strong></a></strong></dt>
1194 <dd>
1195 <div class="OptionsBox">
1196 $Status = $Graph-&gt;IsUnicyclicVertex($VertexID);</div>
1197 <p>Returns 1 or 0 based on whether only one cycle contains <em>VertexID</em> in a <em>Graph</em>.</p>
1198 </dd>
1199 <dt><strong><a name="setactivecyclicpaths" class="item"><strong>SetActiveCyclicPaths</strong></a></strong></dt>
1200 <dd>
1201 <div class="OptionsBox">
1202 $Graph-&gt;SetActiveCyclicPaths($CyclicPathsType);</div>
1203 <p>Sets the type of cyclic paths to use during all methods related to cycles and returns <em>Graph</em>.
1204 Possible values for cyclic paths: <em>Independent or All</em>.</p>
1205 </dd>
1206 <dt><strong><a name="setedgeproperties" class="item"><strong>SetEdgeProperties</strong></a></strong></dt>
1207 <dd>
1208 <div class="OptionsBox">
1209 $Graph-&gt;SetEdgeProperties($VertexID1, $VertexID2, @NamesAndValues);</div>
1210 <p>Associates property names and values corresponding to successive pairs of values in
1211 <em>NamesAndValues</em> to an edge between <em>VertexID1</em> and <em>VertexID2</em> in a <em>Graph</em>
1212 and returns <em>Graph</em>.</p>
1213 </dd>
1214 <dt><strong><a name="setedgeproperty" class="item"><strong>SetEdgeProperty</strong></a></strong></dt>
1215 <dd>
1216 <div class="OptionsBox">
1217 $Graph-&gt;SetEdgeProperty($Name, $Value, $VertexID1, $VertexID2);</div>
1218 <p>Associates property <em>Name</em> and <em>Value</em> to an edge between <em>VertexID1</em> and <em>VertexID2</em>
1219 in a <em>Graph</em> and returns <em>Graph</em>.</p>
1220 </dd>
1221 <dt><strong><a name="setedgesproperty" class="item"><strong>SetEdgesProperty</strong></a></strong></dt>
1222 <dd>
1223 <div class="OptionsBox">
1224 $Graph-&gt;SetEdgesProperty($Name, @ValuesAndVertexIDs);</div>
1225 <p>Associates a same property <em>Name</em> but different <em>Values</em> for different edges specified using
1226 triplets of <em>PropertyValue, $VertexID1, $VertexID2</em> via <em>ValuesAndVertexIDs</em> in a <em>graph</em>.</p>
1227 </dd>
1228 <dt><strong><a name="setgraphproperties" class="item"><strong>SetGraphProperties</strong></a></strong></dt>
1229 <dd>
1230 <div class="OptionsBox">
1231 $Graph-&gt;SetGraphProperties(%NamesAndValues);</div>
1232 <p>Associates property names and values <em>NamesAndValues</em> hash to graph as opposed to vertex
1233 or edge and returns <em>Graph</em>.</p>
1234 </dd>
1235 <dt><strong><a name="setgraphproperty" class="item"><strong>SetGraphProperty</strong></a></strong></dt>
1236 <dd>
1237 <div class="OptionsBox">
1238 $Graph-&gt;SetGraphProperty($Name, $Value);</div>
1239 <p>Associates property <em>Name</em> and <em>Value</em> to graph as opposed to vertex
1240 or edge and returns <em>Graph</em>.</p>
1241 </dd>
1242 <dt><strong><a name="setvertexproperties" class="item"><strong>SetVertexProperties</strong></a></strong></dt>
1243 <dd>
1244 <div class="OptionsBox">
1245 $Graph-&gt;SetVertexProperties($VertexID, @NamesAndValues);</div>
1246 <p>Associates property names and values corresponding to successive pairs of values in
1247 <em>NamesAndValues</em> to <em>VertexID</em> in a <em>Graph</em> and returns <em>Graph</em>.</p>
1248 </dd>
1249 <dt><strong><a name="setvertexproperty" class="item"><strong>SetVertexProperty</strong></a></strong></dt>
1250 <dd>
1251 <div class="OptionsBox">
1252 $Graph-&gt;SetVertexProperty($Name, $Value, $VertexID);</div>
1253 <p>Associates property <em>Name</em> and <em>Value</em> to <em>VertexID</em> in a <em>Graph</em> and returns <em>Graph</em>.</p>
1254 </dd>
1255 <dt><strong><a name="setverticesproperty" class="item"><strong>SetVerticesProperty</strong></a></strong></dt>
1256 <dd>
1257 <div class="OptionsBox">
1258 $Graph-&gt;SetVerticesProperty($Name, @ValuesAndVertexIDs));</div>
1259 <p>Associates a same property <em>Name</em> but different <em>Values</em> for different vertices specified using
1260 doublets of <em>PropertyValue, $VertexID</em> via <em>ValuesAndVertexIDs</em> in a <em>graph</em>.</p>
1261 </dd>
1262 <dt><strong><a name="stringifyedgesproperties" class="item"><strong>StringifyEdgesProperties</strong></a></strong></dt>
1263 <dd>
1264 <div class="OptionsBox">
1265 $String = $Graph-&gt;StringifyEdgesProperties();</div>
1266 <p>Returns a string containing information about properties associated with all edges in a <em>Graph</em> object.</p>
1267 </dd>
1268 <dt><strong><a name="stringifygraph" class="item"><strong>StringifyGraph</strong></a></strong></dt>
1269 <dd>
1270 <div class="OptionsBox">
1271 $String = $Graph-&gt;StringifyGraph();</div>
1272 <p>Returns a string containing information about <em>Graph</em> object.</p>
1273 </dd>
1274 <dt><strong><a name="stringifygraphproperties" class="item"><strong>StringifyGraphProperties</strong></a></strong></dt>
1275 <dd>
1276 <div class="OptionsBox">
1277 $String = $Graph-&gt;StringifyGraphProperties();</div>
1278 <p>Returns a string containing information about properties associated with graph as opposed to vertex.
1279 or an edge in a <em>Graph</em> object</p>
1280 </dd>
1281 <dt><strong><a name="stringifyproperties" class="item"><strong>StringifyProperties</strong></a></strong></dt>
1282 <dd>
1283 <div class="OptionsBox">
1284 $String = $Graph-&gt;StringifyProperties();</div>
1285 <p>Returns a string containing information about properties associated with graph, vertices, and edges in
1286 a <em>Graph</em> object.</p>
1287 </dd>
1288 <dt><strong><a name="stringifyverticesandedges" class="item"><strong>StringifyVerticesAndEdges</strong></a></strong></dt>
1289 <dd>
1290 <div class="OptionsBox">
1291 $String = $Graph-&gt;StringifyVerticesAndEdges();</div>
1292 <p>Returns a string containing information about vertices and edges in a <em>Graph</em> object.</p>
1293 </dd>
1294 <dt><strong><a name="stringifyverticesproperties" class="item"><strong>StringifyVerticesProperties</strong></a></strong></dt>
1295 <dd>
1296 <div class="OptionsBox">
1297 $String = $Graph-&gt;StringifyVerticesProperties();</div>
1298 <p>Returns a string containing information about properties associated with vertices a <em>Graph</em> object.</p>
1299 </dd>
1300 <dt><strong><a name="updateedgeproperty" class="item"><strong>UpdateEdgeProperty</strong></a></strong></dt>
1301 <dd>
1302 <div class="OptionsBox">
1303 $Graph-&gt;UpdateEdgeProperty($Name, $Value, $VertexID1, $VertexID2);</div>
1304 <p>Updates property <em>Value</em> for <em>Name</em> associated with an edge between <em>VertexID1</em> and
1305 <em>VertexID1</em> and returns <em>Graph</em>.</p>
1306 </dd>
1307 <dt><strong><a name="updatevertexproperty" class="item"><strong>UpdateVertexProperty</strong></a></strong></dt>
1308 <dd>
1309 <div class="OptionsBox">
1310 $Graph-&gt;UpdateVertexProperty($Name, $Value, $VertexID);</div>
1311 <p>Updates property <em>Value</em> for <em>Name</em> associated with <em>VertexID</em> and returns <em>Graph</em>.</p>
1312 </dd>
1313 </dl>
1314 <p>
1315 </p>
1316 <h2>AUTHOR</h2>
1317 <p><a href="mailto:msud@san.rr.com">Manish Sud</a></p>
1318 <p>
1319 </p>
1320 <h2>SEE ALSO</h2>
1321 <p><a href="./CyclesDetection.html">CyclesDetection.pm</a>,&nbsp<a href="./Path.html">Path.pm</a>,&nbsp<a href="./PathGraph.html">PathGraph.pm</a>,&nbsp<a href="./PathsTraversal.html">PathsTraversal.pm</a>
1322 </p>
1323 <p>
1324 </p>
1325 <h2>COPYRIGHT</h2>
1326 <p>Copyright (C) 2015 Manish Sud. All rights reserved.</p>
1327 <p>This file is part of MayaChemTools.</p>
1328 <p>MayaChemTools is free software; you can redistribute it and/or modify it under
1329 the terms of the GNU Lesser General Public License as published by the Free
1330 Software Foundation; either version 3 of the License, or (at your option)
1331 any later version.</p>
1332 <p>&nbsp</p><p>&nbsp</p><div class="DocNav">
1333 <table width="100%" border=0 cellpadding=0 cellspacing=2>
1334 <tr align="left" valign="top"><td width="33%" align="left"><a href="./PathsTraversal.html" title="PathsTraversal.html">Previous</a>&nbsp;&nbsp;<a href="./index.html" title="Table of Contents">TOC</a>&nbsp;&nbsp;<a href="./HTMLUtil.html" title="HTMLUtil.html">Next</a></td><td width="34%" align="middle"><strong>March 29, 2015</strong></td><td width="33%" align="right"><strong>Graph.pm</strong></td></tr>
1335 </table>
1336 </div>
1337 <br />
1338 <center>
1339 <img src="../../images/h2o2.png">
1340 </center>
1341 </body>
1342 </html>