coniii.pseudo_inverse_ising module

coniii.pseudo_inverse_ising.conditionalHessian(r, samples, Jr, minSize=0, pairCoocRhat=None)

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.pseudo_inverse_ising.conditionalJacobian(r, samples, Jr, minSize=0)

Returns d conditionalLogLikelihood / d Jr, with shape (dimension of system)

coniii.pseudo_inverse_ising.conditionalLogLikelihood(r, samples, Jr, minSize=0)

(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.pseudo_inverse_ising.pairCoocMat(samples)

Returns matrix of shape (ell)x(# samples)x(ell).

For use with conditionalHessian.

Slow because I haven’t thought of a better way of doing it yet.

coniii.pseudo_inverse_ising.pseudoInverseIsing(samples, minSize=0)
minSize (0) : minimum number of participants per sample
(set to 2 for fights)
coniii.pseudo_inverse_ising.pseudoLogLikelihood(samples, J, minSize=0)

samples : binary matrix, (# samples) x (dimension of system) J : (dimension of system) x (dimension of system)

: J should be symmetric

(Could probably be made more efficient.)

coniii.pseudo_inverse_ising.testDerivatives(r, i, samples, J, minSize=0, deltaMax=1)