relations

Functions for computing relations among distinctions.

class pyphi.relations.RelationFace(*args, phi=None)

A set of (potentially) related causes/effects.

property overlap

The set of elements that are in the purview of every relatum.

property congruent_overlap

Return the congruent overlap(s) among the relata.

These are the common purview elements among the relata whose specified states are consistent; that is, the largest subset of the union of the purviews such that each relatum specifies the same state for each element.

property purview

The purview of the relation face. Alias for congruent_overlap.

property relata_units

The Units in the purview of each cause/effect in this face.

property relata_purviews

The purview of each cause/effect in this face.

property distinctions

The distinctions whose causes/effects are in this face.

property num_distinctions

The number of distinctions whose causes/effects are in this face.

to_json()
classmethod from_json(data)
class pyphi.relations.Relation

A set of relation faces forming the relation among a set of distinctions.

property faces
property num_faces
property purview
property is_self_relation
property phi
distinction_phi_per_unique_purview_unit()
property mechanisms
pyphi.relations.all_relations(distinctions, min_degree=2, max_degree=None, **kwargs)

Yield causal relations among a set of distinctions.

class pyphi.relations.Relations(*args, **kwargs)

A set of relations among distinctions.

sum_phi()
num_relations()
class pyphi.relations.ConcreteRelations(*args, **kwargs)
property faces_by_degree

Return a dictionary mapping degree to relation faces of that degree.

class pyphi.relations.AnalyticalRelations(distinctions)
property self_relations
pyphi.relations.relations(distinctions, relation_computation=None, **kwargs)

Return causal relations among a set of distinctions.

class pyphi.relations.RelationComputationsRegistry

Storage for functions for computing relations.

Users can define custom schemes:

Examples

>>> @relation_computations.register('NONE')  
... def no_relations(subsystem, ces):
...    return Relations([])

And use them by setting config.RELATION_COMPUTATIONS = 'NONE'

desc = 'methods for computing relations'
pyphi.relations.concrete_relations(distinctions, **kwargs)
pyphi.relations.analytical_relations(distinctions, **kwargs)
pyphi.relations.relation(distinctions)