标签: polynomial-math

将多项式模型拟合为R中的数据

我已经阅读了这个问题的答案并且它们非常有用,但我需要特别是在R中提供帮助.

我在R中有一个示例数据集,如下所示:

x <- c(32,64,96,118,126,144,152.5,158)  
y <- c(99.5,104.8,108.5,100,86,64,35.3,15)
Run Code Online (Sandbox Code Playgroud)

我想为这些数据拟合一个模型y = f(x).我希望它是一个三阶多项式模型.

我怎么能在R?

另外,R可以帮我找到最合适的模型吗?

r curve-fitting data-analysis polynomial-math

80
推荐指数
4
解决办法
13万
查看次数

在软件中实现SSE 4.2的CRC32C

所以我的设计结合了CRC32C校验和,以确保数据没有被损坏.我决定使用CRC32C,因为如果运行软件的计算机支持SSE 4.2,我可以同时拥有软件版本和硬件加速版本.

我将使用英特尔的开发人员手册(第2A卷),它似乎提供了该crc32指令背后的算法.但是,我运气不好.英特尔的开发人员指南说明如下:

BIT_REFLECT32: DEST[31-0] = SRC[0-31]
MOD2: Remainder from Polynomial division modulus 2

TEMP1[31-0] <- BIT_REFLECT(SRC[31-0])
TEMP2[31-0] <- BIT_REFLECT(DEST[31-0])
TEMP3[63-0] <- TEMP1[31-0] << 32
TEMP4[63-0] <- TEMP2[31-0] << 32
TEMP5[63-0] <- TEMP3[63-0] XOR TEMP4[63-0]
TEMP6[31-0] <- TEMP5[63-0] MOD2 0x11EDC6F41
DEST[31-0]  <- BIT_REFLECT(TEMP6[31-0])
Run Code Online (Sandbox Code Playgroud)

现在,据我所知,我已经完成了TEMP6正确开始的所有事情,但我想我可能要么误解多项式除法,要么错误地实现它.如果我的理解是正确的,那么1 / 1 mod 2 = 1,0 / 1 mod 2 = 0两个除零都是未定义的.

我不明白的是64位和33位操作数的二进制除法是如何工作的.如果SRC0x00000000,并且DEST0xFFFFFFFF,TEMP5[63-32]将所有设置位,而TEMP5[31-0]将全部取消设置位.

如果我要使用来自TEMP5分子的位,那么将有30个除以零,因为多项式 …

c++ crc32 polynomial-math

26
推荐指数
3
解决办法
2万
查看次数

R使用什么类型的正交多项式?

我试图在R中的以下代码中匹配正交多项式:

X <- cbind(1, poly(x = x, degree = 9))
Run Code Online (Sandbox Code Playgroud)

但是在python中.

为此,我实现了自己的方法来给出正交多项式:

def get_hermite_poly(x,degree):
    #scipy.special.hermite()
    N, = x.shape
    ##
    X = np.zeros( (N,degree+1) )
    for n in range(N):
        for deg in range(degree+1):
            X[n,deg] = hermite( n=deg, z=float(x[deg]) )
    return X
Run Code Online (Sandbox Code Playgroud)

虽然它似乎不匹配它.有人知道它使用的正交多项式的类型吗?我尝试在文档中搜索但没有说.


为了给出一些上下文,我试图在python中实现以下R代码(https://stats.stackexchange.com/questions/313265/issue-with-convergence-with-sgd-with-function-approximation-using-polynomial- lin/315185#comment602020_315185):

set.seed(1234)

N <- 10
x <- seq(from = 0, to = 1, length = N)
mu <- sin(2 * pi * x * 4)
y <- mu
plot(x,y)

X <- cbind(1, poly(x = x, degree …
Run Code Online (Sandbox Code Playgroud)

python r machine-learning polynomial-math gradient-descent

25
推荐指数
1
解决办法
874
查看次数

与JavaScript的Math.pow相反的是什么?

我在这里有一个心理障碍,而代数并不是我的事,你能告诉我如何重新编写下面的JavaScript代码来推导变量,cab?:

a = Math.pow(b, c);
c = ?
Run Code Online (Sandbox Code Playgroud)

谢谢!

javascript math algebra polynomial-math

22
推荐指数
2
解决办法
1万
查看次数

在Python中实现Horner方法的问题

所以我用三种不同的方法写下了用于评估多项式的​​代码.霍纳的方法应该是最快的,而天真的方法应该是最慢的,对吗?但是,为什么计算它的时间不是我所期望的呢?对于itera和naive方法,计算时间有时会变得完全相同.它出什么问题了?

import numpy.random as npr
import time

def Horner(c,x):
    p=0
    for i in c[-1::-1]:
        p = p*x+i
    return p

def naive(c,x):
    n = len(c)
    p = 0
    for i in range(len(c)):
        p += c[i]*x**i 
    return p

def itera(c,x):
    p = 0
    xi = 1
    for i in range(len(c)):
        p += c[i]*xi
        xi *= x 
    return p

c=npr.uniform(size=(500,1))
x=-1.34

start_time=time.time()
print Horner(c,x)
print time.time()-start_time

start_time=time.time()
print itera(c,x)
print time.time()-start_time

start_time=time.time()
print naive(c,x)
print time.time()-start_time
Run Code Online (Sandbox Code Playgroud)

以下是一些结果:

[  2.58646959e+69]
0.00699996948242
[  2.58646959e+69]
0.00600004196167 …
Run Code Online (Sandbox Code Playgroud)

python iteration loops function polynomial-math

18
推荐指数
2
解决办法
3803
查看次数

如何用R中的数字向量表示多项式

在R中,如何表示多项式表达式并使用数字向量对象进行多项式数学运算?例如:

x1 <- c(2,1)  # 2 + x
x2 <- c(-1,3)  # -1 + 3*x
Run Code Online (Sandbox Code Playgroud)

并希望:

x1 * x2 # to return -2 + 5*x + 3*x^2 
Run Code Online (Sandbox Code Playgroud)

注意:我今天早上回答了一个问题,然后海报显然删除了它(让我想知道它是否是作业.)所以我从记忆中重新发布了这个问题.

r polynomial-math

17
推荐指数
2
解决办法
1213
查看次数

NTL上的"多项式对于FFT来说太大了"错误

我正在尝试使用NTL中的ZZ_pEX类来执行4096度的多项式的乘法运算.然而,它返回错误"Polynomial对于FFT来说太大了",我找不到让它工作的方法(甚至可以帮助NTL文档的东西),但幻灯片中的评论说它可以修复(不说怎么样!).

有人找到了解决方法吗?

c++ fft multiplication polynomial-math ntl

16
推荐指数
1
解决办法
365
查看次数

Java中的复系数多项式根发现

我正在尝试找到一种方法来计算Java中具有复系数的多项式的根(即,相当于在MATLAB中用根()轻松完成的事情).

我准备重新编码构建伴随矩阵的根查找算法,然后使用广义特征值分解来查找根,但为此我需要一个处理复值矩阵运算的库.

我浏览了一段时间,似乎没有任何说服力,我认为这很奇怪.然后,我想问你:

  1. 你知道(稳定的)Java库在COMPLEX系数定义的多项式上执行根查找吗?

  2. 你知道一个(稳定的)Java库在COMPLEX值矩阵上执行evd,svd,inverse等吗?

注意:我已经看过JAMA(不处理复杂),Michael Thomas Flanagan的Java Scientific Library(不再可用),colt(似乎没有处理复杂),高效的Java Matrix Library(也没有复杂),DDogleg Numerics (不处理具有复系数的多项式),JScience(不清楚evd是否可用)和Apache的通用数学(如果它们允许复杂矩阵则不清楚,如果是,则可以使用evd).

java matrix polynomial-math complex-numbers

15
推荐指数
1
解决办法
1081
查看次数

具有整数系数的多项式的快速因式分解

我想在整数环上快速分解多项式(原始多项式具有整数系数,并且所有因子都具有整数系数).

例如,我想分解4*x^6 + 20*x^5 + 29*x^4 - 14*x^3 - 71*x^2 - 48*x(2*x^4 + 7*x^3 + 4*x^2 - 13*x - 16)*(2*x + 3)*x.

我应该选择哪种算法来避免代码的复杂性和方法的低效率(谈论算术运算和内存消耗的总量)?

我将使用C编程语言.

例如,可能有一些好的算法用于整数环模数素数的多项式因式分解?

c algorithm performance polynomial-math polynomials

13
推荐指数
1
解决办法
1469
查看次数

相当于Python中2D多项式的"polyfit"

我想找到a系数的最小二乘解

z = (a0 + a1*x + a2*y + a3*x**2 + a4*x**2*y + a5*x**2*y**2 + a6*y**2 +
     a7*x*y**2 + a8*x*y)
Run Code Online (Sandbox Code Playgroud)

给定的阵列x,yz长度20的基本上我正在寻找的等效numpy.polyfit但对于一个二维多项式.

这个问题很相似,但解决方案是通过MATLAB提供的.

python math numpy linear-algebra polynomial-math

13
推荐指数
3
解决办法
1万
查看次数