number of distinct prime factors of a number
I know how to write a function that counts the number of distinct prime factors of a number.
Does there exist an inbuilt function for this purpose?
There is a function to list the prime divisors or prime factors.
It is called prime_divisors, and aliased as prime_factors.
The len function can then give the number of prime factors.
sage: a = 234
sage: prime_divisors(a)
[2, 3, 13]
sage: len(prime_divisors(a))
3
sage: prime_factors(a)
[2, 3, 13]
sage: len(prime_factors(a))
3
The function prime_divisors and its alias prime_factors
also exist as methods of integers.
sage: a.prime_divisors()
[2, 3, 13]
sage: len(a.prime_divisors())
3
sage: a.prime_factors()
[2, 3, 13]
sage: len(a.prime_factors())
3
Alternatively one can use omega (or bigomega to count prime factors with multiplicity) functions from GP:
sage: gp.omega(234)
3
sage: gp.bigomega(234)
4
Asked: 2021-08-16 13:43:50 +0100
Seen: 1,413 times
Last updated: Aug 17 '21
Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.