public protocol EuclideanDifferentiable : Differentiable
Một loại có khả vi trong không gian Euclide. Loại này có thể biểu diễn một không gian vectơ hoặc bao gồm một không gian vectơ và một số thành phần không khả vi khác.
Về mặt toán học, điều này biểu thị một đa tạp tích bao gồm một không gian vectơ khả vi và một số đa tạp tùy ý, trong đó bó tiếp tuyến của toàn bộ đa tạp tích bằng thành phần không gian vectơ.
Sự trừu tượng hóa này rất hữu ích để biểu diễn các cấu trúc dữ liệu khả vi chung chứa cả các thuộc tính vectơ khả vi và các thuộc tính được lưu trữ khác không có đạo hàm, ví dụ:
struct Perceptron: @memberwise EuclideanDifferentiable {
var weight: SIMD16<Float>
var bias: Float
@noDerivative var useBias: Bool
}
Ghi chú
Tuân thủ một kiểu vớiEuclideanDifferentiable
nếu nó chỉ khả vi đối với thành phần không gian vectơ của nó và khi TangentVector
của nó bằng thành phần không gian vectơ của nó. Thành phần vectơ khả vi của
self
.Tuyên ngôn
var differentiableVectorView: TangentVector { get }