The last two decades have witnessed a mass of activity devoted to characterizing and understanding the structure of real-life networks . Extensive empirical studies have identified some universal properties shared by a variety of real systems, such as small-world effect  and scale-free behavior . Small-world effect is characterized by small average path length and large clustering coefficient , while scale-free behavior means that the degree of nodes is heterogeneous, following a heavy-tail or power-law distribution . In addition to these two topological aspects, many studies have also shown that a wealth of real networks synchronously exhibit a large heterogeneity in the distributions of both node strength and edge weight , for example, scientific collaboration network , worldwide airport network [6, 7], and metabolic network . These striking structural and weighted properties play a crucial role in diverse dynamical processes taking place on networks [2, 9, 10, 11, 12, 13].
In parallel with the discoveries of common properties for real networks, considerable attention has been paid to find generating mechanisms and models for networks that display the prominent features of real systems [14, 15, 16, 17]. Since massive networks often consist of small pieces, for example, communities  and motifs , graph products and operations are a natural way to generate networks, by using which one can built a large network out of two or more smaller ones. In this perspective, many graph products have been employed in the design of realistic models, in order to generate real networks and capture their common properties, including Cartesian product , hierarchical product [21, 22, 23], corona product [24, 25], Kronecker product [26, 27, 28, 29], among others . In addition, diverse graph operations were exploited to model complex networks [31, 32, 33, 34]. However, most of current works focus on models for building unweighted networks, failing to match the properties of heterogeneous distributions of node strength and edge weight.
In this paper, we define an extended corona product for weighted graphs. Applying this generalized corona product and the reinforcement mechanism of edge weight in realistic networks, e.g. airport networks [6, 7], we introduce a simple generative model for heterogeneous weighted networks, which leads to rich topological and weighted properties. We offer an exhaustive analysis of the considered model and determine exactly its relevant properties, including strength, weight and degree distributions, clustering coefficient, degree correlations and diameter, which match the statistical properties shared by many realistic networks. We also characterize all the eigenvalues and their corresponding multiplicities of the transition probability matrix for random walks on the proposed weighted networks. Based on the obtained spectra, we further deduce closed-form expressions for average hitting time of biased random walks, as well as weighted counting of spanning trees on the networks, with the latter being consistent with the result derived by a different technique.
Note that the standard corona product has been previously applied to generate complex networks [24, 25]. However, the resulting networks are binary, and their degree follows an exponential form distribution that is almost homogenous. Moreover, for these networks, only the spectra for adjacency matrix and Laplacian matrix can be derived. In contrast, the proposed graphs are weighted, which are created by an extended corona product. Particularly, our graphs obey heterogeneous distributions for vertex degree and strength, as well as the edge weight, as observed in many real networks. Another different aspect for our weighted networks is that the eigenvalues for transition probability matrix can be determined, instead of adjacency matrix and Laplacian matrix. Finally, our networks are also largely different from those fractal binary networks that have received considerable attention [35, 36].
2 Construction of weighted heterogeneous networks
Let be a simple connected weighted graph (network), where and are sets of vertices (nodes) and edges, and is a weight function. Let and denote, respectively, the number of vertices and edges in , where the weight of an edge adjacent to vertices and is denoted by . Then, the strength of vertex in is defined as .
For unweighted (binary) simple graphs, Frucht and Harary proposed  the corona product of two graphs. Let (with vertices) and be two simple binary graphs. The corona of and is a graph obtained by taking one copy of graph , copies of graph , and connecting the th vertex of and each vertex of the th copy of , where . This graph operation allows one to generate complex graphs from simple ones. The combinatorial and spectral properties of corona product of two graphs have been much studied [38, 39, 40].
In a recent work , a generalized corona of simple graphs was proposed. Given simple unweighted graphs (with nodes) and (), the generalized corona of and is the graph obtained by taking one replica of and and joining every vertex of to the th vertex of . In fact, this generalized corona is also applicable when (with nodes) and () are weighted graphs. Here we use this graph operation to construct heterogeneous weighted networks. To this end, we extend this corona product of unweighted graphs to some weighted graphs. Let and be two weighted graphs, with the strength of each vertex in being an even number. Then the extended corona product of two weighted graphs, denoted by , is a weighted graph constructed in the following way. For each vertex in with strength , take copies of , and link all vertices in each of replicas of to by edges with unit weight.
Using the above defined extended corona product, coupled with the reinforce mechanism of edge weight, we can built an iteratively growing inhomogeneous weighted networks, with its topological and weighted properties matching those of realistic systems.
Let be a weighted graph with two vertices connected by one edge with unit weight. Then the iteratively growing heterogeneous weighted networks , , is constructed as follows. For , is a triangle consisting of three edges with unit weight. For , is obtained from by performing the following two operations.
(I) Generate a weight network by applying the extended corona product of and .
(II) For each old edge with weight in , that is, an edge belonging to , increase its weight by ( is non-negative integer), leading to .
Note that the two operations in Definition 2 serve, respectively, as the strength driven attachment and weight reinterment (updating) mechanisms in real networks and the famous stochastic model for heterogeneous weighted networks [16, 17]. It is thus expected that our model exhibits similar properties as those of realistic networks and its random counterparts [16, 17].
By Definition 2, it is easy to verify that for , graph can also be built from in an iterative way as follows. First, for each existing triangle in with weight for every edge, perform the following operations for each of its three vertices. We create groups of new vertices, with each group containing two vertices. Both vertices of each group and their ‘mother’ vertex form a new triangle, each edge of which has an unit weight. Then, for each edge in , we increase its weight by times. The proof of the equivalence between this iterative construction and Definition 2 is straightforward, we thus omit the proof detail. Figure 1 illustrates the construction of network .
Notice that when , is exactly the binary scale-free small-world Koch network , the properties of which have been extensively studied. Thus, in what follows, we only consider the case .
The second construction method of the weighted networks allows to analytically treat their properties. In the graphs , the total number of vertices , the total number of edges , the total number of triangles , and the total weight of all edges , are
respectively. Proof. Let , , and denote, respectively, the number of vertices, edges, and triangles generated at th iteration. Note that the addition of every vertex group leads to new vertices new edges, so the relation holds. By construction, for , we have
On the right-hand side (rhs) of Eq. (8), the first term accounts for the sum of weight of the old edges, while the second term represents the total weight of the new edges generated at iteration . Considering the initial condition , Eq. (8) is solved to yield
Then in network the total number of vertices is
and the total number of triangles is
The proof is completed.
Thus, the average degree in network is , which is approximately equal to for large .
3 Structural and weighted properties
In this section, we study the topological and weighted characteristics of the weighted networks .
3.1 Strength distribution
The strength distribution of a weighted graph is the probability that a randomly chosen node has strength . When a network has a discrete sequence of vertex strength, one can also use cumulative strength distribution instead of strength distribution , which is the probability that a vertex has strength greater than or equal to , that is
For a network with a power-law strength distribution , their cumulative strength distribution is also power-law obeying .
The strength distribution of the graphs follows a power-law form with the exponent .
Proof. In , all simultaneously emerging nodes have identical strength. Let denote the strength of a vertex in , which was generated at the th iteration, then . In order to determine , we introduce the quantity to represent the difference between and . By construction,
On the rhs of the second line of Eq. (3.1), the first item describes the increase of weight of the old edges connecting and those vertices already existing at iteration , while the second term accounts for the total weight of the new edges incident to vertex , each of which is generated at iteration and has unit weight.
Equation (3.1) implies the following recursive relation:
Using , we have
Thus, the cumulative strength distribution of can be represented as 
From Eq. (12), we can obtain
plugging which into the Eq. (13) yields
For large , we have
Therefore, the strength of vertices in the graphs obeys a power-law form with exponent .
3.2 Degree distribution
In a similar way, we can obtain the degree distribution of the weighted graphs .
The degree distribution of the graphs exhibits a power law behavior with .
Proof. In , the degree of all simultaneously emerging vertices is the same. Let be the degree of a vertex in , which was added to the graph at iteration . By definition, . According to network construcion, the degree evolves as
which, together with Eq. (12), leads to
Then, the cumulative degree distribution of can be expressed as
For large , we have
which means that the degree of graph follows a power law distribution with the exponent identical to , i.e. .
3.3 Weight distribution
In addition to distributions of degree and strength, the weight distribution for the graphs can also be analytically determined. The weight of edges in the graphs follows a power law distribution with exponent .
Proof. Let be the weight of edge in , which was generated at the iteration , then . Since all the edges in emerging simultaneously have the same weight, we can establish the recursive relation as follows.
Considering , Eq. (14) is solved to obtain
Hence, the cumulative weight distribution of is
From Eq. (15), we can derive
Substituting which into Eq. (16) gives
Therefore, for large , we have
which implies that the weight distribution of exhibits a power-law form .
3.4 Clustering coefficient and weighted clustering coefficient
In a graph , the clustering coefficient of a vertex with degree is defined  as the ratio between the number of existing triangles including vertex and the total number of possible triangles including , that is . When is a weighted graph, the weighted clustering coefficient  of vertex , denoted by , is defined as
where is the th entry of the adjacent matrix of graph defined as follows: if there exists an edge connecting vertex and vertex , and otherwise.
The clustering coefficient of the whole graph , denoted as , is defined as the average of over all vertices in the graph: . When is a weighted graph, we can analogously define weighted clustering coefficient of .
Next we will calculate the clustering coefficient, weighted clustering coefficient for every vertex and their average value in .
For any vertex with degree in the graphs , its clustering coefficient is . Proof. For an arbitrary vertex in the graphs , the number of existing triangles including and its degree satisfy relation . Thus, for any vertex in the graphs , there is a one-to-one correspondence between its clustering coefficient and its degree: For a vertex of degree , its clustering coefficient is .
Hence, for a vertex with a large degree, its clustering coefficient is inversely proportional to its degree. Such a scaling has been observed in various real-life networks .
For any vertex with degree in the graphs , its weighted clustering coefficient is , independent of its strength. Proof. For a vertex in the graphs that was created at the th iteration, its strength is , its degree is , and the number of triangles including is also . Furthermore, for each triangle, the weight of its three edges is the same. By construction, among all the triangles attached to vertex , the number of triangles with edge weight , , , , , equals, respectively, , , , , . Thus, the sum in Eq. (18) can be evaluated as
which is equal to the strength of vertex . Thus, for any vertex with degree in graph , its weighted clustering coefficient is , which does not depend on the strength of the vertex.
Propositions 3.4 and 3.4 show that for any vertex in graph , its weighted clustering coefficient and its weighted clustering coefficient are equal to each other, signaling that there exist no correlations between weights and topology with respect to the clustering coefficient of a single vertex. Moreover, both the clustering coefficient and weighted clustering coefficient of the whole graph are also equal.
The clustering coefficient of the graphs is
Proof. As shown above, in the degree sequence is discrete. The number of vertices with degree , , , , is equal to , , , , , respectively. By Propositions 3.4, the clustering coefficient of any vertex with degree is . According to the definition of clustering coefficient of a graph, the proposition follows immediately.
In Fig. 2, we report as a function of and , which shows that for large graphs, approaches to a high constant increasing with . For example, for and , tends to and , respectively. Therefore, the whole family of graph is highly clustered.
3.5 Degree correlations
3.5.1 Average nearest-neighbor degree
A key quantity related to degree correlations  of a graph is the average degree of nearest neighbors for vertices with degree , denoted as . When increases with , it implies that vertices have a tendency to link to vertices with a similar or larger degree. In this situation, the graph is said to be assortative . In contrast, if decreases with , it means that vertices with large degree have a high probability of being linked to those vertices with small degree, and the graph is defined as disassortative. If correlations are absent, is independent of .
In the graphs , the average degree of nearest neighbors for vertices with degree is
Proof. By construction, for a vertex in , all its connections to vertices with larger degree are made at the creation iteration when the vertex is generated, while the connections to vertices with smaller degree are made at each subsequent iteration. Then, for those vertices generated at the iteration with degree , can be computed by
where denotes the degree of a vertex in , which was generated at iteration . The first sum on the rhs of Eq. (3.5.1) describes the links made to vertices with larger degree (i.e., ) when the vertices were generated at iteration . The second term accounts for the links made to vertices with small degree at iteration (). The last term explains the link connected to the simultaneously emerging vertex.
after some algebraic manipulations. Considering , we can write in terms of to obtain the result.
Eq. (3.5.1) shows that in large graphs (i.e. ), . That is, is approximately a power-law function of degree with negative exponent (since ), indicating that the graph family is disassortative.
3.5.2 Weighted average nearest-neighbor degree
For a vertex with degree in a weighted network, its weighted average nearest-neighbor degree is defined as 
while the global weighted degree correlations of the network can be defined as the average of weighted nearest-neighbor degree over all vertices with degree , given by
The behavior of the metric describes the weighted assortative or disassortative features considering the actual interactions among the elements of a system.
In the graphs , the global weighted average degree of the nearest neighbors for vertices with degree is
Proof. Analogously to computation of , for those vertices in with degree that are generated at the iteration , , the global weighted average degree of their nearest neighbors can be calculated by
After some algebraic manipulations, we obtain
Writing the above equation in terms of the vertex degree , it is straightforward to get Eq. (3.5.2).
According to Proposition 3.5.1, we can see that for large network , the global weighted degree correlation follows a power-law form . Since , . Hence, different from the topological , the weighted exhibits an assortative behavior in the whole degree spectrum.
The diameter of a graph is defined as the maximum of the shortest distances between all pairs of vertices.
The diameter of the graphs is . Proof. When , is a triangle, implying . For , we call those newly created vertices in at th iteration as active vertices. By the construction process, all active vertices are connected to those vertices existing in , so the maximum distance between any active vertex and those vertices in is not more than and the maximum distance between any pair of active vertices is at most . Thus, after each iteration, the diameter of the graph increases by . Hence, we have for any .
Since for large , , we have . Thus the diameter grows logarithmically with the number of vertices, indicating that the graphs display the small-world effect.
4 Spectra probability transition matrix and normalized Laplacian matrix
Let denote its generalized adjacency matrix of the graphs , whose entries is defined as follows: if vertices and are adjacent in by an edge with weight , or otherwise. The diagonal strength matrix of is , where the th nonzero entry is the strength of vertex . The transition probability matrix of , denoted by , is defined by , with the th element accounting for the local transition probability for a walker going from vertex to in . Matrix is an asymmetric matrix, which is similar to the normalized adjacency matrix of the graphs . The normalized adjacency matrix of the graphs is defined as
By definition, the th entry of matrix is . Thus, matrix is real and symmetric, and has the same set of eigenvalues as the transition probability matrix . Then, in order to determine the eigenvalues of transition probability matrix , we can alternatively compute those of matrix . In addition to the transition probability matrix, we are also interested the normalized Laplacian matrix of the graphs defined as follows. The normalized Laplacian matrix of the graphs is
is the identity matrix with the same order as.
For , let and denote the eigenvalues of matrices and , respectively. Since both matrices are real and symmetric, all their eigenvalues are real, which can be listed in a nondecreasing (or nonincreasing) order as: and . From Definition 4, it is obvious that
holds for all This one-to-one correspondence implies that if one can determine the eigenvalues of one matrix, then the eigenvalues of the other matrix can be easily found.
For the convenience of the following description, we introduce a real function defined to be
The following lemma provides the recursive relation of eigenvalues between matrices and . If is an eigenvalue of satisfying , then is an eigenvalue of , and the multiplicity of eigenvalue of , denoted , is the same as the multiplicity of the eigenvalue of , i.e. . Proof. Let
denote the eigenvector associated with eigenvalueof , where the component corresponds to vertex in . Then,
Let be the set of vertices in the graphs . Then, can be divided into two disjoint sets and , where set contains the newly vertices created at the th iteration. For all vertices in , we label those in from to , while label the vertices in from to .
For an old vertex that was generated before iteration , the row in Eq. (30) corresponding to component can be written as
By construction, for each newly created vertex linked to , there is only one vertex that is simultaneously adjacent to both and . According to Eq. (30), the characteristic equations associated vertices and can be expressed as