precompute_norms() has optional parameter square=True
docstrings and comments