ЕвклидоваДифференцируемая

public protocol EuclideanDifferentiable : Differentiable

Тип, дифференцируемый в евклидовом пространстве. Тип может представлять векторное пространство или состоять из векторного пространства и некоторого другого недифференцируемого компонента.

Математически это представляет собой многообразие произведений, состоящее из дифференцируемого векторного пространства и некоторого произвольного многообразия, где касательное расслоение всего многообразия произведений равно компоненту векторного пространства.

Эта абстракция полезна для представления общих дифференцируемых структур данных, которые содержат как дифференцируемые векторные свойства, так и другие хранимые свойства, которые не имеют производной, например

struct Perceptron: @memberwise EuclideanDifferentiable {
    var weight: SIMD16<Float>
    var bias: Float
    @noDerivative var useBias: Bool
}

Примечание

Приведите тип в соответствие с EuclideanDifferentiable если он дифференцируем только относительно своего компонента векторного пространства и когда его TangentVector равен его компоненту векторного пространства.