Mercurial > repos > deepakjadmin > mayatool3_test3
comparison mayachemtools/docs/modules/man3/Graph.3 @ 0:73ae111cf86f draft
Uploaded
author | deepakjadmin |
---|---|
date | Wed, 20 Jan 2016 11:55:01 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:73ae111cf86f |
---|---|
1 .\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.22) | |
2 .\" | |
3 .\" Standard preamble: | |
4 .\" ======================================================================== | |
5 .de Sp \" Vertical space (when we can't use .PP) | |
6 .if t .sp .5v | |
7 .if n .sp | |
8 .. | |
9 .de Vb \" Begin verbatim text | |
10 .ft CW | |
11 .nf | |
12 .ne \\$1 | |
13 .. | |
14 .de Ve \" End verbatim text | |
15 .ft R | |
16 .fi | |
17 .. | |
18 .\" Set up some character translations and predefined strings. \*(-- will | |
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left | |
20 .\" double quote, and \*(R" will give a right double quote. \*(C+ will | |
21 .\" give a nicer C++. Capital omega is used to do unbreakable dashes and | |
22 .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, | |
23 .\" nothing in troff, for use with C<>. | |
24 .tr \(*W- | |
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' | |
26 .ie n \{\ | |
27 . ds -- \(*W- | |
28 . ds PI pi | |
29 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch | |
30 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch | |
31 . ds L" "" | |
32 . ds R" "" | |
33 . ds C` "" | |
34 . ds C' "" | |
35 'br\} | |
36 .el\{\ | |
37 . ds -- \|\(em\| | |
38 . ds PI \(*p | |
39 . ds L" `` | |
40 . ds R" '' | |
41 'br\} | |
42 .\" | |
43 .\" Escape single quotes in literal strings from groff's Unicode transform. | |
44 .ie \n(.g .ds Aq \(aq | |
45 .el .ds Aq ' | |
46 .\" | |
47 .\" If the F register is turned on, we'll generate index entries on stderr for | |
48 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index | |
49 .\" entries marked with X<> in POD. Of course, you'll have to process the | |
50 .\" output yourself in some meaningful fashion. | |
51 .ie \nF \{\ | |
52 . de IX | |
53 . tm Index:\\$1\t\\n%\t"\\$2" | |
54 .. | |
55 . nr % 0 | |
56 . rr F | |
57 .\} | |
58 .el \{\ | |
59 . de IX | |
60 .. | |
61 .\} | |
62 .\" | |
63 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). | |
64 .\" Fear. Run. Save yourself. No user-serviceable parts. | |
65 . \" fudge factors for nroff and troff | |
66 .if n \{\ | |
67 . ds #H 0 | |
68 . ds #V .8m | |
69 . ds #F .3m | |
70 . ds #[ \f1 | |
71 . ds #] \fP | |
72 .\} | |
73 .if t \{\ | |
74 . ds #H ((1u-(\\\\n(.fu%2u))*.13m) | |
75 . ds #V .6m | |
76 . ds #F 0 | |
77 . ds #[ \& | |
78 . ds #] \& | |
79 .\} | |
80 . \" simple accents for nroff and troff | |
81 .if n \{\ | |
82 . ds ' \& | |
83 . ds ` \& | |
84 . ds ^ \& | |
85 . ds , \& | |
86 . ds ~ ~ | |
87 . ds / | |
88 .\} | |
89 .if t \{\ | |
90 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" | |
91 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' | |
92 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' | |
93 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' | |
94 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' | |
95 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' | |
96 .\} | |
97 . \" troff and (daisy-wheel) nroff accents | |
98 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' | |
99 .ds 8 \h'\*(#H'\(*b\h'-\*(#H' | |
100 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] | |
101 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' | |
102 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' | |
103 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] | |
104 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] | |
105 .ds ae a\h'-(\w'a'u*4/10)'e | |
106 .ds Ae A\h'-(\w'A'u*4/10)'E | |
107 . \" corrections for vroff | |
108 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' | |
109 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' | |
110 . \" for low resolution devices (crt and lpr) | |
111 .if \n(.H>23 .if \n(.V>19 \ | |
112 \{\ | |
113 . ds : e | |
114 . ds 8 ss | |
115 . ds o a | |
116 . ds d- d\h'-1'\(ga | |
117 . ds D- D\h'-1'\(hy | |
118 . ds th \o'bp' | |
119 . ds Th \o'LP' | |
120 . ds ae ae | |
121 . ds Ae AE | |
122 .\} | |
123 .rm #[ #] #H #V #F C | |
124 .\" ======================================================================== | |
125 .\" | |
126 .IX Title "GRAPH 1" | |
127 .TH GRAPH 1 "2015-03-29" "perl v5.14.2" "MayaChemTools" | |
128 .\" For nroff, turn off justification. Always turn off hyphenation; it makes | |
129 .\" way too many mistakes in technical documents. | |
130 .if n .ad l | |
131 .nh | |
132 .SH "NAME" | |
133 Graph | |
134 .SH "SYNOPSIS" | |
135 .IX Header "SYNOPSIS" | |
136 use Graph; | |
137 .PP | |
138 use Graph qw(:all); | |
139 .SH "DESCRIPTION" | |
140 .IX Header "DESCRIPTION" | |
141 \&\fBGraph\fR class provides the following methods: | |
142 .PP | |
143 new, AddCycle, AddEdge, AddEdges, AddPath, AddVertex, AddVertices, ClearCycles, | |
144 Copy, CopyEdgesProperties, CopyVerticesAndEdges, CopyVerticesProperties, | |
145 DeleteCycle, DeleteEdge, DeleteEdgeProperties, DeleteEdgeProperty, DeleteEdges, | |
146 DeleteEdgesProperties, DeleteEdgesProperty, DeleteGraphProperties, | |
147 DeleteGraphProperty, DeletePath, DeleteVertex, DeleteVertexProperties, | |
148 DeleteVertexProperty, DeleteVertices, DeleteVerticesProperty, DetectCycles, | |
149 GetAdjacencyMatrix, GetAdmittanceMatrix, GetAllPaths, GetAllPathsStartingAt, | |
150 GetAllPathsStartingAtWithLength, GetAllPathsStartingAtWithLengthUpto, | |
151 GetAllPathsWithLength, GetAllPathsWithLengthUpto, GetCircumference, | |
152 GetConnectedComponentsVertices, GetCycles, GetCyclesWithEvenSize, | |
153 GetCyclesWithOddSize, GetCyclesWithSize, GetCyclesWithSizeGreaterThan, | |
154 GetCyclesWithSizeLessThan, GetDegree, GetDegreeMatrix, GetDistanceMatrix, | |
155 GetEdgeCycles, GetEdgeCyclesWithEvenSize, GetEdgeCyclesWithOddSize, | |
156 GetEdgeCyclesWithSize, GetEdgeCyclesWithSizeGreaterThan, | |
157 GetEdgeCyclesWithSizeLessThan, GetEdgeProperties, GetEdgeProperty, GetEdges, | |
158 GetEdgesProperty, GetFusedAndNonFusedCycles, GetGirth, GetGraphProperties, | |
159 GetGraphProperty, GetIncidenceMatrix, GetIsolatedVertices, GetKirchhoffMatrix, | |
160 GetLaplacianMatrix, GetLargestCycle, GetLargestEdgeCycle, GetLargestVertexCycle, | |
161 GetLeafVertices, GetMaximumDegree, GetMininumDegree, GetNeighborhoodVertices, | |
162 GetNeighborhoodVerticesWithRadiusUpto, GetNeighborhoodVerticesWithSuccessors, | |
163 GetNeighborhoodVerticesWithSuccessorsAndRadiusUpto, GetNeighbors, | |
164 GetNormalizedLaplacianMatrix, GetNumOfCycles, GetNumOfCyclesWithEvenSize, | |
165 GetNumOfCyclesWithOddSize, GetNumOfCyclesWithSize, | |
166 GetNumOfCyclesWithSizeGreaterThan, GetNumOfCyclesWithSizeLessThan, | |
167 GetNumOfEdgeCycles, GetNumOfEdgeCyclesWithEvenSize, GetNumOfEdgeCyclesWithOddSize, | |
168 GetNumOfEdgeCyclesWithSize, GetNumOfEdgeCyclesWithSizeGreaterThan, | |
169 GetNumOfEdgeCyclesWithSizeLessThan, GetNumOfVertexCycles, | |
170 GetNumOfVertexCyclesWithEvenSize, GetNumOfVertexCyclesWithOddSize, | |
171 GetNumOfVertexCyclesWithSize, GetNumOfVertexCyclesWithSizeGreaterThan, | |
172 GetNumOfVertexCyclesWithSizeLessThan, GetPaths, GetPathsBetween, | |
173 GetPathsStartingAt, GetPathsStartingAtWithLength, | |
174 GetPathsStartingAtWithLengthUpto, GetPathsWithLength, GetPathsWithLengthUpto, | |
175 GetSiedelAdjacencyMatrix, GetSizeOfLargestCycle, GetSizeOfLargestEdgeCycle, | |
176 GetSizeOfLargestVertexCycle, GetSizeOfSmallestCycle, GetSizeOfSmallestEdgeCycle, | |
177 GetSizeOfSmallestVertexCycle, GetSmallestCycle, GetSmallestEdgeCycle, | |
178 GetSmallestVertexCycle, GetTopologicallySortedVertices, GetVertex, | |
179 GetVertexCycles, GetVertexCyclesWithEvenSize, GetVertexCyclesWithOddSize, | |
180 GetVertexCyclesWithSize, GetVertexCyclesWithSizeGreaterThan, | |
181 GetVertexCyclesWithSizeLessThan, GetVertexProperties, GetVertexProperty, | |
182 GetVertexWithLargestDegree, GetVertexWithSmallestDegree, GetVertices, | |
183 GetVerticesProperty, GetVerticesWithDegreeLessThan, HasCycle, HasEdge, | |
184 HasEdgeProperty, HasEdges, HasFusedCycles, HasGraphProperty, HasPath, HasVertex, | |
185 HasVertexProperty, HasVertices, IsAcyclic, IsAcyclicEdge, IsAcyclicVertex, | |
186 IsCyclic, IsCyclicEdge, IsCyclicVertex, IsGraph, IsIsolatedVertex, IsLeafVertex, | |
187 IsUnicyclic, IsUnicyclicEdge, IsUnicyclicVertex, SetActiveCyclicPaths, | |
188 SetEdgeProperties, SetEdgeProperty, SetEdgesProperty, SetGraphProperties, | |
189 SetGraphProperty, SetVertexProperties, SetVertexProperty, SetVerticesProperty, | |
190 StringifyEdgesProperties, StringifyGraph, StringifyGraphProperties, | |
191 StringifyProperties, StringifyVerticesAndEdges, StringifyVerticesProperties, | |
192 UpdateEdgeProperty, UpdateVertexProperty | |
193 .SS "\s-1METHODS\s0" | |
194 .IX Subsection "METHODS" | |
195 .IP "\fBnew\fR" 4 | |
196 .IX Item "new" | |
197 .Vb 1 | |
198 \& $NewGraph = new Graph([@VertexIDs]); | |
199 .Ve | |
200 .Sp | |
201 Using specified \fIGraph\fR \fIVertexIDs\fR, \fBnew\fR method creates a new \fBGraph\fR object and returns | |
202 newly created \fBGraph\fR object. | |
203 .Sp | |
204 Examples: | |
205 .Sp | |
206 .Vb 2 | |
207 \& $Graph = new Graph(); | |
208 \& $Graph = new Graph(@VertexIDs); | |
209 .Ve | |
210 .IP "\fBAddCycle\fR" 4 | |
211 .IX Item "AddCycle" | |
212 .Vb 1 | |
213 \& $Graph\->AddCycle(@VertexIDs); | |
214 .Ve | |
215 .Sp | |
216 Adds edges between successive pair of \fIVertexIDs\fR including an additional edge from the last | |
217 to first vertex \s-1ID\s0 to complete the cycle to \fIGraph\fR and returns \fIGraph\fR. | |
218 .IP "\fBAddEdge\fR" 4 | |
219 .IX Item "AddEdge" | |
220 .Vb 1 | |
221 \& $Graph\->AddEdge($VertexID1, $VertexID2); | |
222 .Ve | |
223 .Sp | |
224 Adds an edge between \fIVertexID1\fR and \fIVertexID2\fR in a \fIGraph\fR and returns \fIGraph\fR. | |
225 .IP "\fBAddEdges\fR" 4 | |
226 .IX Item "AddEdges" | |
227 .Vb 1 | |
228 \& $Graph\->AddEdges(@VertexIDs); | |
229 .Ve | |
230 .Sp | |
231 Adds edges between successive pair of \fIVertexIDs\fR in a \fIGraph\fR and returns \fIGraph\fR. | |
232 .IP "\fBAddPath\fR" 4 | |
233 .IX Item "AddPath" | |
234 .Vb 1 | |
235 \& $Graph\->AddPath(@VertexIDs); | |
236 .Ve | |
237 .Sp | |
238 Adds edges between successive pair of \fIVertexIDs\fR in a \fIGraph\fR and returns \fIGraph\fR. | |
239 .IP "\fBAddVertex\fR" 4 | |
240 .IX Item "AddVertex" | |
241 .Vb 1 | |
242 \& $Graph\->AddVertex($VertexID); | |
243 .Ve | |
244 .Sp | |
245 Adds \fIVertexID\fR to \fIGraph\fR and returns \fIGraph\fR. | |
246 .IP "\fBAddVertices\fR" 4 | |
247 .IX Item "AddVertices" | |
248 .Vb 1 | |
249 \& $Graph\->AddVertices(@VertexIDs); | |
250 .Ve | |
251 .Sp | |
252 Adds vertices using \fIVertexIDs\fR to \fIGraph\fR and returns \fIGraph\fR. | |
253 .IP "\fBClearCycles\fR" 4 | |
254 .IX Item "ClearCycles" | |
255 .Vb 1 | |
256 \& $Graph\->ClearCycles(); | |
257 .Ve | |
258 .Sp | |
259 Delete all cycle properties assigned to graph, vertices, and edges by \fIDetectCycles\fR method. | |
260 .IP "\fBCopy\fR" 4 | |
261 .IX Item "Copy" | |
262 .Vb 1 | |
263 \& $NewGraph = $Graph\->Copy(); | |
264 .Ve | |
265 .Sp | |
266 Copies \fIGraph\fR and its associated data using \fBStorable::dclone\fR and returns a new | |
267 \&\fBGraph\fR object. | |
268 .IP "\fBCopyEdgesProperties\fR" 4 | |
269 .IX Item "CopyEdgesProperties" | |
270 .Vb 1 | |
271 \& $OtherGraph = $Graph\->CopyEdgesProperties($OtherGraph); | |
272 .Ve | |
273 .Sp | |
274 Copies all properties associated with edges from \fIGraph\fR to \fI\f(CI$OtherGraph\fI\fR and | |
275 returns \fIOtherGraph\fR. | |
276 .IP "\fBCopyVerticesAndEdges\fR" 4 | |
277 .IX Item "CopyVerticesAndEdges" | |
278 .Vb 1 | |
279 \& $OtherGraph = $Graph\->CopyVerticesAndEdges($OtherGraph); | |
280 .Ve | |
281 .Sp | |
282 Copies all vertices and edges from \fIGraph\fR to \fI\f(CI$OtherGraph\fI\fR and returns \fIOtherGraph\fR. | |
283 .IP "\fBCopyVerticesProperties\fR" 4 | |
284 .IX Item "CopyVerticesProperties" | |
285 .Vb 1 | |
286 \& $OtherGraph = $Graph\->CopyVerticesProperties($OtherGraph); | |
287 .Ve | |
288 .Sp | |
289 Copies all properties associated with vertices from \fIGraph\fR to \fI\f(CI$OtherGraph\fI\fR and | |
290 returns \fIOtherGraph\fR. | |
291 .IP "\fBDeleteCycle\fR" 4 | |
292 .IX Item "DeleteCycle" | |
293 .Vb 1 | |
294 \& $Graph\->DeleteCycle(@VertexIDs); | |
295 .Ve | |
296 .Sp | |
297 Deletes edges between successive pair of \fIVertexIDs\fR including an additional edge from the last | |
298 to first vertex \s-1ID\s0 to complete the cycle to \fIGraph\fR and returns \fIGraph\fR. | |
299 .IP "\fBDeleteEdge\fR" 4 | |
300 .IX Item "DeleteEdge" | |
301 .Vb 1 | |
302 \& $Graph\->DeleteEdge($VertexID1, $VertexID2); | |
303 .Ve | |
304 .Sp | |
305 Deletes an edge between \fIVertexID1\fR and \fIVertexID2\fR in a \fIGraph\fR and returns \fIGraph\fR. | |
306 .IP "\fBDeleteEdgeProperties\fR" 4 | |
307 .IX Item "DeleteEdgeProperties" | |
308 .Vb 1 | |
309 \& $Graph\->DeleteEdgeProperties($VertexID1, $VertexID2); | |
310 .Ve | |
311 .Sp | |
312 Deletes all properties associated with edge between \fIVertexID1\fR and \fIVertexID2\fR in a \fIGraph\fR | |
313 and returns \fIGraph\fR. | |
314 .IP "\fBDeleteEdgeProperty\fR" 4 | |
315 .IX Item "DeleteEdgeProperty" | |
316 .Vb 1 | |
317 \& $Graph\->DeleteEdgeProperty($PropertyName, $VertexID1, $VertexID2); | |
318 .Ve | |
319 .Sp | |
320 Deletes \fIPropertyName\fR associated with edge between \fIVertexID1\fR and \fIVertexID2\fR in a \fIGraph\fR | |
321 and returns \fIGraph\fR. | |
322 .IP "\fBDeleteEdges\fR" 4 | |
323 .IX Item "DeleteEdges" | |
324 .Vb 1 | |
325 \& $Graph\->DeleteEdges(@VertexIDs); | |
326 .Ve | |
327 .Sp | |
328 Deletes edges between successive pair of \fIVertexIDs\fR and returns \fIGraph\fR. | |
329 .IP "\fBDeleteEdgesProperties\fR" 4 | |
330 .IX Item "DeleteEdgesProperties" | |
331 .Vb 1 | |
332 \& $Graph\->DeleteEdgesProperties(@VertexIDs); | |
333 .Ve | |
334 .Sp | |
335 Deletes all properties associated with edges between successive pair of \fIVertexIDs\fR and | |
336 returns \fIGraph\fR. | |
337 .IP "\fBDeleteEdgesProperty\fR" 4 | |
338 .IX Item "DeleteEdgesProperty" | |
339 .Vb 1 | |
340 \& $Graph\->DeleteEdgesProperty($PropertyName, @VertexIDs); | |
341 .Ve | |
342 .Sp | |
343 Deletes \fIPropertyName\fR associated with edges between successive pair of \fIVertexIDs\fR | |
344 and returns \fIGraph\fR. | |
345 .IP "\fBDeleteGraphProperties\fR" 4 | |
346 .IX Item "DeleteGraphProperties" | |
347 .Vb 1 | |
348 \& $Graph\->DeleteGraphProperties(); | |
349 .Ve | |
350 .Sp | |
351 Deletes all properties associated as graph not including properties associated to vertices | |
352 or edges and returns \fIGraph\fR. | |
353 .IP "\fBDeleteGraphProperty\fR" 4 | |
354 .IX Item "DeleteGraphProperty" | |
355 .Vb 1 | |
356 \& $Graph\->DeleteGraphProperty($PropertyName); | |
357 .Ve | |
358 .Sp | |
359 Deletes a \fIPropertyName\fR associated as graph property and returns \fIGraph\fR. | |
360 .IP "\fBDeletePath\fR" 4 | |
361 .IX Item "DeletePath" | |
362 .Vb 1 | |
363 \& $Graph\->DeletePath(@VertexIDs); | |
364 .Ve | |
365 .Sp | |
366 Deletes edges between successive pair of \fIVertexIDs\fR in a \fIGraph\fR and returns \fIGraph\fR. | |
367 .IP "\fBDeleteVertex\fR" 4 | |
368 .IX Item "DeleteVertex" | |
369 .Vb 1 | |
370 \& $Graph\->DeleteVertex($VertexID); | |
371 .Ve | |
372 .Sp | |
373 Deletes \fIVertexID\fR to \fIGraph\fR and returns \fIGraph\fR. | |
374 .IP "\fBDeleteVertexProperties\fR" 4 | |
375 .IX Item "DeleteVertexProperties" | |
376 .Vb 1 | |
377 \& $Graph\->DeleteVertexProperties($VertexID); | |
378 .Ve | |
379 .Sp | |
380 Deletes all properties associated with \fIVertexID\fR and returns \fIGraph\fR. | |
381 .IP "\fBDeleteVertexProperty\fR" 4 | |
382 .IX Item "DeleteVertexProperty" | |
383 .Vb 1 | |
384 \& $Graph\->DeleteVertexProperty($PropertyName, $VertexID); | |
385 .Ve | |
386 .Sp | |
387 Deletes a \fIPropertyName\fR associated with \fIVertexID\fR and returns \fIGraph\fR. | |
388 .IP "\fBDeleteVertices\fR" 4 | |
389 .IX Item "DeleteVertices" | |
390 .Vb 1 | |
391 \& $Graph\->DeleteVertices(@VertexIDs); | |
392 .Ve | |
393 .Sp | |
394 Deletes vertices specified in \fIVertexIDs\fR and returns \fIGraph\fR. | |
395 .IP "\fBDeleteVerticesProperty\fR" 4 | |
396 .IX Item "DeleteVerticesProperty" | |
397 .Vb 1 | |
398 \& $Graph\->DeleteVerticesProperty($PropertyName, @VertexIDs); | |
399 .Ve | |
400 .Sp | |
401 Deletes a \fIPropertyName\fR associated with \fIVertexIDs\fR and returns \fIGraph\fR. | |
402 .IP "\fBDetectCycles\fR" 4 | |
403 .IX Item "DetectCycles" | |
404 .Vb 1 | |
405 \& $Graph\->DetectCycles(); | |
406 .Ve | |
407 .Sp | |
408 Detect cycles using \fBCyclesDetection\fR class and associate found cycles to \fIGraph\fR | |
409 object as graph properties: \fIActiveCyclicPaths, AllCyclicPaths, IndependentCyclicPaths\fR. | |
410 .Sp | |
411 Notes: | |
412 .Sp | |
413 .Vb 6 | |
414 \& . CyclesDetection class detects all cycles in the graph and filters | |
415 \& them to find independent cycles. | |
416 \& . All cycles related methods in the graph operate on | |
417 \& ActiveCyclicPaths. By default, active cyclic paths correspond | |
418 \& to IndependentCyclicPaths. This behavior can be changed | |
419 \& using SetActiveCyclicPaths method. | |
420 .Ve | |
421 .IP "\fBGetAdjacencyMatrix\fR" 4 | |
422 .IX Item "GetAdjacencyMatrix" | |
423 .Vb 1 | |
424 \& $GraphMatrix = $Graph\->GetAdjacencyMatrix(); | |
425 .Ve | |
426 .Sp | |
427 Returns adjacency matrix for \fIGraph\fR as a \fIGraphMatrix\fR object with row and column indices | |
428 corresponding to graph vertices returned by GetVertices method. | |
429 .Sp | |
430 For a simple graph G with n vertices, the adjacency matrix for G is a n x n square matrix and | |
431 its elements Mij are: | |
432 .Sp | |
433 .Vb 3 | |
434 \& . 0 if i == j | |
435 \& . 1 if i != j and vertex Vi is adjacent to vertex Vj | |
436 \& . 0 if i != j and vertex Vi is not adjacent to vertex Vj | |
437 .Ve | |
438 .IP "\fBGetAdmittanceMatrix\fR" 4 | |
439 .IX Item "GetAdmittanceMatrix" | |
440 .Vb 1 | |
441 \& $GraphMatrix = $Graph\->GetAdmittanceMatrix(); | |
442 .Ve | |
443 .Sp | |
444 Returns admittance matrix for \fIGraph\fR as a \fIGraphMatrix\fR object with row and column indices | |
445 corresponding to graph vertices returned by GetVertices method. | |
446 .Sp | |
447 For a simple graph G with n vertices, the adjacency matrix for G is a n x n square matrix and | |
448 its elements Mij are: | |
449 .Sp | |
450 .Vb 3 | |
451 \& . 0 if i == j | |
452 \& . 1 if i != j and vertex Vi is adjacent to vertex Vj | |
453 \& . 0 if i != j and vertex Vi is not adjacent to vertex Vj | |
454 .Ve | |
455 .IP "\fBGetAllPaths\fR" 4 | |
456 .IX Item "GetAllPaths" | |
457 .Vb 1 | |
458 \& $PathsRef = $Graph\->GetAllPaths([$AllowCycles]); | |
459 .Ve | |
460 .Sp | |
461 Returns a reference to an array containing \fBPath\fR objects corresponding to all possible | |
462 lengths starting from each vertex in graph with sharing of edges in paths traversed. | |
463 By default, cycles are included in paths. A path containing a cycle is terminated at a vertex | |
464 completing the cycle. Duplicate paths are not removed. | |
465 .IP "\fBGetAllPathsStartingAt\fR" 4 | |
466 .IX Item "GetAllPathsStartingAt" | |
467 .Vb 2 | |
468 \& @Paths = $Graph\->GetAllPathsStartingAt($StartVertexID, | |
469 \& [$AllowCycles]); | |
470 .Ve | |
471 .Sp | |
472 Returns an array of \fIPath\fR objects starting from a \fIStartVertexID\fR of any length | |
473 with sharing of edges in paths traversed. By default, cycles are included in paths. | |
474 A path containing a cycle is terminated at a vertex completing the cycle. | |
475 .IP "\fBGetAllPathsStartingAtWithLength\fR" 4 | |
476 .IX Item "GetAllPathsStartingAtWithLength" | |
477 .Vb 2 | |
478 \& @Paths = $Graph\->GetAllPathsStartingAtWithLength($StartVertexID, | |
479 \& $Length, [$AllowCycles]); | |
480 .Ve | |
481 .Sp | |
482 Returns an array of \fIPath\fR objects starting from a \fIStartVertexID\fR of specified \fILength\fR | |
483 with sharing of edges in paths traversed. By default, cycles are included in paths. | |
484 A path containing a cycle is terminated at a vertex completing the cycle. | |
485 .IP "\fBGetAllPathsStartingAtWithLengthUpto\fR" 4 | |
486 .IX Item "GetAllPathsStartingAtWithLengthUpto" | |
487 .Vb 2 | |
488 \& @Paths = $Graph\->GetAllPathsStartingAtWithLengthUpto($StartVertexID, | |
489 \& $Length, [$AllowCycles]); | |
490 .Ve | |
491 .Sp | |
492 Returns an array of \fIPath\fR objects starting from a \fIStartVertexID\fR with length upto a | |
493 \&\fILength\fR with sharing of edges in paths traversed. By default, cycles are included in paths. | |
494 A path containing a cycle is terminated at a vertex completing the cycle. | |
495 .IP "\fBGetAllPathsWithLength\fR" 4 | |
496 .IX Item "GetAllPathsWithLength" | |
497 .Vb 2 | |
498 \& $PathsRef = $Graph\->GetAllPathsWithLength($Length, | |
499 \& [$AllowCycles]); | |
500 .Ve | |
501 .Sp | |
502 Returns a reference to an array containing \fBPath\fR objects corresponding to paths with | |
503 \&\fILength\fR starting from each vertex in graph with sharing of edges in paths traversed. | |
504 By default, cycles are included in paths. A path containing a cycle is terminated at a vertex | |
505 completing the cycle. Duplicate paths are not removed. | |
506 .IP "\fBGetAllPathsWithLengthUpto\fR" 4 | |
507 .IX Item "GetAllPathsWithLengthUpto" | |
508 .Vb 2 | |
509 \& $PathsRef = $Graph\->GetAllPathsWithLengthUpto($Length, | |
510 \& [$AllowCycles]); | |
511 .Ve | |
512 .Sp | |
513 Returns a reference to an array containing \fBPath\fR objects corresponding to paths up to | |
514 specified \fILength\fR starting from each vertex in graph with sharing of edges in paths traversed. | |
515 By default, cycles are included in paths. A path containing a cycle is terminated at a vertex | |
516 completing the cycle. Duplicate paths are not removed. | |
517 .IP "\fBGetCircumference\fR" 4 | |
518 .IX Item "GetCircumference" | |
519 .Vb 1 | |
520 \& $Circumference = $Graph\->GetCircumference(); | |
521 .Ve | |
522 .Sp | |
523 Returns size of largest cycle in a \fIGraph\fR | |
524 .IP "\fBGetConnectedComponentsVertices\fR" 4 | |
525 .IX Item "GetConnectedComponentsVertices" | |
526 .Vb 1 | |
527 \& @ConnectedComponents = $Graph\->GetConnectedComponentsVertices(); | |
528 .Ve | |
529 .Sp | |
530 Returns an array \fIConnectedComponents\fR containing referecens to arrays with vertex | |
531 IDs for each component sorted in order of their decreasing size. | |
532 .IP "\fBGetCycles\fR" 4 | |
533 .IX Item "GetCycles" | |
534 .Vb 1 | |
535 \& @CyclicPaths = $Graphs\->GetCycles(); | |
536 .Ve | |
537 .Sp | |
538 Returns an array \fICyclicPaths\fR containing \fIPath\fR objects corresponding to cycles | |
539 in a \fIGraph\fR. | |
540 .IP "\fBGetCyclesWithEvenSize\fR" 4 | |
541 .IX Item "GetCyclesWithEvenSize" | |
542 .Vb 1 | |
543 \& @CyclicPaths = $Graph\->GetCyclesWithEvenSize(); | |
544 .Ve | |
545 .Sp | |
546 Returns an array \fICyclicPaths\fR containing \fIPath\fR objects corresponding to cycles with | |
547 even size in a \fIGraph\fR. | |
548 .IP "\fBGetCyclesWithOddSize\fR" 4 | |
549 .IX Item "GetCyclesWithOddSize" | |
550 .Vb 1 | |
551 \& @CyclicPaths = $Graph\->GetCyclesWithOddSize(); | |
552 .Ve | |
553 .Sp | |
554 Returns an array \fICyclicPaths\fR containing \fIPath\fR objects corresponding to cycles with | |
555 odd size in a \fIGraph\fR. | |
556 .IP "\fBGetCyclesWithSize\fR" 4 | |
557 .IX Item "GetCyclesWithSize" | |
558 .Vb 1 | |
559 \& @CyclicPaths = $Graph\->GetCyclesWithSize($CycleSize); | |
560 .Ve | |
561 .Sp | |
562 Returns an array \fICyclicPaths\fR containing \fIPath\fR objects corresponding to cycles with | |
563 \&\fICycleSize\fR in a \fIGraph\fR. | |
564 .IP "\fBGetCyclesWithSizeGreaterThan\fR" 4 | |
565 .IX Item "GetCyclesWithSizeGreaterThan" | |
566 .Vb 1 | |
567 \& @CyclicPaths = $Graph\->GetCyclesWithSizeGreaterThan($CycleSize); | |
568 .Ve | |
569 .Sp | |
570 Returns an array \fICyclicPaths\fR containing \fIPath\fR objects corresponding to cycles with | |
571 size greater than \fICycleSize\fR in a \fIGraph\fR. | |
572 .IP "\fBGetCyclesWithSizeLessThan\fR" 4 | |
573 .IX Item "GetCyclesWithSizeLessThan" | |
574 .Vb 1 | |
575 \& @CyclicPaths = $Graph\->GetCyclesWithSizeGreaterThan($CycleSize); | |
576 .Ve | |
577 .Sp | |
578 Returns an array \fICyclicPaths\fR containing \fIPath\fR objects corresponding to cycles with | |
579 size less than \fICycleSize\fR in a \fIGraph\fR. | |
580 .IP "\fBGetDegree\fR" 4 | |
581 .IX Item "GetDegree" | |
582 .Vb 1 | |
583 \& $Degree = $Graph\->GetDegree($VertexID); | |
584 .Ve | |
585 .Sp | |
586 Returns \fBDegree\fR for \fIVertexID\fR in a \fIGraph\fR corresponding to sum of in and out vertex | |
587 degree values. | |
588 .IP "\fBGetDegreeMatrix\fR" 4 | |
589 .IX Item "GetDegreeMatrix" | |
590 .Vb 1 | |
591 \& $GraphMatrix = $Graph\->GetDegreeMatrix(); | |
592 .Ve | |
593 .Sp | |
594 Returns degree matrix for \fIGraph\fR as a \fIGraphMatrix\fR object with row and column indices | |
595 corresponding to graph vertices returned by GetVertices method. | |
596 .Sp | |
597 For a simple graph G with n vertices, the degree matrix for G is a n x n square matrix and | |
598 its elements Mij are: | |
599 .Sp | |
600 .Vb 2 | |
601 \& . deg(Vi) if i == j and deg(Vi) is the degree of vertex Vi | |
602 \& . 0 otherwise | |
603 .Ve | |
604 .IP "\fBGetDistanceMatrix\fR" 4 | |
605 .IX Item "GetDistanceMatrix" | |
606 .Vb 1 | |
607 \& $GraphMatrix = $Graph\->GetDistanceMatrix(); | |
608 .Ve | |
609 .Sp | |
610 Returns distance matrix for \fIGraph\fR as a \fIGraphMatrix\fR object with row and column indices | |
611 corresponding to graph vertices returned by GetVertices method. | |
612 .Sp | |
613 For a simple graph G with n vertices, the distance matrix for G is a n x n square matrix and | |
614 its elements Mij are: | |
615 .Sp | |
616 .Vb 2 | |
617 \& . 0 if i == j | |
618 \& . d if i != j and d is the shortest distance between vertex Vi and vertex Vj | |
619 .Ve | |
620 .Sp | |
621 In the final matrix, value of constant \fBBigNumber\fR defined in \fBConstants.pm\fR module | |
622 corresponds to vertices with no edges. | |
623 .IP "\fBGetEdgeCycles\fR" 4 | |
624 .IX Item "GetEdgeCycles" | |
625 .Vb 1 | |
626 \& @CyclicPaths = $Graph\->GetEdgeCycles($VertexID1, $VertexID2); | |
627 .Ve | |
628 .Sp | |
629 Returns an array \fICyclicPaths\fR containing \fIPath\fR objects corresponding to all cycles containing | |
630 edge between \fIVertexID1\fR and \fIVertexID2\fR in a \fIGraph\fR. | |
631 .IP "\fBGetEdgeCyclesWithEvenSize\fR" 4 | |
632 .IX Item "GetEdgeCyclesWithEvenSize" | |
633 .Vb 2 | |
634 \& @CyclicPaths = $Graph\->GetEdgeCyclesWithEvenSize($VertexID1, | |
635 \& $VertexID2); | |
636 .Ve | |
637 .Sp | |
638 Returns an array \fICyclicPaths\fR containing \fIPath\fR objects corresponding to cycles with | |
639 even size containing edge between \fIVertexID1\fR and \fIVertexID2\fR in a \fIGraph\fR. | |
640 .IP "\fBGetEdgeCyclesWithOddSize\fR" 4 | |
641 .IX Item "GetEdgeCyclesWithOddSize" | |
642 .Vb 2 | |
643 \& @CyclicPaths = $Graph\->GetEdgeCyclesWithOddSize($VertexID1, | |
644 \& $VertexID2); | |
645 .Ve | |
646 .Sp | |
647 Returns an array \fICyclicPaths\fR containing \fIPath\fR objects corresponding to cycles with | |
648 odd size containing edge between \fIVertexID1\fR and \fIVertexID2\fR in a \fIGraph\fR. | |
649 .IP "\fBGetEdgeCyclesWithSize\fR" 4 | |
650 .IX Item "GetEdgeCyclesWithSize" | |
651 .Vb 2 | |
652 \& @CyclicPaths = $Graph\->GetEdgeCyclesWithSize($VertexID1, $VertexID2, | |
653 \& $CycleSize); | |
654 .Ve | |
655 .Sp | |
656 Returns an array \fICyclicPaths\fR containing \fIPath\fR objects corresponding to cycles with | |
657 size \fICycleSize\fR containing edge between \fIVertexID1\fR and \fIVertexID2\fR in a \fIGraph\fR. | |
658 .IP "\fBGetEdgeCyclesWithSizeGreaterThan\fR" 4 | |
659 .IX Item "GetEdgeCyclesWithSizeGreaterThan" | |
660 .Vb 2 | |
661 \& @CyclicPaths = $Graph\->GetEdgeCyclesWithSizeGreaterThan($VertexID1, | |
662 \& $VertexID2, $CycleSize); | |
663 .Ve | |
664 .Sp | |
665 Returns an array \fICyclicPaths\fR containing \fIPath\fR objects corresponding to cycles with | |
666 size greater than \fICycleSize\fR containing edge between \fIVertexID1\fR and \fIVertexID2\fR | |
667 in a \fIGraph\fR. | |
668 .IP "\fBGetEdgeCyclesWithSizeLessThan\fR" 4 | |
669 .IX Item "GetEdgeCyclesWithSizeLessThan" | |
670 .Vb 2 | |
671 \& @CyclicPaths = $Graph\->GetEdgeCyclesWithSizeLessThan($VertexID1, | |
672 \& $VertexID2, $CycleSize); | |
673 .Ve | |
674 .Sp | |
675 Returns an array \fICyclicPaths\fR containing \fIPath\fR objects corresponding to cycles with | |
676 size less than \fICycleSize\fR containing edge between \fIVertexID1\fR and \fIVertexID2\fR. | |
677 .IP "\fBGetEdgeProperties\fR" 4 | |
678 .IX Item "GetEdgeProperties" | |
679 .Vb 1 | |
680 \& %EdgeProperties = $Graph\->GetEdgeProperties($VertexID1, $VertexID2); | |
681 .Ve | |
682 .Sp | |
683 Returns a hash \fBEdgeProperties\fR containing all \fBPropertyName\fR and \fBPropertyValue\fR | |
684 pairs associated with an edge between \fIVertexID1\fR and \fIVertexID2\fR in a \fIGraph\fR. | |
685 .IP "\fBGetEdgeProperty\fR" 4 | |
686 .IX Item "GetEdgeProperty" | |
687 .Vb 1 | |
688 \& $Value = $Graph\->GetEdgeProperty($PropertyName, $VertexID1, $VertexID2); | |
689 .Ve | |
690 .Sp | |
691 Returns value of \fIPropertyName\fR associated with an edge between \fIVertexID1\fR | |
692 and \fIVertexID2\fR in a \fIGraph\fR. | |
693 .IP "\fBGetEdges\fR" 4 | |
694 .IX Item "GetEdges" | |
695 .Vb 2 | |
696 \& @EdgeVertexIDs = $Graph\->GetEdges($VertexID); | |
697 \& $NumOfEdges = $Graph\->GetEdges($VertexID); | |
698 .Ve | |
699 .Sp | |
700 Returns an array \fIEdgeVertexIDs\fR with successive pair of IDs corresponding to edges involving | |
701 \&\fIVertexID\fR or number of edges for \fIVertexID\fR in a \fIGraph\fR. | |
702 .IP "\fBGetEdgesProperty\fR" 4 | |
703 .IX Item "GetEdgesProperty" | |
704 .Vb 1 | |
705 \& @PropertyValues = $Graph\->GetEdgesProperty($PropertyName, @VertexIDs); | |
706 .Ve | |
707 .Sp | |
708 Returns an array \fIPropertyValues\fR containing property values corresponding to | |
709 \&\fIPropertyName\fR associated with edges between successive pair of \fIVertexIDs\fR. | |
710 .IP "\fBGetFusedAndNonFusedCycles\fR" 4 | |
711 .IX Item "GetFusedAndNonFusedCycles" | |
712 .Vb 2 | |
713 \& ($FusedCycleSetsRef, $NonFusedCyclesRef) = | |
714 \& $Graph\->GetFusedAndNonFusedCycles(); | |
715 .Ve | |
716 .Sp | |
717 Returns references to arrays \fIFusedCycleSetsRef\fR and \fINonFusedCyclesRef\fR | |
718 containing references to arrays of cyclic \fIPath\fR objects corresponding to fuses and | |
719 non-fused cyclic paths. | |
720 .IP "\fBGetGirth\fR" 4 | |
721 .IX Item "GetGirth" | |
722 .Vb 1 | |
723 \& $Girth = $Graph\->GetGirth(); | |
724 .Ve | |
725 .Sp | |
726 Returns size of smallest cycle in a \fIGraph\fR. | |
727 .IP "\fBGetGraphProperties\fR" 4 | |
728 .IX Item "GetGraphProperties" | |
729 .Vb 1 | |
730 \& %GraphProperties = $Graph\->GetGraphProperties(); | |
731 .Ve | |
732 .Sp | |
733 Returns a hash \fBEdgeProperties\fR containing all \fBPropertyName\fR and \fBPropertyValue\fR | |
734 pairs associated with graph in a \fIGraph\fR. | |
735 .IP "\fBGetGraphProperty\fR" 4 | |
736 .IX Item "GetGraphProperty" | |
737 .Vb 1 | |
738 \& $PropertyValue = $Graph\->GetGraphProperty($PropertyName); | |
739 .Ve | |
740 .Sp | |
741 Returns value of \fIPropertyName\fR associated with graph in a \fIGraph\fR. | |
742 .IP "\fBGetIncidenceMatrix\fR" 4 | |
743 .IX Item "GetIncidenceMatrix" | |
744 .Vb 1 | |
745 \& $GraphMatrix = $Graph\->GetIncidenceMatrix(); | |
746 .Ve | |
747 .Sp | |
748 Returns incidence matrix for \fIGraph\fR as a \fIGraphMatrix\fR object with row and column indices | |
749 corresponding to graph vertices returned by GetVertices method. | |
750 .Sp | |
751 For a simple graph G with n vertices and e edges, the incidence matrix for G is a n x e matrix | |
752 its elements Mij are: | |
753 .Sp | |
754 .Vb 2 | |
755 \& . 1 if vertex Vi and the edge Ej are incident; in other words, Vi and Ej are related | |
756 \& . 0 otherwise | |
757 .Ve | |
758 .IP "\fBGetIsolatedVertices\fR" 4 | |
759 .IX Item "GetIsolatedVertices" | |
760 .Vb 1 | |
761 \& @VertexIDs = $Graph\->GetIsolatedVertices(); | |
762 .Ve | |
763 .Sp | |
764 Returns an array \fIVertexIDs\fR containing vertices without any edges in \fIGraph\fR. | |
765 .IP "\fBGetKirchhoffMatrix\fR" 4 | |
766 .IX Item "GetKirchhoffMatrix" | |
767 .Vb 1 | |
768 \& $GraphMatrix = $Graph\->GetGetKirchhoffMatrix(); | |
769 .Ve | |
770 .Sp | |
771 Returns Kirchhoff matrix for \fIGraph\fR as a \fIGraphMatrix\fR object with row and column indices | |
772 corresponding to graph vertices returned by GetVertices method. | |
773 .Sp | |
774 \&\fBKirchhoffMatrix\fR is another name for \fBLaplacianMatrix\fR. | |
775 .IP "\fBGetLaplacianMatrix\fR" 4 | |
776 .IX Item "GetLaplacianMatrix" | |
777 .Vb 1 | |
778 \& $GraphMatrix = $Graph\->GetLaplacianMatrix(); | |
779 .Ve | |
780 .Sp | |
781 Returns Laplacian matrix for \fIGraph\fR as a \fIGraphMatrix\fR object with row and column indices | |
782 corresponding to graph vertices returned by GetVertices method. | |
783 .Sp | |
784 For a simple graph G with n vertices, the Laplacian matrix for G is a n x n square matrix and | |
785 its elements Mij are: | |
786 .Sp | |
787 .Vb 3 | |
788 \& . deg(Vi) if i == j and deg(Vi) is the degree of vertex Vi | |
789 \& . \-1 if i != j and vertex Vi is adjacent to vertex Vj | |
790 \& . 0 otherwise | |
791 .Ve | |
792 .IP "\fBGetLargestCycle\fR" 4 | |
793 .IX Item "GetLargestCycle" | |
794 .Vb 1 | |
795 \& $CyclicPath = $Graph\->GetLargestCycle(); | |
796 .Ve | |
797 .Sp | |
798 Returns a cyclic \fIPath\fR object corresponding to largest cycle in a \fIGraph\fR. | |
799 .IP "\fBGetLargestEdgeCycle\fR" 4 | |
800 .IX Item "GetLargestEdgeCycle" | |
801 .Vb 1 | |
802 \& $CyclicPath = $Graph\->GetLargestEdgeCycle($VertexID1, $VertexID2); | |
803 .Ve | |
804 .Sp | |
805 Returns a cyclic \fIPath\fR object corresponding to largest cycle containing edge between | |
806 \&\fIVertexID1\fR and \fIVertexID2\fR in a \fIGraph\fR. | |
807 .IP "\fBGetLargestVertexCycle\fR" 4 | |
808 .IX Item "GetLargestVertexCycle" | |
809 .Vb 1 | |
810 \& $CyclicPath = $Graph\->GetLargestVertexCycle($VertexID); | |
811 .Ve | |
812 .Sp | |
813 Returns a cyclic \fIPath\fR object corresponding to largest cycle containing \fIVertexID\fR | |
814 in a \fIGraph\fR. | |
815 .IP "\fBGetLeafVertices\fR" 4 | |
816 .IX Item "GetLeafVertices" | |
817 .Vb 1 | |
818 \& @VertexIDs = $Graph\->GetLeafVertices(); | |
819 .Ve | |
820 .Sp | |
821 Returns an array \fIVertexIDs\fR containing vertices with degree of 1 in a \fIGraph\fR. | |
822 .IP "\fBGetMaximumDegree\fR" 4 | |
823 .IX Item "GetMaximumDegree" | |
824 .Vb 1 | |
825 \& $Degree = $Graph\->GetMaximumDegree(); | |
826 .Ve | |
827 .Sp | |
828 Returns value of maximum vertex degree in a \fIGraph\fR. | |
829 .IP "\fBGetMininumDegree\fR" 4 | |
830 .IX Item "GetMininumDegree" | |
831 .Vb 1 | |
832 \& $Degree = $Graph\->GetMininumDegree(); | |
833 .Ve | |
834 .Sp | |
835 Returns value of minimum vertex degree in a \fIGraph\fR. | |
836 .IP "\fBGetNeighborhoodVertices\fR" 4 | |
837 .IX Item "GetNeighborhoodVertices" | |
838 .Vb 1 | |
839 \& @VertexNeighborhoods = GetNeighborhoodVertices($StartVertexID); | |
840 .Ve | |
841 .Sp | |
842 Returns an array \fIVertexNeighborhoods\fR containing references to arrays corresponding to | |
843 neighborhood vertices around a specified \fIStartVertexID\fR at all possible radii levels. | |
844 .IP "\fBGetNeighborhoodVerticesWithRadiusUpto\fR" 4 | |
845 .IX Item "GetNeighborhoodVerticesWithRadiusUpto" | |
846 .Vb 2 | |
847 \& @VertexNeighborhoods = GetNeighborhoodVerticesWithRadiusUpto( | |
848 \& $StartVertexID, $Radius); | |
849 .Ve | |
850 .Sp | |
851 Returns an array \fIVertexNeighborhoods\fR containing references to arrays corresponding to | |
852 neighborhood vertices around a specified \fIStartVertexID\fR upto specified \fIRadius\fR levels. | |
853 .IP "\fBGetNeighborhoodVerticesWithSuccessors\fR" 4 | |
854 .IX Item "GetNeighborhoodVerticesWithSuccessors" | |
855 .Vb 2 | |
856 \& @VertexNeighborhoods = GetNeighborhoodVerticesWithSuccessors( | |
857 \& $StartVertexID); | |
858 .Ve | |
859 .Sp | |
860 Returns vertex neighborhoods around a specified \fIStartVertexID\fR, along with their successor | |
861 connected vertices, collected at all neighborhood radii as an array \fIVertexNeighborhoods\fR | |
862 containing references to arrays with first value corresponding to vertex \s-1ID\s0 and second | |
863 value as reference to an array containing its successor connected vertices. | |
864 .Sp | |
865 For a neighborhood vertex at each radius level, the successor connected vertices correspond to the | |
866 neighborhood vertices at the next radius level. Consequently, the neighborhood vertices at the last | |
867 radius level don't contain any successor vertices which fall outside the range of specified radius. | |
868 .IP "\fBGetNeighborhoodVerticesWithSuccessorsAndRadiusUpto\fR" 4 | |
869 .IX Item "GetNeighborhoodVerticesWithSuccessorsAndRadiusUpto" | |
870 .Vb 2 | |
871 \& @VertexNeighborhoods = GetNeighborhoodVerticesWithSuccessors( | |
872 \& $StartVertexID, $Radius); | |
873 .Ve | |
874 .Sp | |
875 Returns vertex neighborhoods around a specified \fIStartVertexID\fR, along with their successor | |
876 connected vertices, collected with in a specified \fIRadius\fR as an array \fIVertexNeighborhoods\fR | |
877 containing references to arrays with first value corresponding to vertex \s-1ID\s0 and second value | |
878 as reference to a list containing its successor connected vertices. | |
879 .Sp | |
880 For a neighborhood vertex at each radius level, the successor connected vertices correspond to the | |
881 neighborhood vertices at the next radius level. Consequently, the neighborhood vertices at the last | |
882 radius level don't contain any successor vertices which fall outside the range of specified radius. | |
883 .IP "\fBGetNeighbors\fR" 4 | |
884 .IX Item "GetNeighbors" | |
885 .Vb 2 | |
886 \& @VertexIDs = $Graph\->GetNeighbors($VertexID); | |
887 \& $NumOfNeighbors = $Graph\->GetNeighbors($VertexID); | |
888 .Ve | |
889 .Sp | |
890 Returns an array \fIVertexIDs\fR containing vertices connected to \fIVertexID\fR of number of | |
891 neighbors of a \fIVertextID\fR in a \fIGraph\fR. | |
892 .IP "\fBGetNormalizedLaplacianMatrix\fR" 4 | |
893 .IX Item "GetNormalizedLaplacianMatrix" | |
894 .Vb 1 | |
895 \& $GraphMatrix = $Graph\->GetNormalizedLaplacianMatrix(); | |
896 .Ve | |
897 .Sp | |
898 Returns normalized Laplacian matrix for \fIGraph\fR as a \fIGraphMatrix\fR object with row and column indices | |
899 corresponding to graph vertices returned by GetVertices method. | |
900 .Sp | |
901 For a simple graph G with n vertices, the normalized Laplacian matrix L for G is a n x n square | |
902 matrix and its elements Lij are: | |
903 .Sp | |
904 .Vb 3 | |
905 \& . 1 if i == j and deg(Vi) != 0 | |
906 \& . \-1/SQRT(deg(Vi) * deg(Vj)) if i != j and vertex Vi is adjacent to vertex Vj | |
907 \& . 0 otherwise | |
908 .Ve | |
909 .IP "\fBGetNumOfCycles\fR" 4 | |
910 .IX Item "GetNumOfCycles" | |
911 .Vb 1 | |
912 \& $NumOfCycles = $Graph\->GetNumOfCycles(); | |
913 .Ve | |
914 .Sp | |
915 Returns number of cycles in a \fIGraph\fR. | |
916 .IP "\fBGetNumOfCyclesWithEvenSize\fR" 4 | |
917 .IX Item "GetNumOfCyclesWithEvenSize" | |
918 .Vb 1 | |
919 \& $NumOfCycles = $Graph\->GetNumOfCyclesWithEvenSize(); | |
920 .Ve | |
921 .Sp | |
922 Returns number of cycles with even size in a \fIGraph\fR. | |
923 .IP "\fBGetNumOfCyclesWithOddSize\fR" 4 | |
924 .IX Item "GetNumOfCyclesWithOddSize" | |
925 .Vb 1 | |
926 \& $NumOfCycles = $Graph\->GetNumOfCyclesWithOddSize(); | |
927 .Ve | |
928 .Sp | |
929 Returns number of cycles with odd size in a \fIGraph\fR. | |
930 .IP "\fBGetNumOfCyclesWithSize\fR" 4 | |
931 .IX Item "GetNumOfCyclesWithSize" | |
932 .Vb 1 | |
933 \& $NumOfCycles = $Graph\->GetNumOfCyclesWithSize($CycleSize); | |
934 .Ve | |
935 .Sp | |
936 Returns number of cycles with \fICyclesSize\fR in a \fIGraph\fR. | |
937 .IP "\fBGetNumOfCyclesWithSizeGreaterThan\fR" 4 | |
938 .IX Item "GetNumOfCyclesWithSizeGreaterThan" | |
939 .Vb 2 | |
940 \& $NumOfCycles = $Graph\->GetNumOfCyclesWithSizeGreaterThan( | |
941 \& $CycleSize); | |
942 .Ve | |
943 .Sp | |
944 Returns number of cycles with size greater than \fICyclesSize\fR in a \fIGraph\fR. | |
945 .IP "\fBGetNumOfCyclesWithSizeLessThan\fR" 4 | |
946 .IX Item "GetNumOfCyclesWithSizeLessThan" | |
947 .Vb 1 | |
948 \& $NumOfCycles = $Graph\->GetNumOfCyclesWithSizeLessThan($CycleSize); | |
949 .Ve | |
950 .Sp | |
951 Returns number of cycles with size less than \fICyclesSize\fR in a \fIGraph\fR. | |
952 .IP "\fBGetNumOfEdgeCycles\fR" 4 | |
953 .IX Item "GetNumOfEdgeCycles" | |
954 .Vb 1 | |
955 \& $NumOfCycles = $Graph\->GetNumOfEdgeCycles($VertexID1, $VertexID2); | |
956 .Ve | |
957 .Sp | |
958 Returns number of cycles containing edge between \fIVertexID1\fR and \fIVertexID2\fR | |
959 in a \fIGraph\fR. | |
960 .IP "\fBGetNumOfEdgeCyclesWithEvenSize\fR" 4 | |
961 .IX Item "GetNumOfEdgeCyclesWithEvenSize" | |
962 .Vb 2 | |
963 \& $NumOfCycles = $Graph\->GetNumOfEdgeCyclesWithEvenSize($VertexID1, | |
964 \& $VertexID2); | |
965 .Ve | |
966 .Sp | |
967 Returns number of cycles containing edge between \fIVertexID1\fR and \fIVertexID2\fR with even | |
968 size in a \fIGraph\fR. | |
969 .IP "\fBGetNumOfEdgeCyclesWithOddSize\fR" 4 | |
970 .IX Item "GetNumOfEdgeCyclesWithOddSize" | |
971 .Vb 2 | |
972 \& $NumOfCycles = $Graph\->GetNumOfEdgeCyclesWithOddSize($VertexID1, | |
973 \& $VertexID2); | |
974 .Ve | |
975 .Sp | |
976 Returns number of cycles containing edge between \fIVertexID1\fR and \fIVertexID2\fR with odd | |
977 size in a \fIGraph\fR. | |
978 .IP "\fBGetNumOfEdgeCyclesWithSize\fR" 4 | |
979 .IX Item "GetNumOfEdgeCyclesWithSize" | |
980 .Vb 2 | |
981 \& $NumOfCycles = $Graph\->GetNumOfEdgeCyclesWithSize($VertexID1, | |
982 \& $VertexID2, $CycleSize); | |
983 .Ve | |
984 .Sp | |
985 Returns number of cycles containing edge between \fIVertexID1\fR and \fIVertexID2\fR with | |
986 \&\fICycleSize\fR size in a \fIGraph\fR. | |
987 .IP "\fBGetNumOfEdgeCyclesWithSizeGreaterThan\fR" 4 | |
988 .IX Item "GetNumOfEdgeCyclesWithSizeGreaterThan" | |
989 .Vb 2 | |
990 \& $NumOfCycles = $Graph\->GetNumOfEdgeCyclesWithSizeGreaterThan( | |
991 \& $VertexID1, $VertexID2, $CycleSize); | |
992 .Ve | |
993 .Sp | |
994 Returns number of cycles containing edge between \fIVertexID1\fR and \fIVertexID2\fR with | |
995 size greater than \fICycleSize\fR size in a \fIGraph\fR. | |
996 .IP "\fBGetNumOfEdgeCyclesWithSizeLessThan\fR" 4 | |
997 .IX Item "GetNumOfEdgeCyclesWithSizeLessThan" | |
998 .Vb 2 | |
999 \& $NumOfCycles = $Graph\->GetNumOfEdgeCyclesWithSizeLessThan( | |
1000 \& $VertexID1, $VertexID2, $CycleSize); | |
1001 .Ve | |
1002 .Sp | |
1003 Returns number of cycles containing edge between \fIVertexID1\fR and \fIVertexID2\fR with | |
1004 size less than \fICycleSize\fR size in a \fIGraph\fR. | |
1005 .IP "\fBGetNumOfVertexCycles\fR" 4 | |
1006 .IX Item "GetNumOfVertexCycles" | |
1007 .Vb 1 | |
1008 \& $NumOfCycles = $Graph\->GetNumOfVertexCycles($VertexID); | |
1009 .Ve | |
1010 .Sp | |
1011 Returns number of cycles containing \fIVertexID\fR in a \fIGraph\fR. | |
1012 .IP "\fBGetNumOfVertexCyclesWithEvenSize\fR" 4 | |
1013 .IX Item "GetNumOfVertexCyclesWithEvenSize" | |
1014 .Vb 1 | |
1015 \& $NumOfCycles = $Graph\->GetNumOfVertexCyclesWithEvenSize($VertexID); | |
1016 .Ve | |
1017 .Sp | |
1018 Returns number of cycles containing \fIVertexID\fR with even size in a \fIGraph\fR. | |
1019 .IP "\fBGetNumOfVertexCyclesWithOddSize\fR" 4 | |
1020 .IX Item "GetNumOfVertexCyclesWithOddSize" | |
1021 .Vb 1 | |
1022 \& $NumOfCycles = $Graph\->GetNumOfVertexCyclesWithOddSize($VertexID); | |
1023 .Ve | |
1024 .Sp | |
1025 Returns number of cycles containing \fIVertexID\fR with odd size in a \fIGraph\fR. | |
1026 .IP "\fBGetNumOfVertexCyclesWithSize\fR" 4 | |
1027 .IX Item "GetNumOfVertexCyclesWithSize" | |
1028 .Vb 1 | |
1029 \& $NumOfCycles = $Graph\->GetNumOfVertexCyclesWithSize($VertexID); | |
1030 .Ve | |
1031 .Sp | |
1032 Returns number of cycles containing \fIVertexID\fR with even size in a \fIGraph\fR. | |
1033 .IP "\fBGetNumOfVertexCyclesWithSizeGreaterThan\fR" 4 | |
1034 .IX Item "GetNumOfVertexCyclesWithSizeGreaterThan" | |
1035 .Vb 2 | |
1036 \& $NumOfCycles = $Graph\->GetNumOfVertexCyclesWithSizeGreaterThan( | |
1037 \& $VertexID, $CycleSize); | |
1038 .Ve | |
1039 .Sp | |
1040 Returns number of cycles containing \fIVertexID\fR with size greater than \fICycleSize\fR | |
1041 in a \fIGraph\fR. | |
1042 .IP "\fBGetNumOfVertexCyclesWithSizeLessThan\fR" 4 | |
1043 .IX Item "GetNumOfVertexCyclesWithSizeLessThan" | |
1044 .Vb 2 | |
1045 \& $NumOfCycles = $Graph\->GetNumOfVertexCyclesWithSizeLessThan( | |
1046 \& $VertexID, $CycleSize); | |
1047 .Ve | |
1048 .Sp | |
1049 Returns number of cycles containing \fIVertexID\fR with size less than \fICycleSize\fR | |
1050 in a \fIGraph\fR. | |
1051 .IP "\fBGetPaths\fR" 4 | |
1052 .IX Item "GetPaths" | |
1053 .Vb 1 | |
1054 \& $PathsRefs = $Graph\->GetPaths([$AllowCycles]); | |
1055 .Ve | |
1056 .Sp | |
1057 Returns a reference to an array of \fIPath\fR objects corresponding to paths of all possible | |
1058 lengths starting from each vertex with no sharing of edges in paths traversed. By default, | |
1059 cycles are included in paths. A path containing a cycle is terminated at a vertex completing | |
1060 the cycle. | |
1061 .IP "\fBGetPathsBetween\fR" 4 | |
1062 .IX Item "GetPathsBetween" | |
1063 .Vb 1 | |
1064 \& @Paths = $Graph\->GetPathsBetween($StartVertexID, $EndVertexID); | |
1065 .Ve | |
1066 .Sp | |
1067 Returns an arrays of \fIPath\fR objects list of paths between \fIStartVertexID\fR and \fIEndVertexID\fR. | |
1068 For cyclic graphs, the list contains may contain more than one \fIPath\fR object. | |
1069 .IP "\fBGetPathsStartingAt\fR" 4 | |
1070 .IX Item "GetPathsStartingAt" | |
1071 .Vb 1 | |
1072 \& @Paths = $Graph\->GetPathsStartingAt($StartVertexID, [$AllowCycles]); | |
1073 .Ve | |
1074 .Sp | |
1075 Returns an array of \fIPath\fR objects corresponding to all possible lengths starting from a | |
1076 specified \fIStartVertexID\fR with no sharing of edges in paths traversed. By default, cycles | |
1077 are included in paths. A path containing a cycle is terminated at a vertex completing the cycle. | |
1078 .IP "\fBGetPathsStartingAtWithLength\fR" 4 | |
1079 .IX Item "GetPathsStartingAtWithLength" | |
1080 .Vb 2 | |
1081 \& @Paths = $Graph\->StartingAtWithLength($StartVertexID, $Length, | |
1082 \& $AllowCycles); | |
1083 .Ve | |
1084 .Sp | |
1085 Returns an array of \fIPath\fR objects corresponding to all paths starting from a specified \fIStartVertexID\fR | |
1086 with length \fILength\fR and no sharing of edges in paths traversed. By default, cycles are included in paths. | |
1087 A path containing a cycle is terminated at a vertex completing the cycle. | |
1088 .IP "\fBGetPathsStartingAtWithLengthUpto\fR" 4 | |
1089 .IX Item "GetPathsStartingAtWithLengthUpto" | |
1090 .Vb 2 | |
1091 \& @Paths = $Graph\->StartingAtWithLengthUpto($StartVertexID, $Length, | |
1092 \& $AllowCycles); | |
1093 .Ve | |
1094 .Sp | |
1095 Returns an array of \fIPath\fR objects corresponding to all paths starting from a specified \fIStartVertexID\fR | |
1096 with length upto \fILength\fR and no sharing of edges in paths traversed. By default, cycles are included in paths. | |
1097 A path containing a cycle is terminated at a vertex completing the cycle. | |
1098 .IP "\fBGetPathsWithLength\fR" 4 | |
1099 .IX Item "GetPathsWithLength" | |
1100 .Vb 1 | |
1101 \& @Paths = $Graph\->GetPathsWithLength($Length, $AllowCycles); | |
1102 .Ve | |
1103 .Sp | |
1104 Returns an array of \fIPath\fR objects corresponding to to paths starting from each vertex in graph | |
1105 with specified <Length> and no sharing of edges in paths traversed. By default, cycles are included | |
1106 in paths. A path containing a cycle is terminated at a vertex completing the cycle. | |
1107 .IP "\fBGetPathsWithLengthUpto\fR" 4 | |
1108 .IX Item "GetPathsWithLengthUpto" | |
1109 .Vb 1 | |
1110 \& @Paths = $Graph\->GetPathsWithLengthUpto($Length, $AllowCycles); | |
1111 .Ve | |
1112 .Sp | |
1113 Returns an array of \fIPath\fR objects corresponding to to paths starting from each vertex in graph | |
1114 with length upto specified \fILength\fR and no sharing of edges in paths traversed. By default, | |
1115 cycles are included in paths. A path containing a cycle is terminated at a vertex completing the cycle. | |
1116 .IP "\fBGetSiedelAdjacencyMatrix\fR" 4 | |
1117 .IX Item "GetSiedelAdjacencyMatrix" | |
1118 .Vb 1 | |
1119 \& $GraphMatrix = $Graph\->GetSiedelAdjacencyMatrix(); | |
1120 .Ve | |
1121 .Sp | |
1122 Returns Siedel admittance matrix for \fIGraph\fR as a \fIGraphMatrix\fR object with row and column indices | |
1123 corresponding to graph vertices returned by GetVertices method. | |
1124 .Sp | |
1125 For a simple graph G with n vertices, the Siedal adjacency matrix for G is a n x n square matrix and | |
1126 its elements Mij are: | |
1127 .Sp | |
1128 .Vb 3 | |
1129 \& . 0 if i == j | |
1130 \& . \-1 if i != j and vertex Vi is adjacent to vertex Vj | |
1131 \& . 1 if i != j and vertex Vi is not adjacent to vertex Vj | |
1132 .Ve | |
1133 .IP "\fBGetSizeOfLargestCycle\fR" 4 | |
1134 .IX Item "GetSizeOfLargestCycle" | |
1135 .Vb 1 | |
1136 \& $Size = $Graph\->GetSizeOfLargestCycle(); | |
1137 .Ve | |
1138 .Sp | |
1139 Returns size of the largest cycle in a \fIGraph\fR. | |
1140 .IP "\fBGetSizeOfLargestEdgeCycle\fR" 4 | |
1141 .IX Item "GetSizeOfLargestEdgeCycle" | |
1142 .Vb 1 | |
1143 \& $Size = $Graph\->GetSizeOfLargestEdgeCycle($VertexID1, $VertexID2); | |
1144 .Ve | |
1145 .Sp | |
1146 Returns size of the largest cycle containing egde between \fIVertextID1\fR and \fIVertexID2\fR | |
1147 in a \fIGraph\fR. | |
1148 .IP "\fBGetSizeOfLargestVertexCycle\fR" 4 | |
1149 .IX Item "GetSizeOfLargestVertexCycle" | |
1150 .Vb 1 | |
1151 \& $Size = $Graph\->GetSizeOfLargestVertexCycle($VertexID); | |
1152 .Ve | |
1153 .Sp | |
1154 Returns size of the largest cycle containing \fIVertextID\fR in a \fIGraph\fR. | |
1155 .IP "\fBGetSizeOfSmallestCycle\fR" 4 | |
1156 .IX Item "GetSizeOfSmallestCycle" | |
1157 .Vb 1 | |
1158 \& $Size = $Graph\->GetSizeOfSmallestCycle(); | |
1159 .Ve | |
1160 .Sp | |
1161 Returns size of the smallest cycle in a \fIGraph\fR. | |
1162 .IP "\fBGetSizeOfSmallestEdgeCycle\fR" 4 | |
1163 .IX Item "GetSizeOfSmallestEdgeCycle" | |
1164 .Vb 1 | |
1165 \& $Size = $Graph\->GetSizeOfSmallestEdgeCycle($VertexID1, $VertexID2); | |
1166 .Ve | |
1167 .Sp | |
1168 Returns size of the smallest cycle containing egde between \fIVertextID1\fR and \fIVertexID2\fR | |
1169 in a \fIGraph\fR. | |
1170 .IP "\fBGetSizeOfSmallestVertexCycle\fR" 4 | |
1171 .IX Item "GetSizeOfSmallestVertexCycle" | |
1172 .Vb 1 | |
1173 \& $Size = $Graph\->GetSizeOfSmallestVertexCycle($VertexID); | |
1174 .Ve | |
1175 .Sp | |
1176 Returns size of the smallest cycle containing \fIVertextID\fR in a \fIGraph\fR. | |
1177 .IP "\fBGetSmallestCycle\fR" 4 | |
1178 .IX Item "GetSmallestCycle" | |
1179 .Vb 1 | |
1180 \& $CyclicPath = $Graph\->GetSmallestCycle(); | |
1181 .Ve | |
1182 .Sp | |
1183 Returns a cyclic \fIPath\fR object corresponding to smallest cycle in a \fIGraph\fR. | |
1184 .IP "\fBGetSmallestEdgeCycle\fR" 4 | |
1185 .IX Item "GetSmallestEdgeCycle" | |
1186 .Vb 1 | |
1187 \& $CyclicPath = $Graph\->GetSmallestEdgeCycle($VertexID1, $VertexID2); | |
1188 .Ve | |
1189 .Sp | |
1190 Returns a cyclic \fIPath\fR object corresponding to smallest cycle containing edge between | |
1191 \&\fIVertexID1\fR and \fIVertexID2\fR in a \fIGraph\fR. | |
1192 .IP "\fBGetSmallestVertexCycle\fR" 4 | |
1193 .IX Item "GetSmallestVertexCycle" | |
1194 .Vb 1 | |
1195 \& $CyclicPath = $Graph\->GetSmallestVertexCycle($VertexID); | |
1196 .Ve | |
1197 .Sp | |
1198 Returns a cyclic \fIPath\fR object corresponding to smallest cycle containing \fIVertexID\fR in a \fIGraph\fR. | |
1199 .IP "\fBGetTopologicallySortedVertices\fR" 4 | |
1200 .IX Item "GetTopologicallySortedVertices" | |
1201 .Vb 2 | |
1202 \& @VertexIDs = $Graph\->GetTopologicallySortedVertices( | |
1203 \& [$RootVertexID]); | |
1204 .Ve | |
1205 .Sp | |
1206 Returns an array of \fIVertexIDs\fR sorted topologically starting from a specified \fIRootVertexID\fR or | |
1207 from an arbitrary vertex \s-1ID\s0. | |
1208 .IP "\fBGetVertex\fR" 4 | |
1209 .IX Item "GetVertex" | |
1210 .Vb 1 | |
1211 \& $VertexValue = $Graph\->GetVertex($VertexID); | |
1212 .Ve | |
1213 .Sp | |
1214 Returns vartex value for \fIVertexID\fR in a \fIGraph\fR. Vartex IDs and values are equivalent | |
1215 in the current implementation of \fBGraph\fR. | |
1216 .IP "\fBGetVertexCycles\fR" 4 | |
1217 .IX Item "GetVertexCycles" | |
1218 .Vb 1 | |
1219 \& @CyclicPaths = $Graph\->GetVertexCycles($VertexID); | |
1220 .Ve | |
1221 .Sp | |
1222 Returns an array \fICyclicPaths\fR containing \fIPath\fR objects corresponding to all cycles containing | |
1223 \&\fIVertexID\fR in a \fIGraph\fR. | |
1224 .IP "\fBGetVertexCyclesWithEvenSize\fR" 4 | |
1225 .IX Item "GetVertexCyclesWithEvenSize" | |
1226 .Vb 1 | |
1227 \& @CyclicPaths = $Graph\->GetVertexCyclesWithEvenSize($VertexID); | |
1228 .Ve | |
1229 .Sp | |
1230 Returns an array \fICyclicPaths\fR containing \fIPath\fR objects corresponding to cycles with | |
1231 even size containing \fIVertexID\fR in a \fIGraph\fR. | |
1232 .IP "\fBGetVertexCyclesWithOddSize\fR" 4 | |
1233 .IX Item "GetVertexCyclesWithOddSize" | |
1234 .Vb 1 | |
1235 \& @CyclicPaths = $Graph\->GetVertexCyclesWithOddSize($VertexID); | |
1236 .Ve | |
1237 .Sp | |
1238 Returns an array \fICyclicPaths\fR containing \fIPath\fR objects corresponding to cycles with | |
1239 odd size containing \fIVertexID\fR in a \fIGraph\fR. | |
1240 .IP "\fBGetVertexCyclesWithSize\fR" 4 | |
1241 .IX Item "GetVertexCyclesWithSize" | |
1242 .Vb 2 | |
1243 \& @CyclicPaths = $Graph\->GetVertexCyclesWithSize($VertexID, | |
1244 \& $CycleSize); | |
1245 .Ve | |
1246 .Sp | |
1247 Returns an array \fICyclicPaths\fR containing \fIPath\fR objects corresponding to cycles with | |
1248 size \fICycleSize\fR containing \fIVertexID\fR in a \fIGraph\fR. | |
1249 .IP "\fBGetVertexCyclesWithSizeGreaterThan\fR" 4 | |
1250 .IX Item "GetVertexCyclesWithSizeGreaterThan" | |
1251 .Vb 2 | |
1252 \& @CyclicPaths = $Graph\->GetVertexCyclesWithSizeGreaterThan($VertexID, | |
1253 \& $CycleSize); | |
1254 .Ve | |
1255 .Sp | |
1256 Returns an array \fICyclicPaths\fR containing \fIPath\fR objects corresponding to cycles with | |
1257 size greater than \fICycleSize\fR containing \fIVertexID\fR in a \fIGraph\fR. | |
1258 .IP "\fBGetVertexCyclesWithSizeLessThan\fR" 4 | |
1259 .IX Item "GetVertexCyclesWithSizeLessThan" | |
1260 .Vb 2 | |
1261 \& @CyclicPaths = $Graph\->GetVertexCyclesWithSizeLessThan($VertexID, | |
1262 \& $CycleSize); | |
1263 .Ve | |
1264 .Sp | |
1265 Returns an array \fICyclicPaths\fR containing \fIPath\fR objects corresponding to cycles with | |
1266 size less than \fICycleSize\fR containing \fIVertexID\fR in a \fIGraph\fR. | |
1267 .IP "\fBGetVertexProperties\fR" 4 | |
1268 .IX Item "GetVertexProperties" | |
1269 .Vb 1 | |
1270 \& %VertexProperties = $Graph\->GetVertexProperties($VertexID); | |
1271 .Ve | |
1272 .Sp | |
1273 Returns a hash \fBVertexProperties\fR containing all \fBPropertyName\fR and \fBPropertyValue\fR | |
1274 pairs associated with a \fIVertexID\fR in a \fIGraph\fR. | |
1275 .IP "\fBGetVertexProperty\fR" 4 | |
1276 .IX Item "GetVertexProperty" | |
1277 .Vb 1 | |
1278 \& $Value = $Graph\->GetVertexProperty($PropertyName, $VertexID); | |
1279 .Ve | |
1280 .Sp | |
1281 Returns value of \fIPropertyName\fR associated with a \fIVertexID\fR in a \fIGraph\fR. | |
1282 .IP "\fBGetVertexWithLargestDegree\fR" 4 | |
1283 .IX Item "GetVertexWithLargestDegree" | |
1284 .Vb 1 | |
1285 \& $VertexID = $Graph\->GetVertexWithLargestDegree(); | |
1286 .Ve | |
1287 .Sp | |
1288 Returns \fBVertexID\fR with largest degree in a \fIGraph\fR. | |
1289 .IP "\fBGetVertexWithSmallestDegree\fR" 4 | |
1290 .IX Item "GetVertexWithSmallestDegree" | |
1291 .Vb 1 | |
1292 \& $VertexID = $Graph\->GetVertexWithSmallestDegree(); | |
1293 .Ve | |
1294 .Sp | |
1295 Returns \fBVertexID\fR with smallest degree in a \fIGraph\fR. | |
1296 .IP "\fBGetVertices\fR" 4 | |
1297 .IX Item "GetVertices" | |
1298 .Vb 2 | |
1299 \& @VertexIDs = $Graph\->GetVertices(); | |
1300 \& $VertexCount = $Graph\->GetVertices(); | |
1301 .Ve | |
1302 .Sp | |
1303 Returns an array of \fIVertexIDs\fR corresponding to all vertices in a \fIGraph\fR; in a scalar context, | |
1304 number of vertices is returned. | |
1305 .IP "\fBGetVerticesProperty\fR" 4 | |
1306 .IX Item "GetVerticesProperty" | |
1307 .Vb 1 | |
1308 \& @PropertyValues = $Graph\->GetVerticesProperty($PropertyName, @VertexIDs); | |
1309 .Ve | |
1310 .Sp | |
1311 Returns an array \fIPropertyValues\fR containing property values corresponding to | |
1312 \&\fIPropertyName\fR associated with with \fIVertexIDs\fR in a \fIGraph\fR. | |
1313 .IP "\fBGetVerticesWithDegreeLessThan\fR" 4 | |
1314 .IX Item "GetVerticesWithDegreeLessThan" | |
1315 .Vb 1 | |
1316 \& @VertexIDs = $Graph\->GetVerticesWithDegreeLessThan($Degree); | |
1317 .Ve | |
1318 .Sp | |
1319 Returns an array of \fIVertexIDs\fR containing vertices with degree less than \fIDegree\fR in | |
1320 a \fIGraph\fR. | |
1321 .IP "\fBHasCycle\fR" 4 | |
1322 .IX Item "HasCycle" | |
1323 .Vb 1 | |
1324 \& $Status = $Graph\->HasCycle(@VertexIDs); | |
1325 .Ve | |
1326 .Sp | |
1327 Returns 1 or 0 based on whether edges between successive pair of \fIVertexIDs\fR including | |
1328 an additional edge from the last to first vertex \s-1ID\s0 exists in a \fIGraph\fR. | |
1329 .IP "\fBHasEdge\fR" 4 | |
1330 .IX Item "HasEdge" | |
1331 .Vb 1 | |
1332 \& $Status = $Graph\->HasEdge($VertexID1, $VertexID2); | |
1333 .Ve | |
1334 .Sp | |
1335 Returns 1 or 0 based on whether an edge between \fIVertexID1\fR and \fIVertexID2\fR exist in | |
1336 a \fIGraph\fR. | |
1337 .IP "\fBHasEdgeProperty\fR" 4 | |
1338 .IX Item "HasEdgeProperty" | |
1339 .Vb 2 | |
1340 \& $Status = $Graph\->HasEdgeProperty($PropertyName, $VertexID1, | |
1341 \& $VertexID2); | |
1342 .Ve | |
1343 .Sp | |
1344 Returns 1 or 0 based on whether \fIPropertyName\fR has already been associated with an edge | |
1345 between \fIVertexID1\fR and \fIVertexID2\fR in a \fIGraph\fR. | |
1346 .IP "\fBHasEdges\fR" 4 | |
1347 .IX Item "HasEdges" | |
1348 .Vb 2 | |
1349 \& @EdgesStatus = $Graph\->HasEdges(@VertexIDs); | |
1350 \& $FoundEdgesCount = $Graph\->HasEdges(@VertexIDs); | |
1351 .Ve | |
1352 .Sp | |
1353 Returns an array \fIEdgesStatus\fR containing 1s and 0s corresponding to whether edges between | |
1354 successive pairs of \fIVertexIDs\fR exist in a \fIGraph\fR. In a scalar context, number of edges found | |
1355 is returned. | |
1356 .IP "\fBHasFusedCycles\fR" 4 | |
1357 .IX Item "HasFusedCycles" | |
1358 .Vb 1 | |
1359 \& $Status = $Graph\->HasFusedCycles(); | |
1360 .Ve | |
1361 .Sp | |
1362 Returns 1 or 0 based on whether any fused cycles exist in a \fIGraph\fR. | |
1363 .IP "\fBHasGraphProperty\fR" 4 | |
1364 .IX Item "HasGraphProperty" | |
1365 .Vb 1 | |
1366 \& $Status = $Graph\->HasGraphProperty($PropertyName); | |
1367 .Ve | |
1368 .Sp | |
1369 Returns 1 or 0 based on whether \fIPropertyName\fR has already been associated as a | |
1370 graph property as opposed to vertex or edge property in a \fIGraph\fR. | |
1371 .IP "\fBHasPath\fR" 4 | |
1372 .IX Item "HasPath" | |
1373 .Vb 1 | |
1374 \& $Status = $Graph\->HasPath(@VertexIDs)); | |
1375 .Ve | |
1376 .Sp | |
1377 Returns 1 or 0 based on whether edges between all successive pairs of \fIVertexIDs\fR exist in | |
1378 a \fIGraph\fR. | |
1379 .IP "\fBHasVertex\fR" 4 | |
1380 .IX Item "HasVertex" | |
1381 .Vb 1 | |
1382 \& $Status = $Graph\->HasVertex($VertexID); | |
1383 .Ve | |
1384 .Sp | |
1385 Returns 1 or 0 based on whether \fIVertexID\fR exists in a \fIGraph\fR. | |
1386 .IP "\fBHasVertexProperty\fR" 4 | |
1387 .IX Item "HasVertexProperty" | |
1388 .Vb 1 | |
1389 \& $Status = $Graph\->HasGraphProperty($HasVertexProperty, $VertexID); | |
1390 .Ve | |
1391 .Sp | |
1392 Returns 1 or 0 based on whether \fIPropertyName\fR has already been associated with | |
1393 \&\fIVertexID\fR in a \fIGraph\fR. | |
1394 .IP "\fBHasVertices\fR" 4 | |
1395 .IX Item "HasVertices" | |
1396 .Vb 2 | |
1397 \& @VerticesStatus = $Graph\->HasVertices(@VertexIDs); | |
1398 \& $VerticesFoundCount = $Graph\->HasVertices(@VertexIDs); | |
1399 .Ve | |
1400 .Sp | |
1401 Returns an array \fI\fR containing 1s and 0s corresponding to whether \fIVertexIDs\fR exist in a | |
1402 \&\fIGraph\fR. In a scalar context, number of vertices found is returned. | |
1403 .IP "\fBIsAcyclic\fR" 4 | |
1404 .IX Item "IsAcyclic" | |
1405 .Vb 1 | |
1406 \& $Status = $Graph\->IsAcyclic(); | |
1407 .Ve | |
1408 .Sp | |
1409 Returns 0 or 1 based on whether a cycle exist in a \fIGraph\fR. | |
1410 .IP "\fBIsAcyclicEdge\fR" 4 | |
1411 .IX Item "IsAcyclicEdge" | |
1412 .Vb 1 | |
1413 \& $Status = $Graph\->IsAcyclicEdge($VertexID1, $VertexID2); | |
1414 .Ve | |
1415 .Sp | |
1416 Returns 0 or 1 based on whether a cycle containing an edge between \fIVertexID1\fR and | |
1417 \&\fIVertexID2\fR exists in a \fIGraph\fR. | |
1418 .IP "\fBIsAcyclicVertex\fR" 4 | |
1419 .IX Item "IsAcyclicVertex" | |
1420 .Vb 1 | |
1421 \& $Status = $Graph\->IsAcyclicVertex($VertexID1); | |
1422 .Ve | |
1423 .Sp | |
1424 Returns 0 or 1 based on whether a cycle containing a \fIVertexID\fR exists in a \fIGraph\fR. | |
1425 .IP "\fBIsCyclic\fR" 4 | |
1426 .IX Item "IsCyclic" | |
1427 .Vb 1 | |
1428 \& $Status = $Graph\->IsCyclic(); | |
1429 .Ve | |
1430 .Sp | |
1431 Returns 1 or 0 based on whether a cycle exist in a \fIGraph\fR. | |
1432 .IP "\fBIsCyclicEdge\fR" 4 | |
1433 .IX Item "IsCyclicEdge" | |
1434 .Vb 1 | |
1435 \& $Status = $Graph\->IsCyclicEdge($VertexID1, $VertexID2); | |
1436 .Ve | |
1437 .Sp | |
1438 Returns 1 or 0 based on whether a cycle containing an edge between \fIVertexID1\fR and | |
1439 \&\fIVertexID2\fR exists in a \fIGraph\fR. | |
1440 .IP "\fBIsCyclicVertex\fR" 4 | |
1441 .IX Item "IsCyclicVertex" | |
1442 .Vb 1 | |
1443 \& $Status = $Graph\->IsCyclicVertex($VertexID1); | |
1444 .Ve | |
1445 .Sp | |
1446 Returns 1 or 0 based on whether a cycle containing a \fIVertexID\fR exists in a \fIGraph\fR. | |
1447 .IP "\fBIsGraph\fR" 4 | |
1448 .IX Item "IsGraph" | |
1449 .Vb 1 | |
1450 \& $Status = Graph::IsGraph($Object); | |
1451 .Ve | |
1452 .Sp | |
1453 Returns 1 or 0 based on whether \fIObject\fR is a \fBGraph\fR object. | |
1454 .IP "\fBIsIsolatedVertex\fR" 4 | |
1455 .IX Item "IsIsolatedVertex" | |
1456 .Vb 1 | |
1457 \& $Status = $Graph\->IsIsolatedVertex($VertexID); | |
1458 .Ve | |
1459 .Sp | |
1460 Returns 1 or 0 based on whether \fIVertexID\fR is an isolated vertex in a \fIGraph\fR. A vertex | |
1461 with zero as its degree value is considered an isolated vertex. | |
1462 .IP "\fBIsLeafVertex\fR" 4 | |
1463 .IX Item "IsLeafVertex" | |
1464 .Vb 1 | |
1465 \& $Status = $Graph\->IsLeafVertex($VertexID); | |
1466 .Ve | |
1467 .Sp | |
1468 Returns 1 or 0 based on whether \fIVertexID\fR is an isolated vertex in a \fIGraph\fR. A vertex | |
1469 with one as its degree value is considered an isolated vertex. | |
1470 .IP "\fBIsUnicyclic\fR" 4 | |
1471 .IX Item "IsUnicyclic" | |
1472 .Vb 1 | |
1473 \& $Status = $Graph\->IsUnicyclic(); | |
1474 .Ve | |
1475 .Sp | |
1476 Returns 1 or 0 based on whether only one cycle is present in a \fIGraph\fR. | |
1477 .IP "\fBIsUnicyclicEdge\fR" 4 | |
1478 .IX Item "IsUnicyclicEdge" | |
1479 .Vb 1 | |
1480 \& $Status = $Graph\->IsUnicyclicEdge($VertexID1, $VertexID2); | |
1481 .Ve | |
1482 .Sp | |
1483 Returns 1 or 0 based on whether only one cycle contains the edge between \fIVertexID1\fR and | |
1484 \&\fIVertexID2\fR in a \fIGraph\fR. | |
1485 .IP "\fBIsUnicyclicVertex\fR" 4 | |
1486 .IX Item "IsUnicyclicVertex" | |
1487 .Vb 1 | |
1488 \& $Status = $Graph\->IsUnicyclicVertex($VertexID); | |
1489 .Ve | |
1490 .Sp | |
1491 Returns 1 or 0 based on whether only one cycle contains \fIVertexID\fR in a \fIGraph\fR. | |
1492 .IP "\fBSetActiveCyclicPaths\fR" 4 | |
1493 .IX Item "SetActiveCyclicPaths" | |
1494 .Vb 1 | |
1495 \& $Graph\->SetActiveCyclicPaths($CyclicPathsType); | |
1496 .Ve | |
1497 .Sp | |
1498 Sets the type of cyclic paths to use during all methods related to cycles and returns \fIGraph\fR. | |
1499 Possible values for cyclic paths: \fIIndependent or All\fR. | |
1500 .IP "\fBSetEdgeProperties\fR" 4 | |
1501 .IX Item "SetEdgeProperties" | |
1502 .Vb 1 | |
1503 \& $Graph\->SetEdgeProperties($VertexID1, $VertexID2, @NamesAndValues); | |
1504 .Ve | |
1505 .Sp | |
1506 Associates property names and values corresponding to successive pairs of values in | |
1507 \&\fINamesAndValues\fR to an edge between \fIVertexID1\fR and \fIVertexID2\fR in a \fIGraph\fR | |
1508 and returns \fIGraph\fR. | |
1509 .IP "\fBSetEdgeProperty\fR" 4 | |
1510 .IX Item "SetEdgeProperty" | |
1511 .Vb 1 | |
1512 \& $Graph\->SetEdgeProperty($Name, $Value, $VertexID1, $VertexID2); | |
1513 .Ve | |
1514 .Sp | |
1515 Associates property \fIName\fR and \fIValue\fR to an edge between \fIVertexID1\fR and \fIVertexID2\fR | |
1516 in a \fIGraph\fR and returns \fIGraph\fR. | |
1517 .IP "\fBSetEdgesProperty\fR" 4 | |
1518 .IX Item "SetEdgesProperty" | |
1519 .Vb 1 | |
1520 \& $Graph\->SetEdgesProperty($Name, @ValuesAndVertexIDs); | |
1521 .Ve | |
1522 .Sp | |
1523 Associates a same property \fIName\fR but different \fIValues\fR for different edges specified using | |
1524 triplets of \fIPropertyValue, \f(CI$VertexID1\fI, \f(CI$VertexID2\fI\fR via \fIValuesAndVertexIDs\fR in a \fIgraph\fR. | |
1525 .IP "\fBSetGraphProperties\fR" 4 | |
1526 .IX Item "SetGraphProperties" | |
1527 .Vb 1 | |
1528 \& $Graph\->SetGraphProperties(%NamesAndValues); | |
1529 .Ve | |
1530 .Sp | |
1531 Associates property names and values \fINamesAndValues\fR hash to graph as opposed to vertex | |
1532 or edge and returns \fIGraph\fR. | |
1533 .IP "\fBSetGraphProperty\fR" 4 | |
1534 .IX Item "SetGraphProperty" | |
1535 .Vb 1 | |
1536 \& $Graph\->SetGraphProperty($Name, $Value); | |
1537 .Ve | |
1538 .Sp | |
1539 Associates property \fIName\fR and \fIValue\fR to graph as opposed to vertex | |
1540 or edge and returns \fIGraph\fR. | |
1541 .IP "\fBSetVertexProperties\fR" 4 | |
1542 .IX Item "SetVertexProperties" | |
1543 .Vb 1 | |
1544 \& $Graph\->SetVertexProperties($VertexID, @NamesAndValues); | |
1545 .Ve | |
1546 .Sp | |
1547 Associates property names and values corresponding to successive pairs of values in | |
1548 \&\fINamesAndValues\fR to \fIVertexID\fR in a \fIGraph\fR and returns \fIGraph\fR. | |
1549 .IP "\fBSetVertexProperty\fR" 4 | |
1550 .IX Item "SetVertexProperty" | |
1551 .Vb 1 | |
1552 \& $Graph\->SetVertexProperty($Name, $Value, $VertexID); | |
1553 .Ve | |
1554 .Sp | |
1555 Associates property \fIName\fR and \fIValue\fR to \fIVertexID\fR in a \fIGraph\fR and returns \fIGraph\fR. | |
1556 .IP "\fBSetVerticesProperty\fR" 4 | |
1557 .IX Item "SetVerticesProperty" | |
1558 .Vb 1 | |
1559 \& $Graph\->SetVerticesProperty($Name, @ValuesAndVertexIDs)); | |
1560 .Ve | |
1561 .Sp | |
1562 Associates a same property \fIName\fR but different \fIValues\fR for different vertices specified using | |
1563 doublets of \fIPropertyValue, \f(CI$VertexID\fI\fR via \fIValuesAndVertexIDs\fR in a \fIgraph\fR. | |
1564 .IP "\fBStringifyEdgesProperties\fR" 4 | |
1565 .IX Item "StringifyEdgesProperties" | |
1566 .Vb 1 | |
1567 \& $String = $Graph\->StringifyEdgesProperties(); | |
1568 .Ve | |
1569 .Sp | |
1570 Returns a string containing information about properties associated with all edges in a \fIGraph\fR object. | |
1571 .IP "\fBStringifyGraph\fR" 4 | |
1572 .IX Item "StringifyGraph" | |
1573 .Vb 1 | |
1574 \& $String = $Graph\->StringifyGraph(); | |
1575 .Ve | |
1576 .Sp | |
1577 Returns a string containing information about \fIGraph\fR object. | |
1578 .IP "\fBStringifyGraphProperties\fR" 4 | |
1579 .IX Item "StringifyGraphProperties" | |
1580 .Vb 1 | |
1581 \& $String = $Graph\->StringifyGraphProperties(); | |
1582 .Ve | |
1583 .Sp | |
1584 Returns a string containing information about properties associated with graph as opposed to vertex. | |
1585 or an edge in a \fIGraph\fR object | |
1586 .IP "\fBStringifyProperties\fR" 4 | |
1587 .IX Item "StringifyProperties" | |
1588 .Vb 1 | |
1589 \& $String = $Graph\->StringifyProperties(); | |
1590 .Ve | |
1591 .Sp | |
1592 Returns a string containing information about properties associated with graph, vertices, and edges in | |
1593 a \fIGraph\fR object. | |
1594 .IP "\fBStringifyVerticesAndEdges\fR" 4 | |
1595 .IX Item "StringifyVerticesAndEdges" | |
1596 .Vb 1 | |
1597 \& $String = $Graph\->StringifyVerticesAndEdges(); | |
1598 .Ve | |
1599 .Sp | |
1600 Returns a string containing information about vertices and edges in a \fIGraph\fR object. | |
1601 .IP "\fBStringifyVerticesProperties\fR" 4 | |
1602 .IX Item "StringifyVerticesProperties" | |
1603 .Vb 1 | |
1604 \& $String = $Graph\->StringifyVerticesProperties(); | |
1605 .Ve | |
1606 .Sp | |
1607 Returns a string containing information about properties associated with vertices a \fIGraph\fR object. | |
1608 .IP "\fBUpdateEdgeProperty\fR" 4 | |
1609 .IX Item "UpdateEdgeProperty" | |
1610 .Vb 1 | |
1611 \& $Graph\->UpdateEdgeProperty($Name, $Value, $VertexID1, $VertexID2); | |
1612 .Ve | |
1613 .Sp | |
1614 Updates property \fIValue\fR for \fIName\fR associated with an edge between \fIVertexID1\fR and | |
1615 \&\fIVertexID1\fR and returns \fIGraph\fR. | |
1616 .IP "\fBUpdateVertexProperty\fR" 4 | |
1617 .IX Item "UpdateVertexProperty" | |
1618 .Vb 1 | |
1619 \& $Graph\->UpdateVertexProperty($Name, $Value, $VertexID); | |
1620 .Ve | |
1621 .Sp | |
1622 Updates property \fIValue\fR for \fIName\fR associated with \fIVertexID\fR and returns \fIGraph\fR. | |
1623 .SH "AUTHOR" | |
1624 .IX Header "AUTHOR" | |
1625 Manish Sud <msud@san.rr.com> | |
1626 .SH "SEE ALSO" | |
1627 .IX Header "SEE ALSO" | |
1628 CyclesDetection.pm, Path.pm, PathGraph.pm, PathsTraversal.pm | |
1629 .SH "COPYRIGHT" | |
1630 .IX Header "COPYRIGHT" | |
1631 Copyright (C) 2015 Manish Sud. All rights reserved. | |
1632 .PP | |
1633 This file is part of MayaChemTools. | |
1634 .PP | |
1635 MayaChemTools is free software; you can redistribute it and/or modify it under | |
1636 the terms of the \s-1GNU\s0 Lesser General Public License as published by the Free | |
1637 Software Foundation; either version 3 of the License, or (at your option) | |
1638 any later version. |