一、简介
范数,是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,范函是一个函数,其为矢量空间内的所有矢量赋予非零的正长度或大小。半范数反而可以为非零的矢量赋予零长度。
详解
二、实现
# -*- coding: utf-8 -*-
"""
Created on Mon Dec 12 19:24:08 2016
向量范数计算
@author: Administrator
"""
from numpy import *
def norm(x,ord=2):
if ord == 2 or ord == 1:
return sum(abs(x)**ord)**(1./ord)
if ord == Inf:
return abs(x).max()
def print_norm(x):
print norm(x,1)
print norm(x,2)
print norm(x,Inf)
if __name__ == '__main__':
list = []
for i in xrange(1,11):
list.append(1./i)
x = array(list)
print_norm(x)
list = []
for i in xrange(1,101):
list.append(1./i)
x = array(list)
print_norm(x)
list = []
for i in xrange(1,1001):
list.append(1./i)
x = array(list)
print_norm(x)
x = arange(1,11)
print_norm(x)
x = arange(1,101)
print_norm(x)
x = arange(1,1001)
print_norm(x)