This site is supported by donations to The OEIS Foundation.
Template:Multiplicity
[⧼Purge⧽ Template:Multiplicity]
The {{multiplicity}} arithmetic function template returns the multiplicity of a [potential] nonzero integer factor (how many times we can divide by the given [potential] factor) of an integer. (It returns 0 for a nonfactor.) Note that −1 or 1 as [potential] factor always give multiplicity INF, which stands for infinity! Also, any nonzero integer as [potential] factor of 0 has multiplicity INF.
Contents
Usage
- {{multiplicity|an integer|factor = a nonzero integer factor}}
or
- {{multiplicity|an integer|a nonzero integer factor}}
Examples
Examples with valid input
Code Result {{multiplicity|-2|1}} INF {{multiplicity|-2|5}} 0 {{multiplicity|-1|1}} INF {{multiplicity|-1|5}} 0 {{multiplicity|0|1}} INF {{multiplicity|0|5}} INF {{multiplicity|1|1}} INF {{multiplicity|1|5}} 0 {{multiplicity|2|1}} INF {{multiplicity|2|5}} 0 {{multiplicity|-28|-1}} INF {{multiplicity|-28|1}} INF {{multiplicity|-28|-2}} 2 {{multiplicity|-28|2}} 2 {{multiplicity|-28|-4}} 1 {{multiplicity|-28|4}} 1 {{multiplicity|-28|-8}} 0 {{multiplicity|-28|8}} 0 {{multiplicity|-28|-7}} 1 {{multiplicity|-28|7}} 1 {{multiplicity|-28|-28}} 1 {{multiplicity|-28|28}} 1 {{multiplicity|210|2}} 1 {{multiplicity|210|3}} 1 {{multiplicity|210|5}} 1 {{multiplicity|210|7}} 1 {{multiplicity|210|11}} 0 {{multiplicity|121|11}} 2 {{multiplicity|1000|2}} 3 {{multiplicity|1000|3}} 0 {{multiplicity|1000|5}} 3 {{multiplicity|5 * 7^3 * 13 * 29|7}} 3 {{multiplicity|5 * 7^3 * 13 * 29|29}} 1 {{multiplicity|2 * 3^7 * 5^3 * 29|3}} 7 {{multiplicity|2 * 3^7 * 5^3 * 29|5}} 3 {{multiplicity|2^5 * 3^11 * 29|2}} 5 {{multiplicity|2^5 * 3^11 * 29|6}} 5 {{multiplicity|2^5 * 3^11 * 29|36}} 2 {{multiplicity|2^5 * 3^11 * 29|3}} 11 {{multiplicity|2^5 * 3^11 * 29|9}} 5 {{multiplicity|2^5 * 3^12 * 29|27}} 4 {{multiplicity|2^5 * 3^12 * 29|3^6}} 2 {{multiplicity|2^5 * 3^11 * 29|27}} 3 {{multiplicity|2^5 * 3^11 * 29|29}} 1 {{multiplicity|11 * 37^2|37}} 2 {{multiplicity|11 * 37^2|31}} 0 {{multiplicity|3^2 * 11 * 23 * 71|23}} 1 {{multiplicity|3^2 * 11 * 23 * 71|3}} 2 {{multiplicity|- (3^2 * 11 * 23 * 71)|3}} 2 {{multiplicity|3^2 * 11 * 23 * 71|-3}} 2 {{multiplicity|- (3^2 * 11 * 23 * 71)|-3}} 2 {{multiplicity|2^31|2}} 31 {{multiplicity|2^30 + 2^30|2}} 31 {{multiplicity|5^3 * 2^17|2}} 17 {{multiplicity|121 + 7|2}} 7
Examples with invalid input
Code Result {{multiplicity|-2|0}} Multiplicity error: Second argument (factor) must be a nonzero integer {{multiplicity|-1|0}} Multiplicity error: Second argument (factor) must be a nonzero integer {{multiplicity|0|0}} Multiplicity error: Second argument (factor) must be a nonzero integer {{multiplicity|1|0}} Multiplicity error: Second argument (factor) must be a nonzero integer {{multiplicity|2|0}} Multiplicity error: Second argument (factor) must be a nonzero integer {{multiplicity|2^32|0}} Multiplicity error: First argument must be an integer less than 2 32 = 4294967296 {{multiplicity|2^32|1}} Multiplicity error: First argument must be an integer less than 2 32 = 4294967296 {{multiplicity|2^32|2}} Multiplicity error: First argument must be an integer less than 2 32 = 4294967296 {{multiplicity|2^32|3}} Multiplicity error: First argument must be an integer less than 2 32 = 4294967296
Formatted numbers
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 {{multiplicity|1,000|5}} Multiplicity error: First argument must be an integer {{multiplicity|{{formatnum:1,000|R}}|5}} 3
Code
{{ifint| {{{1|NAN}}} | {{ifint| {{{factor|{{{2|NAN}}}}}} | {{#ifexpr: ( ( abs ({{{1}}}) ) > 0 ) and ( ( abs ({{{1}}}) ) < 2^32 ) and ( ( abs ({{{factor|{{{2}}}}}}) ) > 1 ) | {{#ifexpr: ( ({{{1}}}) mod ({{{factor|{{{2}}}}}}) ) = 0 | {{#expr: 1 + <!-- at least once --> {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(32/ 2) | ( 0^( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^2 ) ) ) ) + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/ 3)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^ 3 ) ) ) | 0 }} | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(32/ 4) | ( 0^( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^4 ) ) ) ) + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/ 5)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^ 5 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/ 6)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^ 6 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/ 7)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^ 7 ) ) ) | 0 }} | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(32/ 8) | ( 0^( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^8 ) ) ) ) + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/ 9)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^ 9 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/10)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^10 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/11)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^11 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/12)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^12 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/13)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^13 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/14)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^14 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/15)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^15 ) ) ) | 0 }} | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(32/ 16) | ( 0^( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^16 ) ) ) ) + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/17)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^17 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/18)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^18 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/19)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^19 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/20)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^20 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/21)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^21 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/22)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^22 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/23)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^23 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/24)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^24 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/25)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^25 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/26)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^26 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/27)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^27 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/28)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^28 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/29)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^29 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/30)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^30 ) ) ) | 0 }} + {{#ifexpr: ( abs ({{{factor|{{{2}}}}}}) ) <= 2^(floor(32/31)) | not ( abs ( ({{{1}}}) mod ( ({{{factor|{{{2}}}}}})^31 ) ) ) | 0 }} | 0 }} }} | 0 <!-- none --> }} | {{#ifexpr: ( abs ({{{1}}}) ) = 0 and ( ( abs ({{{factor|{{{2}}}}}}) ) > 0 ) | INF }}<!-- -->{{#ifexpr: ( abs ({{{1}}}) ) >= 2^32 | {{error| Multiplicity error: First argument must be an integer less than 2{{^|32}} {{=}} {{#expr: 2^32 }} }} }}<!-- -->{{#ifexpr: ( ( abs ({{{1}}}) ) < 2^32 ) and ( ( abs ({{{factor|{{{2}}}}}}) ) = 0 ) | {{error| Multiplicity error: Second argument (factor) must be a nonzero integer }} }}<!-- -->{{#ifexpr: ( ( abs ({{{1}}}) ) > 0 ) and ( ( abs ({{{1}}}) ) < 2^32 ) and ( ( abs ({{{factor|{{{2}}}}}}) ) = 1 ) | INF }} }} | {{error| Multiplicity error: Second argument (factor) must be a nonzero integer }} }} | {{error| Multiplicity error: First argument must be an integer }} }}
See also
- {{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
- Andrew Hodges, Java Applet for Factorization
- http://factordb.com/