Vol. I, Ch. 13seed 26113
DCT Laboratory — Volume I, Chapter 13
Unified Enterprise Transformation Architecture
Seed 26113 · Companion to the chapter and AXIOM Module AXIOM-13
Two instruments: the 5×5 interaction matrix over the constituent
architectures , and integrated dynamics where a unified transformation
operator strengthens ONE coupling at quarter 8 — and a 0.03 coupling change
quadruples the steady state. Mirrored in DCT_V1_Ch13_Lab.xlsx.
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['figure.dpi']=110
import numpy as np
SEED = 26113
ARCH = ["A_S","A_T","A_C","A_P","A_R"]
M = np.array([
[0.00,0.30,0.20,0.15,0.25],
[0.35,0.00,0.25,0.20,0.15],
[0.20,0.30,0.00,0.25,0.10],
[0.15,0.25,0.35,0.00,0.10],
[0.30,0.20,0.15,0.25,0.00]])
# integrated (K, p) dynamics: K' = 0.90K + 0.20p + 4 ; p' = gK + 0.80p + 2
G_PRE, G_POST, SWITCH, N = 0.06, 0.09, 8, 24
K0, P0 = 40.0, 50.0
def A_of(g): return np.array([[0.90,0.20],[g,0.80]])
def steady(g):
return np.linalg.solve(np.eye(2)-A_of(g), np.array([4.0,2.0]))
def path(n=N):
z = np.empty((n+1,2)); z[0]=(K0,P0)
for k in range(n):
g = G_PRE if k < SWITCH else G_POST
z[k+1] = A_of(g)@z[k] + np.array([4.0,2.0])
return z
def reference_values():
sp, spo = steady(G_PRE), steady(G_POST)
z = path()
return {
"max_entry_M": round(float(M.max()),4),
"max_rowsum_M": round(float(M.sum(axis=1).max()),4),
"rho_pre": round(float(max(abs(np.linalg.eigvals(A_of(G_PRE))))),4),
"rho_post": round(float(max(abs(np.linalg.eigvals(A_of(G_POST))))),4),
"K_ss_pre": round(float(sp[0]),4), "p_ss_pre": round(float(sp[1]),4),
"K_ss_post": round(float(spo[0]),4), "p_ss_post": round(float(spo[1]),4),
"K_24": round(float(z[24,0]),4), "p_24": round(float(z[24,1]),4),
}
if __name__ == "__main__":
[print(f"{k:14s} {v}") for k,v in reference_values().items()]max_entry_M 0.35 max_rowsum_M 0.95 rho_pre 0.9704 rho_post 0.9932 K_ss_pre 150.0 p_ss_pre 55.0 K_ss_post 600.0 p_ss_post 280.0 K_24 133.7305 p_24 62.7496
Panel 1 — The interaction matrix
: the strength with which architecture 's state enters architecture 's evolution (Def.: Enterprise Interaction Matrix). Strongest single interaction: 0.35 (state → transformation, and capital → performance). Most affected layer by row sum: at 0.95 — Enterprise Transformation Simultaneously Affects All Architectures (Prop.), and is affected by all of them in return.
fig, ax = plt.subplots(figsize=(6.4,5.2))
im = ax.imshow(M, cmap="Greens", vmin=0, vmax=0.4)
ax.set_xticks(range(5), ARCH); ax.set_yticks(range(5), ARCH)
for i in range(5):
for j in range(5):
if M[i,j]>0: ax.text(j,i,f"{M[i,j]:.2f}",ha="center",va="center",
color="white" if M[i,j]>=0.25 else "#0B3D2E", fontsize=10)
ax.set(title="Interaction matrix M (row i ← column j), seed 26113")
plt.colorbar(im, shrink=.8); plt.tight_layout(); plt.show()
print("row sums (how affected):", dict(zip(ARCH, np.round(M.sum(axis=1),2))))
print("col sums (how influential):", dict(zip(ARCH, np.round(M.sum(axis=0),2))))
row sums (how affected): {'A_S': np.float64(0.9), 'A_T': np.float64(0.95), 'A_C': np.float64(0.85), 'A_P': np.float64(0.85), 'A_R': np.float64(0.9)}
col sums (how influential): {'A_S': np.float64(1.0), 'A_T': np.float64(1.05), 'A_C': np.float64(0.95), 'A_P': np.float64(0.85), 'A_R': np.float64(0.6)}
Panel 2 — Integrated dynamics and the unified operator
Capital and performance coupled: , . At quarter 8 a unified transformation operator raises from 0.06 to 0.09 — a capability program making capital more performance-productive. Consequence of a 0.03 coupling change: steady state moves from (150, 55) to (600, 280) and from 0.9704 to 0.9932. The Unified Enterprise Evolution Theorem's lesson: in coupled systems, interactions dominate levels.
z = path()
sp, spo = steady(G_PRE), steady(G_POST)
t = np.arange(N+1)
fig, axes = plt.subplots(1,2, figsize=(10,4.0))
for ax,(idx,nm,ss_pre,ss_post) in zip(axes,[(0,"capital K",sp[0],spo[0]),(1,"performance p",sp[1],spo[1])]):
ax.plot(t, z[:,idx], "o-", c="#C8A24B", lw=2, ms=3.5)
ax.axvline(SWITCH, c="#8A8F8B", ls=":", lw=1)
ax.axhline(ss_pre, c="#0B3D2E", ls="--", lw=1, label=f"pre steady {ss_pre:.0f}")
ax.set(xlabel="quarter", title=nm); ax.legend(frameon=False, fontsize=9); ax.grid(alpha=.25)
plt.tight_layout(); plt.show()
print(f"rho pre {max(abs(np.linalg.eigvals(A_of(G_PRE)))):.4f} → post {max(abs(np.linalg.eigvals(A_of(G_POST)))):.4f}")
print(f"steady state pre ({sp[0]:.0f}, {sp[1]:.0f}) → post ({spo[0]:.0f}, {spo[1]:.0f})")
print(f"path at q24: K = {z[24,0]:.4f}, p = {z[24,1]:.4f} (converging toward the new attractor)")
rho pre 0.9704 → post 0.9932 steady state pre (150, 55) → post (600, 280) path at q24: K = 133.7305, p = 62.7496 (converging toward the new attractor)
Panel 3 — The consistency check
The Unified Consistency Theorem demands declared architectural invariants hold along the integrated path. Here: the capital floor (a solvency invariant). Verified along all 25 quarters, pre- and post-operator — the transformation strengthened the system without breaching the invariant, which is exactly what the theorem licenses one to require of programs.
z = path()
viol = int((z[:,0] < 25).sum())
print(f"invariant K >= 25: min K along path = {z[:,0].min():.4f} violations = {viol}")
assert viol == 0
print("invariant maintained — the unified operator is consistency-preserving here")invariant K >= 25: min K along path = 40.0000 violations = 0 invariant maintained — the unified operator is consistency-preserving here
Validation — agrees with DCT_V1_Ch13_Lab.xlsx
ref = reference_values()
expected = {"max_entry_M":0.35,"max_rowsum_M":0.95,"rho_pre":0.9704,"rho_post":0.9932,
"K_ss_pre":150.0,"p_ss_pre":55.0,"K_ss_post":600.0,"p_ss_post":280.0,
"K_24":133.7305,"p_24":62.7496}
for k,v in expected.items():
assert abs(ref[k]-v)<5e-4, f"MISMATCH {k}"
print(f"PASS {k:14s} {ref[k]}")
print("\nAll checkpoints agree — seed 26113.")PASS max_entry_M 0.35 PASS max_rowsum_M 0.95 PASS rho_pre 0.9704 PASS rho_post 0.9932 PASS K_ss_pre 150.0 PASS p_ss_pre 55.0 PASS K_ss_post 600.0 PASS p_ss_post 280.0 PASS K_24 133.7305 PASS p_24 62.7496 All checkpoints agree — seed 26113.
Next: Exercises 13.9–13.12 (Part C) sweep the coupling toward criticality; AXIOM-13's unified console animates all five layers at once. Solutions: IM Ch. 13.

