在下面的代码中,我对一般的平方线性系统Ax=b实现了带有部分旋转的高斯消去。我测试了我的代码,它产生了正确的输出。不过,现在我正在尝试做以下事情,但我不太确定如何编码它,寻找一些帮助与此!

我想通过求解Ax=b来测试我的实现,其中A是随机的100x100矩阵,b是随机的100x10向量。

在我的代码中,我把矩阵

A = np.array([[3.,2.,-4.],[2.,3.,3.],[5.,-3.,1.]])

b = np.array([[3.],[15.],[14.]])

得到以下正确的输出:

[3. 1. 2.]

[3. 1. 2.]

但是现在我如何改变它来生成随机矩阵呢?

下面是我的代码:

import numpy as np

def GEPP(A, b, doPricing = True):

'''

Gaussian elimination with partial pivoting.

input: A is an n x n numpy matrix

b is an n x 1 numpy array

output: x is the solution of Ax=b

with the entries permuted in

accordance with the pivoting

done by the algorithm

post-condition: A and b have been modified.

'''

n = len(A)

if b.size != n:

raise ValueError("Invalid argument: incompatible sizes between"+

"A & b.", b.size, n)

# k represents the current pivot row. Since GE traverses the matrix in the

# upper right triangle, we also use k for indicating the k-th diagonal

# column index.

# Elimination

for k in range(n-1):

if doPricing:

# Pivot

maxindex = abs(A[k:,k]).argmax() + k

if A[maxindex, k] == 0:

raise ValueError("Matrix is singular.")

# Swap

if maxindex != k:

A[[k,maxindex]] = A[[maxindex, k]]

b[[k,maxindex]] = b[[maxindex, k]]

else:

if A[k, k] == 0:

raise ValueError("Pivot element is zero. Try setting doPricing to True.")

#Eliminate

for row in range(k+1, n):

multiplier = A[row,k]/A[k,k]

A[row, k:] = A[row, k:] - multiplier*A[k, k:]

b[row] = b[row] - multiplier*b[k]

# Back Substitution

x = np.zeros(n)

for k in range(n-1, -1, -1):

x[k] = (b[k] - np.dot(A[k,k+1:],x[k+1:]))/A[k,k]

return x

if __name__ == "__main__":

A = np.array([[3.,2.,-4.],[2.,3.,3.],[5.,-3.,1.]])

b = np.array([[3.],[15.],[14.]])

print (GEPP(np.copy(A), np.copy(b), doPricing = False))

print (GEPP(A,b))

python生成矩阵 元素随机_用python生成随机矩阵相关推荐

  1. python语法元素测试_基于python全局设置id 自动化测试元素定位过程解析

    背景: 在自动化化测试过程中,不方便准确获取页面的元素,或者在重构过程中方法修改造成元素层级改变,因此通过设置id准备定位. 一.python准备工作: 功能:用自动化的方式进行批量处理. 比如,你想 ...

  2. python颜色填充随机_使用python中的随机数据填充mysql表

    How can create a mysql table in python and then populate it with random data.I want around 10000 row ...

  3. python什么元素为真_在Python中“真”用true表示 。

    [单选题]以下关于文件的ctime属性说法正确的是( ). [简答题]第五章 筹资业务.doc [填空题]java 语言的各种数据类型之间提供两种转换,分别是 和 . (2.0分) [单选题]设有类型 ...

  4. python画图颜色随机_用python画随机颜色随机大小随机位置的正方形

    1 ''' 2 作者:唐梓文3 版本:1.04 日期:08/05/20205 功能:随机的在画布画多个正方形,并涂色6 7 ''' 8 9 importturtle10 importrandom11 ...

  5. python列表元素求和_对Python列表的前k个元素求和?

    有两个选项,都使用sum():使用^{}可以有效地提取这些元素:from itertools import islice sum(islice(somelist, k)) 将列表切片,以便只包含以下第 ...

  6. 定义空列表元素类型_【Python+Excel】做数据分析5--列表和元组读取和常用查询

    元组和列表是两个非常相似的亲兄弟,两者在表现形式上有所不同,其最大的区别是元组在定义后无法修改,只能读取,而列表则支持修改和读取.比如在一个队伍里面,队伍中的每一个人就是列表或者是元组中的每个元素. ...

  7. python与算法社区_【Python算法】分类与预测——Python随机森林

    [Python算法]分类与预测--Python随机森林 1.随机森林定义 随机森林是一种多功能的机器学习算法,能够执行回归和分类的任务.同时,它也是一种数据降维手段,在处理缺失值.异常值以及其他数据探 ...

  8. python制作手机壁纸_用Python生成自己独一无二的手机壁纸

    已经12月份了,马上就要过年了,要不要换一个喜气洋洋.洋洋洒洒.洒扫应对.对牛弹琴的手机壁纸呢? 今天小编给大家表演的节目是:用Python生成自己独一无二的手机壁纸. 首先我们需要选择一个现成的手机 ...

  9. python中什么是一个无序的不重复元素序列_无序Python集的“顺序”

    您应该观看此视频(尽管它是CPython1特定的并且是关于字典的-但我认为它也适用于集合). 基本上,python对元素进行哈希处理并获取最后N位(其中N由集合的大小确定),然后使用这些位作为数组索引 ...

最新文章

  1. java内部类和静态内部类的区别
  2. 如何构建 FinTech 科学反欺诈体系|架构师实践日
  3. Shady 深度学习课程
  4. [CTSC2017]吉夫特(思维+巧妙)
  5. 前端学习(1452):表格案例--效果演示
  6. 排序算法之两路归并排序(Java)
  7. 带桭字的名字_男孩带官运大气的名字有气魄有能力-可爱点
  8. 卖身1.8亿的背背佳身后,隐藏了一个“忽悠大师”
  9. Activity工作流工作笔记001---快速上手_认识工作流
  10. 字符串与整数、浮点数、无符号整数之间的转换常用函数
  11. C# 递归实现tree view(树结构)
  12. 开源网络教学平台SAKAI开发环境的搭建
  13. 高德地图定位误差_高德地图定位api以及导航和定位 位置的偏差
  14. 樊登读书会-《关键对话》
  15. ES8新增的常用语法
  16. oracle静默创建实例linux,linux CentOS7下快速静默安装Oracle11GR2数据库并创建实例
  17. 基于肌肉骨骼模型的预测仿真
  18. php 获取 所有上级 id,z-blog获取分类以及上级分类的代码
  19. 香港股市api调用代码返回示例
  20. IOS APP 制作二维码 下载

热门文章

  1. 半导体器件(三) 场效应管 FET
  2. RK3288平台下调屏参基本步骤
  3. Android定制化自己的开锁界面
  4. 题解 P2285 【[HNOI2004]打鼹鼠】
  5. 芝加哥大学有计算机专业吗,芝加哥大学计算机专业
  6. 后端传来map数据,前端的获取方式
  7. Apple Watch教程|如何取消配对并抹掉 Apple Watch?
  8. windows10 杀掉一个端口
  9. C++ 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对
  10. c语言中char97,C语言数据类型char