解决Python计算矩阵乘向量,矩阵乘实数的一些小错误

yipeiwu_com6年前Python基础

计算:Ax-b

A: 2*2
x: 2*1
b: 2*1
so, Ax-b: 2*1

if __name__ == "__main__":
  A = np.array([[4.0, 1.0],
         [1.0, 3.0]])
  b = np.array([[1.0], [2.0]])
  x_0 = np.array([[2.0], [1.0]])

  r_k = A * x_0 - b

  print(r_k)

错误!!!

修改:

if __name__ == "__main__":
  A= mat([[4.0, 1.0],
      [1.0, 3.0]])
  b = mat([[1.0], [2.0]])
  x_0 = mat([[2.0], [1.0]])

  r_k = A * x_0 - b

  print(r_k)

if __name__ == "__main__":
  A= mat([[4.0, 1.0],
      [1.0, 3.0]])
  b = mat([[1.0], [2.0]])
  x_k = mat([[2.0], [1.0]])

  p_k = -x_k # 2行1列
  r_k = A * x_k - b # 2行1列
  alpha_k = (np.transpose(r_k) * r_k) / (np.transpose(p_k) * A * p_k) # 1行1列
   -----------------------------------------------
  x_k = x_k + alpha_k * p_k #2行1列 !!!!这里报错
   -----------------------------------------------
  print(x_k)

修改:

if __name__ == "__main__":
  A= mat([[4.0, 1.0],
      [1.0, 3.0]])
  b = mat([[1.0], [2.0]])
  x_k = mat([[2.0], [1.0]])

  p_k = -x_k # 2*1
  r_k = A * x_k - b # 2*1
  alpha_k = (np.transpose(r_k) * r_k) / (np.transpose(p_k) * A * p_k) # 1*1
  -----------------------------------------------
  x_k = x_k +  p_k *alpha_k
  -----------------------------------------------
  print(x_k)

以上这篇解决Python计算矩阵乘向量,矩阵乘实数的一些小错误就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Django自定义过滤器定义与用法示例

本文实例讲述了Django自定义过滤器定义与用法。分享给大家供大家参考,具体如下: 一、自定义过滤器的介绍 前面我们就介绍过过滤器其实就是一个函数,把要过来的字段传递到一个函数内,进行加...

Python 矩阵转置的几种方法小结

我就废话不多说了,直接上代码吧! #Python的matrix转置 matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] def printma...

Python基于回溯法子集树模板解决最佳作业调度问题示例

Python基于回溯法子集树模板解决最佳作业调度问题示例

本文实例讲述了Python基于回溯法子集树模板解决最佳作业调度问题。分享给大家供大家参考,具体如下: 问题 给定 n 个作业,每一个作业都有两项子任务需要分别在两台机器上完成。每一个作业...

python分析网页上所有超链接的方法

本文实例讲述了python分析网页上所有超链接的方法。分享给大家供大家参考。具体实现方法如下: import urllib, htmllib, formatter website =...

Python+OpenCV+pyQt5录制双目摄像头视频的实例

Python+OpenCV+pyQt5录制双目摄像头视频的实例

起因 说起来录制视频,我们可能有很多的软件,但是比较坑的是,好像很少的软件支持能够同时录制两个摄像头的视频,于是我们用python自己写一个。要是OpenCV+python。貌似很简单就...