先回顾一下范数的定义(en.wikipedia.org/wiki/Norm_(mathematics)):

Given a vector space V over a subfield F of the complex numbers, a norm on V is a function p: VR with the following properties:[1]

For all aF and all u, vV,

  1. p(av) = |a| p(v), (absolute homogeneity or absolute scalability).
  2. p(u + v) ≤ p(u) + p(v) (triangle inequality or subadditivity).
  3. If p(v) = 0 then v is the zero vector (separates points).

By the first axiom, absolute homogeneity, we have p(0) = 0 and p(-v) = p(v), so that by the triangle inequality

p(v) ≥ 0 (positivity).

经常会听到p范数(p norm)的说法,其实很简单,可以看成2范数的扩展,但是有一点需要注意:p的范围是[1, inf)p在(0,1)范围内定义的并不是范数因为违反了三角不等式(||x+y|| <= ||x|| + ||y||,此处x和y是向量,后面出现x和y的地方也是向量,不再赘述。见下面wikipedia的截图

在p范数下定义的单位球(unit ball)都是凸集(convex set,简单地说,若集合A中任意两点的连线段上的点也在集合A中,则A是凸集),但是当0<p<1时,在该定义下的unit ball并不是凸集(注意:我们没说在该范数定义下,因为如前所述,0<p<1时,并不是范数).下图展示了p取不同值时unit ball的形状

当0<p<1时,上面类似p范数的定义不能对任意两点满足三角不等式,也就是说,存在两点,它们不满足三角不等式。这个论断证明起来很简单,只要找出两个这样的点就行了。

在一维空间中,按照p范数的定义,三角不等式总是成立。于是我们可以考虑在二维空间选点(因为二维空间比较简单),考虑特殊一点的,比如,取x=(0,1), y=(1,0)

||x|| = 1, ||y|| = 1,||x+y|| = 2^(1/p) > 2 == ||x|| + ||y||,这就是一个违反三角不等式的例子,证毕。

对于更高维空间都可以取类似的例子,比如三维就取(0,0,1), (0, 1, 0), (1,0,0)

下面的python(ver 2.7)代码可以用来画p取不同值时的unit ball:

import numpy as np
from matplotlib.pyplot import * figure(); hold(True)
r = 1
linestyle = ['b-','k-','m-','r-','y-']
p_values = (0.25, 0.5, 1, 2, 4)
for i,p in enumerate(p_values):
x = np.arange(-r,r+1e-5,1/128.0)
y = (r**p - (abs(x)**p))**(1.0/p)
y = zip(y, -y)
plot(x, y, linestyle[i], label=str(i))
axis('equal')
show()

结果是这样的(由内到外p逐渐增大,蓝线代表p=0.25,黄线代表p=4):

--

第一个图是截图后用MyPaint做的标记(红线),这是一个ubuntu(Linux)平台上类似于window画图的工具,比较轻量级,找了我好一会……

p范数(p norm)的更多相关文章

  1. 范数(norm)

    [范数定义] 非负实值函数(非线性) 1)非负性: || a || >= 0 2)齐次性: || ka || = |k| ||a|| 3)三角不等式: || a + b || <= || ...

  2. 范数(norm) 几种范数的简单介绍

    原文地址:https://blog.csdn.net/a493823882/article/details/80569888 我们知道距离的定义是一个宽泛的概念,只要满足非负.自反.三角不等式就可以称 ...

  3. norm函数

    如果A为向量 norm(A,p) 返回向量A的p范数. norm(A) 返回向量A的2范数,即等价于norm(A,2).

  4. Matlab求范数

    对 p = 2,这称为弗罗贝尼乌斯范数(Frobenius norm)或希尔伯特-施密特范数( Hilbert–Schmidt norm),不过后面这个术语通常只用于希尔伯特空间.这个范数可用不同的方 ...

  5. matlab norm 范式

    格式:n=norm(A,p) 功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 p  返回值  1  返回A中最大一列和,即max(sum(abs(A)))  2 返回A的 ...

  6. 学习笔记DL005:线性相关、生成子空间,范数,特殊类型矩阵、向量

    线性相关.生成子空间. 逆矩阵A⁽-1⁾存在,Ax=b 每个向量b恰好存在一个解.方程组,向量b某些值,可能不存在解,或者存在无限多个解.x.y是方程组的解,z=αx+(1-α),α取任意实数. A列 ...

  7. 范数 L1 L2

    在线性代数,函数分析等数学分支中,范数(Norm)是一个函数,是赋予某个向量空间(或矩阵)中的每个向量以长度或大小的函数.对于零向量,令其长度为零.直观的说,向量或矩阵的范数越大,则我们可以说这个向量 ...

  8. MATLAB命令大全

    一.常用对象操作:除了一般windows窗口的常用功能键外.1.!dir 可以查看当前工作目录的文件. !dir& 可以在dos状态下查看.2.who 可以查看当前工作空间变量名, whos ...

  9. Matlab程序 转C++/Opencv基于Mat 不可不知的17个函数

    1.matlab中的imread相当于OpenCV中的cvLoadImage(imageName,  CV_LOAD_IAMGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR): ...

  10. Opencv Mat的操作

    cout << mat 有错误的原因 You are using OpenCV built with VS10. The ostream operator << in the ...

随机推荐

  1. SQL Server 2012 列存储索引分析(翻译)

    一.概述 列存储索引是SQL Server 2012中为提高数据查询的性能而引入的一个新特性,顾名思义,数据以列的方式存储在页中,不同于聚集索引.非聚集索引及堆表等以行为单位的方式存储.因为它并不要求 ...

  2. HTML5实战与剖析之原生拖拽(四可拖动dragable属性和其他成员)

    可拖动dragable属性 之前我们已经为大家介绍过几篇有关HTML5中原生拖拽的相关知识了.今天为大家介绍HTML5拖拽中的其他一些小东东,闲话不多说赶快一起看看吧. 在默认情况下,链接.文本和图像 ...

  3. 如何引用jQuery实现下拉列表,点击展开,点击关闭。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. Leetcoede 112 Path Sum 二叉树

    二叉树的从叶子到根的和是否存在 /** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * ...

  5. css之属性部分

    这篇写的是今天的学习到的属性,一共20个. 属性再多,但也要会使用,会在使用时可以记起它,才能起到它为我们所需要的作用. 样式属性 1.border CSS边框属性允许你指定一个元素边框的样式和颜色. ...

  6. 模拟storage copy 功能失败的记录

    试验设想: 机器1: alter database begin backup 然后,在oracle仍然活动的状态下,将$ORACLE_BASE目录全部压缩拷贝到机器2 机器2: startup:失败 ...

  7. js Array 交集 并集 差集 去重

    最劲项目需要用到js数组去重和交集的一些运算,我的数组元素个数可能到达1000以上,网上的实现方式都是2次循环,性能不适合我的需求,1000*1000那循环次数太多了,所以我这里采用对象object来 ...

  8. jsp中表格,表格中的文字根据表格的大小自动换行

    style="table-layout: fixed;WORD-BREAK: break-all; WORD-WRAP: break-word" 语法: word-break : ...

  9. asp.net core 之静态文件目录的操作

    文章前言 之前写了一篇关于模拟登录的文章,自我感觉内容不太丰富,今天的这篇文章,希望在内容上能丰富些.本人缺少写文章的经验,技术上也是新手,但我会努力的,希望大家多多支持小弟. asp.net cor ...

  10. android 中 ViewPager 的平常用法 ViewPager+ Views

    延续前面几个的经常用到的ViewPager, 直接加载各种不同的 View 工程目录: 代码: public class ViewActivity extends Activity { // 每个Vi ...