axisa وaxisb تحددان محور مركبات المدخلين؛ axisc يحدد محور مركبات الناتج، وافتراضيه المحور الأخير. [1]
محور المدخل ومحور الناتج
axisa وaxisb تحددان محور مركبات المدخلين؛ axisc يحدد محور مركبات الناتج، وافتراضيه المحور الأخير. [1]
cross تحسب الضرب الاتجاهي للمتجهات. [1]
في المثال نضع متجهين في عمودين، ونكتب مركبات كل واحد من أعلى إلى أسفل. نسمّي المحور0 محور المركبات والمحور1 محور الأزواج، حتى نعرف ماذا يعني كل رقم في الشكل.
تحديد محوري المدخلين لا يكفي لتحديد موضع المركبات في الناتج. نثبت المدخلين ونغير خيار الخرج وحده أولًا، ثم نفحص الخيار العام في طلب مستقل.
عمودان في المدخل وصفان في الخرج
في مثالنا A وB بالشكل (3,2)، يمثل كل عمود متجهًا بثلاث مركبات؛ تحديد محوري المدخلين بصفر أعاد R بالشكل (2,3).
إضافة axisc=0 أعادت S بالشكل (3,2)، والقيم نفسها موزعة بأعمدة؛ في التشغيل S تساوي منقول R.
import numpy as np A=np.array([[2,0],[-1,4],[3,1]],dtype=np.int64) B=np.array([[1,3],[2,0],[-2,5]],dtype=np.int64) R=np.cross(A,B,axisa=0,axisb=0) S=np.cross(A,B,axisa=0,axisb=0,axisc=0)
في NumPy 2.3.5 وCPython 3.12.14، أعادت R القيم [[-4,7,5],[20,3,-12]] من int64 بالشكل (2,3). أعادت S القيم [[-4,20],[7,3],[5,-12]] من النوع نفسه بالشكل (3,2).
الزوج الأول هو [2,-1,3] مع [1,2,-2]. نحسب مركبات ناتجه: (−1)×(−2)−3×2=−4؛ ثم3×1−2×(−2)=7؛ ثم2×2−(−1)×1=5. يظهر هذا المتجه في صف R الأول وعمود S الأول.
الزوج الثاني [0,4,1] مع [3,0,5]. مركبات ناتجه4×5−1×0=20، و1×3−0×5=3، و0×0−4×3=−12. هو صف R الثاني وعمود S الثاني.
transpose لمصفوفة ثنائية الأبعاد هو المنقول المعتاد. [2]
في المثال تحققنا من np.transpose(R)==S عنصرًا بعنصر؛ المحور الخاص بالأزواج والمركبات تبادلا الموضع. لم ننسب الشكل (2,3) إلى تغيير المتجهين الأصليين أو ترتيب ضربهما.
الخيار العام يتجاوز الخاص
تحديد axis يتجاوز axisa وaxisb وaxisc جميعًا. [1] في مثالنا axis=0 أبقى المركبات بالمحور0، رغم axisc=-1 أو الخيارات الخاصة المساوية1.
O=np.cross(A,B,axisa=0,axisb=0,axisc=-1,axis=0) F=np.cross(A,B,axisa=1,axisb=1,axisc=1,axis=0)
في التشغيل أعادت O وF القيم نفسها التي حملتها S، من int64 وبالشكل (3,2). لم يجعل axisc=-1 مركبات O في المحور الأخير؛ الخيار العام0 كان هو المحدد الفعلي.
وفي F كتبنا1 لكل خيار خاص، لكن القراءة الفعلية بقيت على المحور0 للمدخلين والناتج. لم ننفذ طلبًا آخر يحذف axis من F؛ لذلك لا نعرض نتيجة مفترضة لذلك الطلب المحذوف.
في الكود الذي تتراجع فيه عن axis العام، أعد قراءة الخيارات الخاصة قبل مقارنة الأشكال. في مثالنا الفرق بين R وO ظاهر: متجه الناتج الأول صف من ثلاث خانات في R، وعمود من ثلاث خانات في O.

تحكم ومرجع مستقل
مرت664 مقارنة على81 زوجًا والمثال وتحكم اتجاهات الوحدة؛ النطاق int64 ومتجهان ثلاثيا المركبات، دون بث أو مدخل ذي مركبتين أو قياس أداء.
تحكم بمدخلين منقولين: np.cross(A.T,B.T) أعاد R نفسها بالشكل (2,3). كتبنا هنا المتجهين في صفين منذ البداية، بخلاف تخزينهما بأعمدة في المدخل الرئيسي.
مرجعنا يعمل على قوائم وأعداد Python الصحيحة. لكل زوج x وy يبني [x₁y₂−x₂y₁,x₂y₀−x₀y₂,x₀y₁−x₁y₀]، ثم يضع الناتجين صفين أو عمودين بقوائم مفهرسة. لا يستدعي cross أو transpose لصنع القيم المتوقعة.
في الشبكة ضربنا عمودي A بعاملين مستقلين p وq من −2 و1 و3، وعمودي B بعاملين r وs من −1 و2 و4. عدد التراكيب3⁴=81. حسب المرجع مركبات كل زوج من جديد، قبل مقارنة الخرج.
ثمانية فحوص لكل زوج: R؛ S؛ O؛ F؛ تحكم عكس ترتيب المدخلين؛ تحكم المدخلين المنقولين؛ ثبات بايتات A وB؛ واتفاق منقول R مع S. قارنا القيم والنوع والشكل في المسارات المعلنة.
في المثال، عكس المدخلين أعاد [[4,-7,-5],[-20,-3,12]]؛ هو تحكم يغير العملية، بينما تغيير axisc وحده غيّر موضع المركبات في العرض. فصلنا الحالتين في المرجع والفحص.
أضفنا ثمانية للمثال وثمانية لتحكم عمودي A=[1,0,0] و[0,1,0]، مع عمودي B=[0,1,0] و[0,0,1]. خرج التحكم بصفين كان [[0,0,1],[1,0,0]]، وبعمودين [[0,1],[0,0],[1,0]]. الإجمالي81×8+8+8=664.
القيم الصحيحة صغيرة في النطاق المختبر، والمقارنة دقيقة لهذه النتائج. لم نفحص تجاوز مجال int64 أو الأعداد المركبة أو البث أو الدفعات أو آثار الذاكرة أو الدقة العامة أو الأداء. احفظ ترتيب المحاور مع النتيجة، وحدد إن كان axis العام حاضرًا قبل تفسير الخيارات الخاصة.
| الطلب | الخرج | الشكل |
|---|---|---|
| axisa=0, axisb=0 | [[-4,7,5],[20,3,-12]] | (2,3) |
| مع axisc=0 | [[-4,20],[7,3],[5,-12]] | (3,2) |
| axis=0 مع axisc=-1 | نفس S | (3,2) |
| axis=0 والخيارات الخاصة1 | نفس S | (3,2) |
للتوسع: أنواع المصفوفات.
المراجع
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
