# List of prime factors with repetition

Is there a simple command on Sage wich gives, in place of factor(720)= 2^4 * 3^2 * 5, the list [2, 2, 2, 2, 3, 3, 5] of prime factors with repetition?

List of prime factors with repetition

asked
**
2016-05-21 09:14:39 -0500
**

This post is a wiki. Anyone with karma >750 is welcome to improve it.

Is there a simple command on Sage wich gives, in place of factor(720)= 2^4 * 3^2 * 5, the list [2, 2, 2, 2, 3, 3, 5] of prime factors with repetition?

add a comment

4

Some potentially useful variations, building on previous answers and comments by @calc314 and @logomath.

The function `factor`

returns a factorization.

```
sage: F = factor(2016)
sage: F
2^5 * 3^2 * 7
```

This secretly wraps a list of pairs (prime, multiplicity), and you can get this list.

```
sage: list(F)
[(2, 5), (3, 2), (7, 1)]
```

You can also iterate through this list of pairs directly.

```
sage: for pm in F: print pm
(2, 5)
(3, 2)
(7, 1)
```

This means you can use list comprehension in smart ways.

```
sage: [f[0] for f in F for _ in range(f[1])]
[2, 2, 2, 2, 2, 3, 3, 7]
```

Same as above, but calling (p, m) the pairs.

```
sage: [p for (p, m) in F for _ in range(m)]
[2, 2, 2, 2, 2, 3, 3, 7]
```

Getting a list of repetitions of each prime.

```
sage: [([p] * m) for (p, m) in F]
[[2, 2, 2, 2, 2], [3, 3], [7]]
```

Flattening it to get the list of prime factors with multiplicity.

```
sage: flatten([([p] * m) for (p, m) in F])
[2, 2, 2, 2, 2, 3, 3, 7]
```

Using `add`

to sum lists starting from the empty list
(included as an optional parameter to `add`

).

```
sage: add([[p] * m for (p, m) in F], [])
[2, 2, 2, 2, 2, 3, 3, 7]
```

(Edit.) Same but using an iterator instead of a list.

```
sage: add(([p] * m for (p, m) in F), [])
[2, 2, 2, 2, 2, 3, 3, 7]
```

2

I don't know of a direct command. Here is one option, though.

```
F= factor(2016)
result=[f[0] for f in F for i in range(f[1])]
result
```

You may wish to look up the factor command for more details and examples.

Asked: **
2016-05-21 09:14:39 -0500
**

Seen: **4,267 times**

Last updated: **May 23 '16**

Finding prime factorization of ideals in number rings

How to get the canonical prime factorization, with zero exponents too

Pretty print factorizations as fractions

multivariate polynomial ring over complex numbers

Why does @parallel change my outputs?

Excluding a common factor in a sum

Can we find Gaussian primes $\pi = 1 + 8 \mathbb{Z}[i]$ with $N(\pi) < 10000$?

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.