looks correct to me.
Note, there are different condition numbers depending on scaling.
1) The `summary()` reports the raw condition number, ie. condition number of exog without rescaling.
This is relevant for numerical accuracy of the linear algebra computation for the given exog.
It is not only affected by collinearity but also by bad scaling of the variables.
2) The multicollinearity literature like Belsley Kuh Welsh use the condition number of the norm scaled exog which is the one described in the notebook.
This does not alert the user if their actual exog is badly scaled. It's more a measure of inherent multicollinearity.
3) Another branch of the multicollinearity literature defines multicollinearity for standardized exog (drop constant, demean and scale).
This additionally does not detect problems with the constant, for example singular exog because of the dummy variable trap.
Each measure alerts to different effects.
The choice for `summary` was to alert to problems with the actual `exog` provided by the user.
I have a pull request for general multicollinearity measures, but it stalled because I could not decide how to separate out or combine those 3 different versions of these collinearity measures.
Josef