Page 232 shows the incorrect formula: $C = A B^{-1}$. From the previous formula $Av = λBv$ we can derive $C = B^{-1}A$, instead of $C = A B^{-1}$ this way:
$Av = λBv$, $B^{-1}Av = B^{-1}λBv$, $(B^{-1}A) v = λ (B^{-1}B) v$, $Cv = λIv = λv$
So $C = B^{-1}A$
Also, I tested this in the notebook for Chapter 13 by adding some code in the section "Generalized eigendecomposition":
...C1 = np.linalg.inv(B) @ AC2 = A @ np.linalg.inv(B)print(np.round(C1 @ evecs - evals * evecs,6))print(np.round(C2 @ evecs - evals * evecs,6))
Output:
Page 232 shows the incorrect formula: $C = A B^{-1}$. From the previous formula $Av = λBv$ we can derive $C = B^{-1}A$, instead of $C = A B^{-1}$ this way: $Av = λBv$, $B^{-1}Av = B^{-1}λBv$, $(B^{-1}A) v = λ (B^{-1}B) v$, $Cv = λIv = λv$ So $C = B^{-1}A$
Also, I tested this in the notebook for Chapter 13 by adding some code in the section "Generalized eigendecomposition":
...
C1 = np.linalg.inv(B) @ A
C2 = A @ np.linalg.inv(B)
print(np.round(C1 @ evecs - evals * evecs,6))
print(np.round(C2 @ evecs - evals * evecs,6))
Output: