I want to add the information centrality metric to my analysis of complex network. Is there any in built function or library that I can use in mathematical. I did not come across any algorithm with clear idea how to implement this.
Update: If I use the algorithm as mentioned in the literature above I get a situation that the inverse of the matrix cannot be calculated (mathematica displays as singular matrix ) as shown below
Data is:
adjCitationData = {
{18, 5, 2, 4 , 9, 0, 0, 5, 0, 3, 1, 5, 0, 0},
{ 3, 6, 0, 2 , 2, 0, 0, 0, 0, 0, 0, 1, 0, 0},
{ 1, 3, 3, 4 , 3, 0, 0, 0, 0, 0, 0, 1, 0, 0},
{ 9, 0, 0, 68, 25, 0, 0, 0, 0, 6, 12, 0, 6, 0},
{19, 4, 1, 57, 139, 0, 0, 0, 0, 7, 62, 0, 44, 0},
{ 1, 0, 0, 0 , 0, 5, 4, 0, 0, 0, 0, 0, 0, 0},
{ 1, 0, 0, 0 , 0, 3, 2, 0, 0, 0, 0, 0, 0, 0},
{ 6, 0, 0, 0 , 1, 0, 0, 2, 0, 0, 0, 3, 0, 0},
{ 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{ 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{ 8, 2, 0, 44 , 85, 0, 0, 0, 0, 4, 53, 0, 35, 0},
{ 8, 1, 0, 0 , 1, 1, 0, 2, 0, 0, 0, 6, 0, 0},
{ 1, 0, 0, 25 , 59, 0, 0, 0, 0, 1, 47, 0, 37, 0},
{ 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }
DCr = DegreeCentrality@IGWeightedAdjacencyGraph@adjCitationData;
n = 14;
diagD = DiagonalMatrix[DCr];
matJ = Table[1, {i, n}, {j, n}];
matB = diagD - adjCitationData + matJ;
Inverse[matB];
invB = Inverse[matB] // N;
infoC[i_, j_] := invB[[i, i]] + invB[[j, j]] - 2*invB[[i, j]];
Inverse[matB];(*Inverse cannot be calculated as determinant is zero*)
Dimensions[matB]
IGWeightedAdjacencyGraph is from IGraph http://szhorvat.net/pelican/igraphm-a-mathematica-interface-for-igraph.html
I am I doing this correctly.
informational centrality
? There are many centrality measures in Mathematica such as betweenness, degree, eigenvalue centralities so on. $\endgroup$adjCitationData
, the last row and the last columns are all zero. You should drop the zero rows and columns from this matrix. Then, the algorithm works fine, otherwise, the matrix cannot be converted to a graph. $\endgroup$