ভাসা ছাড়াই আইজেনস্টাইন সংখ্যা উপস্থাপন করা


9

আমার একটি প্রকল্প রয়েছে যেখানে আমাকে চতুর্ভুজ ক্ষেত্রগুলি বিশেষত ফর্মের সংখ্যাগুলি ব্যবহার করতে হবেএকটি+ +-3 সঙ্গে একটি,প্রশ্নঃ

উদাহরণস্বরূপ এখানে আইজেনস্টাইন পূর্ণসংখ্যার প্রধান সংখ্যা রয়েছে :

আমি ageষি ব্যবহার করতে চাই না। আমি অন্তর্ভুক্ত করার জন্য আমার নিজস্ব ডেটা টাইপ লিখতে চাই numpy। PARI দরকারী হবে - তবে এটি পাইথনের সাথে সামঞ্জস্যপূর্ণ নয়।

  • এই বিষয়বস্তুর জন্য সংযোজন বেশ পরিষ্কার
    (একটি1+ +1-3)+ +(একটি2+ +2-3)=(একটি1+ +একটি2)+ +(1+ +2)-3
  • গুণনটি একটু বেশিই সূক্ষ্ম তবে আমরা এটি হার্ড কোডও করতে পারি
    (একটি1+ +1-3)×(একটি2+ +2-3)=(একটি1একটি2-312)+ +(একটি12+ +একটি21)-3
  • আমার ডেটাটাইপটিও বিভাগ সমন্বিত করা প্রয়োজন। সরলতার জন্য আসুন পরস্পরকে গ্রহণ করি:
    1একটি+ +-3=একটি--3একটি2+ +32

এই অপারেশনগুলিকে এনকোড করার জন্য কী প্রাকৃতিক ম্যাট্রিক্স-ভিত্তিক উপায় রয়েছে তার মতো সি পদে লেখা যেতে পারে 2×2 ম্যাট্রিক্স?

(একটি-একটি)

উপরের তিনটি অপারেশন দিয়ে ট্রিপল হিসাবে আমি অপারেশনগুলিকে কেবল হার্ড-কোড করব। কোন ধারনা?

উত্তর:


10

জন্য একটি+ +-3 আপনি উপস্থাপনা ব্যবহার করতে পারেন

(একটি-3একটি)
সংযোজন স্পষ্টতই কাজ করে। গুণনের জন্য, আপনি যাচাই করতে পারেন
(একটি1-311একটি1)(একটি2-322একটি2)=(একটি1একটি2-312-3(একটি12+ +1একটি2)একটি12+ +1একটি2একটি1একটি2-312)
যা উপস্থাপনা সংরক্ষণ করে, সুতরাং আমাদের একটি রিং হোমোমর্ফিিজম রয়েছে।

ম্যাট্রিক্সের নির্ধারক গ্রহণ করা (স্কোয়ার্ড) আদর্শ দেয় একটি2+ +32সুতরাং, প্রত্যাবর্তনগুলি বিপরীত ম্যাট্রিক্সের সাথে প্রত্যাশার সাথে মিলে যায়।

আপনি ট্রিপল ব্যবহারের বিষয়টি ইতিমধ্যে বিবেচনা করেছেন, যার দ্বারা আমি ধরে নিয়েছি আপনি সংখ্যার এবং একটি সাধারণ ডিনোমিনেটর ব্যবহার করবেন। এই পদ্ধতিটি ম্যাট্রিক্স উপস্থাপনেও কার্যকর হতে পারে।

আপডেট : ম্যাট্রিক্স উপস্থাপনের জন্য একটি সাধারণ পদ্ধতি সহচর ম্যাট্রিক্স ব্যবহার করে । উদাহরণস্বরূপ, ধরুন আপনি প্রতিনিধিত্ব করতে চানএকটি+ +ω পরিবর্তে যেখানে ω=মেপুঃ(2πআমি3)এইভাবে ω2+ +ω+ +1=0। সহযোগী ম্যাট্রিক্সω হয় (0-11-1), এবং এটি এর সাথে সম্পর্কিত সমস্ত রিং ক্রিয়াকলাপে আচরণ করে ωনিজেই। অবশ্যই,1 হিসাবে প্রতিনিধিত্ব করা যেতে পারে (1001); সুতরাং একটি ম্যাট্রিক্স উপস্থাপনাএকটি+ +ω হয়

(একটি-একটি-)
আপনি এটি যাচাই করতে চাইতে পারেন যে এটি একটি রিং হোমোর্ফিজম। অতিরিক্ত হিসাবে, এটি দেখতে সহজ। গুণনের জন্য, সম্পর্কিত সূত্রগুলি এখন
(একটি1+ +1ω)(একটি2+ +2ω)=(একটি1একটি2-12)+ +(একটি12+ +1একটি2-12)ω(একটি1-11একটি1-1)(একটি2-22একটি2-2)=(একটি1একটি2-12-(একটি12+ +1একটি2-12)একটি12+ +1একটি2-12একটি1একটি2-একটি12-1একটি2)

2

আমি অনুমান করছি যে আপনি সব কিছুর জন্য সঠিক যুক্তিবাদী পাটি চান, যেমন ভাসমান পয়েন্ট ত্রুটি করতে পারে 1/z- র না প্রশ্নঃ[-3] যদিও z- রহয়। তার জন্য, আপনি সিমপি প্যাকেজটি একবার দেখতে চান; আপনি যদি তাদের যুক্তিযুক্ত ডেটা প্রকারটি সরাসরি ব্যবহার না করেন তবে এটি আপনার নিজের হাতে রোলড সংস্করণে অনুপ্রেরণা হিসাবে কাজ করতে পারে। এরপরে আপনি আপনার যুক্তিযুক্ত ক্ষেত্রের প্রকারটি যে কোনও যৌক্তিক সংখ্যার পছন্দ চয়ন করুন তার উপরে তৈরি করতে পারেন।

আপনি আপনার ক্ষেত্রের উপাদানগুলি কীভাবে উপস্থাপন করবেন তা বিবেচনা না করেই আপনি পাইথনের অপারেটরগুলিকে "ম্যাজিক পদ্ধতি" ব্যবহার করে ওভারলোড করতে পারেন । পাইথনে আপনার নিজস্ব সংখ্যার প্রকার তৈরির জন্য এই এসও পোস্টটিও দেখুন ।

আমি মনে করি না যে আরও অনেক কাজ চৌম্বক ক্ষেত্রের একটি উপাদানটির প্রতিনিধিত্ব কোডিংয়ে যুক্তিযুক্ত সংখ্যার 2 x 2 ম্যাট্রিক্স হিসাবে বা যুক্তি সংখ্যার এক জোড়া হিসাবে তৈরি হবে, যেহেতু পাটিগণিতের ক্রিয়াকলাপগুলি এত জটিল নয় complicated তবে আমি সন্দেহ করি যে দ্বিতীয় পদ্ধতির দ্রুততর হবে।


1
numpyব্যবহারকারী-সংজ্ঞায়িত ডেটা ধরণেরগুলির সাথে-গতিযুক্ত ম্যাট্রিক্স অপের ব্যবহারিক পারফরম্যান্সের তুলনা করা আকর্ষণীয় হতে পারে । বিজয়ী কী হবে সে সম্পর্কে নিশ্চিত নন।
ccorn

হ্যাঁ এটি সত্য, নপিকে সিথের হাতে প্রচুর সিথন + হ্যান্ড-কোডেড অপটিমাইজেশন রয়েছে যাতে জিনিসগুলি আরও দ্রুত করা যায়। একই প্রভাব অর্জন করতে আপনাকে নিজের কিছুটি আবার করতে হবে। তবুও, কার্যকারিতা প্রথমে আসা উচিত এবং পরে একজন গতি সম্পর্কে চিন্তা করতে পারে।
ড্যানিয়েল শাপেরো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.