prime_factorize(1) -> ? (Pythonic error signalling)
<p>I have a <code>prime_factorize</code> function that returns a dictionary mapping from prime divisors to their powers. E.g., 50 = 2^1 * 5^2, so <code>prime_factorize(50)</code> returns <code>{2 : 1, 5 : 2}</code>. </p>

<p>Assuming this is the documented behavior, what would be the least surprising way to signal an error if called 0, 1, or a negative number? Throw <code>ValueError</code>? Return something that looks like correct output (e.g., <code>prime_factorize(-5) -&gt; {-1: 1, 5: 1}</code>)? return an empty dict?</p>

<p><sub>And if you have a better format for returning a prime factorization, I'd love to hear that too.</sub></p>
