public protocol EuclideanDifferentiable : Differentiable
نوعی که در فضای اقلیدسی قابل تمایز است. این نوع ممکن است یک فضای برداری را نشان دهد یا از یک فضای برداری و برخی اجزای غیر قابل تمایز دیگر تشکیل شده باشد.
از نظر ریاضی، این نشان دهنده یک منیفولد حاصل از یک فضای برداری قابل تمایز و چند منیفولد دلخواه است که در آن بسته مماس کل منیفولد حاصل برابر با مولفه فضای برداری است.
این انتزاع برای نمایش ساختارهای داده متمایز پذیر که هم دارای ویژگی های بردار متمایز هستند و هم سایر خصوصیات ذخیره شده که مشتق ندارند مفید است، به عنوان مثال.
struct Perceptron: @memberwise EuclideanDifferentiable {
var weight: SIMD16<Float>
var bias: Float
@noDerivative var useBias: Bool
}
توجه داشته باشید
اگر یک نوع را فقط با توجه به مولفه فضای برداری آن و زمانی کهTangentVector
برابر با مولفه فضای برداری آن است، با EuclideanDifferentiable
مطابقت دهید. مؤلفه بردار قابل تمایز
self
.اعلامیه
var differentiableVectorView: TangentVector { get }