المستوى البرونزي · الدفتر 3 من 15
الرسم باستخدام Matplotlib
Drawing with Matplotlib
أدوات الرسم التي سنستعملها طوال المنهج: النقاط والأسهم والدوائر والمخططات، وصولاً إلى رسم حالة الكيوبت على دائرة الوحدة.
يُفترض أنك أتممت: مرجع سريع لـ Python
أهداف هذا الدفتر
- إنشاء مساحة رسم بأبعاد ودقة محددة
- رسم النقاط والأسهم والدوائر وإضافة النصوص
- بناء الدوال المساعدة لرسم المحاور ودائرة الوحدة
- رسم متجه حالة كيوبت ذي سعات حقيقية
أدوات الرسم الأساسية
نستعرض هنا أدوات الوحدة البرمجية matplotlib.pyplot التي سنستخدمها لاحقاً في حل المهام.
- إنشاء مساحة رسم:
plt.figure(figsize=(6, 6), dpi=100)— زيادةdpiتزيد عدد البكسلات ودقة الصورة لكنها لا تغيّر الأبعاد الفيزيائية المحددة عبرfigsize. - رسم نقطة زرقاء عند :
plt.plot(x, y, "bo")— و"ro"للحمراء و"go"للخضراء. - رسم سهم من إلى باستخدام
annotate. - رسم دائرة مركزها ونصف قطرها ، وإضافة نص، ومخطط أعمدة.
النقاط والأسهم بالألوان الثلاثة
الدوائر والنصوص ومخطط الأعمدة
الدوال المعرّفة مسبقاً
في مادة QWorld الأصلية تُحمَّل دوال رسم جاهزة من الملف qworld/include/drawing.py عبر الأمر %run. وبما أن نواتنا تعمل داخل المتصفح، سنعرّف الدوال نفسها هنا مباشرة.
هذه الدوال تمثّل متجه حالة كيوبت ذي سعات حقيقية فقط:
ولا تمثّل الدائرة جميع حالات الكيوبت العامة ذات السعات المركبة؛ إذ تُستخدم كرة بلوخ لتمثيل الحالة العامة. كما أن و تختلفان بطور كلي فقط وتمثّلان الحالة الفيزيائية نفسها.
دوال الرسم المساعدة كما في المادة الأصلية
رسم الكيوبت على دائرة الوحدة مع حالة اختيارية
تمرين تفاعلي
35 نقطةتمرين: رسم حالة مُطبَّعة
اكتب دالة plot_state(x, y) ترسم الكيوبت مع متجه الحالة بعد التحقق من التطبيع:
- إذا كان (بهامش ) فارفع
ValueError. - وإلا فارسم دائرة الوحدة والمحاور والمتجه.
ثم أعِد الدالة القيمة True عند النجاح.
أكملت 0 من 5 خطوة في هذا الدفتر. شغّل الخلايا المتبقّية وحلّ التمارين لإتمامه.
المادة العلمية مبنية على المادة العلمية للمرحلة التحضيرية (QWorld / QSaudiArabia)، إعداد: Abuzer Yakaryılmaz · خلود بندر المطيري · جود عوض الشهري.