Available online at www.sciencedirect.com
Computers and Structures 86 (2008) 1219–1231 www.elsevier.com/locate/compstruc
Graph products for configuration processing of space structures A. Kaveh a,*, K. Koohestani b a
Centre of Excellence for Fundamental, Studies in Structural Engineering, Iran University of Science and Technology, Narmak, Tehran 16, Iran b Department of Civil Engineering, Tabriz University, Tabriz, Iran Received 22 July 2007; accepted 23 November 2007 Available online 15 January 2008 Dedicated to Professor F. Ziegler of Technical University of Wien in the occasion of his 70th birthday
Abstract In this paper four undirected graph products and four directed graph products are presented for the formation of structural models. The undirected products are extensively used in graph theory and combinatorial optimization, however, the directed products defined in this paper are more suitable for the formation of practical structural models. Here, the directed and undirected products are employed for the configuration processing of space structures. This application can easily be extended to the formation of finite element models. Ó 2007 Elsevier Ltd. All rights reserved. Keywords: Graph products; Configuration processing; Generators; Space structures; Directed graphs
1. Introduction For a large system, configuration processing is one of the most tedious and time-consuming parts of the analysis. Different methods have been proposed for configuration processing and data generation, among which the formex algebra of Nooshin [1,2] is the most general tool for this purpose. Behravesh et al. [3] employed set theory and showed that some concepts of set algebra can be used to build up a general method for describing the interconnection patterns of structural systems. Graph theoretical methods for the formation of structural and finite element models are developed by Kaveh [4,5]. In all these methods a submodel is expressed in algebraic forms and then the functions are used for the formation of the entire model. The main functions employed consist of translation, rotation, reflection and projection, or combination of these functions. On the other hand many structural models can be viewed as the graph products of two or three subgraphs, known as their generators. Many properties of structural models can be obtained by considering the properties of *
Corresponding author. Tel.: +98 21 44202710; fax: +98 21 77240398. E-mail address:
[email protected] (A. Kaveh).
0045-7949/$ - see front matter Ó 2007 Elsevier Ltd. All rights reserved. doi:10.1016/j.compstruc.2007.11.005
their generators. This simplifies many complicated calculations, particularly in relation with eigensolution of regular structures, as shown by Kaveh and Rahami [6,7] and Kaveh and Mirzaie [8]. In this paper, four undirected graph products and four directed graph products are presented for the formation of structural models. The undirected products are extensively used in graph theory and combinatorial optimization, however, the directed graph products are new and are developed in this paper. Here, the directed and undirected products are employed in configuration processing of space structures. The present method can be used in the formation of other systems, and can easily be extended to the formation of finite element models. 2. Definitions from graph theory A graph S(N, M) consists of a set of elements, N(S), called nodes and a set of elements, M(S), called members, together with a relation of incidence which associates two distinct nodes with each member, known as its ends. If orientations are assigned to the members of a graph, then it becomes a directed graph. Two nodes of a graph are called adjacent if these nodes are the end nodes of a member. A
1220
A. Kaveh, K. Koohestani / Computers and Structures 86 (2008) 1219–1231
Nomenclature or (X)C Cartesian product or (X)SC strong Cartesian product * or (X)D direct product or (X)LE lexicographic product (X)1 Type I product (X)2 Type II product (X)3 Type III product (+)4 Type IV product and sum Pn undirected path with n nodes and without loops Cn undirected cycle with n nodes and without loops Dðid ;jþ ;k1 :t:k2 Þ P n directed path with n nodes and its members have following specifications (member i, is double, member j is in positive direction and members k1 to k2 with increment t, are in negative direction)
member is called incident with a node if that node is an end node of the member. The degree of a node is the number of members incident with the node. A subgraph Si of a graph S is a graph for which N(Si) N(S) and M(Si) M(S), and each member of Si has the same ends as in S. A path graph P is a simple connected graph with N(P) = M(P) + 1 that can be drawn in a way that all of its nodes and members lie on a single straight line. A path graph with n nodes is denoted as Pn. A cycle graph C is a simple connected graph with N(C) = M(C) that can be drawn so that all of its nodes and members lie on a circle (C is a closed path and does not need to be a cycle). A cycle graph with n nodes is denoted as Cn. For further definitions the reader may refer to Kaveh [5,9].
Dðid ;jþ ;k1 :t:k2 Þ C n directed cycle with n nodes and its members have following specifications (member i, is double, member j is in positive direction and members k1 to k2 with increment t, are in negative direction) P sn undirected path with loops on nodes s. s can be a, e, o, b, m, [i, j], [i:t:j] which their corresponding definitions are all, even, odd, boundary, middle nodes, nodes i, j, and nodes i to j with an increment t.
operations are discussed in this paper, corresponding to Cartesian product, strong Cartesian product and direct product of two graphs. 3.2. Cartesian product of two graphs Many structures have regular patterns and can be viewed as the Cartesian product of a number of simple graphs. These subgraphs, which are used in the formation of a model, are called the generators of that model. The simplest Boolean operation on a graph is the Cartesian product K H introduced by Sabidussi [11]. The Cartesian product is a Boolean operation S = K H, in which, for any two nodes u = (u1, u2) and v = (v1, v2) in N(K) N(H), the member uv is in M(S) whenever
3. Undirected graph products Many structures can be viewed as the Cartesian product, strong Cartesian product, direct product or lexicographic product of a number of simple subgraphs. These subgraphs, used in the formation of the entire model, are called the generators of that model. Undirected graph products were developed in the past 50 years (see, e.g. [10–13]), and employed in nodal ordering and domain decomposition by Kaveh and Rahami [14,15].
u1 ¼ v 1
and
u2 v2 2 MðH Þ
ð1aÞ
or u2 ¼ v 2
and
u1 v1 2 MðKÞ:
ð1bÞ
As an example, the Cartesian product of K = P2 and H = P3 is shown in Fig. 1. In this product, the two nodes (u1, v2) and (v1, v2) are joined by a member, since the condition Eq. (1b) is satisfied.
3.1. Boolean operation on graphs (v1 ,u 2 )
In order to explain the products of graphs, consider a graph S with its nodes labeled as v1, v2, . . . , vM. The resulting graph is a labeled graph. Two distinct adjacent nodes, vi and vj, form a member, denoted by vivj 2 M(S). A Boolean operation on an ordered pair of disjoint labeled graphs K and H results in a labeled graph S, which has N(K) N(H) as its nodes. The set M(S) of members of S is expressed in terms of the members in M(K) and M(H), differently for each Boolean operations. Three different
(v1 ,v 2 )
(v 1 ,w2 )
(u 1 ,v2 )
(u 1 ,w2 )
v1 = u1
u2
v2
w2 (u1 ,u2 )
K=P2
H=P3
a Generators
S
bS
Fig. 1. The Cartesian product of two simple graphs.
A. Kaveh, K. Koohestani / Computers and Structures 86 (2008) 1219–1231
The Cartesian product of two graphs K and H can be constructed by taking one copy of H for each node of K and joining copies of H corresponding to adjacent nodes of K by matching of size N(H). The graphs K and H will be referred to as the generators of S. The Cartesian product operation is symmetric, i.e. K H ffi H K. For other useful graph operations, the reader may refer to the work by Gross and Yellen [16]. Examples: In this example, the Cartesian product C7 P5 of the path graph with 5 nodes denoted by P5 and a cycle graph shown by C7 is illustrated in Fig. 2. Two representations of the Cartesian product C3 P4 are illustrated in Fig. 3. The Cartesian product Pm1 Pm2 Pm3 of three paths forms a three-dimensional mesh. As an example, the Cartesian product of P6 P4 P5, resulting in a 5 3 4 mesh, is shown in Fig. 4.
1221
(v1 ,u 2 )
(v1 ,v 2 )
(v 1 ,w2 )
(u 1 ,v2 )
(u 1 ,w2 )
v1
= u2
u1
v2
w2
(u1 ,u2 ) K=P2
H=P3
S
a
b
Fig. 5. The strong Cartesian product of two simple graphs.
Fig. 6. Strong product representation of P7 P5.
3.3. Strong cartesian product of two graphs This is another Boolean operation, known as the strong Cartesian product. The strong Cartesian product is a Boolean operation S = K H in which, for any two distinct nodes u = (u1, u2) and v = (v1, v2) in N(K) N(H), the member uv is in M(S) if:
Fig. 2. Representation of C7 P5.
u1 ¼ v 1
and
u2 v2 2 MðH Þ
ð2aÞ
or u2 ¼ v 2
and
u1 v1 2 MðKÞ
ð2bÞ
or u1 v1 2 MðKÞ and
a
b
u2 v2 2 MðH Þ:
As an example, the strong Cartesian product of K = P2 and H = P3 is shown in Fig. 5. In this example, the nodes (u1, u2) and (v1, v2) are joined, since the condition Eq. (2c) is satisfied. Examples: As the first example, the strong Cartesian product P7 P5 of a path graph with 7 nodes, denoted by P7 and the path graph P5 is illustrated in Fig. 6. As a second example, the strong Cartesian product C7 P4 is shown in Fig. 7.
Fig. 3. Two different representations of C3 P4.
Fig. 4. Representation of a 5 3 4 mesh.
ð2cÞ
Fig. 7. Strong product representation of C7 P4.
1222
A. Kaveh, K. Koohestani / Computers and Structures 86 (2008) 1219–1231
3.4. Direct product of two graphs This is another Boolean operation, known as the direct product, introduced by Weichsel [17], who called it the Kronecker Product. The direct product of two subgraphs K and H is a graph S = K * H that is obtained by a Boolean operation, in which any two nodes u = (u1, u2) and v = (v1, v2) of N(K) N(H) are connected by a member uv if: u1 v1 2 MðKÞ and
u2 v2 2 MðH Þ:
ð3Þ
As an example, the direct product of K = P2 and H = P3 is shown in Fig. 8. Here, the two nodes (u1, u2) and (v1, v2) are joined, since the condition (3) is satisfied. Examples: The direct product P7 * P5 of the path graph P7 and path graph P5 is illustrated in Fig. 9. As a second example, the direct product C7 * P4 is shown in Fig. 10.
Fig. 10. Direct product representation of C7 * P4.
(v1 , u2 ) (v1 , v2 ) (v1 , w2 )
v1
3.5. Lexicographic product of two graphs
u2
u1
This is another Boolean operation known as the lexicographic product introduced by Harary and Wilcox [12], and occasionally it is referred to as the composition product. The lexicographic product is a Boolean operation S = K H in which for any two nodes u = (u1, u2) and v = (v1, v2) in N(K) N(H), the member uv is in M(S) if:
v2
w2
=
(u1 , u2 ) (u1 , v2 ) (u1 , w2 ) K
H
K H
a Generators
bS
Fig. 11. The lexicographic product K H of two path graphs K and H.
u1 v1 2 MðKÞ or u1 ¼ v 1
and
u2 v2 2 MðH Þ:
ð4Þ
More concretely, the lexicographic product can be formed by replacing each node of K with a copy of H and drawing all possible members between adjacent copies.
(v1 ,u 2 )
v1
(v1 ,v 2 )
(v 1 ,w2 )
* u1 K=P2
u2
v2
H=P3
a Generators
w2
= (u1 ,u2 )
(u 1 ,v2 )
bS
(u 1 ,w2 )
As an example, the lexicographic product of K = P3 and H = P2 is shown in Fig. 11. The lexicographic products of the two graphs shown in Fig. 12 are illustrated in Fig. 13. Example: In this example four domes are generated using the four undirected graph products defined in this section, Fig. 14. 4. Directed graph products In this section four types of directed graph products are presented. Operators for the union and ring sum of these products are also defined and utilized. Since in these products the graphs are directed and often contain loops, therefore for better explanation of the generators the following notation are adopted.
Fig. 8. The direct product of two simple graphs.
G1 Fig. 9. Direct product representation of P7 * P5.
G2
Fig. 12. Two subgraphs G1 and G2.
A. Kaveh, K. Koohestani / Computers and Structures 86 (2008) 1219–1231
a The lexicographic product G1
G2
b The lexicographic product G2
1223
G1
Fig. 13. The lexicographic graph products.
In general a path and a cycle with no direction and no loop are denoted by Pn and Cn, respectively. If a path contains some loops, it will have super indices a, e, o, b or m, designating loops in all the nodes, in the nodes with even numbers, in the nodes with odd numbers, end nodes and non-end nodes, respectively. The sign has the same meaning as in Matlab, i.e. the total number of the list or a loop. In an expression when the sign are used twice, then the number in between shows the increment of interval. Some
paths together with the corresponding signs are illustrated in Fig. 15. In order to show the directed graphs and for specifying the direction and the number of members, the index D for P and C is used. The indices consist of one or some numbers with + and as their superscripts. Therefore the numbers show the number of directed member with the same direction. For members with both directions the subscript d is employed. The direction for + and direction is quite
a P7 ( X ) C C 20
b P7 ( X ) SC C 20
c C 20 ( X ) D P7
d C 20 ( X ) LE P7
Fig. 14. Four domes generated by four undirected graph products.
1224
A. Kaveh, K. Koohestani / Computers and Structures 86 (2008) 1219–1231
P5
P5e
P5a
P5o
P5b
P5m
P5[1, 2 ]
P5[ 2:4 ]
P5[ 2:2:4 ]
C 6e
Fig. 15. Examples of paths with different loop systems.
D(1:3+ ) P4
D(1
d
, 2 + , 3d )
D(1:2+ ,3− ) P4
P4
D(1
d
, 2:3+ )
D(1− , 2+ ,3− ) P4
P4
D(1:4 + ,5− ,6 + )C6
Fig. 16. Notation used for directed graphs.
optional and members with no direction have no sign. Some examples for the above notation are shown in Fig. 16. 4.1. Type I directed graph products Four commonly used undirected graph products are already described in Section 3 consisting of Cartesian, strong Cartesian, direct and lexicographic products. Though these products can be used in configuration processing very efficiently, however, one short coming of these products is their incapability in generating triangular submodels. This reduces the applicability of undirected graph products, and the need for employing directed graph products. The use of directed strong Cartesian product can be considered as an efficient tool for creating diagonal members for the panels. Thus the formation of space structures with different topologies becomes feasible. The product for two directed graphs G and H is denoted by (X)1 and it is defined as follows: The product has NG NH nodes, where NH, NG are the numbers of nodes of G and H, respectively.
Two nodes (g, h) and (g0 , h0 ) are connected if one of the following conditions holds: ðg ¼ g0 and ðh0 :adj:h or h:adj:h0 ÞÞ or ðh ¼ h0 and ðg0 :adj:g or g:adj:g0 ÞÞ or ððg:adj:g0 and h:adj:h0 Þ or ðg0 :adj:g and h0 :adj:hÞÞ; where adj represents ‘‘adjacent”. Some examples of this product are shown in Fig. 17, where the method for controlling the diagonal members is clearly illustrated. 4.2. Type II directed graph products In this type of product, loops are used to control the inclusion or exclusion of members in different parts of the model. The product of G and H is denoted by (X)2 and it is defined as follows: The product has NG NH nodes, where NH,NG are the numbers of nodes of G and H, respectively. 0 0 Two nodes (g, h) and (g , h ) are connected if one of the following conditions holds:
A. Kaveh, K. Koohestani / Computers and Structures 86 (2008) 1219–1231
1225
Fig. 17. Examples of the Type I directed graph products.
G5e ( X ) 2 H 5e
G5e ( X ) 2 H 3
Fig. 18. Two examples of the Type II directed graph products.
ðg ¼ g0 and g: adj:gðno loopÞ and h:adj:h0 Þ or ðh ¼ h0 and h: adj:hðno loopÞ and g:adj:g0 Þ; where adj refers to ‘‘adjacent” and adj means ‘‘not adjacent”. Two examples of this type of products are shown in Fig. 18.
4.3. Type III directed graph products In the Type II product it is possible to delete the members of one complete row. Since this is required for the formation of complicated graphs, therefore in the Type III product loops and directed members are simultaneously used to control the inclusion or excluding of members.
1226
A. Kaveh, K. Koohestani / Computers and Structures 86 (2008) 1219–1231
(b)
(a)
Fig. 19. (a) Type III directed graph product and (b) product with geometric transformation.
Fig. 20. An example of Type IV directed graph product and sum.
Using this product one can form graphs in the form of honeycombs. This product for two graphs G and H is denoted by (X)3 and it is defined as follows: The product has NG NH nodes. 0 0 Two nodes (g, h) and (g , h ) are connected if one of the following conditions holds: ðg ¼ g0 and g:adj:gðloopÞ and h:adj:h0 and h0 :adj:hÞ or ðg ¼ g0 and g: adj:gðno loopÞ and h:adj:h0 &h0 : adj:hÞ or ðh ¼ h0 and g:adj:g0 Þ: It should be mentioned that the topological properties of the presented products contain the properties of their generators. However the configurations can be changed with different geometric transformations. Examples of this type of products together with their geometric transformations are shown in Fig. 19. Further explanations will be provided in subsequent section. 4.4. Type IV directed graph products In this section a summation of different types of graph products is presented. This approach is particularly suitable for the formation of double layer grids.
The product and sum of two graphs G and H is a graph S with algebraic representation denoted by S = G(X)H(+)4EG(X)EH, where G and H are the main subgraphs and EG and EH are two subgraphs which can easily be obtained from the main subgraphs. In fact these subgraphs are graphs with each node being associated with a member of the main subgraph and two nodes are connected if the corresponding members are incident in the main subgraphs. Therefore, the graph S has the nodes as NG NH + MG MH, where MG and MH are the numbers of members of G and H, respectively. The graph S has two subgraphs G(X)H and EG(X)EH, and the product can be an arbitrary product introduced in the previous sections. The nodes of these two subgraphs which are denoted by (g, h) for G(X)H and (eg,eh) for EG(X)EH are connected to each other if the following condition holds: ðg; hÞ; ðeg; ehÞ ! ðg inc eg and h inc ehÞ: Here, inc represents ‘‘incidence”. The above relationship indicates that for the node g corresponding to the member eg, and the node h corresponding to member eg, the (g, h) is
A. Kaveh, K. Koohestani / Computers and Structures 86 (2008) 1219–1231
1227
a S1⊕ S 2
b S1 = D(1:2:5
+
P ( X )1 D(1:2:3 + , 2:2:4 − ) P5
, 2:2:6 − ) 7
c S2 = P7e ( X ) 2 P5o
Fig. 21. Examples of using ring sum for generating new models.
a An orthogonal grid in integer coordinate system
b The model in polar coordinate system
Fig. 22. Transformation of an orthogonal grid into a model in polar coordinate system.
connected to (eg, eh). The above operation has extremely good capability for generating double layer grids. Examples of simultaneous product and summation are shown in Fig. 20. In these examples the products used are Cartesian products. 5. Union and ring sum operators In the previous section we introduced four new directed graph products, and complementary examples will be introduced in Section 7. Graph products are capable of generating a vast amount of structural models, however,
in order to increase this capability other operations such as union and ring sum can be employed. Using these operators one can add or subtract groups of members and/or nodes, thus increasing the capability of graph products. One can define other operators to further increase these capabilities for the formation of complicated structural models. For the operators introduced in the paper, it is assumed that operands (those graphs on which the operations are performed) have the same number of nodes. This assumption simplifies the study of the resulted graphs and the graph matrices of the resulted graph can easily be obtained
1228
A. Kaveh, K. Koohestani / Computers and Structures 86 (2008) 1219–1231
using the matrices of the operands. Naturally the ordering scheme used for the generators of two operands should be identical. We also assume in case after the use of operators, a node or nodes are left non-connected to the members, these will be deleted. An example of a grid commonly used in practice is shown in Fig. 21a, which is obtained as the ring sum of two graphs, where the first graph, Fig. 21b, is a Type I product and the second one, Fig. 21c, is a Type II product. 6. The geometry of models The mathematical models produced by graph products or other approaches are often generated in integer coordi-
b P7 ( X ) SC P7
a P7 ( X ) C P7
d D(1:3
+
nate system followed by appropriate geometric transformations to obtain the model in real coordinate systems. Obviously these transformations consist of different transformations in real and complex planes, using polar, cylindrical, spherical and other coordinate systems. One can also use the second and third vectors of the Laplacian matrices of the models as x and y coordinates of the node of a graph to obtain interesting geometries. Imposing special geometry on the generators one can produce highly complex configurations. A simple example of the geometric transformation using the following relationships is presented in Fig. 22. The following relationships transform the grid shown in Fig. 22a to the one illustrated in Fig. 22b
P ( X )1 D(1:3 + , 4:6 − ) P7
, 4 :6 − ) 7
g ( P7 ( X ) C P7 )(+) 4 ( EP6 ( X ) C EP6 )
e D(1:3
−
P ( X )1 D(1:3 + , 4:6 − ) P7
, 4:6 + ) 7
h ( P7 ( X ) C P7 )(+) 4 ( EP6a ( X ) 2 EP6a )
c D(1:6 ) P7 ( X )1 D(1:6 ) P7 +
+
f P7e ( X ) 2 P7
i ( P7 ( X ) C P7 )(+) 4
( EP6a ( X ) 2 EP6a ) ⊕ P7b ( X ) 2 P7b
Fig. 23. Different commonly used grid models in structural systems.
A. Kaveh, K. Koohestani / Computers and Structures 86 (2008) 1219–1231
a P7 ( X ) C C 20
c D(1:10
+
,11:20 − )
e D(1:10
g D(1:10
+
+
P21 ( X )1 D(1:10+ ,11:20− ) P21
,11:20 − )
,11:20 − )
P21 ( X )1 D(1:10− ,11:20 + − ) P21
P21 ( X )1 D(1:10+ ,11:20− ) P21
1229
b D(1:6 ) P7 ( X )1 D(1:20 )C20 −
d D(1:10
f D(1:10
+
+
,11:20 − )
,11:20 − )
+
P21 ( X )1 D(1:10+ ,11:20− ) P21
P21 ( X )1 D(1:10+ ,11:20− ) P21
h P23o ( X )3 D(1:2:11
Fig. 24. Different examples of space structures.
P
d
, 2:2:10 + ) 12
1230
A. Kaveh, K. Koohestani / Computers and Structures 86 (2008) 1219–1231
j ( P10 ( X )C P7 )(+) 4 ( EP9 ( X ) C EP6 )
i ( P9 ( X ) C P7 )(+) 4 ( EP8a ( X ) 2 EP6a ) ⊕ P9b ( X ) 2 P7b
l ( P9 ( X ) C P7 )(+) 4 ( EP8a ( X ) 2 EP6a ) ⊕ P9b ( X ) 2 P7a
k (C20 ( X )C P7 )(+) 4 ( EC20 ( X )C EP6 )
m D(1:15 ) P16 ( X )1 D(1:20 )C20 −
n D(1:10 )C10 ( X )1 D(1:20 )C20
+
−
+
Fig. 24 (continued)
r ¼ I 2 þ 1 and
p h ¼ ðI 1 1Þ : 7
7.1. Examples of single and double grids
Finally the model is expressed in a polar coordinate system as shown in Fig. 22b.
These models consist of single and double layer grids as shown in Fig. 23.
7. Examples of structural models
7.2. Examples of space structures in 3D space
In this section different grids and space structures are generated using the material presented in the previous sections. The algebraic representations of these structural models are provided.
These models consist of different types of space structures, as shown in Fig. 24, obtained as graph product and for some cases appropriate geometric transformations are performed for the formation.
A. Kaveh, K. Koohestani / Computers and Structures 86 (2008) 1219–1231
8. Concluding remarks Using the undirected and directed graph products of this paper a great family of space structures with varieties of topologies can be formed. These space structures have often complex patterns, however, can easily be generated using the operations presented in this paper. Application of the graph products makes it possible to find the topological properties of the models in much easier manner employing the topological properties of their generators. As an example, the eigensolution of the adjacency and Laplacian matrices of the models can easily be obtained using those of their generators. The eigenvalues and eigenvectors of these matrices facilities certain combinatorial optimization problems such as ordering and partitioning for parallel computing. Using different operators make the compact representation of complex models feasible, enabling to handle the formation and study of commonly used models in practice. Since the products and the operators introduced in this paper are systematic, thus one would expect the computer programs to be easily prepared. References [1] Nooshin H. Algebraic representation and processing of structural configurations. Comput Struct 1975;5:19–130.
1231
[2] Nooshin H. Formax configuration processing in structural engineering. London: Elsevier Applied Science Publishers; 1984. [3] Behravesh A, Kaveh A, Nani M, Sabet S. A set theoretical approach to configuration processing. Comput Struct 1988;30:1293–302. [4] Kaveh A. A graph theoretical approach to configuration processing. Comput Struct 1993;48:57–363. [5] Kaveh A. Structural mechanics: graph and matrix methods. 3rd ed. Somerset, UK: Research Studies Press; 2004. [6] Kaveh A, Rahami H. Block diagonalization of adjacency and Laplacian matrices for graph products; Applications in structural mechanics. Int J Numer Meth Eng 2006;68(1):33–63. [7] Kaveh A, Rahami H. A unified method for eigendecomposition of graph products. Commun Numer Meth Eng 2005;7(21):377–88. [8] Kaveh A, Mirzaie R. Minimal cycle basis of graph products for the force method of frame analysis. Commun Numer Meth Eng 2007 [Published online 2 January]. [9] Kaveh A. Optimal structural analysis. 2nd ed. Somerset, UK: John Wiley; 2006. [10] Berge C. Graphs and hypergraphs. Amsterdam: North-Holland Pub. Co.; 1973. [11] Sabidussi G. Graph multiplication. Math Z 1960;72:446–57. [12] Harary F, Wilcox GW. Boolean operations on graphs. Math Scand 1967;20:41–51. [13] Imrich W, Klavzˇar S. Product graphs; structure and recognition. NY: John Wiley; 2000. [14] Kaveh A, Rahami H. A new spectral method for nodal ordering of regular space structures. Finite Elem Anal Des 2004;40(13/ 14):1931–45. [15] Kaveh A, Rahami H. An efficient method for decomposition of regular structures using graph products. Int J Numer Meth Eng 2004;61:1797–808. [16] Gross J, Yellen J. Graph theory and its applications. NY: CRC Press; 1998. [17] Weichsel PM. The Kronecker product of graphs. Proc Am Math Soc 1962;13:47–52.