পাওয়ার সিরিজ সহগের গণনা করুন


24

p(x)অবিচ্ছেদ্য সহগ এবং একটি ধ্রুবক মেয়াদ সহ একটি বহুপদী p(0) = 1 or -1, এবং একটি nonnegative পূর্ণসংখ্যার দেওয়া N, Nবিকাশ এর শক্তি সিরিস (কখনও কখনও "টেলর সিরিজ" বলা হয়) এর f(x) = 1/p(x)তৃতীয় x0 = 0সহগ, অর্থাত, ডিগ্রির একশব্দটির গুণক হিসাবে প্রদান করুন N

প্রদত্ত শর্তগুলি নিশ্চিত করে যে পাওয়ার সিরিজটি বিদ্যমান এবং এর সহগগুলি পূর্ণসংখ্যা।

বিস্তারিত

সর্বদা হিসাবে বহুপদী কোনও সুবিধাজনক বিন্যাসে গ্রহণ করা যেতে পারে, উদাহরণস্বরূপ সহগের একটি তালিকা, যেমন p(x) = x^3-2x+5উপস্থাপন করা যেতে পারে [1,0,-2,5]

একটি ফাংশন এর powerseries fউন্নত এ 0দেওয়া হয়

এবং N-th সহগ (এর সহগ x^N) প্রদান করেছেন

যেখানে -th ডেরিভেটিভ বোঝায়nf

উদাহরণ

  • p(x) = 1-xজ্যামিতিক সিরিজের বহুপদী ফলাফল f(x) = 1 + x + x^2 + ...সুতরাং আউটপুট 1সবার জন্য হওয়া উচিত N

  • p(x) = (1-x)^2 = x^2 - 2x + 1জ্যামিতিক সিরিজের ডেরাইভেটিভের ফলাফল f(x) = 1 + 2x + 3x^2 + 4x^3 + ..., সুতরাং আউটপুট Nহয় N+1

  • p(x) = 1 - x - x^2 ফিবোনাচি সিকোয়েন্স তৈরির ফাংশনে ফলাফল f(x) = 1 + x + 2x^2 + 3x^3 + 5x^4 + 8x^5 + 13x^6 + ...

  • p(x) = 1 - x^21,0,1,0,...অর্থাৎ উত্পাদনের ফাংশন ফলাফলf(x) = 1 + x^2 + x^4 + x^6 + ...

  • p(x) = (1 - x)^3 = 1 -3x + 3x^2 - x^3ত্রিভুজাকার সংখ্যার উত্পন্ন ফাংশনের ফলাফল f(x) = 1 + 3x + 6x^6 + 10x^3 + 15x^4 + 21x^5 + ...যার অর্থ-- Nসহগটি দ্বি-দ্বিফল সহগ হয়(N+2, N)

  • p(x) = (x - 3)^2 + (x - 2)^3 = 1 + 6x - 5x^2 + x^3 ফলাফল স্বরূপ f(x) = 1 - 6x + 41x^2 - 277x^3 + 1873x4 - 12664x^5 + 85626x^6 - 57849x^7 + ...


বিদ্যুৎ-সিরিজের সহগের মতো অসীম তালিকা হিসাবে বহুপদী গ্রহণ করা কি গ্রহণযোগ্য হবে [1,-1,0,0,0,0,...]?
xnor

হ্যাঁ, আমি মনে করি এটি একটি গ্রহণযোগ্য বিন্যাস।
flawr

সুন্দর উদাহরণ বেছে নেওয়া হয়েছে!
গ্রেগ মার্টিন

আপনি প্রশংসা করেছেন, আমি আনন্দিত, আপনাকে ধন্যবাদ =)
flawr

উত্তর:


9

গণিত, 24 23 বাইট

গ্রেগ মার্টিনকে ধন্যবাদ 1 বাইট সংরক্ষণ করা

D[1/#2,{x,#}]/#!/.x->0&

দুটি যুক্তি #এবং সাথে খাঁটি ফাংশন #2। বহুবর্ষ #2সন্তুষ্টি ধরে PolynomialQ[#2,x]। অবশ্যই এটির জন্য একটি অন্তর্নির্মিত আছে:

SeriesCoefficient[1/#2,{x,0,#}]&

1
ভাল হয়েছে বিল্ট ইন মার! আমি অনুমান করি আপনি এটি একটি #পূর্ণসংখ্যা Nএবং #2বহুপদী হিসাবে ধরে নিয়ে একটি বাইট সংরক্ষণ করতে পারেন ।
গ্রেগ মার্টিন

6

মতলব, 81 79 75 বাইট

পূর্ববর্তী দুটি উত্তরের মতো এটি প্রতীকী গণনা ব্যবহার করে না। ধারণাটি হ'ল আপনি পুনরাবৃত্তভাবে সহগের গণনা করতে পারেন:

function C=f(p,N);s=p(end);for k=1:N;q=conv(p,s);s=[-q(end-k),s];end;C=s(1)

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

function C=f(p,N);
s=p(end);            % get the first (constant coefficient)
for k=1:N;           
    q=conv(p,s);     % multiply the known coefficients with the polynomial
    s=[-q(end-k),s]; % determine the new coefficient to make the the product get "closer" 
end;
C=s(1)           % output the N-th coefficient

4

জিওজেব্রা , 28 বাইট

Derivative[1/A1,B1]/B1!
f(0)

বহুবর্ষীয় এবং পূর্ণসংখ্যার স্প্রেডশিট ঘরগুলি A1 এবং B1 থেকে যথাক্রমে ইনপুট নেওয়া হয় এবং প্রতিটি লাইন পৃথকভাবে ইনপুট বারে প্রবেশ করা হয়। আউটপুটটি ভেরিয়েবলের অ্যাসাইনমেন্টের মাধ্যমে হয় a

এখানে একটি জিআইএফ কার্যকর করা দেখাচ্ছে:

টেলর সহগ

বিল্টিনগুলি ব্যবহার করা 48 টি বাইটে অনেক দীর্ঘ:

First[Coefficients[TaylorPolynomial[1/A1,0,B1]]]

4

হাস্কেল, 44 বাইট

p%n=(0^n-sum[p!!i*p%(n-i)|i<-[1..n]])/head p

বীজগণিত বিল্ট-ইনগুলি ছাড়া সরাসরি গণনা। পাওয়ার সিরিজের সহগের অসীম তালিকা হিসাবে ইনপুট নেয়, যেমন p = [1,-2,3,0,0,0,0...](যেমন p = [1,-2,3] ++ repeat 0) এর জন্য 1-2*x+x^2। এটি যেমন কল p%3, যা দেয় -4.0

ধারণাটি হ'ল পি যদি বহুপদী হয় এবং Q = 1 / p এটি বিপরীত হয়, তবে আমরা সমতা পি · কি = 1 টার্ম-টু-টার্ম প্রকাশ করতে পারি । সহগ এক্স এনপি · কুই মধ্যে কোফিসিয়েন্টস এর সংবর্তন দেওয়া হয় পি এবং কুই :

পি 0 · কিউ এন + পি 1 · কিউ এন -1 + ... + পি এন · কিউ 0

জন্য পি · কুই = 1 ধরে রাখার, সব জন্য শূন্য সমান উপরে আবশ্যক এন> 0 । এখানে, আমরা প্রকাশ করতে পারেন কুই এন পরিপ্রেক্ষিতে যাও recursively কুই 0 , ..., কুই এন -1 এবং কোফিসিয়েন্টস পি

q এন = - 1 / পি 0 · (পি 1 · কিউ এন -1 + ... + পি এন · কিউ 0 )

নেতৃস্থানীয় সহগ পি 0sum[p!!i*p%(n-i)|i<-[1..n]]/head p সহ এটিই হ'ল অভিব্যক্তিতে গণনা করা । প্রাথমিক সহগ Q 0 = 1 / p 0 হ'ল অঙ্কের জন্য নির্দেশক হিসাবে একই অভিব্যক্তিতে পরিচালনা করা হয় ।head p0^nn==0


3

জে, 12 বাইট

1 :'(1%u)t.'

ব্যবহার ক্রিয়া বিশেষণ t.যা বহুপদী লাগে pLHS এবং নন-নেগেটিভ পূর্ণসংখ্যা উপর একটি ক্রিয়াপদ আকারে kRHS এবং নির্ণয় kতম টেলর সিরিজের সহগ px = 0। পাওয়ার সিরিজ পাওয়ার জন্য, এটি pপ্রয়োগ করার আগে এর পারস্পরিক গ্রহণ করা হয়।

এটি অনলাইন চেষ্টা করুন!


2

ম্যাপেল, 58 26 বাইট

এটি একটি নামবিহীন ফাংশন যা বহুভুজ xএবং পূর্ণসংখ্যা গ্রহণ করে N

সম্পাদনা: আমি কেবল লক্ষ্য করেছি যে একটি বিল্টিন রয়েছে:

(p,N)->coeftayl(1/p,x=0,N)

1

এমএটিএল , 19 বাইট

0)i:"1GY+@_)_8Mh]1)

এর অনুবাদ @ flawr এর মহান মতলব উত্তর

এটি অনলাইন চেষ্টা করুন!

কিভাবে এটা কাজ করে

0)      % Implicitly input vector of polynomial coefficients and get last entry
i       % Input N
:"      % For k in [1 2 ... N]
  1G    %   Push vector of polynomial coefficients
  Y+    %   Convolution, full size
  @     %   Push k
  _     %   Negate
  )     %   Index. This produces the end-k coefficient
  _     %   Negate
  8M    %   Push first input of the latest convolution
  h     %   Concatenate horizontally
]       % End
1)      % Get first entry. Implicitly display

1

জাভাস্ক্রিপ্ট (ES6), 57 বাইট

(a,n)=>a.reduce((s,p,i)=>!i|i>n?s:s-p*f(a,n-i),!n)/a[0]

@ Xnor এর হাস্কেল উত্তরটির পোর্ট। আমি প্রথমে একটি পুনরাবৃত্ত সংস্করণ চেষ্টা করেছি তবে এটি 98 বাইট হিসাবে প্রমাণিত হয়েছে, তবে এটি বড় এন এর পক্ষে আরও দ্রুত হবে, কারণ আমি কার্যকরভাবে পুনরাবৃত্ত কলগুলিকে স্মরণ করছি:

(a,n)=>[...Array(n+1)].fill(0).map((_,i,r)=>r[i]=r.reduce((s,p,j)=>s-p*(a[i-j]||0),!i)/a[0]).pop()

n+1পদগুলি প্রয়োজনীয়, যা অ্যারেতে সংরক্ষিত হয় r। এটি প্রাথমিকভাবে শূন্য যা পুরো অ্যারে rএকবারে হ্রাস করতে দেয় , কারণ শূন্যগুলি ফলাফলকে প্রভাবিত করবে না। শেষ গণনা সহগের চূড়ান্ত ফলাফল।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.