# 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 16:14:39 +0100 **

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.

Please start posting anonymously - your entry will be published after you log in or create a new account.

Asked: ** 2016-05-21 16:14:39 +0100 **

Seen: **7,956 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

Why does factor() assume that variables are real?

Prime ideals and "Point on Spectrum"

Convert from int to double and back in Cython

Factoring bivariate polynomials w.r.t. a single variable

Why does @parallel change my outputs?

Factorization of non-commutative Laurent polynomials

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.