這一章講了多項式之間的乘法,但僅限於兩個次數界相等並且為2的冪的多項式之間的乘法。運用了快速傅利葉變換及逆快速傅利葉變換演算法。
遞迴的快速傅利葉變換**:
void recursivefft(const
vector
& coefficient,vector
& fftresult)
if(length%2!=0)
throw runtime_error("the number of the coefficient isn't power of 2!");
vector
coefficient0(length/2);
for(int i=0;i!=coefficient0.size();++i)
coefficient0[i]=coefficient[2*i];//將具有偶數下標的係數賦值給陣列coefficient0;
vector
fftresult0(length/2);
recursivefft(coefficient0,fftresult0);//求解陣列coefficient0中儲存係數的離散傅利葉變換;
vector
coefficient1(length/2);
for(int i=0;i!=coefficient1.size();++i)
coefficient1[i]=coefficient[2*i+1];//將具有奇數下標的係數賦值給陣列coefficient1;
vector
fftresult1(length/2);
recursivefft(coefficient1,fftresult1);//求解陣列coefficient1中儲存係數的離散傅利葉變換;
const
double pi=3.141592659;
complex w=complex(1,0);
complex wn=complex(cos(2*pi/length),sin(2*pi/length));
for(int i=0;i!=length/2;++i)
}
迭代的快速傅利葉變換:
void iterativefft(const
vector
& coefficient,vector
& fftresult)}}
}
遞迴的逆快速傅利葉變化:
void recursiveinversefft(const
vector
& fftresult,vector
& result)
vector
fftresult0(length/2);
for(int i=0;i!=fftresult0.size();++i)
fftresult0[i]=fftresult[2*i]; //將fftresult陣列中具有偶數下標的係數賦值給陣列fftresult0;
vector
result0(length/2);
recursiveinversefft(fftresult0,result0);//求解fftresult0陣列中儲存值的逆傅利葉變換;
vector
fftresult1(length/2);
for(int i=0;i!=fftresult1.size();++i)
fftresult1[i]=fftresult[2*i+1];
vector
result1(length/2);
recursiveinversefft(fftresult1,result1);
const
double pi=3.141592659;
complex w=complex(1,0);
complex wn=complex(cos(2*pi/length),-sin(2*pi/length));
for(int i=0;i!=length/2;++i)
}
迭代的逆快速傅利葉變換:
void iterativeinversefft(const
vector
& fftresult,vector
& result)}}
}
最終的逆傅利葉變換**:
void inversefft(const
vector
& fftresult,vector
& result)
}
最終的多項式之間的乘法**:
//陣列a1和a2的大小應為2的冪,同時應相等;
void convolution(vector
& a1,vector
& a2,vector
& convoresult)
多項式問題之六 多項式快速冪
問題 已知乙個次數為 n 1 的多項式 f x 求乙個多項式 g x 滿足 g x equiv f x 這個.你需要多項式exp 直接推一發式子就可以了 g x equiv f x g x equiv e g x equiv e 這樣寫個多項式ln和多項式exp就可以了 include includ...
matlab多項式與非多項式擬合
擬合標準 1 原始資料向量與擬合向量之間的距離最小,該距離的度量一般使用誤差平方和表示,即均方誤差 r q y 22 2 當均方誤差最小時,說明構造的擬合向量與原始向量最為接近,這種曲線擬合的方法稱為最小二乘法 3 計算均方誤差最小時的擬合係數,可以通過微積分中求解極值的方法實現 多項式擬合 1 多...
多項式求逆與多項式開根
閒著沒事幹研究些黑科技 霧 求 a x b x 1 mod x n 其中n為a x b x 的度的較大值 已知a x 求b x b x a x 1 mod x n 假設n 1,則b x a x 常數項在mod p 意義下的的逆元 假設n 1 已知 a x b x 1 mod x n 2 a x b ...