Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Math 为什么nlogn很难反转?_Math_R_Complexity Theory_Invert - Fatal编程技术网

Math 为什么nlogn很难反转?

Math 为什么nlogn很难反转?,math,r,complexity-theory,invert,Math,R,Complexity Theory,Invert,假设我有一个函数在空间需求上是nlogn,我想计算出给定可用空间下该函数的最大输入大小。i、 我想找到n,其中nlogn=c 我接着计算n,在R中是这样的: step = function(R, z) { log(log(R)-z)} guess = function(R) log(log(R)) inverse_nlogn = function(R, accuracy=1e-10) { zi_1 = 0 z = guess(R) while(abs(z - zi_1)>accu

假设我有一个函数在空间需求上是nlogn,我想计算出给定可用空间下该函数的最大输入大小。i、 我想找到n,其中nlogn=c

我接着计算n,在R中是这样的:

step = function(R, z) { log(log(R)-z)} 
guess = function(R) log(log(R))

inverse_nlogn = function(R, accuracy=1e-10) {
 zi_1 = 0
 z = guess(R)
 while(abs(z - zi_1)>accuracy) { 
  zi_1 = z
  z = step(R, z)
 }
 exp(exp(z))
}

但我不明白为什么必须迭代求解。对于我们感兴趣的范围(n>1),函数是非奇异的。

n log n没有什么特别之处-几乎所有的初等函数都没有初等逆,因此必须通过其他方法来求解:二分法、牛顿法、拉格朗日逆定理、级数逆,Lambert W函数…

n log n没有什么特别之处-几乎所有的初等函数都没有初等逆,因此必须用其他方法求解:二分法、牛顿法、拉格朗日逆定理、级数反演、Lambert W函数…

正如Gareth所暗示的Lambert W函数()让你几乎到达那里,事实上n=c/W(c)


一个小小的google发现,这可能会有所帮助。

正如Gareth所暗示的那样,Lambert W函数()几乎可以让你达到目的,事实上n=c/W(c)

谷歌发现了一个很小的问题,这可能会有帮助。

跟进(完全明确):

我发现它到处都在实施:游戏包,还有一个叫做LambertW的完整包…

后续(完全明确):


我发现它到处都有:游戏软件包,还有一个名为LambertW的完整软件包…

你没有访问权限吗?你可以完整下载它。你没有访问权限吗?你可以完整下载它。你可以从那里获取()或安装emdbook软件包。。。我认为GSL包中也有一个版本,您可以从那里获得它,或者安装emdbook包。。。我认为GSL包中也有一个版本
library(emdbook)

n <- 2.5

c <- 2.5*log(2.5)
exp(lambertW(c))  ## 2.5

library(gsl)
exp(lambert_W0(c)) ## 2.5
library(sos)
findFn("lambert W")