相关疑难解决方法(0)

随机种子需要有多么不同?

考虑这样的代码(Python):

import random

for i in [1, 2, 3, 4]:
    random.seed(i)
    randNumbers = [random.rand() for i in range(100)] # initialize a list with 100 random numbers
    doStuff(randNumbers)
Run Code Online (Sandbox Code Playgroud)

我想确保randNumbers与一个调用有很大不同.我是否需要确保种子数量在后续调用之间存在显着差异,或者种子是否足够(无论如何)?

对于学生:请认识到上面的代码是超简化的

random

13
推荐指数
2
解决办法
6580
查看次数

gfortran和随机数字

我正在尝试使用来自mac-ports(OS-X)的Gfortran 4.7编译以下简单代码:

program main

implicit none

integer :: n = 1, clock, i

integer, dimension(1) :: iseed

! initialize the random number generator
call random_seed(size = n)

call system_clock(COUNT=clock)

iseed = clock + 37 * (/ (i - 1, i = 1, n) /)
! iseed = clock
! iseed = abs( mod((clock*181)*((1-83)*359), 104729) )
call random_seed(PUT = iseed)

end program main
Run Code Online (Sandbox Code Playgroud)

并有这个错误:

gfortran-mp-4.7  tmp.f90
tmp.f90:17.23:

call random_seed(PUT = iseed)
                   1
Error: Size of 'put' argument of 'random_seed' intrinsic at …
Run Code Online (Sandbox Code Playgroud)

random fortran gfortran

5
推荐指数
1
解决办法
3208
查看次数

MPI和全局变量

我必须实施MPI计划.有一些全局变量(4个浮点数数组和其他6个单浮点变量),这些变量首先由主进程从文件中读取数据进行初始化.然后我调用MPI_Init,当等级0的进程等待结果时,其他进程(等级1,2,3,4)在数组等上工作......问题是这些数组似乎不再被初始化,所有设置为0.我试图在主函数内移动全局变量,但结果是一样的.当调用MPI_Init()时,所有进程都是由fork创建的吗?所以每个人都有父亲的内存副本,为什么他们看不到初始化的数组呢?

mpi

3
推荐指数
2
解决办法
1万
查看次数

标签 统计

random ×2

fortran ×1

gfortran ×1

mpi ×1