# When does a extended BIC curve for a Gaussian Graphical model/GLasso look incorrect?

I have a model for a network, and I wanted to analyze the extended BIC curve for a graphical lasso model as according to Foygel and Drton 2010. The paper gives a list of assumptions for the data/model that should hold for the desired properties of EBIC, and one includes the decomposability of the edge set, which I don't think my network should have. My curve looks like: The left plot is the BIC curve and the right plot is the number of edges in the network, and the red dot represents the lambda value corresponding to the minimum BIC. My question is whether the discontinuous/very nonlinear nature of the curve points to either some issue with my code or one of the assumptions of the model not holding?

my code to calculate it is:

import numpy as np
from sklearn import covariance

BIC = lambda E, n, Theta, S, alpha, p: -n*(np.linalg.slogdet(Theta)[1] - np.trace(np.matmul(S, Theta))) + np.log(n)*E + 4*E*alpha*np.log(p)

#emp_cov is the empirical covariance matrix
alphaRange=np.linspace(0.00001, 0.0001, 50)
n=50 #Sample size
p = 500 #this is the value for the number of nodes/random variables in the vector
bic_values = {}
edge_counts = {}

for alpha in alphaRange:
try:
graphCov = covariance.graphical_lasso(emp_cov, alpha)
E = (np.count_nonzero(graphCov[1] * ~np.eye(graphCov[1].shape[0], graphCov[1].shape[0], dtype=bool)))/2
'''
This sets the diagonal elements to 0, and then counts the number of
nonzero elements (edges) in the matrix, and divides by 2 bc of symmetry
'''
bic_values[alpha] = BIC(E, n, graphCov[1], emp_cov, alpha, graphCov[1].shape[0])
edge_counts[alpha] = E
except FloatingPointError:
print(f"Failed at alpha={alpha}")


Any help is much appreciated.

BIC = lambda E, n, Theta, S, gamma, p: -n*(np.linalg.slogdet(Theta)[1] - np.trace(np.matmul(S, Theta))) + np.log(n)*E + 4*E*gamma*np.log(p)
Where $$\gamma \in [0,1]$$ is some constant that is predetermined to decide how much you want to penalize large edge sets by. $$\gamma = 0$$ sets this back to the normal BIC. The full eBIC formula written out is:
$$eBIC = -n(\log \det (\Theta) - \operatorname{Tr}(S \Theta)) + E\log(n) + 4E\gamma \log(p)$$