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