public protocol EuclideanDifferentiable : Differentiable
Тип, дифференцируемый в евклидовом пространстве. Тип может представлять векторное пространство или состоять из векторного пространства и некоторого другого недифференцируемого компонента.
Математически это представляет собой многообразие произведений, состоящее из дифференцируемого векторного пространства и некоторого произвольного многообразия, где касательное расслоение всего многообразия произведений равно компоненту векторного пространства.
Эта абстракция полезна для представления общих дифференцируемых структур данных, которые содержат как дифференцируемые векторные свойства, так и другие хранимые свойства, которые не имеют производной, например
struct Perceptron: @memberwise EuclideanDifferentiable {
var weight: SIMD16<Float>
var bias: Float
@noDerivative var useBias: Bool
}
Примечание
Приведите тип в соответствие сEuclideanDifferentiable
если он дифференцируем только относительно своего компонента векторного пространства и когда его TangentVector
равен его компоненту векторного пространства. Дифференцируемый векторный компонент
self
.Декларация
var differentiableVectorView: TangentVector { get }