| 1 | 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>  <a href="./index.html" title="Table of Contents">TOC</a>  <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> | <a href="./../pdf/Graph.pdf" title="PDF US Letter Size">PDF</a> | <a href="./../pdfgreen/Graph.pdf" title="PDF US Letter Size with narrow margins: www.changethemargins.com">PDFGreen</a> | <a href="./../pdfa4/Graph.pdf" title="PDF A4 Size">PDFA4</a> | <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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->GetEdges($VertexID); | 
|  | 513 <br/>    $NumOfEdges = $Graph->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->GetNeighbors($VertexID); | 
|  | 674 <br/>    $NumOfNeighbors = $Graph->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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 <Length> 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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->GetVertices(); | 
|  | 1032 <br/>    $VertexCount = $Graph->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->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->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->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->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->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->HasEdges(@VertexIDs); | 
|  | 1076 <br/>    $FoundEdgesCount = $Graph->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->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->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->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->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->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->HasVertices(@VertexIDs); | 
|  | 1118 <br/>    $VerticesFoundCount = $Graph->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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->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>, <a href="./Path.html">Path.pm</a>, <a href="./PathGraph.html">PathGraph.pm</a>, <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> </p><p> </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>  <a href="./index.html" title="Table of Contents">TOC</a>  <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> |