# 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: **1,454 times**

Last updated: **May 23 '16**

Finding prime factorization of ideals in number rings

How to get sage to keep the same form as an expression from sympy?

Factoring a polynomial over a finite Field

List common factors of integers

Why does @parallel change my outputs?

Factorization of non-commutative Laurent polynomials

Polynomial as a sum of simply factored expressions?

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.