python输出n阶矩阵,写出n阶单位矩阵

  python输出n阶矩阵,写出n阶单位矩阵

  一种方法是初始化4D的输出数组,然后从A向其赋值。这样的任务会传播价值观,而这正是我们在NumPy中获得效率的地方。在

  因此,解决方案应该是这样的-#获得的形状

  m,n=A形状

  #将输出数组初始化为4D

  out=np.zeros((m,N,N,N))

  #获取用于索引到第二个和第四个轴的范围数组

  r=np.arange(N)

  #索引到第二个和第四个轴并选择所有元素

  #其余的用来分配来自a的值。这些值被广播。

  out[:r,r]=A

  #最终重塑回2D

  out.shape=(m*N,n*N)

  作为函数-

  ^{pr2}$

  要模拟np.kron(np.eye(N),A),只需沿着第一个和第二个轴交换操作,对于第三个和第四个轴-def kron_N_A(A,N): #模拟克朗

  m,n=A形状

  out=np.zeros((N,m,N,N),dtype=A.dtype)

  r=np.arange(N)

  out[r,r,=A

  out.shape=(m*N,n*N)

  退回去

  时间安排-In [174]: N=100

  .A=np.random.rand(100,100)

  .

  In [175]: np.allclose(np.kron(A,np.eye(N)),kron_A_N(A,N))

  Out[175]:真的

  In [176]: %timeit np.kron(A,np.eye(N))

  一次循环,每次循环最好为3: 458毫秒

  In [177]: %timeit kron_A_N(A,N)

  10次循环,每次循环3: 58.4毫秒

  [178]英寸:458/58.4

  出[178]:17867.788888888617

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: