当前位置: 首页 > news >正文

商业网站建设案例网络推广和网络销售的区别

商业网站建设案例,网络推广和网络销售的区别,ftp上传不了wordpress,网上购物商城有哪些文章目录 1 线性系统2 高斯-jordon消元法的实现2.1 Matrix2.2 Vector2.3 线性系统 3 行最简形式4 线性方程组的结构5 线性方程组-通用高斯消元的实现5.1 global5.2 Vector-引入is_zero5.3 LinearSystem5.4 main 1 线性系统 2 高斯-jordon消元法的实现 2.1 Matrix from .Vecto… 文章目录 1 线性系统2 高斯-jordon消元法的实现2.1 Matrix2.2 Vector2.3 线性系统 3 行最简形式4 线性方程组的结构5 线性方程组-通用高斯消元的实现5.1 global5.2 Vector-引入is_zero5.3 LinearSystem5.4 main 1 线性系统 2 高斯-jordon消元法的实现 2.1 Matrix from .Vector import Vectorclass Matrix:def __init__(self, list2d):self._values [row[:] for row in list2d]classmethoddef zero(cls, r, c):返回一个r行c列的零矩阵return cls([[0] * c for _ in range(r)])classmethoddef identity(cls, n):返回一个n行n列的单位矩阵m [[0]*n for _ in range(n)]for i in range(n):m[i][i] 1;return cls(m)def T(self):返回矩阵的转置矩阵return Matrix([[e for e in self.col_vector(i)]for i in range(self.col_num())])def __add__(self, another):返回两个矩阵的加法结果assert self.shape() another.shape(), \Error in adding. Shape of matrix must be same.return Matrix([[a b for a, b in zip(self.row_vector(i), another.row_vector(i))]for i in range(self.row_num())])def __sub__(self, another):返回两个矩阵的减法结果assert self.shape() another.shape(), \Error in subtracting. Shape of matrix must be same.return Matrix([[a - b for a, b in zip(self.row_vector(i), another.row_vector(i))]for i in range(self.row_num())])def dot(self, another):返回矩阵乘法的结果if isinstance(another, Vector):# 矩阵和向量的乘法assert self.col_num() len(another), \Error in Matrix-Vector Multiplication.return Vector([self.row_vector(i).dot(another) for i in range(self.row_num())])if isinstance(another, Matrix):# 矩阵和矩阵的乘法assert self.col_num() another.row_num(), \Error in Matrix-Matrix Multiplication.return Matrix([[self.row_vector(i).dot(another.col_vector(j)) for j in range(another.col_num())]for i in range(self.row_num())])def __mul__(self, k):返回矩阵的数量乘结果: self * kreturn Matrix([[e * k for e in self.row_vector(i)]for i in range(self.row_num())])def __rmul__(self, k):返回矩阵的数量乘结果: k * selfreturn self * kdef __truediv__(self, k):返回数量除法的结果矩阵self / kreturn (1 / k) * selfdef __pos__(self):返回矩阵取正的结果return 1 * selfdef __neg__(self):返回矩阵取负的结果return -1 * selfdef row_vector(self, index):返回矩阵的第index个行向量return Vector(self._values[index])def col_vector(self, index):返回矩阵的第index个列向量return Vector([row[index] for row in self._values])def __getitem__(self, pos):返回矩阵pos位置的元素r, c posreturn self._values[r][c]def size(self):返回矩阵的元素个数r, c self.shape()return r * cdef row_num(self):返回矩阵的行数return self.shape()[0]__len__ row_numdef col_num(self):返回矩阵的列数return self.shape()[1]def shape(self):返回矩阵的形状: (行数 列数)return len(self._values), len(self._values[0])def __repr__(self):return Matrix({}).format(self._values)__str__ __repr__ 2.2 Vector import math from ._globals import EPSILON class Vector:def __init__(self, lst):__init__ 代表类的构造函数双下划线开头的变量 例如_values,代表类的私有成员lst是个引用list(lst)将值复制一遍防止用户修改值self._values list(lst)def underlying_list(self):返回向量的底层列表return self._values[:]def dot(self, another):向量点乘返回结果标量assert len(self) len(another), \Error in dot product. Length of vectors must be same.return sum(a * b for a, b in zip(self, another))def norm(self):返回向量的模return math.sqrt(sum(e**2 for e in self))def normalize(self):归一化规范化返回向量的单位向量此处设计到了除法: def __truediv__(self, k):if self.norm() EPSILON:raise ZeroDivisionError(Normalize error! norm is zero.)return Vector(self._values) / self.norm()# return 1 / self.norm() * Vector(self._values)# return Vector([e / self.norm() for e in self])def __truediv__(self, k):返回数量除法的结果向量self / kreturn (1 / k) * selfclassmethoddef zero(cls, dim):返回一个dim维的零向量classmethod 修饰符对应的函数不需要实例化不需要 self 参数但第一个参数需要是表示自身类的cls参数可以来调用类的属性类的方法实例化对象等。return cls([0] * dim)def __add__(self, another):向量加法返回结果向量assert len(self) len(another), \Error in adding. Length of vectors must be same.# return Vector([a b for a, b in zip(self._values, another._values)])return Vector([a b for a, b in zip(self, another)])def __sub__(self, another):向量减法返回结果向量assert len(self) len(another), \Error in subtracting. Length of vectors must be same.return Vector([a - b for a, b in zip(self, another)])def __mul__(self, k):返回数量乘法的结果向量self * kreturn Vector([k * e for e in self])def __rmul__(self, k):返回数量乘法的结果向量k * selfself本身就是一个列表return self * kdef __pos__(self):返回向量取正的结果向量return 1 * selfdef __neg__(self):返回向量取负的结果向量return -1 * selfdef __iter__(self):返回向量的迭代器return self._values.__iter__()def __getitem__(self, index):取向量的第index个元素return self._values[index]def __len__(self):返回向量长度有多少个元素return len(self._values)def __repr__(self):打印显示Vector([5, 2])return Vector({}).format(self._values)def __str__(self):打印显示(5, 2)return ({}).format(, .join(str(e) for e in self._values))2.3 线性系统 from .Matrix import Matrix from .Vector import Vectorclass LinearSystem:def __init__(self, A, b):assert A.row_num() len(b), row number of A must be equal to the length of bself._m A.row_num()self._n A.col_num()assert self._m self._n # TODO: no this restrictionself.Ab [Vector(A.row_vector(i).underlying_list() [b[i]])for i in range(self._m)]def _max_row(self, index_i, index_j, n):best, ret abs(self.Ab[index_i][index_j]), index_ifor i in range(index_i 1, n):if abs(self.Ab[i][index_j]) best:best, ret abs(self.Ab[i][index_j]), ireturn retdef _forward(self):n self._mfor i in range(n):# Ab[i][i]为主元max_row self._max_row(i, i, n)self.Ab[i], self.Ab[max_row] self.Ab[max_row], self.Ab[i]# 将主元归为一self.Ab[i] self.Ab[i] / self.Ab[i][i] # TODO: self.Ab[i][i] 0?for j in range(i 1, n):self.Ab[j] self.Ab[j] - self.Ab[j][i] * self.Ab[i]def _backward(self):n self._mfor i in range(n - 1, -1, -1):# Ab[i][i]为主元for j in range(i - 1, -1, -1):self.Ab[j] self.Ab[j] - self.Ab[j][i] * self.Ab[i]def gauss_jordan_elimination(self):self._forward()self._backward()def fancy_print(self):for i in range(self._m):print( .join(str(self.Ab[i][j]) for j in range(self._n)), end )print(|, self.Ab[i][-1]) 3 行最简形式 4 线性方程组的结构 5 线性方程组-通用高斯消元的实现 5.1 global # 包中的变量但是对包外不可见因此使用“_”开头 EPSILON 1e-8def is_zero(x):return abs(x) EPSILONdef is_equal(a, b):return abs(a - b) EPSILON5.2 Vector-引入is_zero import math from ._globals import is_zero class Vector:def __init__(self, lst):__init__ 代表类的构造函数双下划线开头的变量 例如_values,代表类的私有成员lst是个引用list(lst)将值复制一遍防止用户修改值self._values list(lst)def underlying_list(self):返回向量的底层列表return self._values[:]def dot(self, another):向量点乘返回结果标量assert len(self) len(another), \Error in dot product. Length of vectors must be same.return sum(a * b for a, b in zip(self, another))def norm(self):返回向量的模return math.sqrt(sum(e**2 for e in self))def normalize(self):归一化规范化返回向量的单位向量此处设计到了除法: def __truediv__(self, k):if is_zero(self.norm()):raise ZeroDivisionError(Normalize error! norm is zero.)return Vector(self._values) / self.norm()# return 1 / self.norm() * Vector(self._values)# return Vector([e / self.norm() for e in self])def __truediv__(self, k):返回数量除法的结果向量self / kreturn (1 / k) * selfclassmethoddef zero(cls, dim):返回一个dim维的零向量classmethod 修饰符对应的函数不需要实例化不需要 self 参数但第一个参数需要是表示自身类的cls参数可以来调用类的属性类的方法实例化对象等。return cls([0] * dim)def __add__(self, another):向量加法返回结果向量assert len(self) len(another), \Error in adding. Length of vectors must be same.# return Vector([a b for a, b in zip(self._values, another._values)])return Vector([a b for a, b in zip(self, another)])def __sub__(self, another):向量减法返回结果向量assert len(self) len(another), \Error in subtracting. Length of vectors must be same.return Vector([a - b for a, b in zip(self, another)])def __mul__(self, k):返回数量乘法的结果向量self * kreturn Vector([k * e for e in self])def __rmul__(self, k):返回数量乘法的结果向量k * selfself本身就是一个列表return self * kdef __pos__(self):返回向量取正的结果向量return 1 * selfdef __neg__(self):返回向量取负的结果向量return -1 * selfdef __iter__(self):返回向量的迭代器return self._values.__iter__()def __getitem__(self, index):取向量的第index个元素return self._values[index]def __len__(self):返回向量长度有多少个元素return len(self._values)def __repr__(self):打印显示Vector([5, 2])return Vector({}).format(self._values)def __str__(self):打印显示(5, 2)return ({}).format(, .join(str(e) for e in self._values))5.3 LinearSystem from .Matrix import Matrix from .Vector import Vector from ._globals import is_zeroclass LinearSystem:def __init__(self, A, b):assert A.row_num() len(b), row number of A must be equal to the length of bself._m A.row_num()self._n A.col_num()# assert self._m self._n # TODO: no this restrictionself.Ab [Vector(A.row_vector(i).underlying_list() [b[i]])for i in range(self._m)]self.pivots []def _max_row(self, index_i, index_j, n):best, ret abs(self.Ab[index_i][index_j]), index_ifor i in range(index_i 1, n):if abs(self.Ab[i][index_j]) best:best, ret abs(self.Ab[i][index_j]), ireturn retdef _forward(self):i, k 0, 0while i self._m and k self._n:# 看Ab[i][k]位置是否可以是主元max_row self._max_row(i, k, self._m)self.Ab[i], self.Ab[max_row] self.Ab[max_row], self.Ab[i]if is_zero(self.Ab[i][k]):k 1else:# 将主元归为一self.Ab[i] self.Ab[i] / self.Ab[i][k]for j in range(i 1, self._m):self.Ab[j] self.Ab[j] - self.Ab[j][k] * self.Ab[i]self.pivots.append(k)i 1def _backward(self):n len(self.pivots)for i in range(n - 1, -1, -1):k self.pivots[i]# Ab[i][k]为主元for j in range(i - 1, -1, -1):self.Ab[j] self.Ab[j] - self.Ab[j][k] * self.Ab[i]def gauss_jordan_elimination(self):如果有解返回True如果没有解返回Falseself._forward()self._backward()for i in range(len(self.pivots), self._m):if not is_zero(self.Ab[i][-1]):return Falsereturn Truedef fancy_print(self):for i in range(self._m):print( .join(str(self.Ab[i][j]) for j in range(self._n)), end )print(|, self.Ab[i][-1]) 5.4 main from playLA.Matrix import Matrix from playLA.Vector import Vector from playLA.LinearSystem import LinearSystemif __name__ __main__:A Matrix([[1, 2, 4], [3, 7, 2], [2, 3, 3]])b Vector([7, -11, 1])ls LinearSystem(A, b)ls.gauss_jordan_elimination()ls.fancy_print()print()# [-1, -2, 3]A2 Matrix([[1, -3, 5], [2, -1, -3], [3, 1, 4]])b2 Vector([-9, 19, -13])ls2 LinearSystem(A2, b2)ls2.gauss_jordan_elimination()ls2.fancy_print()print()# [2, -3, -4]A3 Matrix([[1, 2, -2], [2, -3, 1], [3, -1, 3]])b3 Vector([6, -10, -16])ls3 LinearSystem(A3, b3)ls3.gauss_jordan_elimination()ls3.fancy_print()print()# [-2, 1, -3]A4 Matrix([[3, 1, -2], [5, -3, 10], [7, 4, 16]])b4 Vector([4, 32, 13])ls4 LinearSystem(A4, b4)ls4.gauss_jordan_elimination()ls4.fancy_print()print()# [3, -4, 0.5]A5 Matrix([[6, -3, 2], [5, 1, 12], [8, 5, 1]])b5 Vector([31, 36, 11])ls5 LinearSystem(A5, b5)ls5.gauss_jordan_elimination()ls5.fancy_print()print()# [3, -3, 2]A6 Matrix([[1, 1, 1], [1, -1, -1], [2, 1, 5]])b6 Vector([3, -1, 8])ls6 LinearSystem(A6, b6)ls6.gauss_jordan_elimination()ls6.fancy_print()print()# [1, 1, 1]A7 Matrix([[1, -1, 2, 0, 3],[-1, 1, 0, 2, -5],[1, -1, 4, 2, 4],[-2, 2, -5, -1, -3]])b7 Vector([1, 5, 13, -1])ls7 LinearSystem(A7, b7)ls7.gauss_jordan_elimination()ls7.fancy_print()print()A8 Matrix([[2, 2],[2, 1],[1, 2]])b8 Vector([3, 2.5, 7])ls8 LinearSystem(A8, b8)if not ls8.gauss_jordan_elimination():print(No Solution!)ls8.fancy_print()print()A9 Matrix([[2, 0, 1],[-1, -1, -2],[-3, 0, 1]])b9 Vector([1, 0, 0])ls9 LinearSystem(A9, b9)if not ls9.gauss_jordan_elimination():print(No Solution!)ls9.fancy_print()print()
http://www.w-s-a.com/news/525024/

相关文章:

  • 网站建设百科有什么做兼职的网站
  • 创造网站电商网站建设方案道客巴巴
  • 南通设计网站建设wordpress时光轴
  • 郑州做网站企起网站建设 风险
  • 北京市保障性住房建设投资中心网站6大连广告设计与制作公司
  • 建站之星网站模板国内f型网页布局的网站
  • 怎么做网站关键词优化外贸网站 开源
  • 广东公司响应式网站建设设计seo系统是什么
  • 清丰网站建设费用网站建设的前途
  • 网站上那些兼职网页怎么做的北京网页
  • 桂林建站平台哪家好品牌设计公司宣传文案
  • 平面设计和建设网站的区别公司官网静态
  • h5网站建设+案例住房住房和城乡建设部网站
  • 建设股公司网站东莞建设网网上平台
  • 湖州吴兴建设局网站加强网站建设的
  • 茌平做网站公司专业商城网站建设报价
  • 网站结构图怎么画wordpress注册不发送件
  • 个人备案网站可以做论坛吗电商推广方式有哪些
  • 网站建设 自适应国内最近的新闻
  • 校园网站开发背景吴江网站建设公司
  • 网站开发工程师发展趋势山东省建设工程电子信息网站
  • 适合大学生创业的网站建设类型吉林省舒兰市建设银行网站
  • 呼和浩特网站建设哪家好培训学校加盟费用
  • 网站如何做友情链接有道云笔记WordPress
  • 贵阳企业网站建设制作赤峰浩诚网站建设公司
  • asp官方网站微信模板素材
  • wordpress 留言给站长发邮件做百度推广员赚钱吗
  • 北京建站公司做网站价格专门找人做软件的网站
  • 商务网站的特点ui软件界面设计
  • 广州个性化网站开发网站索引量是什么意思