coniii.legacy package
Warning
Legacy modules kept for internal back-compatibility. Importing
them directly emits a DeprecationWarning;
mean_field_ising is still used internally by
coniii.solvers.ClusterExpansion and
coniii.solvers.RegularizedMeanField.
Mean-field Ising solver helpers — LEGACY.
This module predates modern numpy/scipy idioms. It is kept because
coniii.solvers.ClusterExpansion and
coniii.solvers.RegularizedMeanField still call into it.
Direct imports emit a DeprecationWarning; internal callers
in coniii.solvers suppress the warning via
warnings.catch_warnings().
Originally authored by Bryan Daniels.
- coniii.legacy.mean_field_ising.aboveDiagFlat(mat, keepDiag=False, offDiagMult=None)[source]
Return a flattened list of all elements of the matrix above the diagonal.
Use offDiagMult = 2 for symmetric J matrix.
- coniii.legacy.mean_field_ising.m(h, J, ell, T)[source]
Careful if T is small for loss of precision?
- coniii.legacy.mean_field_ising.coocCluster(coocMat, cluster)[source]
Sort coocMat by the cluster indices
- coniii.legacy.mean_field_ising.JfullFromCluster(Jcluster, cluster, N)[source]
NOTE: There is perhaps a faster way of doing this?
- coniii.legacy.mean_field_ising.SmeanField(cluster, coocMat, meanFieldPriorLmbda=0.0, numSamples=None, indTerm=True, alternateEnt=False, useRegularizedEq=True)[source]
meanFieldPriorLmbda (0.): 3.23.2014 indTerm (True) : As of 2.19.2014, I’m not
sure whether this term should be included, but I think so
- alternateEnt (False)Explicitly calculate entropy
using the full partition function
- useRegularizedEq (True)Use regularized form of equation
even when meanFieldPriorLmbda = 0.
- coniii.legacy.mean_field_ising.JmeanField(coocMat, **kwargs)[source]
See SmeanField for important optional arguments, including noninteracting prior weighting.
- coniii.legacy.mean_field_ising.FHomogeneous(h, J, N, m)[source]
Use Hubbard-Stratonovich (auxiliary field) to calculate the (free energy?) of a homogeneous system as a function of the field m (m equals the mean field as N -> infinity?).
- coniii.legacy.mean_field_ising.SHomogeneous(h, J, N)[source]
Use Hubbard-Stratonovich (auxiliary field) to numerically calculate entropy of a homogeneous system.
- coniii.legacy.mean_field_ising.findJmatrixAnalytic_CoocMat(coocMatData, Jinit=None, bayesianMean=False, numSamples=None, priorLmbda=0.0, minSize=0)[source]
- coniii.legacy.mean_field_ising.unflatten(flatList, ell, symmetrize=False)[source]
Inverse of aboveDiagFlat with keepDiag=True.
- coniii.legacy.mean_field_ising.coocSampleCovariance(samples, bayesianMean=True, includePrior=True)[source]
- includePrior (True)Include diagonal component corresponding
to ell*(ell-1)/2 prior residuals for interaction parameters
- coniii.legacy.mean_field_ising.cooccurrence_matrix(samples, keep_diag=True)[source]
Matrix of pairwise correlations. Only upper right triangle is filled.
- Parameters:
samples (ndarray)
keep_diag (bool, True) – If True, diagonal is filled with ones. Else zeros.
- Return type:
ndarray
- coniii.legacy.mean_field_ising.coocStdevsFlat(coocMat, numFights)[source]
Returns a flattened expected standard deviation matrix used to divide deltaCooc to turn it into z scores.
- coniii.legacy.mean_field_ising.coocMatBayesianMean(coocMat, numFights)[source]
Using “Laplace’s method”
- coniii.legacy.mean_field_ising.unsummedZ(J, hext=0, minSize=0)[source]
J should have h on the diagonal.
- coniii.legacy.mean_field_ising.unsummedLogZ(J, hext=0, minSize=0)[source]
J should have h on the diagonal.
Pseudolikelihood inverse-Ising prototype — LEGACY.
A stand-alone implementation of the pseudolikelihood approach to the
inverse Ising problem (Aurell and Ekeberg, PRL 108, 090201 (2012)).
Not wrapped by any solver class in coniii.solvers and not
exported from the top-level coniii. Kept for reference;
scheduled for removal in coniii v5.
Direct imports emit a DeprecationWarning.
Originally authored by Bryan C. Daniels.
- coniii.legacy.pseudo_inverse_ising.pseudoInverseIsing(samples, minSize=0)[source]
- minSize (0)minimum number of participants per sample
(set to 2 for fights)
- coniii.legacy.pseudo_inverse_ising.conditionalLogLikelihood(r, samples, Jr, minSize=0)[source]
(Equals -L_r from my notes.)
r : individual index samples : binary matrix, (# samples) x (dimension of system) Jr : (dimension of system) x (1) minSize (0) : minimum number of participants (set to 2 for fights)
- coniii.legacy.pseudo_inverse_ising.conditionalJacobian(r, samples, Jr, minSize=0)[source]
Returns d conditionalLogLikelihood / d Jr, with shape (dimension of system)
- coniii.legacy.pseudo_inverse_ising.conditionalHessian(r, samples, Jr, minSize=0, pairCoocRhat=None)[source]
Returns d^2 conditionalLogLikelihood / d Jri d Jrj, with shape (dimension of system)x(dimension of system)
- pairCooc (None)Pass pairCoocMat(samples) to speed
calculation.
Current implementation uses more memory for speed. For large #samples, it may make sense to break up differently if too much memory is being used.
- coniii.legacy.pseudo_inverse_ising.testDerivatives(r, i, samples, J, minSize=0, deltaMax=1)[source]