wmayner / pyphi

A toolbox for integrated information theory.
https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1006343
Other
374 stars 97 forks source link

New Subsystem With Forward and Backward TPMs #122

Closed ajbailey4 closed 3 months ago

ajbailey4 commented 4 months ago

Subsystem now contains forward and backward TPMs.

Three main new methods were added to subsystem.py:

  1. sia - calculates sia for the current subsystem, previously done with backwards.sia
  2. distinction - creates a distinction (Concept object) from the current subsystem and a given mechanism, previously done manually
  3. all_distinctions - creates a CauseEffectStructure containing all candidate distinctions for a subsystem, previously done with backwards.compute_combined_ces

Other changes:

ajbailey4 commented 4 months ago

There was also circular import situation with compute, subsystem and new_big_phi that I had to resolve by moving an import inside my new sia method which doesn’t seem ideal, but I couldn't figure out how to resolve it otherwise.

isacdaavid commented 3 months ago

@ajbailey4 I have one more request. Since you were already testing this against the jupyter notebooks, and given that this removes backwards, could you also update the notebooks so as to use your new subsystem API?