首页 > 解决方案 > 如何计算python中函数的范数?

问题描述

我想计算一个函数的函数范数。我的用例是两个函数的距离,但这不如在 python 中以正确的方式计算它重要。查看我所做的文档:

import numpy as np
import scipy.integrate as integrate

def functional_diff_norm(f1, f2, lb, ub, p=2):
    """
    Computes norm:

    ||f||_p = (int_S |f|^p dmu)^1/p

    https://en.wikipedia.org/wiki/Lp_space
    """
    norm = integrate.quad(lambda x: abs(f1(x) - f2(x))**p, lb, ub)[0]**(1/p)
    return norm

但要确保它是正确的。

另外,我想将其推广到更高的维度。这容易处理吗?如果是,达到什么尺寸(和精度?)


交叉发布: https ://discuss.pytorch.org/t/how-does-one-compute-the-norm-of-a-function-in-python/91527

标签: pythonnumpynumerical-methodsnumerical-integration

解决方案


您应该遵循文档字符串中的公式

norm = integrate.quad(lambda x: abs(f1(x) - f2(x))**p, lb, ub)[0]**(1/p)

推荐阅读