public protocol EuclideanDifferentiable : Differentiable
Un type différenciable dans l'espace euclidien. Le type peut représenter un espace vectoriel ou être constitué d'un espace vectoriel et d'un autre composant non différenciable.
Mathématiquement, cela représente une variété de produits composée d'un espace vectoriel différentiable et d'une variété arbitraire, où le fibré tangent de l'ensemble de la variété de produits est égal à la composante de l'espace vectoriel.
Cette abstraction est utile pour représenter des structures de données différentiables communes qui contiennent à la fois des propriétés vectorielles différentiables et d'autres propriétés stockées qui n'ont pas de dérivée, par exemple
struct Perceptron: @memberwise EuclideanDifferentiable {
var weight: SIMD16<Float>
var bias: Float
@noDerivative var useBias: Bool
}
Note
Conformez un type àEuclideanDifferentiable
s'il est différentiable uniquement par rapport à sa composante d'espace vectoriel et lorsque son TangentVector
est égal à sa composante d'espace vectoriel. La composante vectorielle différentiable de
self
.Déclaration
var differentiableVectorView: TangentVector { get }