public protocol EuclideanDifferentiable : Differentiable
Suatu tipe yang dapat dibedakan dalam ruang Euclidean. Tipe tersebut dapat mewakili ruang vektor, atau terdiri dari ruang vektor dan beberapa komponen lain yang tidak dapat dibedakan.
Secara matematis, ini merepresentasikan manifold hasil kali yang terdiri dari ruang vektor terdiferensiasi dan beberapa manifold sembarang, yang mana kumpulan tangen seluruh manifold hasil kali sama dengan komponen ruang vektor.
Abstraksi ini berguna untuk mewakili struktur data terdiferensiasi umum yang berisi properti vektor terdiferensiasi dan properti tersimpan lainnya yang tidak memiliki turunan, misalnya
struct Perceptron: @memberwise EuclideanDifferentiable {
var weight: SIMD16<Float>
var bias: Float
@noDerivative var useBias: Bool
}
Catatan
Sesuaikan suatu tipe denganEuclideanDifferentiable
jika tipe tersebut hanya dapat terdiferensiasi terhadap komponen ruang vektornya dan ketika TangentVector
-nya sama dengan komponen ruang vektornya. Komponen vektor terdiferensiasi dari
self
.Pernyataan
var differentiableVectorView: TangentVector { get }