الانتقال إلى المحتوى الرئيسي

L1Distance

أُضيف في: v21.11.0 يحسب المسافة بين نقطتين (حيث تمثل عناصر المتجهات الإحداثيات) في فضاء L1 (المعيار 1 (مسافة هندسة مانهاتن)). البنية
L1Distance(vector1, vector2)
الأسماء البديلة: distanceL1 الوسائط القيمة المعادة يعيد مسافة معيار L1. بالنسبة إلى مدخلات Array، يعيد Float32 إذا كان النوع الفائق المشترك الأدنى لأنواع العناصر هو Float32 أو BFloat16، وإلا فيعيد Float64. أما بالنسبة إلى مدخلات Tuple، فإن نوع الإرجاع يتبع نوع الناتج الحسابي للعمليات على مستوى العناصر (مع الحفاظ على أنواع الأعداد الصحيحة). (U)Int* أو Float* أمثلة الاستخدام الأساسي
Query
SELECT L1Distance((1, 2), (2, 3))
Response
┌─L1Distance((1, 2), (2, 3))─┐
│                          2 │
└────────────────────────────┘

L1Norm

أُضيفت في: v21.11.0 تحسب مجموع القيم المطلقة لعناصر المتجه. الصيغة
L1Norm(vector)
الأسماء البديلة: normL1 الوسيطات
  • vector — متجه أو Tuple من القيم الرقمية. Array(T) أو Tuple(T)
القيمة المُعادة تُرجع معيار L1 أو مسافة هندسة مانهاتن. UInt* أو Float* أو Decimal أمثلة الاستخدام الأساسي
Query
SELECT L1Norm((1, 2))
Response
┌─L1Norm((1, 2))─┐
│              3 │
└────────────────┘

L1Normalize

أُضيفت في: v21.11.0 تحسب متجه الوحدة لمتجه معيّن (عناصر الـ Tuple هي الإحداثيات) في فضاء L1 (هندسة مانهاتن). البنية
L1Normalize(tuple)
الأسماء المستعارة: normalizeL1 الوسائط
  • tuple — Tuple من القيم العددية. Tuple(T)
القيمة المُعادة تُرجع متجه الوحدة. Tuple(Float64) أمثلة الاستخدام الأساسي
Query
SELECT L1Normalize((1, 2))
Response
┌─L1Normalize((1, 2))─────────────────────┐
│ (0.3333333333333333,0.6666666666666666) │
└─────────────────────────────────────────┘

L2Distance

أُضيفت في: v21.11.0 تحسب المسافة بين نقطتين (تمثل عناصر المتجهات الإحداثيات) في الفضاء الإقليدي (المسافة الإقليدية). الصيغة
L2Distance(vector1, vector2)
الأسماء المستعارة: distanceL2 الوسائط القيمة المُعادة تُرجع مسافة معيار L2. بالنسبة إلى مدخلات Array، تُرجع Float32 إذا كان النوع الفائق المشترك الأدنى لأنواع العناصر هو Float32 أو BFloat16، وإلا فتُرجع Float64. أما بالنسبة إلى مدخلات Tuple، فتُرجع دائمًا Float64. Float* أمثلة الاستخدام الأساسي
Query
SELECT L2Distance((1, 2), (2, 3))
Response
┌─L2Distance((1, 2), (2, 3))─┐
│         1.4142135623730951 │
└────────────────────────────┘

L2DistanceTransposed

أُضيف في: v25.10.0 يحسب المسافة التقريبية بين نقطتين (تمثل قيم المتجهات الإحداثيات) في الفضاء الإقليدي (المسافة الإقليدية). الصيغة
L2DistanceTransposed(vector1, vector2, p)
الأسماء البديلة: distanceL2Transposed المعاملات
  • vectors — المتجهات. QBit(T, UInt64)
  • reference — المتجه المرجعي. Array(T)
  • p — عدد البِتّات من كل عنصر في المتجه التي ستُستخدم في حساب المسافة (من 1 إلى عرض البِتّ للعنصر). يتحكم مستوى التكميم في المفاضلة بين الدقة والسرعة. يؤدّي استخدام عدد أقل من البِتّات إلى تسريع عمليات IO والحسابات مع تقليل الدقة، بينما يؤدّي استخدام عدد أكبر من البِتّات إلى زيادة الدقة على حساب الأداء. UInt
القيمة المعادة يعيد المسافة التقريبية لمعيار 2. ويُرجع دائمًا Float64. Float64 أمثلة الاستخدام الأساسي
Query
CREATE TABLE qbit (id UInt32, vec QBit(Float64, 2)) ENGINE = Memory;
INSERT INTO qbit VALUES (1, [0, 1]);
SELECT L2DistanceTransposed(vec, array(1, 2), 16) FROM qbit;
Response
┌─L2DistanceTransposed([0, 1], [1, 2], 16)─┐
│                       1.4142135623730951 │
└──────────────────────────────────────────┘

L2Norm

تم تقديمها في: v21.11.0 تحسب الجذر التربيعي لمجموع مربعات عناصر المتجه. الصيغة
L2Norm(vector)
الأسماء البديلة: normL2 المعاملات
  • vector — متجه أو Tuple من القيم العددية. Tuple(T) أو Array(T)
القيمة المُعادة تُرجع معيار L2 أو المسافة الإقليدية. UInt* أو Float* أمثلة الاستخدام الأساسي
Query
SELECT L2Norm((1, 2))
Response
┌───L2Norm((1, 2))─┐
│ 2.23606797749979 │
└──────────────────┘

L2Normalize

قُدِّمت في: v21.11.0 يحسب متجه الوحدة لمتجه معيّن (عناصر الـ Tuple هي الإحداثيات) في الفضاء الإقليدي (باستخدام المسافة الإقليدية). الصيغة
L2Normalize(tuple)
الأسماء البديلة: normalizeL2 الوسيطات
  • tuple — قيمة من النوع Tuple تتألف من قيم رقمية. Tuple(T)
القيمة المعادة يعيد متجه الوحدة. Tuple(Float64) أمثلة الاستخدام الأساسي
Query
SELECT L2Normalize((3, 4))
Response
┌─L2Normalize((3, 4))─┐
│ (0.6,0.8)           │
└─────────────────────┘

L2SquaredDistance

قُدِّم في: v22.7.0 يحسب مجموع مربعات الفروق بين العناصر المناظرة في متجهين. البنية
L2SquaredDistance(vector1, vector2)
الأسماء البديلة: distanceL2Squared الوسيطات القيمة المعادة تعيد مجموع مربعات الفروق بين العناصر المناظرة في متجهين. بالنسبة إلى مُدخلات Array، يكون نوع الإرجاع Float32 إذا كان النوع الشامل المشترك الأدنى لأنواع العناصر هو Float32 أو BFloat16، وإلا فيكون Float64. أما بالنسبة إلى مُدخلات Tuple، فيتبع نوع الإرجاع نوع النتيجة الحسابية للعمليات على مستوى العناصر (مع الاحتفاظ بالأنواع الصحيحة). (U)Int* أو Float* أمثلة الاستخدام الأساسي
Query
SELECT L2SquaredDistance([1, 2, 3], [0, 0, 0])
Response
┌─L2SquaredDis⋯ [0, 0, 0])─┐
│                       14 │
└──────────────────────────┘

L2SquaredNorm

قُدِّمت في: v22.7.0 تحسب مربع الجذر التربيعي لمجموع مربعات عناصر المتجه (أي L2Norm). البنية
L2SquaredNorm(vector)
الأسماء المستعارة: normL2Squared الوسيطات
  • vector — متجه أو Tuple من القيم العددية. Array(T) أو Tuple(T)
القيمة المعادة يعيد مربع معيار L2. UInt* أو Float* أو Decimal أمثلة الاستخدام الأساسي
Query
SELECT L2SquaredNorm((1, 2))
Response
┌─L2SquaredNorm((1, 2))─┐
│                     5 │
└───────────────────────┘

LinfDistance

أُضيفت في: v21.11.0 تحسب المسافة بين نقطتين (تمثل عناصر المتجهات الإحداثيات) في الفضاء L_{inf} (المعيار الأعظمي). الصيغة
LinfDistance(vector1, vector2)
الأسماء البديلة: distanceLinf الوسائط القيمة المعادة تعيد مسافة معيار اللانهاية. بالنسبة إلى مُدخلات Array، تُعيد Float32 إذا كان النوع الأعلى المشترك الأدنى لأنواع العناصر هو Float32 أو BFloat16، وإلا فتُعيد Float64. أما بالنسبة إلى مُدخلات Tuple، فتُعيد دائمًا Float64. Float* أمثلة الاستخدام الأساسي
Query
SELECT LinfDistance((1, 2), (2, 3))
Response
┌─LinfDistance((1, 2), (2, 3))─┐
│                            1 │
└──────────────────────────────┘

LinfNorm

أُضيفت في الإصدار: v21.11.0 يحسب أكبر قيمة مطلقة بين عناصر المتجه. البنية
LinfNorm(vector)
الأسماء البديلة: normLinf الوسيطات
  • vector — متجه أو Tuple من القيم الرقمية. Array(T) أو Tuple(T)
القيمة المُعادة تُرجِع معيار Linf أو أكبر قيمة مطلقة. Float64 أمثلة الاستخدام الأساسي
Query
SELECT LinfNorm((1, -2))
Response
┌─LinfNorm((1, -2))─┐
│                 2 │
└───────────────────┘

LinfNormalize

أُضيفت في: v21.11.0 تحسب متجه الوحدة لمتجه معيّن (عناصر الـ Tuple هي الإحداثيات) في فضاء L_{inf} (باستخدام المعيار الأعظمي). الصيغة
LinfNormalize(tuple)
الأسماء البديلة: normalizeLinf المعاملات
  • tuple — Tuple من القيم الرقمية. Tuple(T)
القيمة المُعادة تُرجع متجه الوحدة. Tuple(Float64) أمثلة الاستخدام الأساسي
Query
SELECT LinfNormalize((3, 4))
Response
┌─LinfNormalize((3, 4))─┐
│ (0.75,1)              │
└───────────────────────┘

LpDistance

أُضيفت في: v21.11.0 تحسب المسافة بين نقطتين (عناصر المتجهات هي الإحداثيات) في فضاء Lp (مسافة معيار p). البنية
LpDistance(vector1, vector2, p)
الأسماء البديلة: distanceLp المعاملات
  • vector1 — المتجه الأول. Tuple(T) أو Array(T)
  • vector2 — المتجه الثاني. Tuple(T) أو Array(T)
  • p — الأس. القيم الممكنة: عدد حقيقي ضمن [1; inf). UInt* أو Float*
القيمة المُعادة تُرجِع مسافة معيار p. بالنسبة إلى مُدخلات Array، تُرجِع Float32 إذا كان أقل نوع فائق مشترك لأنواع العناصر هو Float32 أو BFloat16، وإلا فتُرجِع Float64. أما بالنسبة إلى مُدخلات Tuple، فتُرجِع دائمًا Float64. Float* أمثلة الاستخدام الأساسي
Query
SELECT LpDistance((1, 2), (2, 3), 3)
Response
┌─LpDistance((1, 2), (2, 3), 3)─┐
│            1.2599210498948732 │
└───────────────────────────────┘

LpNorm

أُضيفت في: v21.11.0 تحسب معيار p لمتجه، وهو الجذر من الرتبة p لمجموع القوى من الرتبة p للقيم المطلقة لعناصره. حالات خاصة:
  • عندما تكون p=1، فإنها تكافئ L1Norm (مسافة مانهاتن).
  • عندما تكون p=2، فإنها تكافئ L2Norm (المسافة الإقليدية).
  • عندما تكون p=∞، فإنها تكافئ LinfNorm (المعيار الأعظمي).
البنية
LpNorm(vector, p)
الأسماء البديلة: normLp المعاملات
  • vector — متجه أو Tuple من القيم العددية. Tuple(T) أو Array(T)
  • p — الأسّ. القيم الممكنة هي أعداد حقيقية ضمن النطاق [1; inf). UInt* أو Float*
القيمة المعادة يعيد معيار Lp. Float64 أمثلة الاستخدام الأساسي
Query
SELECT LpNorm((1, -2), 2)
Response
┌─LpNorm((1, -2), 2)─┐
│   2.23606797749979 │
└────────────────────┘

LpNormalize

أُضيفت في: v21.11.0 تحسب متجه الوحدة لمتجه معيّن (تمثل عناصر الـ Tuple الإحداثيات) في فضاء Lp (باستخدام p-norm). البنية
LpNormalize(tuple, p)
الأسماء المستعارة: normalizeLp الوسائط
  • tuple — قيمة Tuple من القيم العددية. Tuple(T)
  • p — الأس. القيم الممكنة هي أي عدد ضمن المجال [1; inf). UInt* أو Float*
القيمة المُعادة تُرجع متجه الوحدة. Tuple(Float64) أمثلة مثال على الاستخدام
Query
SELECT LpNormalize((3, 4), 5)
Response
┌─LpNormalize((3, 4), 5)──────────────────┐
│ (0.7187302630182624,0.9583070173576831) │
└─────────────────────────────────────────┘

cosineDistance

قُدِّمت في: v21.11.0 تحسب مسافة جيب التمام بين متجهين (عناصر Tuple هي الإحداثيات). وكلما صغرت القيمة المعادة، زاد التشابه بين المتجهين. بناء الجملة
cosineDistance(vector1, vector2)
الأسماء البديلة: distanceCosine الوسائط القيمة المعادة تعيد مسافة جيب التمام (أي واحدًا ناقص تشابه جيب التمام). بالنسبة إلى مُدخلات Array، تعيد Float32 إذا كان النوع الأعلى المشترك الأدنى لأنواع العناصر هو Float32 أو BFloat16، وإلا فتعيد Float64. أما بالنسبة إلى مُدخلات Tuple، فتعيد دائمًا Float64. Float* أمثلة الاستخدام الأساسي
Query
SELECT cosineDistance((1, 2), (2, 3));
Response
┌─cosineDistance((1, 2), (2, 3))─┐
│           0.007722123286332261 │
└────────────────────────────────┘

cosineDistanceTransposed

تمت إضافته في: v26.1.0 يحسب مسافة جيب التمام التقريبية بين نقطتين (إذ تمثل قيم المتجهات الإحداثيات). وكلما صغرت القيمة المُعادة، زاد التشابه بين المتجهات. الصيغة
cosineDistanceTransposed(vector1, vector2, p)
الأسماء البديلة: distanceCosineTransposed الوسائط
  • vectors — متجهات. QBit(T, UInt64)
  • reference — المتجه المرجعي. Array(T)
  • p — عدد البِتّات من كل عنصر في المتجه التي ستُستخدم في حساب المسافة (من 1 حتى عرض البِتّ للعنصر). يتحكم مستوى التكميم في الموازنة بين الدقة والسرعة. يؤدي استخدام عدد أقل من البِتّات إلى تسريع عمليات I/O والحسابات مع انخفاض الدقة، بينما يؤدي استخدام عدد أكبر من البِتّات إلى زيادة الدقة على حساب الأداء. UInt
القيمة المُعادة تُرجع مسافة جيب التمام التقريبية (واحد ناقص تشابه جيب التمام). وتكون القيمة المُعادة دائمًا من النوع Float64. Float64 أمثلة الاستخدام الأساسي
Query
CREATE TABLE qbit (id UInt32, vec QBit(Float64, 2)) ENGINE = Memory;
INSERT INTO qbit VALUES (1, [0, 1]);
SELECT cosineDistanceTransposed(vec, array(1, 2), 16) FROM qbit;
Response
┌─cosineDistanceTransposed([0, 1], [1, 2], 16)─┐
│                          0.10557281085638826 │
└──────────────────────────────────────────────┘
آخر تعديل في ٢٥ يونيو ٢٠٢٦