Python数值算法片段

2021/7/14 11:05:09

本文主要是介绍Python数值算法片段,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

集合 R n \mathbb{R}^{n} Rn是所有 n n n元组的实数的集合。 用集合表示法是 R n = { ( x 1 , x 2 , x 3 , ⋯   , x n ) : x 1 , x 2 , x 3 , ⋯   , x n ∈ R } \mathbb{R}^{n}=\left\{\left(x_{1}, x_{2}, x_{3}, \cdots, x_{n}\right): x_{1}, x_{2}, x_{3}, \cdots, x_{n} \in \mathbb{R}\right\} Rn={(x1​,x2​,x3​,⋯,xn​):x1​,x2​,x3​,⋯,xn​∈R}。 例如,集合 R 3 \mathbb{R}^{3} R3表示三维空间中的实三元组 ( x , y , z ) (x, y, z) (x,y,z)坐标。

R n \mathbb{R}^{n} Rn中的向量是 R n \mathbb{R}^{n} Rn中的 n n n元组或点。 向量可以在行向量中水平地写(即向量的元素彼此相邻),或在列向量中垂直地写(即向量的元素彼此顶部)。 如果向量的上下文不明确,则通常意味着该向量是列向量。 向量的第 i i i个元素 v v v用 v i v_i vi​表示。 列向量的转置是相同长度的行向量,而行向量的转置是列向量。 在数学中,转置由上标 T T T或 v T v^{T} vT表示。 零向量是 R n \mathbb{R}^{n} Rn中包含所有零的向量。

向量的范数是其长度的度量。 有许多方法可以根据所使用的度量(即,所选的距离公式)来定义向量的长度。 最常见的称为 L 2 L_{2} L2​范数,它是根据您可能从小学时熟悉的距离公式计算得出的。 向量 v v v的 L 2 L_{2} L2​范数由 ∥ v ∥ 2 \|v\|_{2} ∥v∥2​表示, ∥ v ∥ 2 = ∑ i v i 2 \|v\|_{2}=\sqrt{\sum_{i} v_{i}^{2}} ∥v∥2​=∑i​vi2​ ​。 有时也称为欧几里得长度,是指向量在一维,二维或三维空间中的“物理”长度。 L 1 L_{1} L1​范数或“曼哈顿距离”的计算公式为 ∥ v ∥ 1 = ∑ i ∣ v i ∣ \|v\|_{1}=\sum_{i}\left|v_{i}\right| ∥v∥1​=∑i​∣vi​∣,以纽约市的网格状道路结构命名。通常,向量的 p p p范数 L p L_{p} Lp​为: L ∞ L_{\infty} L∞​范数是 p p p范数,其中 p = ∞ p=\infty p=∞。 L ∞ L_{\infty} L∞​范数写为 ∥ v ∥ ∞ \|v\|_{\infty} ∥v∥∞​,它等于 v v v中的最大绝对值。

片段1

创建行向量和列向量,并显示向量的形状。

import numpy as np
vector_row = np.array([[1, -5, 3, 2, 4]])
vector_column = np.array([[1], 
                          [2], 
                          [3], 
                          [4]])
print(vector_row.shape)
print(vector_column.shape)

输出

(1, 5)
(4, 1)

注意! 在Python中,行向量和列向量有些棘手。 从上面可以看到,为了获得1行4列或4行1列向量,我们必须使用list列表进行指定。 您可以定义np.array([1,2,3,4]),但很快您会发现它不包含有关行或列的信息。

片段2

将上面定义的行向量转置为列向量,并计算其 L 1 , L 2 L_{1}, L_{2} L1​,L2​和 L ∞ L_{\infty} L∞​范数。验证向量的 L ∞ L_{\infty} L∞​范数等于向量中元素的最大值。

from numpy.linalg import norm
new_vector = vector_row.T
print(new_vector)
norm_1 = norm(new_vector, 1)
norm_2 = norm(new_vector, 2)
norm_inf = norm(new_vector, np.inf)
print('L_1 is: %.1f'%norm_1)
print('L_2 is: %.1f'%norm_2)
print('L_inf is: %.1f'%norm_inf)

详情参阅http://viadean.com/py_num_alg.html



这篇关于Python数值算法片段的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程