Structure

# TangentVector

A type representing a differentiable value’s derivatives.

• Available when `Wrapped` conforms to `Differentiable`

``struct TangentVector``

## Overview

Mathematically, this is equivalent to the tangent bundle of the differentiable manifold represented by the differentiable type.

## Members

### Typealiases

• `typealias TangentVector`

A type representing a differentiable value’s derivatives.

### Initializers

• `init(Wrapped.TangentVector?)`

### Type Properties

• `static var zero: Optional<Wrapped>.TangentVector`

The zero value.

### Instance Properties

• `var customMirror: Mirror`

The custom mirror for this instance.

• `var value: Wrapped.TangentVector?`

### Instance Methods

• `func move(by: Self.TangentVector)`

Moves `self` by the given offset. In Riemannian geometry, this is equivalent to exponential map, which moves `self` on the geodesic surface by the given tangent vector.

• `func move(by: Optional<Wrapped>.TangentVector.TangentVector)`

Moves `self` by the given offset. In Riemannian geometry, this is equivalent to exponential map, which moves `self` on the geodesic surface by the given tangent vector.

### Operators

• `static func + (Self) -> Self`

Returns the given number unchanged.

• `static func += (inout Self, Self)`

Adds two values and stores the result in the left-hand-side variable.

• `static func -= (inout Self, Self)`

Subtracts the second value from the first and stores the difference in the left-hand-side variable.

• `static func != (Self, Self) -> Bool`
• `static func + (Optional<Wrapped>.TangentVector, Optional<Wrapped>.TangentVector) -> Optional<Wrapped>.TangentVector`

Adds two values and produces their sum.

• `static func - (Optional<Wrapped>.TangentVector, Optional<Wrapped>.TangentVector) -> Optional<Wrapped>.TangentVector`

Subtracts one value from another and produces their difference.

## Conforms To

• `AdditiveArithmetic`
• `CustomReflectable`

When `Wrapped` conforms to `Differentiable`

• `Differentiable`
• `Equatable`