This site is supported by donations to The OEIS Foundation.
Template:Prime factors (with multiplicity)
[Purge Template:Prime factors (with multiplicity)]
The {{prime factors (with multiplicity)}} (or {{mpf}} or {{factorization}}) arithmetic function template returns the prime factorization (prime factors (with multiplicity)) of a nonzero integer, otherwise returns an error message.
Usage
[edit]- {{prime factors (with multiplicity)|a nonzero integer|sep = map items separator (default  * )|key/val_sep = key/value separator (default ^)}}
or
- {{prime factors (with multiplicity)|a nonzero integer|map items separator (default  * )|key/value separator (default ^)}}
or
- {{mpf|a nonzero integer|sep = map items separator (default  * )|key/val_sep = key/value separator (default ^)}}
or
- {{mpf|a nonzero integer|map items separator (default  * )|key/value separator (default ^)}}
where
- sep default  *  gives " * " (asterisk surrounded by spaces), and
- key/val_sep default is ^.
Valid input
[edit]A nonzero integer less than 1031 2 = 1062961.
Examples
[edit]To check the results, you may use
- https://oeis.org/A000040/a000040.txt N. J. A. Sloane, Table of n, prime(n) for n = 1..100000
- Andrew Hodges, Java Applet for Factorization
- http://factordb.com/
Examples with valid input
[edit]Note that the prime factorization of integer units −1 and 1 gives the empty product of primes, hence the empty string is returned.
Code Result {{factorization|210^2}} 2^2 * 3^2 * 5^2 * 7^2 {{mpf|210^2}} 2^2 * 3^2 * 5^2 * 7^2 {{mpf|210^2|sep = ; |key/val_sep =  → }} 2 → 2; 3 → 2; 5 → 2; 7 → 2 {{mpf|210^2|sep = , |key/val_sep = : }} 2: 2, 3: 2, 5: 2, 7: 2 {{mpf|210^2|sep =  * |key/val_sep = ^}} 2^2 * 3^2 * 5^2 * 7^2 {{mpf|210^2|sep =  + |key/val_sep = *}} 2*2 + 3*2 + 5*2 + 7*2 {{mpf|-28}} 2^2 * 7^1 {{mpf|-5}} 5^1 {{mpf|1}} {{mpf|7}} 7^1 {{mpf|15}} 3^1 * 5^1 {{mpf|27}} 3^3 {{mpf|30}} 2^1 * 3^1 * 5^1 {{mpf|111}} 3^1 * 37^1 {{mpf|5^3 * 11^2}} 5^3 * 11^2 {{mpf|2^5 * 3^3 * 5}} 2^5 * 3^3 * 5^1 {{mpf|2^9 * 3^3}} 2^9 * 3^3 {{mpf|37^2 + 8 * 37^2}} 3^2 * 37^2 {{mpf|2^9 * (26 + 1)}} 2^9 * 3^3 {{mpf|89 * 113}} 89^1 * 113^1 {{mpf|79 * 79}} 79^2 {{mpf|210^2}} 2^2 * 3^2 * 5^2 * 7^2 {{mpf|233^2}} 233^2 {{mpf|10000}} 2^4 * 5^4 {{mpf|65535}} 3^1 * 5^1 * 17^1 * 257^1 {{mpf|65536}} 2^16 {{mpf|65537}} 65537^1 {{mpf|65539}} 65539^1 {{mpf|65540}} 2^2 * 5^1 * 29^1 * 113^1 {{mpf|65541}} 3^1 * 7^1 * 3121^1 {{mpf|65542}} 2^1 * 32771^1 {{mpf|65543}} 65543^1 {{mpf|65547}} 3^2 * 7283^1 {{mpf|65549}} 11^1 * 59^1 * 101^1 {{mpf|65551}} 65551^1 {{mpf|65553}} 3^1 * 21851^1 {{mpf|65557}} 65557^1 {{mpf|65559}} 3^1 * 13^1 * 41^2 {{mpf|65561}} 53^1 * 1237^1 {{mpf|65563}} 65563^1 {{mpf|65567}} 173^1 * 379^1 {{mpf|65569}} 7^1 * 17^1 * 19^1 * 29^1 {{mpf|65571}} 3^1 * 11^1 * 1987^1 {{mpf|65573}} 23^1 * 2851^1 {{mpf|65577}} 3^1 * 21859^1 {{mpf|65579}} 65579^1 {{mpf|265535}} 5^1 * 23^1 * 2309^1 {{mpf|265536}} 2^6 * 3^2 * 461^1 {{mpf|265537}} 131^1 * 2027^1 {{mpf|265539}} 3^1 * 88513^1 {{mpf|265540}} 2^2 * 5^1 * 11^1 * 17^1 * 71^1 {{mpf|265541}} 265541^1 {{mpf|265542}} 2^1 * 3^1 * 44257^1 {{mpf|265543}} 265543^1 {{mpf|265547}} 265547^1 {{mpf|265549}} 37^1 * 7177^1 {{mpf|265551}} 3^1 * 11^1 * 13^1 * 619^1 {{mpf|265553}} 29^1 * 9157^1 {{mpf|265557}} 3^1 * 17^1 * 41^1 * 127^1 {{mpf|265559}} 7^1 * 59^1 * 643^1 {{mpf|265561}} 265561^1 {{mpf|265563}} 3^2 * 19^1 * 1553^1 {{mpf|265567}} 265567^1 {{mpf|265569}} 3^1 * 88523^1 {{mpf|265571}} 265571^1 {{mpf|265573}} 7^1 * 11^1 * 3449^1 {{mpf|265577}} 13^1 * 31^1 * 659^1 {{mpf|265579}} 265579^1 {{mpf|257}} 257^1 {{mpf|97 * 211}} 97^1 * 211^1 {{mpf|216 * 211}} 2^3 * 3^3 * 211^1 {{mpf|1024 * 45}} 2^10 * 3^2 * 5^1 {{mpf|97 * 257}} 97^1 * 257^1 {{mpf|3^6 * 5^2}} 3^6 * 5^2 {{mpf|3 * 5^5}} 3^1 * 5^5 {{mpf|17^2 * 191}} 17^2 * 191^1 {{mpf|5 * 7 * 13 * 29}} 5^1 * 7^1 * 13^1 * 29^1 {{mpf|509^2}} 509^2 {{mpf|965535}} 3^1 * 5^1 * 59^1 * 1091^1 {{mpf|965536}} 2^5 * 11^1 * 13^1 * 211^1 {{mpf|965537}} 67^1 * 14411^1 {{mpf|965539}} 83^1 * 11633^1 {{mpf|965540}} 2^2 * 5^1 * 23^1 * 2099^1 {{mpf|965541}} 3^1 * 321847^1 {{mpf|965542}} 2^1 * 19^1 * 25409^1 {{mpf|965543}} 383^1 * 2521^1 {{mpf|965547}} 3^3 * 11^1 * 3251^1 {{mpf|965549}} 13^1 * 17^2 * 257^1 {{mpf|965551}} 965551^1 {{mpf|965553}} 3^1 * 321851^1 {{mpf|965557}} 31^1 * 31147^1 {{mpf|965559}} 3^1 * 7^1 * 45979^1 {{mpf|965561}} 19^1 * 89^1 * 571^1 {{mpf|965563}} 23^1 * 41981^1 {{mpf|965567}} 965567^1 {{mpf|965569}} 11^1 * 61^1 * 1439^1 {{mpf|965571}} 3^1 * 73^1 * 4409^1 {{mpf|965573}} 7^1 * 271^1 * 509^1 {{mpf|965577}} 3^1 * 367^1 * 877^1 {{mpf|965579}} 193^1 * 5003^1 {{mpf|997 * 1019}} 997^1 * 1019^1 {{mpf|1015943}} 997^1 * 1019^1
Examples with invalid input
[edit]Code Result Comments {{mpf|0}} Prime factors (with multiplicity) error: Argument must be a nonzero integer (undefined prime factorization) {{mpf|1031^2}} Prime factors (with multiplicity) error: Argument must be a nonzero integer with absolute value < 1031 2 = 1062961
Formatted numbers
[edit]This template requires unformatted numbers, it will not recognize formatted numbers, e.g. comma separated, which is by design since formatted numbers will break expression parsers. To remove the formatting from a number, you can wrap the number first in {{formatnum:number|R}}.[1]
code result {{prime factors (with multiplicity)|1,000}} Prime factors (with multiplicity) error: Argument must be a nonzero integer {{prime factors (with multiplicity)|{{formatnum:1,000|R}}}} 2^3 * 5^3
Code
[edit]{{Prime factors (with multiplicity)}} (or {{mpf}} or {{factorization}}) arithmetic function template
[edit]
{{ifint| {{{1|NAN}}}
| {{#ifexpr: ( ( abs ({{{1}}}) ) > 1 ) and ( ( abs ({{{1}}}) ) < 1031^2 )
| {{~mpf
| {{{1}}}
| mpf_le_sqrt(n) = {{mpf le sqrt(n)
| {{{1}}}
| sep = *
| key/val_sep = ^
}}
| sep = {{{sep|{{{2| * }}}}}}
| key/val_sep = {{{key/val_sep|{{{3|^}}}}}}
}}
| {{#ifexpr: ({{{1}}}) = 0
| {{error| Prime factors (with multiplicity) error: Argument must be a nonzero integer }}
}}<!--
-->{{#ifexpr: abs ({{{1}}}) >= 1031^2
| {{error| Prime factors (with multiplicity) error: Argument must be a nonzero integer with absolute value < 1031{{^|2}} {{=}} {{#expr: 1031^2 }} }}
}}
}}
| {{error| Prime factors (with multiplicity) error: Argument must be a nonzero integer }}
}}
{{~Prime factors (with multiplicity)}} (or {{~mpf}}) core function template
[edit]
{{#replace:{{#replace:{{{mpf_le_sqrt(n)}}}|*|{{{sep| * }}}}}|^|{{{key/val_sep|^}}}}}<!--
-->{{#if: {{{mpf_le_sqrt(n)}}}
| {{#ifexpr: ( ( abs ({{{1}}}) ) / ( {{{mpf_le_sqrt(n)}}} ) ) > 1
| {{{sep| * }}}{{#expr: ( abs ({{{1}}}) ) / ( {{{mpf_le_sqrt(n)}}} ) }}{{{key/val_sep|^}}}1
| <!-- no prime factor greater than sqrt(n) needs to be added -->
}}
| {{#ifexpr: ( abs ({{{1}}}) ) > 1
| {{#expr: abs ({{{1}}}) }}{{{key/val_sep|^}}}1 <!-- A prime number! -->
| <!-- empty list: empty product of primes for the units (+/-)1, undefined prime factorization for 0 -->
}}
}}
See also
[edit]
- {{distinct prime factors up to sqrt(n)}} or {{dpf le sqrt(n)}}
- {{distinct nontrivial prime factors}} or {{dpf lt n}}
- {{distinct prime factors}} or {{dpf}}
- {{number of distinct prime factors}} or {{little omega}}
- {{sum of distinct prime factors}} or {{sodpf}}
- {{product of distinct prime factors}} or {{squarefree kernel}} or {{radical}} or {{rad}}
- {{multiplicity}}
- {{prime factors (with multiplicity) up to sqrt(n)}} or {{mpf le sqrt(n)}}
- {{nontrivial prime factors (with multiplicity)}} or {{mpf lt n}}
- {{prime factors (with multiplicity)}} or {{mpf}} or {{factorization}}
- {{number of prime factors (with multiplicity)}} or {{big Omega}}
- {{sum of prime factors (with multiplicity)}} or {{sopfr}} or {{integer log}}
- {{product of prime factors (with multiplicity)}} (must give back {{abs|n}}, the absolute value of
)n
- {{quadratfrei}}
- {{Moebius mu}} or {{mu}}
- {{Euler phi}} or {{totient}}
- {{Dedekind psi}}
- {{number of divisors}} or {{sigma 0}} or {{tau}}
- {{sum of divisors}} or {{sigma 1}} or {{sigma}} (Cf. {{divisor function}} or {{sigma k}}, with
(default value))k = 1 - {{divisor function}} or {{sigma k}} (for
)k ≠ 0
External links
[edit]- Andrew Hodges, Java Applet for Factorization
- http://factordb.com/