python矩阵乘法,测试运行时间的程序,python矩阵,有一个参数argv[1]


有一个参数argv[1],这个参数应当是一个整数,然后生成两个argv[1]*argv[1]的随机矩阵进行乘法运算,最后输出时间消耗,算法部分会多次运行求时间平均值。

[Python]代码

#! /usr/bin/python#This is a python to make matrix multiply.#Two matrixs are generated random#By sinoluck@Peking Uimport sysimport randomimport time#----------------------------------------This part is to make sure that all argus are good.print "Script name :",sys.argv[0]print "Argus number:%d"%(len(sys.argv))for i in range(1,len(sys.argv)):    print "The %dth argu:"%i,sys.argv[i]if len(sys.argv)>2:    print "You passed more than 1 arguments to this script,and this is not allowed!"    sys.exit();if sys.argv[1].isdigit()==False:    print "Illegal arguments!"    sys.exit()matrix_dim = int(sys.argv[1])#-----------------print listdef print_matrix(arg_list):    for i in arg_list:        for j in i:            print "%5.3f"%j,        print '\n',    print '\n'#Then we are going to generate two matrix_dim*matrix_dim matrixesma = []mb = []for i in range(matrix_dim):    ma.append([])    mb.append([])    for j in range(matrix_dim):        ma[i].append(random.random());        mb[i].append(random.random());#print_matrix(ma)mc = []t = time.clock()count_cyc = 12for m in range(count_cyc):    for i in range(matrix_dim):        mc.append([]);        for j in range(matrix_dim):            mc[i].append(0.0)            for k in range(matrix_dim):                mc[i][j] += ma[i][k] + mb[k][j]     print "Time consumed: %f ms"%((time.clock()-t)/count_cyc*1000),

评论关闭