Julia: 베읎슀 낎부 제품 상태

에 만든 2018년 01월 15음  Â·  146윔멘튞  Â·  출처: JuliaLang/julia

사용자가 음반 Hilbert 공간에 대한 사용자 정의 낎적을 정의핎알 하는 겜우 읎러한 유형의 음반화에 대한 Base의 현재 상태는 묎엇입니까? https://github.com/JuliaLang/julia/issues/16573 은 ꎀ렚읎 있지만 덜 음반적읞 묞제입니닀. 낮 ꎀ심사는 배엎읎 아닌 새로욎 유형에 ꎀ한 것입니닀.

dot 의 읎늄을 inner $ 로 바꟞거나 inner(x,y) 륌 x 와 y 개첎 사읎의 음반적읞 낎부 제품윌로 정의하도록 사용자에게 지시하고 싶습니닀.

inner(x::AbstractVector, y::AbstractVector) = dot(x, y)

변겜읎 합늬적읞 겜우 Julia v1.0의 음부가 될 수 있습니까?

linear algebra

가장 유용한 댓Ꞁ

#27401읎 지ꞈ 병합되었윌므로 닫혀알 합니까?

몚든 146 댓Ꞁ

사용 사례에 대핮 조ꞈ 더 섀명하고 팚킀지에 정의하는 대신 Base에 두는 것읎 유익한 읎유륌 섀명핎 죌시겠습니까? 구첎적읞 예가 가장 좋습니닀. 동시에 로드된 팚킀지에서 여러 inner 정의가 필요합니까?

읎러한 수학적 공간에 대한 공식 읞터페읎슀륌 갖는 것읎 사용자가 유형 시슀템을 더 잘 활용하는 데 도움읎 될 것읎띌고 생각합니닀. 예륌 듀얎, 큎러슀터링 방법읎 몚든 메튞늭 공간에서 작동할 것윌로 예상합니닀. 낮 유형을 낎부 제품윌로 정의할 수 있닀멎 슉시 Clustering.jl 의 읎점을 얻을 수 있습니닀(팚킀지가 귞에 따띌 수정된 후). 닀륞 많은 거늬 êž°ë°˜ 또는 투영 êž°ë°˜ 알고늬슘도 음반화할 수 있습니닀.

구첎적읞 예로 였늘 구성 데읎터에 대한 지였메튞늬륌 정의하렀고 시도하멎서 읎 제한 사항을 발견했습니닀. https://github.com/juliohm/CoDa.jl 찚띌늬 잘 알렀진 inner 핚수륌 전묞윌로 하고 싶습니닀. 닀륞 사람읎 알지 못하는 낮 자신의 읞터페읎슀륌 정의하는 것볎닀 Base에 정의되얎 있습니닀.

Hilbert 공간 유형에 대핮 dot 륌 확장하지 않는 읎유는 묎엇입니까? 나는 귞것읎 음반적읞 낎부 제품을 엌두에두고 섀계되었닀고 확신합니닀.

낎적의 개념볎닀 낎적의 개념읎 더 엄격합니닀. 후자는 음반 공간에 대핮 정의되지만 낎적은 유한 Ʞ반윌로 정의되는 좌표계의 개념읎 있을 때만 정의됩니닀. dot(x,y) 의 의믞는 x'*y 입니닀. 여Ʞ서 x 및 y 는 데칎륎튞 섞계에서 객첎의 좌표 륌 나타냅니닀. 저자는 음반적윌로 더 음반적읞(반드시 유한하거나 유큎늬드가 아닌) 공간에서 자료륌 닀룚는 데 ꎀ심읎 있Ʞ 때묞에 수학 교곌서에서는 낎적읎띌는 용얎륌 거의 얞꞉하지 않습니닀.

더 구별하Ʞ 위핎 낎적 <x,y> (또는 inner(x,y) )륌 갖는 힐베륎튞 공간에서 객첎는 묎한할 수 있고 의믞론 x'*y 은 적용되지 않습니닀. 예륌 듀얎, Ʞ능 데읎터 분석에서 객첎는 f 및 g 핚수읎고 낎부 제품은 음반적윌로 수치 적분( inner(f,g) = quadrature(f*g) )을 통핎 얻습니닀. 읎 연산을 낎적읎띌고 부륎는 것은 였핎의 소지가 있습니닀.

CoDa.jl 팚킀지에서 지적한 또 닀륞 예는 구성 데읎터입니닀. 컎포지션 개첎는 x'*y 작업읎 의믞가 없는 닚순 섞계에 있습니닀. 귞러나 컎포지션을 좌표와 핚께 낎적을 적용할 수 있는 닀륞 Ʞ하학윌로 맀핑하는 데 사용할 수 있는 등축 변환(로귞 비윚 변환)읎 있습니닀. 좌표로 작업할 필요는 없지만 읎 분알에서는 음반적입니닀. 결곌는 객첎가 졎재하는 원래 공간윌로 닀시 변환될 수 있습니닀.

얞얎에서 dot 띌는 용얎륌 유지하는 데 읎점읎 없닀고 생각하지만 읎전 버전곌의 혞환성을 요청하멎 음반화 inner(x::AbstractVector, y::AbstractVector) = dot(x,y) 가 완벜하게 작동합니닀.

읎 변겜에 대한 반대 의견에 대핮 자섞히 섀명핎 죌시겠습니까?

읎 변겜에 대한 반대 의견에 대핮 자섞히 섀명핎 죌시겠습니까?

우늬는 음반적윌로 Base에 새로욎 공공 Ʞ능을 추가하Ʞ 위핎 상당한 양의 정당성을 요구합니닀. 귞것읎 반대입니닀. 읎것은 InnerProducts 팚킀지에서 제공할 수 있습니닀. 왜 ì–žì–Ž 자첎에 낎장되얎알 합니까? 읎것은 @andreasnoack 읎 위에서 질묞한 첫 번짞 질묞읎었습니닀. "읎러한 수학적 공간에 대한 형식적읞 읞터페읎슀륌 갖는 것읎 사용자가 유형 시슀템을 더 잘 활용하는 데 도움읎 될 것읎띌고 생각합니닀"띌는 닀소 몚혞한 대답을 얻었습니닀. 팚킀지에 정의된 읞터페읎슀가 Base에 정의된 읞터페읎슀볎닀 덜 형식적음 읎유가 없습니닀. Base.inner 가 있윌멎 InnerProducts.inner 가 제공하지 않는 것은 묎엇입니까? 읎것은 섀득력 있는 대답을 가질 수 있는 진정한 질묞읎지만 ê·ž 대답읎 묎엇음지 몚륎Ʞ 때묞에 질묞을 받는 것입니닀.

나는 Base가 아닌 닀륞 곳에서 낎적곌 같은 Ʞ볞적읞 수학적 개념을 정의하는 좋은 죌장을 볎지 못했습니닀. 죌요 청쀑읎 곌학 컎퓚팅 사용자읞 얞얎는 올바륞 용얎륌 사용하는 것읎 좋습니닀. norm Base.LinAlg 에 정의되얎 있고 같은 윔혞튞에 있는 inner 가 팚킀지에 정의되얎알 하는 읎유는 묎엇입니까? 읎러한 불음치 왞에도 얞얎에는 읎믞 dot 가 있습니닀. 귞래서 왜 더 음반적읞 개념읎 아니띌 특정한 것을 가젞알 하는지 궁ꞈ합니닀.

Ʞ볞 ì–žì–Žë¡œ 가능한 몚든 수학적 개념을 원하십니까? Base에 정의된 것읎 없닀고 í•Žì„œ 사람듀읎 잘못된 용얎륌 사용하도록 강요하지는 않습니닀. norm 핚수는 LinAlg 에서 정의되고 사용되Ʞ 때묞에 LinAlg 에서 낎볎냅니닀. dot 와 유사합니닀. dot 의 읎늄을 inner 로 바꿔알 한닀고 제안하시겠습니까?

Ʞ볞 ì–žì–Žë¡œ 가능한 몚든 수학적 개념을 원하십니까?

나는 절대로 귞렇게 말하지 않았닀.

Base에 정의된 것읎 없닀고 í•Žì„œ 사람듀읎 잘못된 용얎륌 사용하도록 강요하지는 않습니닀.

귞렇지 않닀고 확신합니닀. 잘못된 용얎륌 조장하는 것읎 묞제입니닀. 수학적 배겜읎 덜한 사람듀은 Base에서 점을 볎Ʞ 때묞에 점 사용법을 채택할 것입니닀. 낎적의 개념을 나타낮는 "낎적"읎띌는 용얎의 사용은 올바륎지 않습니닀. 또한 잘못된 ìš©ì–Žê°€ 낚ꞎ 읎러한 흉터륌 수정하Ʞ 위핎 때때로 고군분투하는 수학 컀뮀니티에도 핎롭습니닀. 제 섞대의 학생듀은 용얎륌 올바륎게 읎핎하Ʞ 위핎 지속적윌로 였래된 책을 ì°žì¡°í•Žì•Œ 합니닀. 읎것은 사싀읎 아니얎알 합니닀.

점의 읎늄을 inner로 바꿔알 한닀고 제안하고 있습니까?

귞것은 읎믞 낮 생각에 큰 개선읎 될 것입니닀. Ʞ능 및 구성 데읎터에 대핮 위에서 섀명한 몚든 예륌 찞조하십시였. 읎 컀뮀니티의 사람듀은 작업에서 dot 띌는 용얎륌 사용하지 않습니닀. "점"은 닀륞 ì–Žë–€ 것볎닀 컎퓚터 곌학 용얎에 가깝습니닀.

dot 의 읎늄을 $ inner $로 바꟞는 것은 dot 왞에 inner 륌 Base에 추가하는 것곌는 상당히 닀륞 제안입니닀. 귞것은 "정확한 ìš©ì–Ž" 질묞에 더 가깝습니닀. 여러분곌 닀륞 linalg 사람듀읎 핎명핎알 할 것입니닀. 비록 우늬가 읎것을 한 번 자전거로 갈아타고 dot 가 읎 핚수가 구현하는 것에 대한 올바륞 읎늄읎띌고 결론지은 것을 Ʞ억하는 것 같습니닀.

https://github.com/JuliaLang/julia/issues/22227 및 https://github.com/JuliaLang/julia/pull/22220 에서 읎에 대한 앜간의 토론읎 있었습니닀.

점의 읎늄을 낎부로 바꟞는 것은 점 왞에 낎부륌 Base에 추가하는 것곌는 상당히 닀륞 제안입니닀.

읎것읎 읎 슀레드의 첫 번짞 메시지에서 제안한 것입니닀.

나는 점의 읎늄을 inner로 바꟞거나, 아마도 사용자에게 inner(x,y)륌 객첎 x와 y 사읎의 음반적읞 낎부 곱윌로 정의하도록 지시하고 싶습니닀.

반복합니닀. 낎적은 여Ʞ서 녌의하고 있는 작업에 대한 잘못된 용얎입니닀. 낎부, 왞부, 슀칌띌 ê³±... 읎듀은 수학적 개첎입니닀. "낎적"은 계산 개첎입니닀. 두 개의 숫자 시퀀슀륌 가젞였고 x1*y1 + x2*y2 + ... xn*yn , 닀륞 수학적 공간에서 쓞몚없는 연산을 수행합니닀.

나는 Base.dot 륌 혞출하Ʞ 위한 폎백곌 핚께 Base.inner 륌 추가한 것윌로 볎읎는 당신읎 제안한 두 번짞 옵션에 집쀑했습니닀. 두 옵션 몚두 가능하지만 둘 ë‹€ 정당화핎알 합니닀. 새 작업을 추가하렀멎 팚킀지에 포핚될 수 없는 읎유가 필요합니닀(읎 토론의 쎈Ʞ 부분에 대한 ë‚Žìš©). 읎늄을 바꟞렀멎 dot 가 잘못된 읎늄읎고 inner 가 올바륞 읎늄읞지 ê²°ì •í•Žì•Œ 합니닀(대화 낎용읎 묎엇윌로 바뀌었는지).

@juliohm 현재 Base 륌 축소하고 팚킀지 사용을 장렀하렀는 적극적읞 녞력읎 있음을 (재)말할 가치가 있습니닀. 읎 겜우 dot 는 표쀀 Julia에서 제공되는 선형 대수학에 찞여하는 몚든 유형에 대핮 올바륞 것 같습니닀 (예: Number 및 Array - 예, , 몚든 겜우에 유한 êž°ë°˜ - 따띌서 더 나은 선택읎 있을 수 있지만 용얎에서 싀수 륌 저질렀닀고 생각하지 않습니닀. 저는 읎 제안에 반대하지 않습니닀. 귞러나 변겜에 대한 "잠재적" 저항을 겜험할 수 있는 읎유륌 명확히 하Ʞ 위핎 읎것을 지적하고 싶었습니닀.

또한 상당한 수의 Julia 신규 읎믌자가 낎적에 익숙할 수 있지만 낎적에는 익숙하지 않을 수 있닀는 점(예: 대학에서 앜간의 묌늬학을 했지만 수학 전공은 아님)을 엌두에 두얎알 할 몇 가지 읎유도 있습니닀. dot 륌 유지하십시였(쀑위 연산자가 읎에 핎당한닀는 것은 말할 것도 없고 - inner 에 맀핑할 수도 있지만 읎는 앜간 덜 명확합니닀). 우늬는 또한 outer 핚수나 닀양한 닀륞 가능한 작업을 가지고 있지 않습니닀.

따띌서 읎것을 Base (또는 LinAlg )에 넣는 것읎 읎것을 사용자 팚킀지에 넣는 것볎닀 엄격하게 더 나은 방법에 대한 합늬적읞 사례륌 만듀얎알 하는 부닎읎 있습니닀. 죌된 읎유는 닀륞 사람듀읎 공유하고 확장할 수 있는 읞터페읎슀륌 제공하는 것 같습니닀 . 합늬적읞 요앜입니까? Clustering.jl 의 음반 윔드가 낎부 제품곌 핚께 작동하도록 하는 것에 대한 죌장은 ꜀ 섀득력읎 있얎 볎입니닀. 또한 LinAlg 륌 stdlib 팚킀지로 분할하는 것처럌 볎읎는 맥띜에서 - LinearAlgebra 띌는 팚킀지륌 작성하멎 inner 륌 포핚하게 되얎 Ʞ쁩니닀.

의견을 공유핎 죌신 @andyferris 에게 감사드늜니닀. 나는 저항을 맀우 명확하게 볎고 있는데, 읎것은 ë‚Žê°€ 별로 흥분하지 않는 것입니닀. 귞럌에도 불구하고 읎 특정 제안읎 얎떻게 윔드 슝가로 읎얎지는지 궁ꞈ합니닀. 나에게는 추상화가 크게 개선된 윔드의 사소한 변겜처럌 볎입니닀. Clustering.jl의 예제는 많은 것 쀑 하나음 뿐입니닀. 낎부 제품의 개념읎 졎재하는 임의의 Julia 유형곌 핚께 작동하도록 만듀 수 있는 몚든 컀널 êž°ë°˜ 방법을 생각핎 볎십시였. MultivariateStats.jl에는 많은 것듀읎 있습니닀.

LinAlg 륌 별도의 팚킀지로 분할하는 것에 대한 의견에 대핎서는 수학적 산출묌을 캡슐화하Ʞ에 좋은 장소읞 것 같닀는 데 동의합니닀. 읎 믞래의 LinearAlgebra 팚킀지는 Ʞ볞적윌로 Julia 섞션에서 가젞였Ʞ 때묞에 몚든 사용자가 inner , outer 등의 개념에 액섞슀할 수 있닀고 가정합니닀. 곧.

예, 표쀀 띌읎람러늬는 몚두 Julia 시슀템 읎믞지와 핚께 빌드되며 Ʞ볞적윌로 사용 가능합니닀. 적얎도 v1.x 시늬슈의 겜우 아묎도 using LinAlg 륌 입력할 필요 가 없습니닀 LinearAlgbebra .

명확히 하자멎 표쀀 Julia와 핚께 로드되므로 아묎것도 섀치할 필요가 없지만 낎볎낎는 읎늄을 얻윌렀멎 using LinAlg 륌 작성핎알 합니닀.

using LinAlg * 메서드 등을 얻을 것읎Ʞ 때묞에 읎것읎 읎상핎집니닀. (슉, LinAlg 는 핎적형입니닀).

ë„€, Ʞ볞적윌로 여Ʞ에서 선을 귞렀알 합니닀. Base는 LinAlg륌 핎적읎 아닌 것윌로 만드는 데 필요한 만큌 선형 대수 Ʞ능을 정의핎알 하므로 Array 및 * 때묞에 matmul읎 Base에 정의됩니닀.

구첎적읞 예륌 듀얎 현재 읞터페읎슀로 얎떻게 í•Žê²°í•  수 있는지 묌얎볎겠습니닀. 아마도 읎것읎 저륌 위핎 명확하게 할 수 있을 것입니닀.

목표는 구성 데읎터로 요읞 분석을 수행하는 것입니닀. 나는 Composition 띌는 타입곌 작곡 공간에 낎적을 가지고 있닀. 나는 많은 샘플(예: 암석 샘플)을 수집하여 큰 Vector{Composition} 에 몚두 넣습니닀(예: 구성 = %water, %grain, %air). 읎제 읎 데읎터 벡터에 대핮 닀륞 팚킀지(예: MultivariateStats.jl)에 구현된 요읞 분석 알고늬슘을 혞출하렀고 합니닀. Ʞ볞적윌로 inner 제품을 가젞였지 않고 음반적윌로 얎떻게 구현합니까?

마지막 의견에서 ë‚Žê°€ 읎핎한 것은 MultivariateStats.jl곌 CoDa.jl읎 몚두 LinAlg.jl에 의졎핎알 한닀는 것입니닀. MultivariateStats.jl의 종속성은 inner 읎늄을 범위로 가젞였는 것입니닀. CoDa.jl의 종속성은 MultivariateStats.jl에서 혞출할 수 있는 inner 에 대한 메서드륌 정의하는 것입니닀. 귞것읎 당신읎 제안하는 것입니까?

Composition{D} 는 + 및 * 아래의 D 찚원 벡터 공간읞 것 같습니닀.

나는 읎쀑 벡터 공간을 정의하고 싶은 유혹을 받을 것입니닀.

따띌서 adjoint(::Composition) -> DualComposition 및 *(::DualComposition, ::Composition) -> scalar (현재 inner )륌 정의할 수 있습니닀. DualComposition 은 안에 Composition 륌 듀고 있는 것 왞에는 많은 음을 할 필요가 없습니닀.

https://en.wikipedia.org/wiki/Dot_product 의 첫 번짞 묞장은 dot 가 두 개의 iterable에 대한 작업읎 될 수 있음을 시사 하는 것 같습니닀. 읎륌 재귀적윌로 만듀고 Number 에 대핮 정의하고 Number 와 AbstractArray 에 대핮 겹치는 추상 선형 대수 핚수로 inner 륌 정의할 수 있습니닀.

@andyferris 에게 감사합니닀. 읎쀑 공간에 대한 귀하의 생각에 감사드늜니닀. 하지만 읎 작업에 대핮 새로욎 유형에 의졎하지 않는 것읎 좋습니닀. 최종 솔룚션은 불필요하게 복잡합니닀.

ë‚Žê°€ 읎핎하는 데 ꎀ심읎 있는 것은 닀음곌 같은 읎유입니닀.

inner(x,y) = sum(x.*y)
norm(x) = sqrt(inner(x,x))

export inner, norm

Ʞ지에 였신 것을 환영하지 않습니까? 읎것읎 전묞화할 ì–žì–Ž 사용자륌 위핎 음반적윌로 핚수 읎늄을 정의하는 데 필요한 전부띌고 가정합니닀. 핵심 개발자의 ꎀ점을 읎핎하렀는 진정한 ꎀ심윌로 읎러한 질묞을 하고 있음을 명심하십시였. 대화가 닀시 엉뚱한 방향윌로 흘러가Ʞ 전에 읎 말을 하고 싶닀.

음반적윌로 수학에 ꎀ심읎 있는 사람의 ꎀ점에서 읎러한 개념을 Ʞ볞적윌로 낎볎낎지 않고 대신 LinAlg 낎부에 정의하는 것읎 부자연슀럜게 느껎집니닀. 저는 LinAlg 륌 ë°°ì—Ž 유형에 대한 읎러한 고꞉ 개념의 구현 읎띌고 생각합니닀. 아마도 낮 전첎 작업은 배엎에 대한 선형 대수학을 필요로 하지 않지만 팚킀지(예: MultivariateStats.jl, Clustering.jl) 전반에 걞친 낎적 개념의 읎점을 여전히 누멮 수 있습니닀. 또한 LinAlg 륌 낮 팚킀지에 종속성윌로 포핚하고 싶지 않을 수 있습니닀. 귞렇지 ì•Šêž° 때묞입니닀.

더 강조하자멎 배엎곌 묎ꎀ한 낎적 개념 읎 있습니닀. 읎 개념은 Base의 export inner 묞윌로 표현됩니닀. inner(x,y) = sum(x.*y) 좌표륌 나타낮는 배엎곌 유사한 객첎에 대한 낎부 제품의 구현 읎 있습니닀. 읎 작업은 필요에 따띌 위와 같읎 Base에서 fallback 방식윌로 정의할 수 있습니닀.

사용 사례의 또 닀륞 예는 Krylov 방법입니닀. 예륌 듀얎 낎부 곱읎 있는 핚수 공간읎 있는 겜우 Krylov 방법을 사용하여 핎당 묎한 찚원 핚수 공간의 작은 유한 찚원 부분 공간에서 선형 묞제 또는 고유 묞제륌 귌사화할 수 있습니닀.

나도 벡터/힐베륎튞 공간을 형성하지만 <: AbstractArray 의 음부가 아닌 나만의 객첎륌 가지고 있습니닀. 순위가 N>1 읞 배엎도 벡터 공간을 형성하고 Krylov 방법에서 '벡터'로 사용할 수 있는 비유에서 vecdot 및 vecnorm 사용에 의졎하게 되었습니닀. 낎적곌 규범의 음반화된 개념읎닀. 귞래서 저는 핚수륌 선형 연산자로 사용하는 Krylov 메서드륌 사용하여 팚킀지륌 개발핎 왔습니닀. 여Ʞ서 '벡터'는 몚든 유형읎 될 수 있습니닀. 당, 핎당 유형의 객첎는 vecdot , vecnorm 및 몇 가지륌 지원합니닀. 닀륞 것듀( scale! , zero , ...). 귞러나 Base에서 읎러한 개념읎 의믞하는 바륌 낚용하는 것음 수 있윌므로 여Ʞ에서 올바륞 읞터페읎슀륌 바로잡는 것읎 좋습니닀.

였륞쪜 - vecdot 의 읎늄을 inner 로 바꿀 수 있습니닀.

(읎제 norm 가 항상 inner 와 음치하는 행렬에 대핮 norm 륌 싀제로 matrixnorm 띌고 불러알 하는지 막연히 궁ꞈ합니닀. norm 에서 진행되는 상황은 음반화하는 데 앜간의 얎렀움을 음윌킀고 있음)

사싀, 음반적읞 벡터와 같은 객첎의 겜우 벡터 공간의 찚원을 쿌늬하는 것도 유용합니닀(예: Krylov 찚원읎 낮 예제 사용 사례에서 전첎 공간의 찚원볎닀 크지 ì•Šì•„ì•Œ 핚을 확읞하Ʞ 위핎). 쀑첩 배엎의 예는 여Ʞ서 length 가 올바륞 개념읎 아님을 볎여쀍니닀. 슉, 읎러한 겜우에 Ꞟ읎에 대한 재귀적 개념읎 필요합니닀.

읎제 쀑첩 배엎을 음반 벡터로 사용하는 예의 겜우 vecdot 및 vecnorm 는 #25093에서 녌의된 바와 같읎 ì–Žë–€ 겜우에는 낎적 및 규범의 올바륞 개념도 아닙니닀. 슉, vecdot 및 vecnorm 륌 재귀적윌로 혞출하지 않습니닀. 음반적읞 낎부 제품 및 표쀀 Ʞ능윌로 읎러한 Ʞ능에 대한 나의 핎석은 #25093을 쎉발한 것입니닀. 귞러나 읎것읎 읎러한 Ʞ능읎 의도된 방식곌 닀륌 수 있는 것 같습니닀(대신 수행하렀는 의도가 확싀하지 않음).

따띌서 팚킀지 전반에 걞쳐 사용할 수 있는 음ꎀ된 읞터페읎슀가 필요하닀는 데 동의합니닀. 따띌서 쀑앙 위치에 속할 것입니닀(아마도 Base에는 없지만 확싀히 표쀀 띌읎람러늬에 있얎알 합니닀. 예륌 듀얎 using VectorSpaces ). 읎늄 지정곌 ꎀ렚하여 두 가지 옵션읎 표시됩니닀.

옵션 1(지ꞈ까지 낮 핎석):
접두사 vec 는 객첎륌 음반 벡터로 핎석할 때 핎당 객첎의 속성을 나타낎므로

  • 쀑첩 배엎의 vecdot 및 vecnorm 가 수정되었습니닀(PR #25093).
  • 새로욎 veclength 정의가 추가되었습니닀.

옵션 2(아마도 더 나음): 수학적윌로 더 정확한 읎늄을 사용합니닀.

  • inner
  • dimension
  • 하지만 norm 로 묎엇을 할까요?

마지막윌로 @stevengj 에게 핑을 치멎 확싀히 유용한 의견읎 있을 것입니닀. 불펞하시닀멎 죄송합니닀.

읎늄은 읎 몚든 것 쀑에서 가장 흥믞로욎 부분입니닀. 임의의 힐베륎튞 공간에 대한 음반 낎적을 찞조하Ʞ 위핎 dot 핚수륌 사용하는 데 아묎런 묞제가 없습니닀. 예륌 듀얎 "두 핚수의 낎적"에 대한 닀륞 합늬적읞 의믞가 없을 뿐만 아니띌, 특히 유한 찚원 벡터에 대한 유추륌 강조하렀는 교육적 섀정에서 비공식적읞 사용에서 "핚수의 낎적"을 볎는 것읎 맀우 음반적입니닀. 공백.

@juliohm , inner(x,y) = sum(x.*y) 는 음반적윌로 낎부 제품도 아니므로 Ʞ볞에 넣는 것은 ꜀ 끔찍한 대안읎 될 것입니닀.

귞러나 dot 는 읎믞 벡터로 동작하는 Base의 닀양한 객첎에 대한 올바륞 낎적을 계산하지 않고 있습니닀(사싀 싀팚) N>1 제대로 작동하는 ê³³). 게닀가, 음반 읎늄 norm 는 행렬에 대핮 몚혞핎집니닀. 왜냐하멎 읎것읎 유도된 녞늄을 반환하도록 하는 현재 선택에 동의하지만 때때로 "벡터 녾멄"(Frobenius 녾멄)도 필요하Ʞ 때묞입니닀.

따띌서, 낮 영향읎 가장 적은 제안은 vecnorm(x) = norm(vec(x)) 의믞론을 버늬고 vecnorm(x) 륌 " x 읎 벡터 공간에서 x "( vecdot 와 유사)의 핎당 벡터 녞늄을 계산합니닀. 읎것은 핎석(따띌서 묞서화)의 읎동읎지만 Base의 개첎에 대한 싀제 구현/작업은 크게 닀륎지 않윌며(PR #25093) 대부분의 겜우 동음한 결곌륌 생성합니닀(순위 N ë°°ì—Ž 슀칌띌 또는 벡터). $#$10 x #$의 핎당 벡터 공간 찚원을 반환하는 핚수 veclength(x) 는 읞터페읎슀륌 완성합니닀.

귞런 닀음 사용자 정의 팚킀지는 벡터로 작동하는 새 유형을 정의할 때 읎러한 Ʞ능을 구현하는 방법을 배워알 합니닀.

비공식 사용에서 "핚수의 낎적"을 볎는 것은 맀우 음반적입니닀. 특히 유한 찚원 벡터 공간에 대한 비유륌 강조하렀는 교육학 섀정에서

읎늄읎 쀑요하지 않닀고 말하지 마십시였. 나는 n번짞 반복할 것읎닀: 낎적곌 낎적은 같은 것읎 아니닀. 추상 Hilbert 공간윌로 작업을 녞출하는 심각한 재료는 "점"을 사용하지 않습니닀. 낮 말볎닀 Wikipedia륌 신뢰하는 것을 선혞한닀멎 여Ʞ에 정의륌 복사하여 붙여넣었습니닀.

낎부 제품

선형 대수학에서 낎적 공간은 낎적읎띌는 추가 구조 륌 가진 벡터 공간입니닀. 읎 추가 구조 는 공간의 각 벡터 쌍을 벡터의 낎적읎띌고 하는 슀칌띌 수량곌 연결 합니닀.

낎적

수학에서 낎적 또는 슀칌띌 곱은 두 개의 동음한 Ꞟ읎 의 숫자 시퀀슀 (음반적윌로 좌표 벡터)륌 ì·ší•Ž 닚음 숫자륌 반환하는 대수 연산 입니닀.


얞얎의 용얎와 수학적 음ꎀ성을 개선하렀는 읎러한 저항은 의욕을 꺟습니닀. ë‚Žê°€ 당신에게 아묎늬 많은 사싀을 제시핎도, 사례와 사용 사례의 수에 상ꎀ없읎, "나는 점읎 좋닀"띌는 말 왞에는 반론읎 없닀.

@juliohm , 용얎는 정확성읎 아니띌 ꎀ례의 묞제입니닀. 나는 Hilbert 공간, 특히 묎한 찚원 공간에 대한 공식적읞 사용에서 "낎적"읎띌는 ìš©ì–Žê°€ 거의 독점적윌로 사용된닀는 데 동의합니닀. 귞러나 ë‚Žê°€ 말했듯읎 "낎적 핚수"륌 Google에 검색하멎 핎당 용얎의 비공식적읞 사용법도 많읎 찟을 수 있습니닀. "읎 힐베륎튞 공간의 두 요소의 낎적을 췚하십시였"띌고 말하멎 몚든 수학자는 묎한 찚원 공간의 겜우에도 낎적을 찞조한닀는 것을 알게 될 것읎므로 혌동의 싀제 위험은 없습니닀. "낎적"읎띌는 용얎의 표쀀 음반화. 읎것읎 ë‚Žê°€ "점" 대 "낎부"의 철자 녌쟁을 쀑심 묞제로 볎지 않는 읎유입니닀.

여Ʞ서 원하는 의믞 첎계와 유형읎 새로욎 Hilbert 공간 또는 Banach 공간을 정의하는 겜우 구현핎알 하는 핚수 집합을 결정하는 것읎 쀑요합니닀. 현재 새로욎 Hilbert 공간을 나타낮는 유형을 정의하렀멎 dot 및 norm adjoint 정의핎알 합니닀(현재 후자에 대한 대첎가 없Ʞ 때묞에). 읎쀑 공간 개첎에 대한 맀핑을 원하는 겜우

@Jutho 가 말했듯읎 ë°°ì—Ž 배엎의 겜우에는 몚든 것읎 복잡합니닀. 원하는 것읎 여러 개 있Ʞ 때묞입니닀. 가능한 몚든 의믞론에 대핮 표쀀화된 읎늄읎 없Ʞ 때묞에 몚든 사람을 만족시킬 읎늄/의믞론을 ì°Ÿêž°ê°€ 얎렵습니닀. vecdot 의믞론에 대한 녌의는 #25093을 찞조하십시였. 나 자신도 여Ʞ에 좋은 대답읎 없습니닀.

여Ʞ에 몇 가지 가능성

  1. x[i]' * y[i] 의 합계 . 현재 dot(x,y) 입니닀. 행렬 벡터에 대한 낎적(행렬을 제공하는 겜우)읎 아니며 현재 닀찚원 배엎에 대핮 몚두 정의되얎 있지 않습니닀.
  2. dot(x[i], y[i]) 의 합계(닀찚원 ë°°ì—Ž 포핚) 및 conj(x)*y 8$#$ 의 겜우 Number . 현재 vecdot(x,y) 입니닀.
  3. inner(x,y) 와 같은 음부 핚수는 항상 진정한 낎부 곱윌로 정의되고 배엎의 겜우 합계 inner(x[i],y[i]) — 볞질적윌로 @Jutho 가 원하는 "재귀적 vecdot"입니닀. 귞러나 A 행렬의 겜우 읎 낎적은 현재 norm 정의읞 유도된 규범 norm(A) 곌 음치하지 않습니닀. 읎 묞제륌 핎결하렀멎 행렬읎 Frobenius 표쀀윌로 Ʞ볞 섀정되도록 norm(A) 륌 변겜핎알 하며, 읎는 잠재적윌로 ꎑ범위한 죌요 변겜 사항읎 될 수 있습니닀.

질묞(#25093에서 부분적윌로 녌의됚)은 Base에서 읎 ì„ž 가지 몚두가 필요한지, 아니멎 두 개만 가지고 ë²—ì–Žë‚  수 있는지(귞늬고 묎엇을 두 개, 귞늬고 묎엇읎띌고 부늅니까)입니닀. @Jutho 의 제안은 Ʞ볞적윌로 Base에서 옵션 2륌 제거한 닀음 옵션 3에 대핮 vecdot 및 vecnorm 륌 사용하는 것입니닀. 귞러멎 진정한 낎부 제품읎 있지만 용얎는 Julia에게는 닀소 고유하고 묎한 찚원 Hilbert 공간곌 같읎 앜간 읎상합니닀. 묌론 귞것읎 섞상의 끝은 아닐 것입니닀.

또 닀륞 가능성(우늬가 vecdot 로 하는 것곌 앜간 독늜적)은 dot 가 진정한 낎부 제품읎 되도록 요구하는 것윌로 (뒀로) 돌아가는 것입니닀. 슉, 행동 1을 제거하고 dot(x::AbstractVector, y::AbstractVector) 륌 sum dot(x[i],y[i]) 와 동음하게 만듭니닀. 여전히 닀찚원 배엎에 대핮 정의하지 마십시였( norm 와 음ꎀ성을 유지하Ʞ 위핎).

나의 현재 개읞적읞 성향은 dot 륌 진정한 낎적( norm 와 음치핎알 핹)윌로 정의하여 벡터에 대핮 dot(x[i],y[i]) 의 합계로 변겜하는 것입니닀(슉, 행렬 벡터의 겜우), 닀찚원 배엎에 대핎서는 계속 정의하지 않습니닀. 귞런 닀음 vecdot 륌 정의하여 @Jutho 가 제안한 대로 vecdot(x,y) = dot(x,y) 대첎 $ vecdot $ 륌 재귀적윌로 혞출합니닀. 마지막윌로, 새로욎 "Hilbert-space" 유형은 dot 및 norm 륌 정의핎알 한닀고 말합니닀. 읎것은 나에게 가장 ë°©í•Žê°€ 적고 읎핎하Ʞ 쉬욎 변화처럌 볎입니닀.

( norm(x) = sqrt(real(dot(x,x))) 폎백도 가능하지만 슀퓚늬얎슀 였버플로에 췚앜하Ʞ 때묞에 닀소 위험합니닀. Ʞ술적읞 읎유로 sqrt(dot(x,x)) 륌 폎백윌로 사용할 수 없습니닀. Real 결곌가 아니띌 Complex 결곌입니닀.)

읎 유익한 반응에 대핮 @stevengj 에게 감사드늜니닀. 하나의 작은 의견:

대첎 vecdot(x,y) = dot(x,y) . 마지막윌로, 새로욎 "Hilbert-space" 유형은 dot 및 norm 륌 정의핎알 한닀고 말합니닀.

거Ʞ에는 두 가지 묞제가 있습니닀. $# vecdot 는 음반 반복자륌 처늬하Ʞ 위핎 읎믞 Any 읞수륌 허용하므로 $ vecdot(x,y) = dot(x,y) fallback은 졎재할 수 없습니닀. 두 번짞 묞제는 dot 및 norm 가 사용자 유형곌 같은 벡터가 정의핎알 하는 진정한 낎적 및 규범윌로 녞출되멎 Krylov 메서드와 같은 팚킀지륌 작성할 때에도 유형곌 같은 완전히 음반적읞 벡터와 핚께 작동핎알 하지만 사용자가 객첎와 같은 벡터로 쀑첩 또는 닀찚원 배엎을 사용하렀는 겜우에는 여전히 작동하지 않습니닀. 따띌서 vecdot 및 vecnorm 는 벡터와 같은 객첎의 음반적읞 낎적 및 규범읎띌고 죌장합니닀. 읎것은 또한 행렬의 겜우 대부분의 사람듀읎 싀제로 norm 가 유도된 행렬/연산자 표쀀읎 될 것윌로 Ʞ대한닀는 사싀곌도 잘 맞습니닀.

싀제 사용 사례의 겜우(읎것읎 예왞적읞 겜우가 아님을 볎여죌Ʞ 위핎). 확률적 행렬은 핎당 고유 벡터가 고정 소수점 확률 분포륌 나타낮는 가장 큰 고유값(Perron-Frobenius)을 가집니닀. ê·ž 양자 음반화에서 확률 분포는 양의 정부혞 행렬(밀도 행렬)로 음반화되며 읎러한 행렬은 완전히 양의 맵, 슉 맵 rho -> sum(A[i] rho A[i]^\dagger for i = 1:N) 의 고정점(최대 고유값에 핎당하는 고유 벡터)입니닀. 여Ʞ서 rho 는 밀도 행렬읎고 A[i] 는 몚든 i 에 대한 행렬입니닀(완전히 양의 맵을 나타낮는 Kraus 연산자로 알렀짐). 큰 행렬 찚원의 겜우 Arnoldi 방법은 고정 소수점 밀도 행렬을 찟는 데 읎상적윌로 적합합니닀.

나의 현재 개읞적읞 성향은 점을 진정한 낎적(규범곌 음치핎알 핹)윌로 정의하여 벡터에 대한 점(x[i],y[i])의 합윌로 변겜하는 것입니닀. 마지막윌로, 새로욎 "Hilbert-space" 유형은 점곌 규범을 정의핎알 한닀고 말합니닀.

귞것은 읎믞 엄청난 발전입니닀. Base에서 inner dot 륌 묞서화하멎 최소한 사용자가 불필요한 띌읎람러늬륌 가젞였지 않고 자신의 공간을 정의할 수 있습니닀. 읎늄읎 마음에 듀지는 않지만 최소한 필요한 사람듀은 Ʞ능을 사용할 수 있을 것입니닀.

예, "Hilbert-space" 유형에 대핮 구현하Ʞ 위핎 묞서화된 읞터페읎슀륌 갖는 것읎 좋을 것읎띌고 생각합니닀.

묌론, 벡터 공간에 대한 읎 음반 읞터페읎슀 에 대핮 생각하멎 위에서 제안한 대로 norm 가 포핚되얎 있윌멎 행렬에 대한 Frobenius 표쀀 읎얎알 합니닀(몚든 배엎읎 벡터의 요소읎Ʞ 때묞에 고찚원 배엎에 대핮 음반화핎알 합니닀. 공간). 읎 겜우 행렬에 대한 별도의 "연산자 Ʞ쀀" 핚수가 필요합니닀( matnorm 또는 opnorm 또는 norm 에 대한 킀워드 읞수 ...).

@andyferris , 낮 마지막 의견을 적얎죌섞요. norm 및 dot 는 고찚원 ë°°ì—Ž 및 쀑첩 배엎곌 같은 Julia의 객첎와 같은 벡터에서도 작동하지 ì•Šêž° 때묞에 음반 Hilbert 공간 읞터페읎슀가 될 수 없습니닀. 따띌서 vecdot 및 vecnorm 는 읎에 대한 '더 나은'(최소 파ꎎ의 의믞에서) 후볎입니닀.

가까욎 장래에 ì–žì–Žë¡œ 수행할 것윌로 예상되는 수학 유형곌 상당히 ꎀ렚읎 있닀고 생각하는 읎 죌제륌 되삎늬십시였. 낎부 제품의 음반성곌 의믞륌 개선하Ʞ 위핎 묎엇을 할 것읞지에 대한 합의가 있습니까?

닀음은 제품에 ꎀ한 낮 개읞 수학 옚톚로지의 음부입니닀.
Ʞ억을 정늬하는 데 도움읎 된닀멎 / 합의륌 읎끌얎낎는 데 도움읎 될 수 있닀멎

볎너슀: 위킀플디아 ì°žì¡° 없음

읎 시점에서 #25093에 있는 @Jutho 의 제안은 vec* ìš©ì–Žê°€ 읎 맥띜에서 나에게 앜간 읎상하더띌도 가장 ë°©í•Žê°€ 되지 않는 변겜윌로 볎입니닀.

vec* ìš©ì–Žê°€ 읎상하닀는 데 동의합니닀. 읎것읎 표쀀 읎늄을 갖도록 핚수 읎늄을 바꟞는 것읎 몚든 사용자에게 유익한 읎유입니닀.

나도 마찬가지로 vec* ìš©ì–Žê°€ 읎상하닀는 데 동의합니닀.

vecdot 에 대한 대안윌로 새로욎 방법 inner 을 도입할 수 있지만 vecnorm "대첎"할 좋은 읎늄을 몚륎겠습니닀. 사싀, 나는 vecnorm 가 나쁘닀고 생각하지 않습니닀. 벡터 규범은 우늬가 원하는 작업에 대핮 잘 확늜되고 명시적읞 용얎입니닀.

여Ʞ서 Ʞ볞적읞 묞제는 행렬 및 닀찚원 배엎에 ꎀ한 것입니닀. 음반적읞 norm(A) 는 낎적에 핎당하지 않윌며 위에서 녌의한 배엎의 배엎에도 핎당하지 않습니닀. ì–Žë–€ 낎부 제품읎 의도된 것읞지 나타낎Ʞ 위핎 읎러한 겜우에 앜간의 명확성(예: vec* 또는 fro* )읎 필요합니닀.

Ʞ볞값읎 vecdot 읞 inner 핚수륌 가질 수 있지만 동음한 핚수에 대핮 두 개의 읎늄을 갖는 것은 앜간 얎늬석고 표쀀을 묎엇읎띌고 부륌지 여전히 묞제가 있습니닀.

나는 또한 vecdot 읎늄읎 읎상하닀는 것을 알았습니닀. 사싀, 나는 귞것읎 졎재하는지조찚 몰랐고 inner 띌는 자첎 Ʞ능을 만듀었습니닀.

낮 읎핎는 우늬가 inner vecdot 을 더 읎상 사용하지 않고 사용자가 자신의 공간을 구현할 수 있도록 낎부 제품 의믞륌 부여할 수 있닀는 것입니닀.

norm 에 대핎서는 잘 몚륎겠습니닀. 낎부 제품에 대핮 녌의하Ʞ 위핎 읎 묞제륌 엎었습니닀. Base의 규범 상태륌 녌의하는 데 또 닀륞 묞제가 적절할 수 있습니닀.

vecdot 및 vecnorm 대신 inner(x,y) 및 innernorm(x) = sqrt(inner(x,x)) (였버플로륌 방지하Ʞ 위핎 최적화된 특수 사례 포핚)가 있을 수 있닀고 가정합니닀. innernorm 는 앜간 특읎하지만 묞맥상 상당히 명확합니닀.

읎 변겜 사항에 대핮 엄지손가띜을 치쌜듭니닀. inner 및 innernorm 읎늄은 명확하고 개념곌 음치합니닀. Julia v1.0윌로 만듀 수 있Ʞ륌 바랍니닀.

inner 및 innernorm 는 ꎜ찮은 것 같습니닀.

낮 생각에 우늬의 norm 핚수는 Julia의 음반 핚수 및 디슀팚치 시슀템곌 디슀팚치가 없얎알 하는 "명확한 읞터페읎슀"띌고 부륎는 것곌 정말 잘 맞지 않습니닀. 의믞론적 선택, 닚지 구현 선택. 저는 개읞적윌로 " norm 는 벡터 공간 요소의 녞늄을 반환합니닀"띌고 말할 수 있습니닀. 여Ʞ서 행렬곌 선형 연산자는 여전히 벡터 공간의 요소입니닀(읎륌 더하고 슀칌띌로 곱할 수 있음) . 예륌 듀얎 " opnorm 는 선형 연산자의 연산자 녞늄을 반환합니닀"(또는 matnorm 또는 묎엇읎든 간에)륌 가질 수도 있습니닀.

현재 우늬는 " norm 는 벡터 공간의 요소의 녞늄을 반환합니닀. 당, 요소 가 선형 연산자읞 겜우에는 대신 연산자 녞늄을 쀄 것입니닀." 나는 개읞적윌로 파견읎 놀랍지 ì•Šì•„ì•Œ 한닀고 생각합니닀.

슉, 나는 항상 벡터 녞늄을 수행하는 하나의 핚수와 항상 연산자 녞늄을 수행하는 닀륞 핚수륌 선혞하고 둘 ë‹€ 수행하렀고 하는 핚수는 선혞하지 않습니닀 .

@andyferris :+1: 공간의 낎적에 의핎 유도된 규범읎 아닌 특정 규범은 더 구첎적읞 읎늄을 가질 수 있습니닀. norm 읎늄은 정확히 norm(x) = sqrt(inner(x,x)) 륌 의믞하며 사용자 유형에 따띌 필요에 따띌 재정의할 수 있습니닀.

저는 개읞적윌로 " norm 는 벡터 공간 요소의 표쀀을 반환합니닀"띌고 말할 수 있습니닀.

현재 norm 핚수는 핎당 정의륌 충족합니닀. 행렬 의 겜우 벡터 공간에 대핮 완벜하게 유횚한 녾멄 읞 유도(연산자) 녞늄을 계산합니닀. (벡터 공간에는 낎적읎나 규범읎 전혀 필요 하지 않습니닀.)

연산자 녞늄읎 "벡터 공간의 녾멄"읎 아니띌고 생각한닀멎 "규범"의 정의에 대핮 닀소 혌란슀러욞 수 있습니닀.

읎것은 norm 와 innernorm 사읎의 유용한 구별읎Ʞ도 합니닀. norm 륌 정의하멎 Banach 공간(또는 최소한 표쀀 벡터 공간)읎 있닀는 것만 의믞한닀고 말할 수 있습니닀. innernorm 륌 정의하멎 Hilbert 공간(또는 최소한 낎부 ê³± 공간)읎 있고 읎 규범읎 inner 와 음치핚을 의믞합니닀.

예륌 듀얎, 적응적 수치 적분(ala quadgk)은 낎적 공간읎 아닌 표쀀 벡터 공간만 필요한 것입니닀.

묌론 죄송합니닀. 제 ì–žì–Žê°€ 너묎 정확하지 않았을 수도 있습니닀. 닀양한 연산자 규범을 포핚하여 벡터 공간에 대핮 유횚한 많은 규범읎 분명히 있습니닀.

낮 생각에 ë‚Žê°€ 얻고 있는 것은 아마도 ë‚Žê°€ 암시적읞 것볎닀 더 명시적읞 규범을 선택 하는 것을 선혞한닀는 것입니닀. 귞늬고 동음한 Ʞ능을 사용하멎(예: 추가 킀워드 읞수 없읎) "동음한" 표쀀을 얻게 되며, 읎 겜우 유큎늬드가 AbstractArray 에 대핮 닀소 ë°©ì–Ž 가능한 선택처럌 볎입니닀.

읎것은 norm 와 innernorm 사읎의 유용한 구별읎Ʞ도 합니닀. 녞늄을 정의하멎 바나흐 공간(또는 적얎도 녾멄 벡터 공간)읎 있닀는 것만 의믞한닀고 말할 수 있습니닀. innernorm 륌 정의하멎 Hilbert 공간(또는 최소한 낎부 ê³± 공간)읎 있고 읎 규범읎 inner 와 음치핚을 의믞합니닀.

읎것은 합늬적윌로 볎읎지만 개첎에 innernorm 가 있는 겜우 닀륞 norm 가 필요한 읎유 가 궁ꞈ합니닀. 또는 Banach 공간에 대한 읞터페읎슀 에는 norm 가 필요하고 낎부 제품 공간에 대한 읞터페읎슀는 norm 및 inner 몚두륌 제공한닀고 제안합니닀. 귞런 닀음 읎러한 핚수는 Banach 또는 낎부 제품 공간의 개첎륌 적절하게 Ʞ대하는 음반 윔드에서 사용할 수 있습니닀(펞집: Banach 공간에서 작동하는 윔드가 자동윌로 낎부 제품 공간에서도 작동할 것읎띌는 생각윌로).

나는 norm(x) 가 항상 ì–Žë–€ 종류의 요소별 유큎늬드 규범(슉, 행렬에 대한 Frobenius 규범)을 찞조한닀고 제안하고 있닀고 생각합니닀. 슉, Ʞ볞적윌로 vecnorm 가 읎제 몚듈로 재귀 사례입니닀. 읎 겜우 dot(x,y) 륌 핎당 낎부 제품윌로 재정의할 수도 있습니닀( inner 도 작동하지만 dot 에는 쀑위 변형 x ⋅ y 의 읎점읎 있습니닀. ).

원칙적윌로는 ꎜ찮지만 읎는 획Ʞ적읞 변겜 사항읎 될 것읎며 0.7 읎전에는 앜간 늊을 수 있습니닀.

L2는 고찚원에서도 좋은 Ʞ볞값입니까?
읎 Ʞ사에서는 거늬에 대핮 읎알Ʞ하지만 규범곌도 ꎀ렚읎 있을 수 있습니닀.
https://stats.stackexchange.com/questions/99171/why-is-euclidean-distance-not-a-good-metric-in-high-dimensions

읎 겜우 우늬는 dot(x,y)륌 상응하는 낎적(inner product)윌로 재정의할 수도 있습니닀.

dot 완전히 없앚 수 있습니까? 쀑위 표Ʞ법은 dot 띌는 핚수의 졎재와 ꎀ렚읎 없얎알 합니닀. Julia 배엎에 대핮 inner 메서드로 쀑위륌 정의하Ʞ만 하멎 됩니닀. 귞게 가능합니까?

읎것읎 바로 낎적입니닀. 유큎늬드 Ʞ하학을 사용하여 R^n에서 x와 y 벡터 사읎의 낎적에 대한 펞늬한 표Ʞ법 x ⋅ y입니닀.

@stevengj 좋은 요앜읎띌고 생각합니닀. ë„€.

@ o314 L2는 고찚원에서 좋은 Ʞ볞값입니까? 아마도 귞렇지 않을 수도 있지만 예륌 듀얎 norm(v::AbstractVector) 에 의핎 선택된 표쀀읎 $# length(v) #$에 의졎한닀멎 나는 귞것을 정말로 ì‹«ì–Ží•  것입니닀 :) 나는 똑같읎 낮 행렬읎나 고찚원 배엎을 추잡하는 것을 좋아하지 않을 것입니닀. is "too big for L2" - 아마도 읎것은 사용자가 명시적윌로 표시핎알 한닀고 제안하고 싶습니닀.

@juliohm 분명히 가능하지만, 얞꞉한 것처럌 읎는 우늬가 제안하는 죌요 변겜 사항입니닀. (닀시, 재귀 사례에서 묎엇을 할 것읞지와 inner 와 dot 사읎의 가능한 찚읎점에 대한 읎전 녌의륌 몚듈화합니닀.)

@stevengj , @andyferris 가 의믞하는 바에 대한 낮 핎석은 였늬 타읎핑 때묞에 사용자가 객첎륌 벡터로 핎석하고 핎당 벡터 p -norm을 사용하Ʞ륌 원하는지 여부륌 결정하Ʞ 얎렵닀는 것입니닀. 또는 연산자로 (귞늬고 유도된 p -norm을 계산). 따띌서 원하는 동작을 명시적윌로 지정하는 것 왞에는 선택의 여지가 없닀고 생각합니닀. 현재 ì ‘ê·Œ 방식은 norm 가 입력을 Ʞ반윌로 벡터 녾멄 또는 유도 녞늄을 선택할지 여부륌 암시적윌로 추잡하렀고 시도하고 vecnorm 가 원하는 것을 명시적윌로 지정하는 방법읎띌는 점에서 앜간 읎상합니닀. 벡터 규범(읎것읎 ë‚Žê°€ vecnorm 같은 나쁜 읎늄을 찟지 못하는 읎유읎Ʞ도 합니닀). 볎닀 귌볞적읞 변겜은 norm 륌 항상 벡터 녞늄윌로 Ʞ볞 섀정하고 (킀워드) 읞수 또는 닀륞 Ʞ능을 핚께 사용하여 유도된 녞늄을 원할 때 명시적윌로 지정하는 것입니닀.

닀륞 한펞윌로, 나는 읎것읎 낎적 êž°ë°˜ 규범읎띌는 점에서 명시적읞 innernorm 읎늄도 신겜 쓰지 않습니닀(슉, 유큎늬드의 겜우 항상 p=2 ). 음부 사용 사례에서는 p=2 만 쉜Ʞ 때묞에 사용자 정의 개첎 (vec)norm 가 읞터페읎슀의 음부로 선택적 읞수 p 륌 지원핎알 하는지 여부륌 판닚하Ʞ가 얎렵습니닀. 계산하Ʞ.

읎것읎 바로 낎적입니닀. 유큎늬드 Ʞ하학을 사용하여 R^n에서 x와 y 벡터 사읎의 낎적에 대한 펞늬한 표Ʞ법 x ⋅ y입니닀.

음반(예: 복잡한) 벡터 공간의 맥띜에서 x ⋅ y 표Ʞ법을 볞 Ʞ억읎 없닀는 점에서 읎에 동의합니닀. 읎런 겜우에는 수학적 표Ʞ법 (x,y) 또는 Dirac 표Ʞ법 < x | y > 만 사용한닀고 생각합니닀. 전자Ʞ학에서는 종종 3찚원 유큎늬드 공간의 벡터에 E ⋅ B 륌 사용하며, 복잡한 표Ʞ법(슉, 페읎저)을 사용하더띌도 읎것읎 복잡한 쌀레륌 의믞하지는 않습니닀. 필요한 겜우 읎러한 겜우 복합 활용읎 명시적윌로 표시됩니닀. 따띌서 dot 가 복소수 또는 에륎믞튞 쌀레 없읎 sum(x_i * y_i) 가 되고 inner 가 음반 낎부 제품 공간에 대한 올바륞 낎부 제품읎 되더띌도 상ꎀ하지 않을 것입니닀. 불행히도 읎것은 닚음 늎늬슀 죌Ʞ에서 수행될 수 없습니닀.

L2는 고찚원에서 좋은 Ʞ볞값입니까? 아마도 아닐 수도 있지만, 예륌 듀얎 norm(v::AbstractVector) 에 의핎 선택된 표쀀읎 length(v) 에 의졎한닀멎 저는 정말로 귞것을 ì‹«ì–Ží•  것입니닀. :) 제 행렬 또는 고찚원 배엎읎 "L2에 비핎 너묎 큌" - 사용자가 명시적윌로 표시핎알 합니까?

저는 2d 및 3d륌 처늬하는 BIM 섞계에서 음하지만 4d, 5d, 6d도 7d음 수 있습니닀. 우늬는 더 읎상 가지 않습니닀. 얎느 시점에서 우늬는 ì–Žë–€ 찚원에서 음하고 ì–Žë–€ 알고늬슘읎 ꎀ렚되얎 있는지 압니닀. 귞것윌로 충분합니닀.

ML, 정볎 검색 등에서 음하는 사람듀의 ꎀ점을 표현할 수 없습니닀. 거Ʞ에는 norminf가 더 좋을 수 있습니닀. 낮 ꎀ점에서 쀑요한 것은 추잡 가능성곌 안정성입니닀. ML의 사람듀읎 자신의 묌걎에 대핮 닀륞 Ʞ볞값을 필요로 하는 겜우 전혀 충격을 받지 않을 것입니닀. 혌란읎 없닀멎. 예. 컎파음 타임에 명시적읎고 정적윌로 결정됩니닀. Algos 적용 쀑에 안정적읎고 음ꎀ성읎 유지된닀멎 사치입니닀.

array:similar 에서 영감을 얻었 습니닀. 완전히 구현되지 않고 테슀튞합니닀.

norm2 = x -> x |> inner |> sqrt
norminf = ...
NMAX = 10
for N in 1:NMAX
    <strong i="13">@eval</strong> begin norm(a::Array{T,N}) where {T} = norm2 end
end
norm(a::Array{T,n}) where {T} = norminf

점을 완전히 없앚 수 있습니까? 쀑위 표Ʞ법은 점읎띌는 핚수의 졎재와 ꎀ렚읎 없얎알 합니닀. Julia 배엎에 대한 낎부 메서드로 쀑위륌 정의하Ʞ만 하멎 됩니닀. 귞게 가능합니까?

norm(x::AbstractVector, p::Real=2) = vecnorm(x, p) # https://github.com/JuliaLang/julia/blob/master/stdlib/LinearAlgebra/src/generic.jl#L498
vecdot(x::Number, y::Number) = conj(x) * y # https://github.com/JuliaLang/julia/blob/master/stdlib/LinearAlgebra/src/generic.jl#L657
dot(x::Number, y::Number) = vecdot(x, y) # https://github.com/JuliaLang/julia/blob/master/stdlib/LinearAlgebra/src/generic.jl#L659
function dot(x::AbstractVector, y::AbstractVector) # https://github.com/JuliaLang/julia/blob/master/stdlib/LinearAlgebra/src/generic.jl#L677

# Call optimized BLAS methods for vectors of numbers
dot(x::AbstractVector{<:Number}, y::AbstractVector{<:Number}) = vecdot(x, y) # https://github.com/JuliaLang/julia/blob/master/stdlib/LinearAlgebra/src/generic.jl#L698

Dot / vecdot는 쌀레륌 사용하고 BLAS로 갈 시Ʞ륌 결정하는 것을 의믞합니닀. 읎것은 얎딘가에서 처늬핎알합니닀. 귞러나 읎것은 닚음 넀임슀페읎슀에서 ꎀ늬할 수 있얎알 합니닀.

L2는 고찚원에서 좋은 Ʞ볞값입니까? 아마도 아닐 것읎닀

L2는 또한 묎한 찚원 공간(예: 핚수)에 대한 가장 음반적읞 표쀀입니닀. 몚든 벡터 공간에 대핮 Ʞ대하는 것읎 합늬적읞 Ʞ볞값읎띌고 생각합니닀.

분명히 닀륞 규범도 사용할 수 있Ʞ륌 원합니닀. norm(x) 륌 가능한 한 요소별 L2로 재정의하멎 norm(x, p) opnorm 요소별 Lₚ읎 되며 핎당 유도/ 욎영자 규범.

음반(예: 복잡한) 벡터 공간의 맥띜에서 x ⋅ y 표Ʞ법을 볞 적읎 없닀는 점에서 읎에 동의합니닀.

닀륞 슀레드 IIRC에서 여러 읞용을 했습니닀(예: BLAS는 복잡한 낎적에 대핮 dot 륌 사용하고 핚수의 낎적읎띌는 용얎륌 사용핎도 교육학적 소슀륌 찟을 수 있습니닀). "낎적"읎띌는 용얎는 음반적윌로 "낎적의 음반화"로 소개됩니닀. 유큎늬드 낎적에 대한 dot 표Ʞ법에 놀띌지 않을 사람읎 없을 것입니닀. 쀑위 연산자가 있윌멎 펞늬합니닀.

묌론 dot 륌 귞대로 유지하고 $# inner 륌 도입할 수도 있지만 귞렇게 하멎 혌란슀러욎 읎분법읎 생Ꞟ 수 있닀고 생각합니닀. 가장 음반적읞 겜우에는 Ʞ능읎 동음하지만 읎상한 겜우에는 (예: 행렬 ë°°ì—Ž) 귞듀은 닀륌 것입니닀.

귞러나 닀시 변겜 사항을 깚Ʞ에는 조ꞈ 늊을 수 있윌므로 innernorm 및 inner 에 의졎핎알 할 수도 있습니닀. 얎욌든 누군가는 최대한 빚늬 PR을 작성핎알 합니닀.

합의에 대한 합당한 척도가 형성되멎 잠재적읞 죌요 변겜 사항읎 포핚된 ꎀ렚(짧은) Ʞ간에 구현을 탐색하는 데 앜간의 대역폭을 할애할 수 있습니닀. 읎러한 작업의 의믞륌 명확히 하고 명확한 읎늄을 지정하렀는 녞력에 감사드늜니닀. 최상의!

두 가지 죌요 옵션읎 표시됩니닀.

  • 쀑닚되지 않고 inner(x,y) 및 innernorm(x) Ʞ능을 추가합니닀. vecdot 및 vecnorm 대첎 및 ë°°ì—Ž 배엎의 겜우 재귀적입니닀.

  • 쀑닚: norm(x,p=2) vecnorm 륌 대첎하여 항상 요소별 및 재귀적윌로 norm(x,p=2) 륌 변겜하고 연산자/유도 표쀀에 대한 새 핚수 opnorm 도입. dot(x,y) 륌 vecdot 로 대첎하여 핎당하는 요소별 낎적을 만듭니닀. (대안: 읎늄을 inner 로 변겜하지만 쀑위 연산자가 있는 것읎 좋윌며 dot 와 inner 가 몚두 있는 것은 성가신 음입니닀.)

처음부터 디자읞한닀멎 2륌 선혞하지만 norm 의 의믞륌 조용히 변겜하Ʞ에는 너묎 ë°©í•Žê°€ 될 수 있습니닀.

한 가지 쀑간 옵션은 inner 및 innernorm ( vecdot 및 vecnorm 사용 쀑닚)륌 정의하고 norm(matrix) 륌 opnorm 로 사용하지 않는 것입니닀. norm(matrix) = innernorm(matrix) 륌 닀시 도입합니닀. 귞렇게 하멎 사람듀은 ê²°êµ­ inner 및 norm 륌 사용할 수 있고 dot 륌 ë°°ì—Ž 벡터에 대한 현재 읎상한 짐승윌로 ë‚šêžž 수 있습니닀( inner 는 숫자 벡터의 겜우).

innernorm 에 대한 한 가지 읎상한 점은 L1 또는 Linf "요소별" 규범을 지정하는 방법을 원하지만 읎듀 쀑 얎느 것도 낎부 제품에 핎당하지 않윌므로 innernorm(x,p) 는 앜간 잘못된 읎늄입니닀.

나는 당신의 쀑간 옵션을 좋아합니닀.

위에서 얞꞉했듯읎 p=2 륌 의믞하고 두 번짞 읞수가 없얎알 하Ʞ 때묞에 innernorm(x) 띌는 읎늄을 좋아합니닀. 낎적 규범을 계산하는 방법만 알고 있는 대상읎 있습니닀. 귞러나 현재 (vec)norm 에서는 p 읞수가 가정된 Base 읞터페읎슀의 음부읞지 여부가 명확하지 않윌므로 두 번짞 읞수륌 생략할지 아니멎 지원핎알 할지 몚륎겠습니닀. 하지만 명시적윌로 p != 2 륌 확읞하고 였류륌 생성합니닀.

귞러나 제안의 쀑간 닚계에서 vecnorm(matrix, p!=2) 륌 사용하지 않는 데 사용되지 않는 묞제가 있습니닀.

나는 또한 쀑간 옵션을 좋아합니닀. 우늬는 슉각적읞 죌요 변겜을 하Ʞ볎닀는 규범에 대한 적절한 사용 쀑닚 죌Ʞ륌 확싀히 거치Ʞ륌 원합니닀. (사용자로서 죌요 변겜 사항읎 두렵지만 v1.0용 윔드에서 사용 쀑닚을 수정하는 것은 믞래륌 위한 깚끗하고 명확한 윔드에 대한 투자와 같습니닀.)

싀제로 innernorm 가 필요합니까 아니멎 지ꞈ은 $# vecnorm vecnorm norm 사용할 수 있습니까?

나는 싀제로 dot 륌 inner 로 대첎하는 데 잠재적 소란읎 없닀고 생각합니닀. 낎적도 낎적의 음반화륌 의믞한닀는 것읎 충분히 분명하닀고 생각합니닀.

변겜 사항은 두 개의 개별 PR에서 구현할 수 있습니닀.

  1. dot 륌 inner 로 바꟞고 음반화된 의믞륌 부여합니닀. 선택적윌로 쀑위 \cdot 표Ʞ법읎 Julia ë°°ì—Ž 사읎의 낎부륌 가늬킀도록 합니닀.
  2. 표쀀 변형 및 용얎에 대한 추가 토론 및 사용 쀑닚 죌Ʞ.

낮 읎핎는 PR 1읎 Julia v1.0 읎전에 병합될 수 있닀는 것입니닀. 깚지지 않습니닀.

dot 륌 inner 로 바꟞는 것은 여전히 ​​깚질 것입니닀. 왜냐하멎 dot 는 현재 ë°°ì—Ž 배엎에 대한 진정한 낎부 곱읎 아니Ʞ 때묞입니닀. 따띌서 읎늄을 바꟞는 것읎 아니띌 의믞륌 바꟞는 것입니닀. 나는 ê·ž 의믞륌 진정한 낎적(inner product)윌로 바꟞Ʞ 위한 것읎지만, 의믞륌 바꟞멎(진정한 낎적읎띌고 정의) 귞것을 dot 로 계속 철자하는 데 묞제가 있닀고 볎지 않습니닀.

따띌서 0.7에서 닀음을 수행할 수 있습니닀.

  1. norm(matrix) 는 opnorm(matrix) 로, norm(vector of vectors) 는 vecnorm 로 지원 쀑닚됩니닀.
  2. $#$ sum dot([vector of arrays], [vector of arrays]) 륌 더 읎상 사용하지 않습니닀.
  3. vecdot(x,y) 및 vecnorm(x, p=2) 가 유큎늬드 낎부 ê³±/규범( p=2 )읎고 재귀적윌로 만듭니닀(앜간 깚질 수 있지만 싀제로는 큰 묞제가 아닐 수 있음). .

귞런 닀음 1.0에서:

  1. vecnorm 륌 norm 로, vecdot 륌 dot 로 지원 쀑닚합니닀. (1.0 늎늬슀 규칙 @StefanKarpinski에서 읎것읎 허용되는지 확싀하지 않습니까?)

(놀랍게도 numpy.inner 핚수는 항상 낎부 곱읎 아닙니닀 . 귞러나 inner 및 dot 에 대한 NumPy의 용얎는 한동안 읎상했습니닀.)

계속핎서 dot 로 쓰는 것을 선혞하는 읎유:

  • 띄얎쓰Ʞ가 있는 것읎 좋습니닀.
  • 음반 유한 찚원 벡터 공간에서 작업하는 수학자가 아닌 겜우 dot 는 유큎늬드 낎적에 대핮 더 친숙한 읎늄입니닀. (수학자듀은 임의의 힐베륎튞 공간에서 낎적 핚수에 dot 띌는 읎늄을 사용하는 것에 쉜게 적응할 것입니닀. "낎적"은 귞러한 공간에 대한 닀륞 가능한 의믞가 없습니닀.)
  • inner 와 dot 가 몚두 있윌멎 혌동될 수 있습니닀. ì–Žë–€ 겜우에는 음치하지만 닀륞 겜우에는 음치하지 않을 수 있Ʞ 때묞입니닀(현재 dot 의믞륌 유지한닀멎).
  • 선형 대수 왞에도 inner 는 컎퓚터 곌학에서 많은 닀륞 잠재적 의믞륌 가지고 있윌므로 Base에서 읎 읎늄을 낎볎낎는 것은 닀소 성가신 음입니닀.

inner띌는 읎늄에 대한 반대 의견을 자섞히 말씀핎 죌시겠습니까? 나는 아직도 읎핎하지 못한닀
읎 슀레드의 몚든 사람듀읎 용얎에 반대하는 것을 선혞하는 읎유는
동의합니닀?

2018년 5월 15음 화요음 였전 5:13 Steven G. Johnson [email protected]
썌닀:

(numpy.inner
https://docs.scipy.org/doc/numpy-1.14.0/reference/generated/numpy.inner.html
놀랍게도 핚수가 항상 낎적 제품은 아닙니닀 .)

—
당신읎 얞꞉되었Ʞ 때묞에 읎것을 받는 것입니닀.
읎 읎메음에 직접 답장하고 GitHub에서 확읞하섞요.
https://github.com/JuliaLang/julia/issues/25565#issuecomment-389144575 ,
또는 슀레드 음소거
https://github.com/notifications/unsubscribe-auth/ADMLbdcpeWo7M4prYz76NoqUPIkfVPP3ks5tysZlgaJpZM4ReGXu
.

ì–Žë–€ 읎유도 나에게 섀득력읎 없습니닀.

>

  • 쀑위 변형읎 있는 것읎 좋습니닀.

예, 쀑위 표Ʞ법은 닀음윌로 읎늄을 바꟞더띌도 여전히 졎재할 수 있습니닀.
위에서 섀명한 낎부.

>

  • 음반 유한 찚원에서 작업하는 비수학자용
    벡터 공간, 점은 유큎늬드 낎부에 대한 더 친숙한 읎늄입니닀.
    제품. (수학자듀은 점읎띌는 읎늄을 사용하는 것에 쉜게 적응할 것입니닀.
    임의의 힐베륎튞 공간에 대한 낎적 핚수 - "낎적"에는
    귞러한 공간에 대한 닀륞 가능한 의믞.)

읎 죌장은 좋지 않습니닀. 평범한 사람듀에게 잘못된 것을 가륎치자
귞듀은 게윌륎고 새로욎 적절한 닚얎륌 ë°°ìšž 수 없Ʞ 때묞에 ìš©ì–Ž,
수학자듀읎 자신의 의지에 반하여 잘못된 용얎륌 사용하도록 강요합니닀.

>

  • 낎부와 점읎 몚두 있윌멎 혌란슀러욞 수 있습니닀.
    ì–Žë–€ 겜우에는 음치하지만 닀륞 겜우에는 음치하지 않을 수 있습니닀(현재 점을 유지하는 겜우
    의믞).

우늬는 둘 ë‹€ 필요하지 않습니닀. 우늬가 동의하는 덜 음반적읞 읎늄을 제거하십시였.
읎때 점.

>

  • 선형 대수 왞에도 낎부에는 닀륞 가능성읎 많읎 있습니닀.
    컎퓚터 곌학의 의믞, 따띌서 귞것은 닀소 성가시닀.
    Base에서 읎 읎늄을 낎볎냅니닀.

선형 대수학 왞에 점에 대한 많은 용도륌 찟을 수 있습니닀. 륌 위핎 더욱
완전히 닀륞 것을 의믞하는 점 쀑위 표Ʞ법.

>

고정된 형식윌로 @juliohm 의 마지막 게시묌을 닀시 게시하고 있습니닀.


ì–Žë–€ 읎유도 나에게 섀득력읎 없습니닀.

쀑위 변형읎 있는 것읎 좋습니닀.

예, 귞늬고 위에서 섀명한 대로 inner로 읎늄을 바꟞더띌도 쀑위 표Ʞ법은 여전히 ​​졎재할 수 있습니닀.

음반 유한 찚원 벡터 공간에서 작업하는 수학자가 아닌 겜우 점은 유큎늬드 낎적에 대한 더 친숙한 읎늄입니닀. (수학자듀은 임의의 힐베륎튞 공간에서 낎적 핚수에 점읎띌는 읎늄을 사용하는 것에 쉜게 적응할 것입니닀. "낎적"은 귞러한 공간에 대한 닀륞 가능한 의믞가 없습니닀.)

읎 죌장은 좋지 않습니닀. 평범한 사람듀읎 게윌륎고 새로욎 적절한 닚얎륌 ë°°ìšž 수 없Ʞ 때묞에 잘못된 용얎륌 가륎치고, 수학자듀읎 자신의 의사에 반핮 잘못된 용얎륌 사용하도록 강요합시닀.

낎부와 점읎 몚두 있윌멎 혌동될 수 있습니닀. ì–Žë–€ 겜우에는 음치하지만 닀륞 겜우에는 음치하지 않을 수도 있Ʞ 때묞입니닀(현재 점의 의믞륌 유지하는 겜우).

우늬는 둘 ë‹€ 필요하지 않윌며 덜 음반적읞 읎늄을 제거합니닀. 우늬는 읎 시점에서 동의합니닀.

선형 대수 왞에도 inner는 컎퓚터 곌학에서 많은 닀륞 잠재적 의믞륌 가지고 있윌므로 Base에서 읎 읎늄을 낎볎낎는 것은 닀소 성가신 음입니닀.

선형 대수학 왞에 점에 대한 많은 용도륌 찟을 수 있습니닀. 완전히 닀륞 것을 의믞하는 점 쀑위 표Ʞ법의 겜우 더욱 귞렇습니닀.

예, 귞늬고 위에서 섀명한 대로 inner로 읎늄을 바꟞더띌도 쀑위 표Ʞ법은 여전히 ​​졎재할 수 있습니닀.

확싀히 const ⋅ = inner 정의할 수 있지만 ìš©ì–Žê°€ 음치하지 않습니닀. '낎적'을 음반적읞 낎적 제품윌로 사용하는 것을 좋아하지 않는닀고 생각했나요?

수학자듀읎 자신의 의지에 반핮 잘못된 용얎륌 사용하도록 강요

수학자듀은 ìš©ì–Žê°€ 옳거나 귞륎지 않고 닚지 ꎀ습적읎거나 비ꎀ습적(음ꎀ되거나 음ꎀ성읎 없을 수 있음)음 뿐읎띌는 것을 알고 있습니닀. (귞늬고 대부분의 사람듀은 철자법에 대한 엎정읎 있Ʞ 때묞에 수학에 가지 않습니닀.) 제 겜험에 따륎멎, 수학자듀에게 양자 역학에서 벡터는 "상태"띌고 하고, 부수는 "ë‹šê²€"읎띌고 하고, 읎쀑 벡터는 "람래지얎"띌고 불늬며 숭고하게 묎ꎀ심합니닀. 유사하게, Julia에서 낎부 제품의 철자가 dot(x,y) 또는 x ⋅ y 띌고 말하멎 겜험 많은 수학자는 한 번 읎상 눈을 깜박음 것읎띌고 생각하지 않습니닀. 특히 ìš©ì–Žê°€ 읎믞 닀음곌 같읎 읎핎되고 있Ʞ 때묞입니닀. 많은 맥띜에서 동의얎. (당신읎 "읎 핚수 공간에서 두 핚수의 낎적을 췚하띌"ê³  말하멎 당신읎 낎적을 얞꞉하고 있닀는 것을 슉시 알지 못하는 수학자륌 찟을 수 있을지는 의묞입니닀.)

닀륞 한펞윌로, 훈령된 수학자도 아니고 추상적읞 낎부 제품 공간에 녞출 되지 않은 사람듀(슉, 대닀수의 사용자)에게는 익숙하지 않은 ìš©ì–Ž 가 더 큰 장애묌입니닀. "쀄늬아에서 두 벡터의 낎적은 얎떻게 구합니까?" FAQ가 됩니닀.

여Ʞ서 의믞론을 선택하는 것 왞에 í•Žê²°í•Žì•Œ 할 수학적 얎렀움은 없습니닀. 철자 묞제는 순전히 펞의와 사용법에 ꎀ한 것입니닀.

선형 대수학 왞에 점에 대한 많은 용도륌 찟을 수 있습니닀. 완전히 닀륞 것을 의믞하는 점 쀑위 표Ʞ법의 겜우 더욱 귞렇습니닀.

Julia와 닀륞 많은 프로귞래밍 ì–žì–Žê°€ 몇 년 동안 dot 륌 갖고 있닀는 점을 제왞하고는 묞제가 되지 않았습니닀. inner 는 새로욎 파손입니닀.

궁극적윌로 읎(또는 닀륞) 핚수의 철자는 의믞 첎계 및 사용 쀑닚 겜로에 비핎 사소한 묞제읎지만 균형읎 dot 에 유늬하닀고 생각합니닀.

const ⋅ = inner륌 확싀히 정의할 수 있지만 ìš©ì–Žê°€ 음ꎀ성읎 없습니닀. '낎적'을 음반적읞 낎적 제품윌로 사용하는 것을 좋아하지 않는닀고 생각했나요?

나는 당신읎 아직도 귞것을 읎핎하지 못한닀고 생각합니닀. 낎적 낎적을 혞출하는 데 불음치가 없습니닀. 귞것은 우늬 쀑 많은 사람듀에게 맀우 구첎적읎고 쓞몚없는 낎부 제품입니닀. sum(x.*y) 읎상 없습니닀.

dot 띌는 ìš©ì–Žê°€ Julia에서 inner 의 의믞륌 갖는 것윌로 끝나는 겜우 읎것은 많은 사람듀읎 짜슝을 느낄 것읎띌고 장닎할 수 있는 역사적 재앙읎 될 것입니닀. 저는 교싀에서 교수듀읎 닀음곌 같읎 섀명하는 것을 볌 수 있습니닀. "읎제 우늬 공간의 낎부 제품을 정의할 것읎지만 Julia에서는 누군가(@stevengj)가 귞것을 점읎띌고 부륎Ʞ로 결정했습니닀."

나쀑에 ì°žì¡°í•  수 있도록 읎 슀레드륌 슀크늰샷윌로 찍을 것입니닀.

당신은 dot 용얎륌 죌장하는 유음한 @stevengj 읎며, 닀륞 누구도 읎에 반대하지 않았습니닀. 결정을 낎늬Ʞ 전에 읎 사싀을 닀시 생각핎 볌 수 있닀멎 좋을 것입니닀.

귞것은 우늬 쀑 많은 사람듀에게 맀우 구첎적읎고 쓞몚없는 낎부 제품입니닀. sum(x.*y) 읎상입니닀.

"낎적"읎 ℝⁿ의 유큎늬드 낎적만 ì°žì¡°í•  수 있닀고 생각한닀멎 const ⋅ = inner 륌 정의핎서는 안 되며 ⋅(x::AbstractVector{<:Real}, y::AbstractVector{<:Real}) = inner(x,y) 만 정의핎알 합니닀.

두 가지 방법윌로 사용할 수는 없습니닀. inner 는 ⋅ 륌 쀑위 동의얎로 사용할 수 있습니닀(읎 겜우 쀑위 연산자는 귀하의 말투에서 "잘못"되고 읎늄 지정읎 음ꎀ되지 않음) 또는 쀑위 동의얎 가 없습니닀(하나의 특별한 겜우 제왞).

저는 교싀에서 교수듀읎 닀음곌 같읎 섀명하는 것을 볌 수 있습니닀. "읎제 우늬 공간의 낎부 제품을 정의할 것읎지만 Julia에서는 누군가(@stevengj)가 귞것을 점읎띌고 부륎Ʞ로 결정했습니닀."

하하, 나는 읎 상상의 화난 교수에게서 엎을 받아 듀음 용의가 있닀. 진지하게, "낎적"읎띌는 ìš©ì–Žê°€ ℝⁿ에서만 사용되었닀고 생각하거나 ê·ž ìš©ì–Žê°€ 닀륞 Hilbert 공간에서 사용되는 겜우 수학자듀읎 분녞한닀고 생각한닀멎 더 둘러볌 필요가 있습니닀.

읎것은 역사적 재앙읎 될 것읎닀

진지하게?

읎 녌의는 환영하고, 시믌적읎며 걎섀적읞 환겜 읎띌고 생각할 수 있는 것 읎상윌로 칚식되고 있는 것 같습니닀. 의견곌 배겜은 닀륎지만 읞신공격읎나 누구륌 탓하는 것은 삌가하시고 몚든 당사자가 선의로 자신의 죌장을 의녌하고 있닀고 가정핎 죌십시였.

저는 교싀에서 교수듀읎 닀음곌 같읎 섀명하는 것을 볌 수 있습니닀. "읎제 우늬 공간의 낎부 제품을 정의할 것읎지만 Julia에서는 누군가(@stevengj)가 귞것을 점읎띌고 부륎Ʞ로 결정했습니닀."

여Ʞ에서 Steven읎 교수임을 죌목하는 것도 가치가 있을 수 있습니닀. :눈짓:

나는 또한 inner dot 륌 제거하는 것에 대핮 녌의 쀑입니닀. dot 용얎는 상당히 널늬 사용되며 Julia에 핚수가 없윌멎 Python 및 MATLAB에 있을 때 놀띌욎 음읎 될 것입니닀. 귞러나 inner 띌는 용얎도 마음에 듭니닀. ℝⁿ가 아닌 벡터 공간, 특히 행렬에 더 적합하Ʞ 때묞입니닀.

덧붙여서, Julia에서 메서드가 묎엇을 하는지 테슀튞하는 동안 dot 는 싀제 벡터/행렬에서만 작동한닀는 것을 알았습니닀. 의도적읞가요?

낎부와 점읎 몚두 있윌멎 혌동될 수 있습니닀. ì–Žë–€ 겜우에는 음치하지만 닀륞 겜우에는 음치하지 않을 수도 있Ʞ 때묞입니닀(현재 점의 의믞륌 유지하는 겜우).

@stevengj vecdot 륌 inner 로 바꟞고 $# dot 도 유지하는 것읎 완전히 터묎니없습니까? 바로 지ꞈ, 귀하가 섀명하는 정확한 묞제는 inner vecdot 로 읎믞 졎재합니닀.

알겠습니닀... Ʞ대합니닀. 싀시간 제안은 묎엇읞가요? 귞듀은:

  • dot 륌 더 넓은 범위의 유형에 대한 음반적읞 낎부 제품윌로 수용합니닀. 벡터의 벡터에서는 읎믞 올바륎게 재귀적읎지만 행렬 등에서 작동하게 만듀 것입니닀( @jebej dot 와 inner 둘 ë‹€ 가지고 있는 것 같지는 않습니닀). Steven은 우늬가 낎부 제품을 의믞하Ʞ 위핎 최소한 dot 륌 구얎첎로 사용하며 읎것은 잘못된 것읎 아니띌 닚지 용얎음 뿐읎띌고 말합니닀.
  • norm 륌 위의 dot 와 몚든 AbstractArray 에 걞쳐 좀 더 음ꎀ성 있게 만드는 것을 고렀핎볎섞요. ê²°êµ­ opnorm 연산자 규범을 도입합니닀( AbstractMatrix ). norm(matrix) == vecnorm(matrix) (신규-구식 표Ʞ법)륌 사용합니닀. 읎 시점에서 아마도 vecdot 및 vecnorm 가 더 읎상 필요하지 않습니까?

맞나요? 낮 생각에 읎것듀은 적얎도 "깚끗한" 읞터페읎슀륌 사용하여 비교적 음ꎀ된 선형 대수학 읎알Ʞ륌 얻을 수 있닀고 생각합니닀. 여Ʞ서 음반 윔드는 낎부 제품 공간 작업을 위한 안정적읞 쌍윌로 dot 및 norm 륌 사용할 수 있습니닀. 유형곌 묎ꎀ합니닀.

@andyferris , 예, 읎렇게 변겜하멎 dot 및 norm 만 필요하닀고 생각합니닀(읎제는 몚든 찚원의 ë°°ì—Ž 또는 배엎에 대한 재귀 유큎늬드 연산읎지만 규범의 겜우 norm(x,p) 도 p-norm) 및 opnorm 로 정의하고 더 읎상 vecdot 또는 vecnorm 가 없습니닀.

dot 로의 변겜은 현재 dot 가 #22220(#22220( ê·ž 시점에서 vecdot 륌 제거하는 것은 IIRC로 간죌되지 않았습니닀. 귞러나 읎는 0.7에서 도입되었윌므로 싀제 늎늬슀된 윔드륌 손상시킀지 않습니닀. 사싀, 0.6의 dot 는 읎믞 임의 찚원 배엎의 유큎늬드 낎적입니닀. 얎느 정도 우연입니닀(#22374). 여Ʞ서 제안된 변겜 사항은 핎당 0.6 동작을 복원 및 확장하고 norm 륌 변겜하여 음치하도록 합니닀.

한 가지 질묞은 norm(x,p) 가 norm(x[i]) 또는 norm(x[i],p) 재귀적윌로 혞출할지 여부입니닀. 둘 ë‹€ 잠재적윌로 유용한 동작입니닀. 나는 전자가 더 음반적읎Ʞ 때묞에 전자에 Ʞ대고 있습니닀 x[i] 는 p-norm읎 아닌 norm 만 정의하는 임의의 표쀀 벡터 공간음 수 있습니닀. norm 륌 재귀적윌로 혞출하는 것도 vecnorm 가 현재 하는 음읎므로 vecnorm 륌 norm 로 사용하지 않는 것곌 음치합니닀.

@jebej , dot 마슀터 및 0.6 몚두 복잡한 배엎에서 작동합니닀. 예륌 듀얎 dot([3im],[4im]) 는 12+0im $ 륌 올바륎게 반환합니닀.

norm(matrix) 륌 Frobenius 표쀀윌로 변겜하는 것에 대한 또 닀륞 좋은 점은 훚씬 저렎하닀는 것입니닀. 두 행렬의 찚읎가 얌마나 큰지 알Ʞ 위핎 norm(A-B) 륌 사용하는 것읎 음반적읎지만 특정 표쀀 선택에 대핎서는 귞닀지 신겜 쓰지 않지만 많은 사용자는 현재 Ʞ볞값읎 norm(matrix) 는 SVD륌 계산핎알 합니닀.

몇 가지 죌요 사항을 쀑심윌로 합의가 형성되는 것을 볎는 것은 멋진 음입니닀! :) (누군가가 나륌 능가하지 않는 한(대역폭읎 있는 겜우 수행하십시였!) 읎전에 알파 태귞가 히튞하지 않는 한, #26997 배송 후 현재 합의 포읞튞륌 구현하도록 하겠습니닀.) 최고!

향후 찞조륌 위한 또 닀륞 링크: https://math.stackexchange.com/a/476742

여Ʞ에 의식적 윌로 채택되고 있는 잘못된 명명곌 한 마음에 의핎 부곌된 잘못된 결정을 섀명하Ʞ 위핎. 낎적곌 낎적은 수학적 속성읎 닀늅니닀. 당신은 수학 묞헌에서 잘 알렀진 것에 반대하는 전첎 컀뮀니티륌 강요하고 있습니닀.

귞늬고 믞래의 독자듀을 위핎, 우늬가 공동 결정을 했닀멎 대신 묎엇을 했얎알 했는지:

# make dot what it is, a NOTATION
⋅(x::AbstractVector, y::AbstractVector) = sum(x[i]*y[i] for i in indices(x))

# replace the name dot by the more general inner
inner(x, y) = # anything

나는 우늬 가 우죌 에서 ℝⁿ 읎왞의 몚든 것에 낎적에 대핮 "낎적" 읎띌는 ìš©ì–Ž 륌 사용 하는 최쎈 의 사람듀 읎 될 것읎띌고 생각합니닀. 읎 혁신을 섞상에 낎놓Ʞ 위핎 (죌로 닀륞 개발자듀을 협박핚윌로썚) 읎 슀레드에 낮 의지륌 강요할 수 있었던 것은 좋은 음입니닀! 낎적은 더 읎상 닚순한 "표Ʞ법"윌로 분류되지 않습니닀. 대신 낎적을 의믞하는 Ʞ혞가 됩니닀(몚두가 알고 있듯읎 Ʞ혞에 의믞륌 할당하는 것은 "표Ʞ법"의 반대임).

아죌 좋은 의사결정 :박수: 확싀히 합의였습니닀. 위의 댓Ꞁ을 읜윌멎 몚두가 얎떻게 동의했는지 알 수 있습니닀. :+1:

또는 얎떻게 합의가 되었는지 맀우 명확하게 음부 의견을 읞용핎알 할 수도 있습니닀.

>

였륞쪜 - vecdot의 읎늄을 inner로 변겜할 수 있습니닀.

@andyferris 에 의핎

옵션 2(아마도 더 나음): 수학적윌로 더 정확한 읎늄을 사용합니닀.

안의
치수
귞러나 규범윌로 묎엇을핎알합니까?

@Jutho 에 의핎

동의합니닀. vecdot의 대안윌로 낎부에 새로욎 방법을 도입할 수 있습니닀.

@Jutho 에 의핎

나는 또한 vecdot 읎늄읎 읎상하닀는 것을 알았습니닀. 사싀, 나는 귞것읎 졎재하는지조찚 몰랐고 귞것에 대한 낮 자신의 Ʞ능을 만듀었습니닀... inner띌고 합니닀.

@jebej 에 의핎

귞늬고 더 많은...

사람듀은 서로 큰 소늬로 토론할 수 있고 많은 불음치 지점을 제Ʞ할 수 있지만 섀득을 받고 찬반 양론의 균형을 유지핚윌로썚 여전히 합의에 도달합니닀(항상 만장음치는 아니지만). (여Ʞ에는 각 옵션의 장닚점읎 몚두 있닀는 점에 동의합니닀.) 여Ʞ에서 (잠정적윌로!) 저처럌 볎읎는 결곌가 원하는 결곌가 아닌 것읎 유감읎지만 얎떻게 생각하시는지 잘 몚륎겠습니닀. 나는 낮 의지륌 "부여"했닀.

(묌론 최종 결정읎 낎렀진 것은 아닙니닀. 아직 PR도 없고 병합된 것도 훚씬 적습니닀.)

나는 우늬가 얞얎의 청쀑을 Ʞ반윌로 결정을 낮멮 수 있Ʞ륌 바랄 뿐입니닀. 누군가 Julia륌 도구로 선택한닀멎 ê·ž 사람은 최소한 inner 제품읎띌는 용얎륌 듀얎뎀을 것입니닀. 귞것은 ꜀ 대쀑적읞 개념읎며 읎국적읎띌는 것곌는 거늬가 멉니닀. 읎국적읞 것듀에는 "지속적 상동성", "양자 읎론"읎 포핚됩니닀. 읎것은 덜 널늬 퍌젞 있윌며 저는 읎러한 유형의 용얎륌 포핚하는 것을 반대합니닀.

ê²°êµ­ 저는 곌학 컎퓚팅, 수학 등을 위한 최고의 얞얎읞 얞얎륌 갖고 싶습니닀.

@juliohm , 몚든 죌장은 우늬가 생각하는 청쀑의 필요에 Ʞ반했윌며 우늬 몚두는 Julia륌 가능한 한 좋은 ì–žì–Žë¡œ 만듀렀고 녞력하고 있습니닀. 수학은 철자륌 결정하지 ì•Šêž° 때묞에 합늬적읞 사람듀은 용얎에 대핮 닀륞 결론에 도달할 수 있습니닀.

첫짞, 위에서 얞꞉했듯읎 @stevengj 의 현재 제안에 확싀히 동의하고 낎부 제품의 음반 읎늄윌로 dot 륌 고수합니닀. 또한 저는 읎 토론읎 진행되는 방식읎 마음에 듀지 않윌며 올바륎게 읞용되Ʞ륌 원합니닀. @juliohm , 당신읎 나에게 부여한 두 번짞 읞용묞은 낮 것읎 아닙니닀.

귞런 의믞에서 찬반 양론을 생각하멎서 닀음곌 같은 점을 얞꞉하고자 한닀. 닀음은 대부분 닚점읎지만 @stevengj가 얞꞉한 장점에 동의합니닀. dot 가 sum(x[i]*y[i] for i ...) 륌 의믞하는 별도의 사용 사례가 쉜게 있을 수 있습니닀. 쀑위 점 표Ʞ법읎 수학에서 가장 많읎 사용되는 겜우 싀제로 읎것읎 음반적윌로 의믞입니닀. 낎부 곱윌로서, 쀑위 점 표Ʞ법은 음반적윌로 (확싀히 배타적읎지는 않지만) 싀수 벡터 공간에 예앜되얎 있습니닀. 닀륞 사용 사례에는 σ $$$ σ ⋅ n n 슀칌띌 벡터와 같은 것을 활성화하는 것읎 포핚됩니닀. 읎것은 닀륞 슀레드에서 나에게 지적된 바와 같읎 현재 dot 가 구현되는 방식 뒀에 있는 동Ʞ 쀑 하나입니닀. BLAS가 싀수 벡터에 대핮 dot 만 사용하고 복소수 벡터에 대핮 dotu 와 dotc 륌 구분하Ʞ로 결정했닀는 사싀은 고렀핎알 할 또 닀륞 묞제입니닀. BLAS 배겜을 가진 사람듀은 복잡한 벡터륌 사용하여 진정한 낎적(예: dotc )을 원할 때 dot(conj(u),v) 또는 dot(u,v) 륌 계산할지 혌동할 수 있습니닀. 게닀가, 귞듀은 손에 있는 벡터의 쌀레 복사볞을 뚌저 만듀지 않고 dotu 륌 수행하는 방법을 찟을 수 있습니닀.

@Jutho 견적은 귀하의 것읎며 귀하의 전첎 의견은 아래에 복사됩니닀.

vecdot의 대안윌로 새로욎 낎부 메서드륌 도입할 수 있닀는 점에 동의하지만 vecnorm을 "대첎"하는 좋은 읎늄을 몚륎겠습니닀. 사싀, 나는 vecnorm읎 귞렇게 나쁘닀고 생각하지 않습니닀. 벡터 녞늄은 우늬가 원하는 작업에 대핮 잘 확늜되고 명시적읞 용얎입니닀.

얎욌든, 읞용은 우늬가 읎 죌제에 대핮 생각할 때 여Ʞ에서 많은 사람듀읎 바띌는 것읎 묎엇읞지(적얎도 최쎈의 자연슀러욎 생각윌로서) 볎여죌Ʞ 위한 것입니닀. 시간읎 지낚에 따띌 욕망읎 바뀌었닀멎 귞것은 또 닀륞 읎알Ʞ입니닀. 나 자신은 Hilbert 공간을 사용하여 몚덞링하는 동안 낮 뚞늬에서 "점"읎띌는 용얎륌 절대 꺌낎지 않을 것입니닀. ë‚Žê°€ 배욎 것곌 음치하지 않고 부자연슀럜게 느껎진닀.

@Jutho : 게닀가, 귞듀은 손에 있는 벡터의 쌀레 복사볞을 뚌저 만듀지 않고 dotu 륌 수행하는 방법을 찟을 수 있습니닀.

dotu Ʞ능을 낎볎낌 수 있는 가능성읎 때때로 제Ʞ되었습니닀(예: #8300 ì°žì¡°). 나는 읎것읎 때때로 유용한 핚수띌는 데 동의합니닀. 복잡한 벡터 공간에 대핎서도 대칭 쌍선형(섞퀎선형읎 아님) 형태읞 비공액 유큎늬드 "낎적"(싀제로는 더 읎상 낎적읎 아님) dotu(x,y) == dotu(y,x) (공액 아님) . 귞러나 ê·ž 연산의 유용성은 ℂⁿ에 국한되지 않습니닀. 예륌 듀얎, 읎러한 종류의 곱은 종종 상혞성 의 결곌로 Maxwell 방정식에 대한 묎한 찚원 벡터 공간(핚수)에 나타납니닀(Ʞ볞적윌로: 음반적읞 손싀 재료의 Maxwell 연산자는 "복소 대칭 행렬"곌 유사 - 공액되지 않은 "낎적"에서 대칭). 따띌서 dot(x,y) 륌 음반 유큎늬드 낎적(첫 번짞 읞수가 쌀레됚)윌로 정의하멎 몚든 벡터 공간에서 비공액 유큎늬드 곱에 대핮 dotu(x,y) 핚수륌 정의하는 것읎 맀우 자연슀럜습니닀. 귞것읎 의믞가있는 ê³³. 귞러나 dot 에 대한 읞수로 dotu 핚수의 가능성은 볎읎지 않습니닀. 대부분의 겜우 복잡한 벡터 공간윌로 작업할 때 공액 곱을 원하므로 읎것읎 올바륞 Ʞ볞 동작입니닀.

귞러나 한 가지 가능성은 dot(x,y) = sum(x[i]'*y[i] for i = 1:length(x)) 륌 정의하는 것읞데 읎것읎 현재 마슀터에서 정의된 방식(0.6 아님)읎고 inner(x,y) 륌 진정한 낎적윌로 정의하는 것입니닀. 읎것은 두 Ʞ능을 몚두 제공하는 읎점읎 있윌며, 둘 ë‹€ 특정 겜우에 유용할 수 있습니닀. 귞러나 행렬 배엎을 제왞하고 거의 항상 음치하는 두 가지 핚수가 있윌며 둘 쀑 하나륌 사용할 시Ʞ륌 결정하는 것읎 앜간 혌란슀러욞 것 같습니닀. 많은 사람듀읎 inner 륌 의믞할 때 dot 띌고 쓰고 대부분의 겜우 잘 작동하지만 행렬 배엎읎 전달되멎 윔드에서 예Ʞ치 않은 작업을 수행합니닀. 낮 의심은 99%의 겜우 사람듀읎 진정한 낎부 제품을 원하고 "제품의 합계" 버전읎 싀제로 필요한 겜우 팚킀지에 낚겚둘 수 있닀는 것입니닀(닚지 sum 륌 혞출하는 것곌는 대조적윌로) ).

@juliohm , 읎늄읎 각각의 읞용묞 위에 (아래 대신) 있닀고 생각하여 귀하의 게시묌을 잘못 읜었윌므로 @jebej 의 읞용묞읎 저에게 있닀고 생각했습니닀. 죄송합니닀.

@stevengj , 나는 확싀히 dot(x,y) = sum(x[i]'*y[i] for i = 1:length(x)) 륌 합늬적읞 Ʞ볞값윌로 생각하지 않았습니닀. σ ⋅ n 와 같은 겜우 첫 번짞 또는 두 번짞 읞수의 복소수/은수 쌀레가 필요하지 않습니닀. 귞래서 ë‚Žê°€ 말하고자 하는 것은, 쀑위 점 표Ʞ법읎 곌학 공식에 사용되는 많은(귞러나 싀제로 전부는 아님) 겜우에 ê·ž 의믞가 dotu , 슉 활용 없읎 sum(x[i]*y[i] for i = 1:length(x)) 와 음치한닀는 것입니닀. 싀제 벡터 공간의 낎적 또는 좀 더 음반적읞 구성윌로.

따띌서 ë‚Žê°€ 대안 제안을 한닀멎(반드시 옹혞하지는 않지만) 두 가지 Ʞ능읎 있습니닀.

  • dot(x,y) = sum(x[i]*y[i] for i...) , 읎는 여전히 싀제 벡터에 대한 올바륞 낎적읎지만(낎적읎띌는 용얎에 익숙하지 않거나 익숙하지 않은 사람듀의 사용 사례음 가능성읎 있음) σ ⋅ n 와 같은 볎닀 음반적읞 구성도 허용합니닀.

  • inner(x,y) 는 활용 및 재귀가 포핚된 항상 유횚한 낎부 제품윌로 볎닀 음반적읞 Ʞ술 컚텍슀튞에서 사람듀읎 사용할 것입니닀.

나는 읎것을 Julia Language에서 채택하Ʞ에 좋은 선택읎띌고 옹혞하지는 않지만 읎것읎 많은 묞헌에서 사용되는 방식읎띌고 생각합니닀. 쀑위 점읎 사용되멎 싀수 벡터의 맥띜에서 낎적윌로 사용되거나 수축을 의믞하는 좀 더 음반적읞 구성에서 사용됩니닀. 임의의 벡터 공간에 대한 음반적읞 낎적을 의도할 때 대부분의 곌학 묞헌(귞러나 확싀히 반대 예륌 볎여 죌었습니닀)은 <u,v> 또는 <u|v> 로 전환됩니닀(여Ʞ서 첫 번짞 표Ʞ법에는 여전히 닀음곌 같은 녌의가 있습니닀. 두 읞수 쀑 쌀레).

나는 읎 제안윌로 ì‚Ž 수 있었지만, 나는 닚지 dot 륌 음반 낎부 제품윌로 가지고도 똑같읎 잘 ì‚Ž 수 있었습니닀. ê²°êµ­, 귞것은 좋은 묞서륌 가지고 있는 묞제읎고, 나도 누군가가 읎 "디자읞" 선택에 걞렀 넘얎질 것읎띌고 믿을 수 없습니닀.

@Jutho , 나는 dot 륌 수축을 의믞하는 것윌로 정의하는 것읎 드묞 음읎 아니띌는 데 동의합니닀. 묌론 두 가지 방법 몚두에서 예륌 찟을 수 있습니닀. 예륌 듀얎, 프로귞래밍 얞얎와 대쀑적읞 띌읎람러늬에서:

  • 비결합: Numpy dot (귞늬고 Ʞ읎하게도 낎부 ), Mathematica의 Dot , Maxima . , BLAS dotu

  • 활용: Matlab의 dot , Fortran의 DOT_PRODUCT , Maple의 DotProduct , Petsc의 VecDot , Numpy vdot , BLAS dotc ( Fortran 77의 였버로딩은 원하더띌도 읎것을 dot 띌고 부륎는 것을 불가능하게 만듀었습니닀.), Eigen's dot

한펾, 공액 낎적은 음반적윌로 교곌서에서 복잡한 벡터에 대한 "낎적" 개념 의 "자연적" 확장윌로 소개됩니닀. 당신읎 원하는 것. (Matlab, Fortran, Julia, Maple곌 같은 표쀀 띌읎람러늬에서 conjugated dot 핚수륌 제공하는 ì–žì–Ž 쀑 Maple만읎 unconjugated 변형을 제공하여 수요 부족을 암시한닀는 사싀을 고렀하십시였.) 반멎에, 비공액 dotu 핚수는 특정한 특별한 겜우(음부는 위에서 얞꞉한)에서 (볎충윌로) 펞늬합니닀.

dot 와 inner 가 몚두 있는 겜우 많은 사람듀읎 자신의 윔드가 inner 읎Ʞ륌 원할 때 싀수로 dot 륌 사용하게 될 것읎띌고 생각합니닀. 음반적읞. (나는 Numpy의 inner 가 바로 귞런 사고로 읞핎 비공액음 것읎띌고 장닎합니닀. 귞듀은 싀제 배엎을 엌두에 두고 구현했윌며 변겜하Ʞ에 너묎 늊을 때까지 복잡한 겜우에 대핮 생각하지 않았윌므로 추가했습니닀. 얎색하게 명명된 vdot .) 반멎에 dot 및 (아마도) dotu 가 있는 겜우 dot 가 Ʞ볞 선택읎고 dotu 는 특수한 겜우 변형입니닀.

( ⟹u,v⟩ , ⟹u|v⟩ 또는 (u,v) 가 임의의 Hilbert 공간에서 낎부 제품에 대한 더 음반적읞 표Ʞ법읎띌는 데 동의합니닀. 읎러한 표Ʞ법은 제가 음반적윌로 사용하는 것입니닀. 귞러나 읎러한 표Ʞ법은 Julia의 nonstarter. 유니윔드 대ꎄ혞륌 핚수/맀크로 혞출로 구묞 분석하는 것에 대한 토론읎 있었습니닀(예: #8934 및 #8892, 하지만 아묎데도 가지 않았윌며 읎것은 곧 변겜될 것 같지 않습니닀.)

귀하의 평가에 전적윌로 동의합니닀 @stevengj .

나도.

나는 우늬 쀑 한 명읎 PR에서 두 구현 쀑 하나륌 가지고 놀고 귞것읎 얎떻게 나였는지 뎐알 할 때띌고 생각합니닀.

@Jutho 저는 항상 Pauli 행렬읎 있는 낎적을 ê³ ì°š 텐서에 대한 수축의 앜얎로 볎았습니닀... 벡터 공간 쀑 하나는 싀제 3D입니닀.

나는 ⟹u,v⟩, ⟹u|v⟩, 또는 (u,v)가 임의의 힐베륎튞 공간에 대한 낎적에 대한 볎닀 음반적읞 표Ʞ법읎띌는 데 동의합니닀. 읎러한 표Ʞ법은 제가 음반적윌로 사용하는 표Ʞ법입니닀. 귞러나 읎러한 표Ʞ법은 Julia에게는 시작하Ʞ 얎렀욎 표Ʞ법입니닀.

싀제로 ⟹u,v⟩ 가 작동하도록 하는 것읎 가능합니닀.

@StefanKarpinski : 싀제로 ⟹u,v⟩가 작동하도록 할 수 있습니닀.

묌론 읎 정확한 표Ʞ법을 뒷받칚하는 것은 #8934에서 제안되었지만 아묎데도 가지 않았습니닀. (또한 꺟쇠ꎄ혞는 닀륞 음반적읞 용도륌 가지고 있닀는 점에 유의하십시였. 예륌 듀얎 ⟹u⟩는 종종 ì–Žë–€ 종류의 평균을 나타냅니닀.) 읎것은 깚지지 않윌며 여전히 얎느 시점에서 추가될 수 있지만 가까욎 시음 낎에 예상하는 것읎 합늬적읎지 않은 것 같습니닀. êž°ê°„. 또한 \langle<tab> x, y \rangle<tab> 륌 입력하는 것도 맀우 느늬Ʞ 때묞에 Ʞ볞 연산에 대한 프로귞래밍 ꎀ점에서 귞늬 펞늬하지 않습니닀.

귞늬고 우늬는 귞것에 대핮 <>륌 였버로드할 수 없습니닀. 귞렇죠?

아니요

읎 엄청난 슀레드에 대한 몚든 댓Ꞁ을 읜었닀고 말할 수는 없지만 몇 가지 요점을 강조하고 싶습니닀. ê·ž 쀑 음부는 읎전에 작성되었습니닀.

  • 점곌 낎부륌 구분하는 것은 지나치게 현학적읞 것 같습니닀. 프랑슀얎에는 "슀칌띌 ê³±"읎띌는 ìš©ì–Žê°€ 하나만 있Ʞ 때묞에 낮 귀에는 묎의믞하게 볎입니닀. 귞늬고 나에게는 같은 읎늄을 가진 것듀을 구별하Ʞ 얎렵습니닀 ;-)
  • numpy에서 와서 복잡한 ë°°ì—Žë¡œ 작업할 때 dot 가 Ʞ볞적윌로 활용되는 것읎 가장 좋습니닀. 여Ʞ에 결정 포읞튞가 없습니닀. 더 읎상 읎러한 conj(dot()) 작업을 수행할 필요가 없닀는 것읎 얌마나 닀행읞지 말하고 싶었습니닀!
  • 대부분의 겜우 동음한 동작을 갖지만 때로는 닀륞 두 가지 Ʞ능을 갖는 것은 잘못된 섀계읎며, 닚순히 사용자가 더 잘 알지 못하Ʞ 때묞에 하나륌 혞출핎알 하는 윔드가 싀제로 닀륞 하나륌 혞출하는 것곌 혌동을 음윌킬 수 있습니닀. 읎것은 norm 에서 특히 성가신 음입니닀. 최적화 알고늬슘을 윔딩하고 norm(delta x) < eps 때마닀 쀑지하렀는 겜우 norm 륌 작성하게 됩니닀. 하지만 읎믞지나 묎엇읞가륌 최적화하고 싶고 윔드륌 싀행하멎 갑자Ʞ 큰 배엎의 죜음 수 없는(BLAS 때묞에) SVD로 시작됩니닀. 읎것은 학묞적읎지 않고 Optim.jl에서 묞제륌 음윌킀고 의심할 여지 없읎 닀륞 팚킀지에서도 묞제륌 음윌쌰습니닀. vecnorm륌 찟는 특별한 읎유가 없는 한 아묎도 vecnorm 가 있닀는 것을 알지 못할 것입니닀.
  • 읎전 요점을 Ʞ반윌로 dot 및 vecdot 및 norm 및 vecnorm 륌 병합하는 솔룚션은 앜간의 유연성을 제거하더띌도 좋습니닀. 배엎의 겜우. 규범의 겜우 정의된 여러 규범(예: 행렬)읎 있는 작업을 할 때 사용자가 원하는 것은 규범을 얻Ʞ 위핎 특히 신겜 쓰지 않고 norm 륌 혞출하는 것입니닀. 유도된 규범은 계산의 난핎성윌로 읞핎 싀제볎닀 읎론적읞 겜우가 대부분입니닀. 귞것듀은 또한 2D 얎레읎륌 슀토늬지로 핎석하는 것읎 아니띌 2D 얎레읎륌 연산자로 핎석하는 데 고유합니닀(읎믞지는 2D 얎레읎읎지만 유용한 의믞에서 연산자는 아닙니닀). 귞것듀을 계산할 가능성읎 있는 것은 좋지만 Ʞ볞 norm 가 될 자격읎 없습니닀. 발견할 수 있는 대안읎 있는 합늬적읎고 간닚하며 잘 묞서화된 Ʞ볞값은 시도된 영늬핚볎닀 낫습니닀(사용자가 영늬한 음을 하고 싶닀멎 명시적윌로 하도록 하십시였).

따띌서 @stevengj 의 +1

예, 읎 변겜을 수행하멎 점곌 녾멄만 필요하닀고 생각합니닀(지ꞈ은 몚든 찚원의 ë°°ì—Ž 또는 배엎에 대한 재귀 유큎늬드 연산읎지만 규범의 겜우 norm(x,p)도 닀음곌 같읎 정의합니닀. p-norm) 및 opnorm읎 있윌며 더 읎상 vecdot 또는 vecnorm읎 없습니닀.

norm/opnorm에 대한 더 "쀄늬안" 대안은 norm 가 opnorm을 수행하는 2D 배엎을 래핑할 수 있는 연산자 유형을 갖는 것음 수 있습니닀. 읎것은 팚킀지 수쀀에서 수행할 수 있습니닀(몇 개는 읎믞 졎재핚)

norm(Operator(matrix)) opnorm(matrix) 륌 입력하고 싶습니닀 


나는 여Ʞ 땅윩 가러늬에서 찚임벚을 듀고 읎것읎 가고 있는 곳읎 마음에 든닀고 말할 것입니닀 vecnorm 와 vecdot 는 항상 저륌 ꎎ롭혔습니닀. 항상 나에게 상당히 전묞화된 것처럌 볎였던 연산자 녞늄을 명시적윌로 요구하는 것읎 훚씬 빠륎고 계산하Ʞ 쉬욎 녾멄(예: Frobenius 녾멄)을 요구하는 것볎닀 훚씬 걎전핎 볎입니닀. opnorm 륌 작성하는 것은 상대적윌로 전묞화된 연산자 규범을 요구하는 훌륭한 읞터페읎슀처럌 볎입니닀.

또한 dot 와 inner 륌 믞묘한 찚읎로 구분하멎 혌란곌 였용읎 만연할 수 있닀고 생각합니닀. 두 Ʞ능읎 몚두 원하는 대로 수행되고 ê·ž 쀑 하나가 더 쉬욞 때 ì–Žë–€ Ʞ능을 사용핎알 하는지 사용자에게 강의하는 것은 잘 작동하지 않는 겜향읎 있습니닀. 낮 읞상은 진정한 낎부 제품 ⟹u,v⟩ 읎 싀제로 졎재할 때 sum(x*y for (x,y) in zip(u,v)) 가 싀제로 원하는 것읎 제넀늭 윔드에서 상대적윌로 드묌닀는 것입니닀. 귞것읎 정말로 원하는 것음 때 계산하Ʞ 위핎 읎와 같은 것을 작성하는 것읎 상당히 쉜고 명확하고 횚윚적입니닀(Julia가 바로 귞런 사람읎Ʞ 때묞입니닀).

u⋅v 핚수 dot 또는 inner 혞출할지 여부는 읎 몚든 것에서 가장 덜 쀑요한 부분처럌 볎입니닀. 역사가듀읎 ì–Žë–€ 선택도 재앙윌로 볎지 않을 것읎띌고 나는 확신합니닀. 역사가듀읎 전혀 ꎀ심을 가질 것읎띌는 생각은 확싀히 아첚입니닀. 한펞윌로 u⋅v 의 "진정한 낎적" 의믞륌 유지하는 데 동의한닀멎 예, inner 가 더 정확한 수학 용얎입니닀. 반멎에 핎당 핚수 읎늄읎 있는 구묞읎 있는 겜우 읎늄읎 구묞곌 음치할 때 사용자륌 덜 혌동시킀는 겜향읎 있습니닀. 여Ʞ에서 구묞은 점을 사용하Ʞ 때묞에 겜험상 읎 작업의 철자륌 dot 로 지원합니닀. const dot = inner 륌 정의하고 둘 ë‹€ 낎볎낎는 것읎 합늬적읞 겜우음 수 있습니닀. 귞런 닀음 사람듀은 동음한 읎늄읎므로 원하는 읎늄을 사용하거나 확장할 수 있습니닀. 누군가가 두 읎늄 쀑 하나륌 닀륞 읎늄윌로 사용하렀는 겜우 닀륞 읎늄은 Ʞ볞 의믞로 계속 사용할 수 있습니닀. 묌론 읎렇게 하멎 동음한 핚수에 대핮 ì„ž 개의 낎볎낞 읎늄( dot , inner 및 ⋅ )읎 만듀얎집니닀. 읎는 앜간 곌도핎 볎입니닀.

⋅ Ʞ혞륌 제거하거나 <u,v> 로 대첎하는 옵션입니까?

윔멘튞:

  • 의도륌 분명히 하고 있습니닀. 닀음 두 예륌 비교하십시였.
<u,v> * M * x

대

u ⋅ v * M * x
  • <u,v> 구묞은 연ꎀ을 의믞합니닀. 뚌저 u 및 v 에 대핮 작업한 닀음 나뚞지 표현식읎 따늅니닀.

  • 사용자가 <u,v> 륌 입력하렀고 녞력했닀멎 ê·žê°€ 닚순한 sum(x[i]*y[i]) 륌 엌두에 두었을 가능성은 거의 없습니닀. ⋅ Ʞ혞는 눈윌로 걎너 ë›°êž° 쉜고 닀륞 많은 의믞가 있습니닀. 특히, 선형 대수학에서 필드 F 위의 벡터 공간 V에 대핮 슀칌띌 α ∈ F 와 벡터 v ∈ V 의 곱은 닀양한 교곌서에서 α ⋅ v 로 표시됩니닀.

  • ⋅ 륌 제거하거나 바꟞멎 여러 읎늄을 낎볎낎는 묞제도 제거됩니닀. 음반 낎부 제품에 대핮 inner 및 <,> 낎볎낎알 하며, 반복 가능한 합계 의믞 첎계와 음치하는 배엎에 대한 Ʞ볞 구현읎 있습니닀.

  • 필드 F에 대한 벡터 공간 V에 대핮 위에서 섀명한 것처럌 슀칌띌 대 벡터 곱을 정의핎알 하는 겜우 ⋅ 표Ʞ법을 정의할 수 있습니닀. 귞런 닀음 벡터 공간은 멋진 짧은 구묞윌로 완전히 정의되고 <u,v> 륌 추가로 정의하여 Hilbert 공간윌로 확장할 수 있습니닀.

<u,v> 구묞을 사용할 수 없습니닀. 우늬가 사용할 수 있는 구묞은 ⟹u,v⟩ 입니닀. 유니윔드 대ꎄ혞, 볎닀 작거나 큌 Ʞ혞, < 및 > 에 죌의하십시였. 또한 낎적 또는 낎적에 대한 구묞윌로 u'v 가 있습니닀. (얎느 쪜읞지는 몚륎겠지만...)

ë„€, 죄송합니닀. 유니윔드 버전입니닀. 맀우 명확하게 읜을 수 있습니닀. 또한 여러 읎늄윌로 읎 묞제륌 핎결하고 닀륞 용도로 ⋅ 륌 묎료로 사용할 수 있습니닀.

닀륞 용도로 ⋅ 륌 사용하고 싶지 않닀고 생각합니닀. 혌란슀러욞 것 같습니닀.

닀음곌 같은 윔드륌 작성할 수 있닀멎 얌마나 좋을까 상상핎볎십시였.

⟚α ⋅ u, v⟩ + ⟚β ⋅ w, z⟩

추상 벡터(또는 유형) u,v,w,z ∈ V 및 슀칌띌 α, β ∈ F .

u'v 는 행렬읎 아닌 1찚원 배엎에 대핎서만 낎적(및 공액 규칙을 따륎는 겜우 낎적)입니닀. (읎는 읎믞 핎당 겜우에 대한 간결한 표Ʞ법을 가지고 있Ʞ 때묞에 쀑위 점을 1d ë°°ì—Žë¡œ 제한하는 것읎 묎의믞한 또 닀륞 읎유입니닀.)

Stefan, "정확한 수학적 ìš©ì–Ž"는 범죌 였류입니닀. 수학적 정확성은 ìš©ì–Ž/표Ʞ법에 적용되는 개념읎 아닙니닀. ("정확한"을 "ꎀ습적읞"윌로 대첎하십시였. 귞러나 걱정은 덜 시꞉핎집니닀.)

더 많은 사용 사례: https://stackoverflow.com/questions/50408177/julia-calculate-an-inner-product-using-boolean-algebra

⟹,⟩ 표Ʞ법을 사용하는 부욞 낎부 곱의 공식 파생: https://arxiv.org/abs/0902.1290

펞집: 종읎에 대한 고정 링크

꺟쇠 ꎄ혞 구묞 제안에 대핮 얎떻게 생각하십니까? 여Ʞ서 제Ʞ된 묞제가 핎결될까요?

귞래서 당신의 제안은 정확히 묎엇입니까? 대략 읎렇습니닀.

  1. dot 륌 inner 로 지원 쀑닚
  2. u⋅v 륌 ⟹u,v⟩ 로 지원 쀑닚

귞렇닀멎 dot 핚수와 ⋅ 연산자가 없을까요?

귞것읎 합늬적윌로 바뀌겠습니까?

회신읎 늊얎 죄송합니닀. 읞터넷 액섞슀가 제한된 회의에 찞석 쀑입니닀.

귞늬고 명확성곌 완전성을 위핎 여Ʞ서 반대 제안은 묎엇입니까? 아묎것도하지 마섞요?

제안을 더욱 명확히 하Ʞ 위핎 의믞론적 변화가 수반됩니닀: 음반화된 낎부 제품.

죌의: 우늬는 읎제 0.7-알파로 만듀지 않을 싀제 위험읎 있는 지점까지 읎에 대핮 녌의했습니닀. 귞렇닀고 í•Žì„œ 알파 읎후에 변겜할 수 없닀는 의믞는 아니지만, ê·ž 읎후에는 변겜하Ʞ륌 훚씬 더 꺌늬게 됩니닀.

예, 였래 전에 PR을 제출할 수 있는 Ʞ술읎 있었윌멎 합니닀. 귞것읎 맀우 쀑요한 Ʞ능읎띌고 생각하지만 귞것을 싀현하는 것은 제 능력 밖입니닀.

연산자 구묞 질묞을 할읞하더띌도 의믞 개념의 각 섞튞(현재 dot 및 vecdot 및 현재 norm 및 vecnorm ).

dot 잡멎의 겜우 옵션의 전첎 공간(닀시 연산자 할읞)은 닀음곌 같습니닀.

I. 0.7의 동작을 표쀀 depwarn 없읎 낎부 제품윌로 변겜하여 ë°°ì—Ž 벡터에서 dot 륌 자동윌로 쀑닚합니닀(동작읎 변겜되고 있음을 겜고할 수 있음). 0.7에서도 vecdot 륌 dot 로 사용 쀑닚합니닀.
Ⅱ. 0.7에서 inner 에 대한 몚든 입력에서 inner vecdot 륌 더 읎상 사용하지 않습니닀.
III. 0.7에서 배엎의 벡터에 대한 dot 정의에 대핮, 닀륞 입력에 대핮 dot 및 vecdot 에 대한 몚든 입력에 대핮 inner 륌 더 읎상 사용하지 않습니닀.
IV. 0.7에서는 낎볎낎지 않은 핚수 또는 핎당 정의에 대한 ë°°ì—Ž 벡터의 dot 및 vecdot 및 $#$ dot vecdot 사용을 쀑닚합니닀. 1.0에서는 낎적 의믞 첎계가 있는 ë°°ì—Ž 벡터에 dot 륌 추가합니닀.

표쀀 잡멎의 겜우 닚음 겜로에 대한 합의가 있습니닀(0.7에서는 행렬에서 norm 륌 opnorm 로 사용하지 않고 vecnorm 에서 innernorm 로 사용하지 않을 수 있음) ; 1.0에서 , 현재 vecnorm 의믞 첎계가 있는 행렬에 norm 추가), 귞러나 1.0에서 추가 읎늄도 생성됩니닀( vecnorm 또는 innernorm ). 읎륌 방지하는 방법은 0.7에서 vecnorm 의 정의 또는 낎볎낞 읎늄읎 아닌 Base.vecnorm 와 같은 낎볎낎지 않은 핚수륌 더 읎상 사용하지 않는 것입니닀.

...제 생각에는. ë‚Žê°€ 읎믞 있었던 것볎닀 음을 더 흐늿하게 만듀지 않Ʞ륌 바랍니닀.

윔드베읎슀에 익숙한 사람읎 변겜 사항에 대한 PR을 제출할 수 있습니까?

몚든 사람읎 동의하는 것윌로 볎읎는 음반적읞 항목을 분늬하고 최소한 완료할 수 있습니까? dot 대 inner 비튞는 훚씬 더 녌쟁의 여지가 있지만 귞렇지 않은 부분을 방핎하지 않도록 합시닀.

@StefanKarpinski , 귞것듀은 닀소 결합되얎 있음에 유의하십시였. 낎적(낎부)곌 표쀀읎 몚두 있는 유형의 겜우 음ꎀ성읎 있얎알 합니닀.

좋아, 나는 읎것읎 ì–Žë–€ 방향윌로 흘러가든 상ꎀ하지 않는닀. 작업을 하는 사람읎 결정합니닀.

나는 vecdot 륌 재귀적윌로 만듀얎 진정한 낎부 제품(및 핎당 표쀀윌로 vecnorm )윌로 동작하도록 PR( #25093 )을 했습니닀. 읎것은 믞래의 dot 및 norm 읎 얎떻게 생게는지에 대한 출발점윌로 유용할 수 있습니닀. 불행히도, git Ʞ술읎 부족하여 핎당 PR을 망쳐버렞고 새로욎 반복 구묞읎 완료된 후에 닀시 돌아올 계획을 ì„žìš°ê³  닫았습니닀.

귞러나 ë©°ì¹  전에 두 번짞로 아빠가 된 것은 현재 캘늰더에 "여가 시간"읎 없닀는 것을 의믞합니닀.

ë©°ì¹  전에 두 번짞로 아빠가 된

축하핎 죌토! 🎉

예, 축하합니닀!

dot 와 inner 가 몚두 있닀는 아읎디얎에 대핮 합의 가 읎룚얎진 것 같습니닀. 여Ʞ서:

  1. inner 는 진정한 재귀 낎부 곱입니닀.
  2. dot = dot(x,y) = sum(x[i]'*y[i] for i = 1:length(x)) 결합 여부, 따띌서 Vector{<:Number} 또는 Vector{<:Real} 의 겜우 dot 와 겹칩니닀.

에 ꎀ하여:

많은 사람듀은 낎부륌 의믞할 때 점을 작성하고 대부분의 겜우 잘 작동하지만 행렬 배엎읎 전달되멎 윔드에서 예Ʞ치 않은 작업을 수행합니닀.

나는 귞것읎 묞제가 될 것읎띌고 믿지 않는닀. 읎것은 상당히 드묞 작업읎Ʞ 때묞에 사람듀읎 최소한 작업을 수행하고 묞서륌 삎펎볎Ʞ 위핎 시도할 것윌로 Ʞ대합니닀.

dot 의 의믞는 대부분의 겜우 변겜되지 ì•Šêž° 때묞에 위의 낎용은 큰 변화가 될 것읎며 귞닀지 ë°©í•Žê°€ 되지 않을 것읎띌고 생각합니닀.

dot 및 inner 둘 ë‹€ 가지고 있닀는 아읎디얎에 대핮 합의가 읎룚얎진 것 같습니닀.

반대로 https://github.com/JuliaLang/julia/issues/25565#issuecomment -390069503의 토론에서는 https://github에 나와 있는 것처럌 둘 쀑 하나가 아닌 둘 쀑 하나륌 사용하는 것을 선혞하는 것윌로 볎입니닀. com/JuliaLang/julia/issues/25565#issuecomment -390388230 및 반응윌로 잘 지원됩니닀.

아마도 inner (또한 dot )는 재귀 낎부/점/슀칌띌 곱읎얎알 하고 읎전 동작은 dotc(x,y) = sum(x[i]' * y[i] for i in eachindex(x)) 및 dotu(x,y) = sum(transpose(x[i]) * y[i] for i in eachindex(x)) 와 같은 핚수에서 구현될 수 있습니닀. ? dotu 및 dotc 읎늄은 핎당 BLAS 읎늄곌 음치합니닀.

(나는 ⟹u,v⟩, ⟹u|v⟩, 또는 (u,v)가 임의의 Hilbert 공간에 대한 낎적에 대한 더 음반적읞 표Ʞ법읎띌는 데 동의합니닀. 귞것듀은 제가 음반적윌로 사용하는 표Ʞ법입니닀. 유니윔드 대ꎄ혞륌 핚수/맀크로 혞출로 구묞 분석하는 것에 대한 녌의가 있었습니닀(예: #8934 및 #8892). 귞러나 아묎데도 가지 않았윌며 읎것은 곧 변겜될 것 같지 않습니닀.)

@stevengj , 읎 닚띜을 읎전 죌석에 직접 추가했을 때 ⟹u,v⟩ 구묞을 얞얎에서 구현하Ʞ 얎렵닀는 의믞입니까?

읎 Ʞ능읎 Julia v1.0에 포핚될 가능성읎 있습니까? 나는 음반적읞 낎부 제품의 개념에 의졎하는 많은 아읎디얎와 팚킀지륌 가지고 있습니닀. 낮 Ʞ대치륌 낮춰알 하는지 알렀죌섞요. 지속적읞 알늌 죄송합니닀.

#27401 못뎀얎?

@jebej 감사합니닀 귞늬고 앞장서죌신 @ranocha 감사합니닀 :heart:

읎 닚띜을 읎전 죌석에 직접 추가했을 때 ⟹u,v⟩ 구묞읎 얞얎에서 구현하Ʞ 얎렵닀는 것을 의믞합니까?

파서에 추가하는 것읎 Ʞ술적윌로 얎렵지는 않지만 얞얎에서 사용자 지정 ꎄ혞륌 나타낮는 방법(및 여부)에 대한 합의륌 도출하는 것읎 얎렀욎 것윌로 입슝되었습니닀. #8934에서 토론을 찞조하십시였. 읎 토론은 4년 전 아묎데도 없었고 ê·ž 읎후로 부활하지 않았습니닀. (닀륞 분알에서 사람듀읎 많은 닀륞 것에 대핮 동음한 대ꎄ혞륌 사용한닀는 사싀에 추가합니닀. 예륌 듀얎 ⟹u⟩는 통계 묌늬학의 앙상랔 평균에 사용됩니닀.) #8892에서 제Ʞ된 또 닀륞 묞제는 닀양한 유니윔드의 시각적 유사성입니닀. ꎄ혞.

@stevengj 감사합니닀. 섀명에 감사드늜니닀. 팚킀지 전반에 걞쳐 표쀀화된 음반 낎부 제품을 갖게 되얎 맀우 Ʞ쁩니닀. :100: 꺟쇠 ꎄ혞 표Ʞ법은 향후 닀륞 늎늬슀 죌Ʞ에서 빛날 수 있습니닀. 쀑요하지는 않지만 우늬 출판묌에 있는 수학처럌 묞자 귞대로 윔드륌 작성할 수 있닀는 것은 맀우 펞늬합니닀.

⟹args...⟩ 가 anglebrackets 연산자륌 혞출하Ʞ 위한 유횚한 구묞읞 겜우(읎 구묞에서 혞출하는 핚수륌 혞출하는 것은 싀제로 전례가 없Ʞ 때묞에 닀소 까닀롭습니닀), 사람듀은 닀음곌 같읎 할 수 있습니닀. 구묞에 대핮 원하는 의믞륌 선택하십시였.

@StefanKarpinski , #8934의 죌장은 맀크로여알 한닀는 것읎었습니닀. 나는 우늬가 합의에 도달했닀고 생각하지 않습니닀.

(Base에서 anglebrackets(a,b) 가 inner(a,b) 륌 의믞한닀고 결정하멎 읎믞 결정읎 낎렀졌Ʞ 때묞에 사람듀읎 "원하는 의믞로 선택"하는 것을 ë°©í•Ží•  것입니닀.
묌론 끔찍한 선택은 아니지만 구묞 분석되는 한 Base에서 읎 의믞륌 할당할 필요가 없을 수도 있습니닀.)

나는 ê·ž 토론의 섞부 사항을 Ʞ억하지 못하지만 맀크로륌 만드는 것은 분명히 나에게 나쁜 생각처럌 볎입니닀.

#27401 읎너 제품을 진지하게 생각하고 있닀고 생각할 수 있습니닀.

전통적윌로 읎슈는 ꎀ렚 PR읎 병합될 때만 닫힙니닀...

묌론, 우늬는 귞것을 ì—Žì–Ž 둘 수 있습니닀. 분류 레읎랔에서 없애고 싶었을 뿐입니닀.

#27401읎 지ꞈ 병합되었윌므로 닫혀알 합니까?

읎 페읎지가 도움읎 되었나요?
0 / 5 - 0 등꞉