একটি 2x2 আইজেনসিস্টেম সমাধান করুন


11

সামান্য লিনিয়ার বীজগণিতের পটভূমি রয়েছে তাদের পক্ষে, চ্যালেঞ্জটি এর মতোই সহজ: প্রদত্ত জটিল 2x2 ম্যাট্রিক্সের ইগেনভ্যালুগুলি এবং আইজেনভেেক্টরগুলি নির্ধারণ করুন । আপনি চ্যালেঞ্জের জন্য I / O বিবরণ ইত্যাদির জন্য এগিয়ে যেতে পারেন, যাঁদের জন্য আইজি সিস্টেমগুলিতে সামান্য রিফ্রেশার প্রয়োজন তাদের পড়ুন।

পটভূমি

চরিত্রগত সমীকরণ একটি ম্যাট্রিক্স এর একটি দ্বারা সংজ্ঞায়িত করা হয়

det| A - λI | = 0

যেখানে λ একটি জটিল (স্কালে) প্যারামিটার, আমি পরিচয় ম্যাট্রিক্স এবং Det | ... | হয় নির্ধারক । বাম দিকের দিকটি λ এ একটি বহুপদী মূল্যায়ন করে , বৈশিষ্ট্যযুক্ত বহুপদী , যা 2x2 ম্যাট্রিকের ক্ষেত্রে চতুর্ভুজযুক্ত। এই চরিত্রগত সমীকরণের সমাধান আছে eigenvalues এর একটি , যা আমরা যেমন নির্দেশ করবে λ 1 এবং λ 2

এখন eigenvectors v আমি এর একজন সন্তুষ্ট

A vi = λi vi

প্রতিটি λ i এর জন্য , এটি আপনাকে দুটি অজানাতে ( ভি i এর উপাদানগুলি ) দুটি সমীকরণের একটি সিস্টেম দেয় যা সহজেই সমাধান করা যায়। আপনি লক্ষ্য করবেন যে সিস্টেমটি আসলে অপ্রকাশিত, এবং ইগেনভেেক্টরগুলির বিশালতা সমীকরণগুলির দ্বারা নির্ধারিত হয় না। আমরা সাধারণত ইগেনভেেক্টরগুলিকে স্বাভাবিক করতে চাই, তা হ'ল √ (| x | 2 + | y ​​| 2 ) = 1 , যেখানে x এবং y ভেক্টর উপাদান, | x | 2 হয় এক্স তার অনুবন্ধী জটিল দ্বারা গুন।

নোট eigenvalues অধ: পতিত হতে পারে, অর্থাত λ 1 = λ 2 । এই ক্ষেত্রে, আপনি দুটি রৈখিক স্বতন্ত্র ইগানভেেক্টরগুলির সাথে একক সমীকরণের সিস্টেমকে সন্তুষ্ট করতে সক্ষম হতে পারেন।

চ্যালেঞ্জ

জটিল উপাদানগুলির সাথে একটি 2x2 ম্যাট্রিক্স দেওয়া, এর দুটি (সম্ভবত অভিন্ন) ইগেনভ্যালু এবং প্রতিটি ইগন্যাল্যুয়ের জন্য একটি সাধারণ আইজেনভেেক্টর নির্ধারণ করুন। ফলস্বরূপ সংখ্যাগুলি অবশ্যই কমপক্ষে 3 (দশমিক) উল্লেখযোগ্য অঙ্কের সাথে সঠিক হতে হবে। আপনি ধরে নিতে পারেন যে কোনও ম্যাট্রিক্স উপাদানটির আসল এবং কল্পিত অংশগুলি [-1,1] এর মধ্যে রয়েছে

আপনি STDIN, কমান্ড-লাইন আর্গুমেন্ট, প্রম্পট বা ফাংশন যুক্তির মাধ্যমে ইনপুট নিয়ে কোনও ফাংশন বা একটি প্রোগ্রাম লিখতে পারেন। আপনি ফলাফলটি STDOUT, একটি ডায়ালগ বাক্স বা ফাংশন রিটার্ন মান হিসাবে আউটপুট করতে পারেন।

আপনি ইনপুট এবং আউটপুট জন্য যে কোনও সুবিধাজনক (তবে দ্ব্যর্থহীন) স্ট্রিং বা তালিকার বিন্যাস ব্যবহার করতে পারেন। পৃথক সংখ্যাকে উপস্থাপন করতে আপনি জোড় জোড় বা জটিল ধরণের মধ্যেও চয়ন করতে পারেন।

আপনাকে অবশ্যই আইজেনসিস্টেমগুলি সমাধান করার জন্য অন্তর্নির্মিত ফাংশনগুলি ব্যবহার করতে হবে না (যেমন ম্যাথমেটিক্স Eigenvectorsবা Eigensystem) বা সমীকরণ সমাধানকারী।

এটি কোড গল্ফ, তাই সংক্ষিপ্ত উত্তরটি (বাইটে) জেতে।

উদাহরণ

প্রতিটি উদাহরণ তিনটি লাইন: একই ক্রমে ইনপুট, ইগেনভ্যালু এবং সংশ্লিষ্ট আইজেনভেেক্টর। নোট করুন যে ইগেনভেেক্টরগুলি কেবল তাদের পর্যায় অবধি নির্ধারিত এবং অবক্ষয়শীল ইগেনভ্যালুগুলির ক্ষেত্রে, আইগেনভেেক্টরগুলি বাস্তবে নির্বিচারে হতে পারে (প্রথম উদাহরণ হিসাবে)।

[[1.0, 0.0], [0.0, 1.0]]
[1.0, 1.0]
[[1.0, 0.0], [0.0, 1.0]]

[[0.0, 0.4], [-0.1, -0.4]]
[-0.2, -0.2]
[[0.894427, -0.447214], [0.894427, -0.447214]]

[[0.3, 0.1], [0.4, -0.9]]
[-0.932456, 0.332456]
[[-0.0808731, 0.996724], [0.951158, 0.308703]]

[[0.5, -1.0], [0.8, -0.5]]
[0.74162i, - 0.74162i]
[[0.745356, 0.372678 - 0.552771i], [0.745356, 0.372678 + 0.552771i]]

[[-0.0539222 + 0.654836i, -0.016102 + 0.221334i], [0.739514 - 0.17735i, -0.0849216 + 0.77977i]]
[0.238781 + 0.984333i, -0.377625 + 0.450273i]
[[0.313668 + 0.322289i, 0.893164], [-0.236405 - 0.442194i, 0.865204]]

[[-0.703107 - 0.331792i, 0.286719 - 0.587305i], [-0.418476 + 0.396347i, -0.885934 + 0.50534i]]
[-1.13654 - 0.32678i, -0.4525 + 0.500329i]
[[0.833367, -0.248208 - 0.493855i], [-0.441133 - 0.408236i, 0.799215]]

[[-0.156312 + 0.788441i, 0.045056 - 0.579167i], [0.130741 - 0.97017i, 0.049183 - 0.590768i]]
[-0.181759 + 1.11738i, 0.0746298 - 0.919707i]
[[0.86955, -0.493846 + 0.000213145i], [0.318856 - 0.0181135i, 0.94763]]

উত্তর:


6

ম্যাটল্যাব, ৯১

একটি সাধারণীকৃত ভেক্টর প্রাপ্ত করার এবং স্বাধীনতার অকেজো ডিগ্রি অপসারণের একটি স্ট্যান্ডার্ড কৌশল হ'ল ভেক্টরের উপাদানগুলিকে কিছু কোণের কোসাইন এবং সাইন হিসাবে উপস্থাপন করা হয়।

আমি প্রথমে পাইথনে কোড করার চেষ্টা করেছি, তবে এর গণিতের পরিচালনাটি মস্তিষ্ক-ক্ষতিগ্রস্থ হিসাবে প্রমাণিত হয়েছে। এর গণিতের ক্রিয়াকলাপগুলি জটিল মানগুলি গ্রহণ করতে অস্বীকৃতি জানিয়েছিল এবং এটি বুঝতে পারে না যে শূন্যের দ্বারা ভাসমান-পয়েন্ট বিভাগ ঠিক আছে।

function[]=f(a,b,c,d)
L=(a+d+[1,-1]*((a-d)^2+4*b*c)^.5)/2
t=atan((L-a)/b);v=[cos(t);sin(t)]

প্রথমে দুটি ইগেনভ্যালু শিরোনামে মুদ্রিত হয় L =। তারপরে দুটি কলামের ভেক্টর এল এর সাথে সম্পর্কিত মানগুলির অধীনে মুদ্রিত হয় v =। কোডগুলি যে ক্ষেত্রে এটি করা সম্ভব সেখানে রৈখিক স্বাধীন ভেক্টর দিতে ব্যর্থ হতে পারে (এই জাতীয় প্রোগ্রামটি সাধারণত ভাঙ্গা হিসাবে বিবেচিত হবে), তবে মার্টিন বলেছিলেন এটির প্রয়োজন নেই।


8

পাইথন 2, 198 বাইট

a,b,c,d=input()
H=(a+d)/2
D=(H*H-a*d+b*c)**.5
X,Y=H+D,H-D
p,q,r,s=[[1,0,0,1],[b,X-a,b,Y-a],[X-d,c,Y-d,c]][2*(c!=0)or(b!=0)]
A=abs
V=A(A(p)+A(q)*1j)
W=A(A(r)+A(s)*1j)
print[X,Y],[[p/V,q/V],[r/W,s/W]]

ইনপুটটি STDIN এর মাধ্যমে 4 টি জটিল সংখ্যার সমতল তালিকা list

[0.0+0j, 0.4+0j, -0.1+0j, -0.4+0j]

দ্রষ্টব্য যে পাইথন জটিল সংখ্যার jপরিবর্তে ব্যবহার করে i

আউটপুট দুটি তালিকাগুলি হ'ল প্রথমটি ইগেনভ্যালু এবং দ্বিতীয়টি আইগেনভেেক্টর যুক্ত, যেমন

[(-0.2+0j), (-0.2+0j)]
[[(0.8944271909999159+0j), (-0.4472135954999579+0j)], [(0.8944271909999159+0j), (-0.4472135954999579+0j)]]

(স্পষ্টতার জন্য নতুন লাইন inোকানো হয়েছে)


3

লুয়া, 462 455 431 427 বাইট

লুয়ায় কোনও অন্তর্নির্মিত জটিল গণিত নেই। কোনও ভেক্টর অপারেশনও নেই। সব হাত দিয়ে গড়িয়ে দিতে হয়েছিল।

a,b,c,d,e,f,g,h=...x=math.sqrt z=print i=a-g j=b-h
k=(i^2-j^2)/2+2*(c*e-d*f)m=x(k^2+(i*j+2*(c*f+d*e))^2)n=x(m+k)o=x(m-k)i=(a+g+n)/2
j=(b+h+o)/2 k=(a+g-n)/2 l=(b+h-o)/2 z(i,j,k,l)q=c^2+d^2 r=e^2+f^2 s=q+r if s==0
then z(1,0,0,0,0,0,1,0)else if r==0 then m,n,o,p=c,d,c,d c,d=i-a,j-b e,f=k-a,l-b
u=x(q+c^2+d^2)v=x(q+e^2+f^2)else m,n=i-g,j-h o,p=k-g,l-h c,d=e,f
u=x(r+m^2+n^2)v=x(r+o^2+p^2)end z(m/u,n/u,o/v,p/v,c/u,d/u,e/v,f/v)end

নিম্নলিখিত আর্গুমেন্ট সহ কমান্ড-লাইন থেকে চালান:

lua eigen.lua Re(a) Im(a) Re(b) Im(b) Re(c) Im(c) Re(d) Im(d)

নিম্নলিখিত আউটপুট উত্পাদন করে:

Re(lambda1) Im(lambda1) Re(lambda2) Im(lambda2)
Re(v11) Im(v11) Re(v12) Im(v12) Re(v21) Im(v21) Re(v22) Im(v22)

... ক, খ, সি, ডি ইনপুট ম্যাট্রিক্সের 4 টি উপাদান, ল্যাম্বদা 1 এবং ল্যাম্বডা 2 দুটি ইগেনভ্যালু, ভি 11, ভি 21 প্রথম ইউনিট ইগেনভেেক্টর এবং ভি 12, ভি 22 দ্বিতীয় ইউনিট ইগেনভেেক্টর। উদাহরণ স্বরূপ,

lua eigen.lua 1 0  1 0  1 0  0 0

... উৎপন্ন ...

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