Skip to content

Instantly share code, notes, and snippets.

@azonenberg
Created August 7, 2022 04:53
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save azonenberg/2a6b0b2dc5515caad4bfbf57dce1033a to your computer and use it in GitHub Desktop.
Save azonenberg/2a6b0b2dc5515caad4bfbf57dce1033a to your computer and use it in GitHub Desktop.
Matrices:
C = cascade
A = left
B = right
START
s11c = s11a + (s11b * s21a * s12a) / (one - s22a*s11b);
s12c = (s12a*s12b) / (one - s22a*s11b);
s21c = (s21a*s21b) / (one - s22a*s11b);
s22c = s22b + (s22a * s21b * s12b) / (one - s22a*s11b);
RESULTS
Solve for A, knowing B and C
s22a = (s22c - s22b) / (s21b*s12b + s22c*s11b - s22b*s11b)
s12a = (s12c - s12c*s11b*s22a) / s12b
s21a = (s21c - s21c*s22a*s11b) / s21b
s11a = s11c - (s11b * s21a * s12a) / (one - s22a*s11b)
Solve for B, knowing A and C
s11b = (s11c - s11a) / (s21a*s12a + s22a*s11c - s22a*s11a)
s12b = (s12c - s12c*s11b*s22a) / s12a
s21b = (s21c - s21c*s22a*s11b) / s21a
s22b = s22c - (s22a * s21b * s12b) / (one - s22a*s11b)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment