거리 함수
L1Distance
도입 버전: v21.11
L1 공간(1-노름, 택시 기하학 거리)에서 두 점 사이의 거리를 계산합니다. 여기서 벡터의 원소들은 해당 공간에서의 좌표입니다.
구문
별칭: distanceL1
인수
반환 값
1-노름 거리 값을 반환합니다. UInt32 또는 Float64
예제
기본 사용법
L1Norm
도입 버전: v21.11
벡터의 각 원소의 절댓값 합을 계산합니다.
구문
별칭: normL1
인수
반환 값
L1-노름, 즉 택시 기하학(taxicab geometry)에서의 거리를 반환합니다. UInt* 또는 Float* 또는 Decimal
예시
기본 사용법
L1Normalize
도입된 버전: v21.11
주어진 벡터(튜플의 각 요소는 좌표임)의 단위 벡터를 L1 공간(택시 기하학)에서 계산합니다.
구문
별칭: normalizeL1
인수
tuple— 숫자 값의 튜플입니다.Tuple(T)
반환 값
단위 벡터를 반환합니다. Tuple(Float64)
예시
기본 사용법
L2Distance
도입 버전: v21.11
유클리드 공간에서 두 점 사이의 거리(유클리드 거리)를 계산합니다(벡터의 원소는 좌표입니다).
구문
별칭: distanceL2
인수
반환 값
2-노름(L2-norm) 거리를 반환합니다. Float64
예시
기본 사용법
L2DistanceTransposed
도입: v25.10
유클리드 공간에서 두 점(벡터의 값이 좌표를 의미함) 사이의 근사 거리를 계산합니다(Euclidean distance).
구문
별칭: distanceL2Transposed
인자
vectors— 벡터.QBit(T, UInt64)reference— 기준 벡터.Array(T)p— 거리 계산에 사용할 각 벡터 요소의 비트 수(1부터 요소 비트 폭까지). 양자화 수준은 정밀도와 속도 간의 절충을 결정합니다. 더 적은 비트를 사용하면 I/O와 계산은 더 빨라지지만 정확도가 떨어지고, 더 많은 비트를 사용하면 성능 저하를 감수하는 대신 정확도가 높아집니다.UInt
반환 값
근사적인 2-노름(2-norm) 거리를 반환합니다. Float64
예시
기본 사용법
L2Norm
도입 버전: v21.11
벡터 요소 각각을 제곱한 값의 합에 대한 제곱근을 계산합니다.
구문
별칭: normL2
인수
반환 값
L2-노름 또는 유클리드 거리를 반환합니다. UInt* 또는 Float*
예시
기본 사용법
L2Normalize
도입 버전: v21.11
주어진 벡터(튜플의 요소가 좌표인 경우)의 유클리드 공간에서의 단위 벡터를 계산합니다(유클리드 거리(Euclidean distance)를 사용합니다).
구문
별칭: normalizeL2
인수
tuple— 숫자 값으로 이루어진 튜플입니다.Tuple(T)
반환 값
단위 벡터를 반환합니다. Tuple(Float64)
예시
기본 사용법
L2SquaredDistance
도입된 버전: v22.7
두 벡터에서 대응하는 각 원소의 차이를 제곱한 값의 합을 계산합니다.
구문
별칭: distanceL2Squared
인수
반환 값
두 벡터에서 서로 대응하는 원소들의 차를 제곱한 값의 합을 반환합니다. Float64
예시
기본 사용 예
L2SquaredNorm
도입된 버전: v22.7
벡터 요소 제곱합의 제곱근( L2Norm )을 제곱한 값을 계산합니다.
구문
별칭: normL2Squared
인수
반환 값
L2-노름의 제곱을 반환합니다. UInt* 또는 Float* 또는 Decimal
예제
기본 사용법
LinfDistance
도입된 버전: v21.11
두 점(벡터의 각 원소는 좌표) 사이의 거리를 L_{inf} 공간(maximum norm)에서 계산합니다.
구문
별칭: distanceLinf
인수
반환 값
Infinity-norm(무한 노름) 거리 값을 반환합니다. Float64
예시
기본 사용법
LinfNorm
도입 버전: v21.11
벡터 요소의 절댓값 중 최댓값을 계산합니다.
구문
별칭: normLinf
인수
반환 값
Linf-노름 또는 최대 절댓값을 반환합니다. Float64
예제
기본 사용법
LinfNormalize
도입된 버전: v21.11
주어진 벡터(튜플의 요소가 좌표)를 L_{inf} 공간에서의 단위 벡터로 정규화합니다(최대 노름(maximum norm)을 사용하여 계산합니다).
구문
별칭: normalizeLinf
인수
tuple— 숫자 값으로 구성된 튜플입니다.Tuple(T)
반환 값
단위 벡터를 반환합니다. Tuple(Float64)
예제
기본 사용법
LpDistance
도입된 버전: v21.11
두 점(벡터의 원소를 좌표로 가정)을 Lp 공간에서의 거리(p-노름 거리)로 계산합니다.
구문
별칭: distanceLp
인수
vector1— 첫 번째 벡터.Tuple(T)또는Array(T)vector2— 두 번째 벡터.Tuple(T)또는Array(T)p— 노름의 차수. 가능한 값:[1; inf)구간의 실수 값.UInt*또는Float*
반환 값
p-노름 거리(p-norm distance)를 반환합니다. Float64
예시
기본 사용법
LpNorm
도입 버전: v21.11
벡터의 p-노름을 계산합니다. 이는 각 원소의 절댓값을 p제곱한 뒤 모두 더한 값의 p제곱근입니다.
특수한 경우:
- p=1이면 L1Norm(Manhattan distance)과 동일합니다.
- p=2이면 L2Norm(Euclidean distance)과 동일합니다.
- p=∞이면 LinfNorm(maximum norm)과 동일합니다.
구문
별칭: normLp
인수
vector— 숫자 값으로 이루어진 벡터 또는 튜플.Tuple(T)또는Array(T)p— 지수 값. 사용할 수 있는 값은[1; inf)범위의 실수입니다.UInt*또는Float*
반환 값
Lp-노름(Lp-norm)을 반환합니다. Float64
예시
기본 사용법
LpNormalize
도입된 버전: v21.11
Lp 공간에서 p-노름을 사용하여 (튜플의 요소를 좌표로 하는) 주어진 벡터의 단위 벡터를 계산합니다.
구문
별칭(Aliases): normalizeLp
인수(Arguments)
tuple— 숫자 값들로 이루어진 튜플입니다.Tuple(T)p— 거듭제곱을 나타내는 값입니다. 가능한 값은[1; inf)구간의 모든 수입니다.UInt*또는Float*
반환 값(Returned value)
단위 벡터를 반환합니다. Tuple(Float64)
예시(Examples)
사용 예(Usage example)
cosineDistance
도입된 버전: v1.1
두 벡터(튜플의 원소가 좌표)를 대상으로 코사인 거리를 계산합니다. 반환 값이 작을수록 두 벡터가 더 유사합니다.
구문
별칭(Aliases): distanceCosine
인수(Arguments)
반환 값(Returned value)
두 벡터 사이 각도의 코사인 값을 1에서 뺀 결과를 반환합니다. Float64
예시(Examples)
기본 사용 예(Basic usage)
cosineDistanceTransposed
도입 버전: v26.1
두 점(벡터의 값은 좌표임) 사이의 코사인 거리를 근사적으로 계산합니다. 반환 값이 작을수록 벡터가 더 유사합니다.
구문
별칭: distanceCosineTransposed
인자
vectors— 벡터.QBit(T, UInt64)reference— 기준 벡터.Array(T)p— 거리 계산에 사용할 각 벡터 요소의 비트 수(1부터 요소 비트 폭까지). 양자화 수준은 정밀도와 속도 간의 트레이드오프를 제어합니다. 더 적은 비트를 사용하면 I/O 및 계산은 더 빨라지지만 정확도는 낮아지고, 더 많은 비트를 사용하면 성능이 떨어지는 대신 정확도가 높아집니다.UInt
반환 값
두 벡터 사이 각도의 코사인 값을 1에서 뺀 값의 근사치를 반환합니다. Float64
예시
기본 사용법