Skip to content

put strong connectivity check in config.SHORTCIRCUIT_SIA.#114

Open
Astrocytes120 wants to merge 2 commits into
wmayner:feature/iit-4.0from
Astrocytes120:feature/iit-4.0
Open

put strong connectivity check in config.SHORTCIRCUIT_SIA.#114
Astrocytes120 wants to merge 2 commits into
wmayner:feature/iit-4.0from
Astrocytes120:feature/iit-4.0

Conversation

@Astrocytes120

Copy link
Copy Markdown

As Will advised, I changed the code in order to work in the SHORTCIRCUIT_SIA. As a result, it works in the same way as before, but let an user know the reason why the subsystem is trivial.
If you have the other advice for trivial cases, please let me know it.

It works like this:
tpm = np.array(
[
[1, 0, 0],
[1, 0, 0],
[1, 0, 0],
[1, 0, 0],
[1, 0, 0],
[1, 0, 0],
[1, 1, 1],
[1, 1, 1],
]
)

cm = np.array([
[0,0,0],
[0,1,1],
[0,1,1],
])

labels= ["A", "B","C"]
state0= (1,1,1)

For all possible subsystems,
┌────────────────────────────────────────┐
│ NullSystemIrreducibilityAnalysis │
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
│ Subsystem: A,B,C │
│ Φ: 0.0 │
│ CAUSE: (0,1,1) │
│ II_c: 1.0 │
│ EFFECT: (1,1,1) │
│ II_e: 2.0 │
│ Reasons: NOT_STRONGLY_CONNECTED │
└────────────────────────────────────────┘
Subsystem(B, C)
┌──────────────────────────────────┐
│ SystemIrreducibilityAnalysis │
│ ━━━━━━━━━━━━━━━━━━━━━━━ │
│ Subsystem: B,C │
│ Current state: (1,1) │
│ φ_s: 2.0 │
│ Normalized φ_s: 1.0 │
│ CAUSE: (1,1) │
│ II_c: 2.0 │
│ EFFECT: (1,1) │
│ II_e: 2.0 │
│ #(tied MIPs): 0 │
│ Partition: │
│ 2 parts: {B,C} │
│ [[0 1] │
│ [1 0]] │
└──────────────────────────────────┘

Subsystem(A)
┌─────────────────────────────────────┐
│ NullSystemIrreducibilityAnalysis │
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
│ Subsystem: A │
│ Φ: 0.0 │
│ CAUSE: (0) │
│ II_c: 0.0 │
│ EFFECT: (0) │
│ II_e: 0.0 │
│ Reasons: NO_CAUSE, NO_EFFECT │
└─────────────────────────────────────┘

wmayner added a commit that referenced this pull request Jun 26, 2026
Audit of the 16 open PRs against current main: every fix-type PR
(#141 unflatten arg order, #134 np.log2 out=, #114 strong-connectivity
short-circuit) is already resolved in 2.0, and the rest are moot or
superseded (jsonify tolerance, ray/redis importorskip, 2-3 relation
plot cap, pandas rename, old TPM/substrate PRs, benchmarking notebook).
Nothing left to absorb; only the GitHub closes remain (maintainer step).
Update the "Open PRs to Absorb" section and the P15 status lines.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012dtSzF2YgDjGpFC9mA47ve
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant