1 | initial version |

This is because `numpy`

uses the same seed that was computed before. You can reset the seed in each process:

```
sage: @parallel
....: def foo(i):
....: np.random.seed()
....: print np.random.random()
sage: list(foo(range(4)))
0.0290924047484
0.491286471752
0.0812252231074
0.055948998056
[(((0,), {}), None),
(((1,), {}), None),
(((2,), {}), None),
(((3,), {}), None)]
```

2 | No.2 Revision |

This is because `numpy`

uses the same random seed that was computed ~~before. ~~before (and given in each subprocess). You can reset the seed in each ~~process:~~process, so that they will behave independently:

```
sage: @parallel
....: def foo(i):
....: np.random.seed()
....: print np.random.random()
sage: list(foo(range(4)))
0.0290924047484
0.491286471752
0.0812252231074
0.055948998056
[(((0,), {}), None),
(((1,), {}), None),
(((2,), {}), None),
(((3,), {}), None)]
```

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.