Euclidean Dapat Dibedakan

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 dengan EuclideanDifferentiable 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 }