# 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 -0600
**

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 -0600
**

Seen: **3,325 times**

Last updated: **May 23 '16**

Finding prime factorization of ideals in number rings

find all squares modulo a prime number

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

code snippet resp. simplify and factor

factor() issue with second degre polynomes

Pretty print factorizations as fractions

out of core exact linear algebra

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.