@frozen
public struct DifferentiableView
extension Array.DifferentiableView: Differentiable
where Element: Differentiable
extension Array.DifferentiableView: EuclideanDifferentiable
where Element: EuclideanDifferentiable
extension Array.DifferentiableView: Equatable
where Element: Differentiable & Equatable
extension Array.DifferentiableView: ExpressibleByArrayLiteral
where Element: Differentiable
extension Array.DifferentiableView: CustomStringConvertible
where Element: Differentiable
extension Array.DifferentiableView: AdditiveArithmetic
where Element: AdditiveArithmetic & Differentiable
extension Array.DifferentiableView: _KeyPathIterableBase
where Element: Differentiable
extension Array.DifferentiableView: KeyPathIterable
where Element: Differentiable
extension Array.DifferentiableView: ElementaryFunctions
where Element: Differentiable & ElementaryFunctions
extension Array.DifferentiableView:
BidirectionalCollection,
Collection,
MutableCollection,
RandomAccessCollection,
RangeReplaceableCollection,
Sequence
where Element: Differentiable
extension Array.DifferentiableView: VectorProtocol
where Element: Differentiable & VectorProtocol
extension Array.DifferentiableView: PointwiseMultiplicative
where Element: Differentiable & PointwiseMultiplicative
The view of an array as the differentiable product manifold of Element
multiplied with itself count
times.
-
The viewed array.
Declaration
public var base: [Element] { get set }
-
Creates a differentiable view of the given array.
Declaration
public init(_ base: [Element])
-
Declaration
@derivative init(_: <<error type>>)
-
Declaration
public typealias TangentVector = Array<Element.TangentVector>.DifferentiableView
-
Declaration
public mutating mutating func move(along direction: TangentVector)
-
A closure that produces a
TangentVector
of zeros with the samecount
asself
.Declaration
public var zeroTangentVectorInitializer: () -> TangentVector { get }
-
Declaration
public var differentiableVectorView: Array.DifferentiableView.TangentVector { get }
-
Declaration
public static func == ( lhs: Array.DifferentiableView, rhs: Array.DifferentiableView ) -> Bool
-
Declaration
public init(arrayLiteral elements: Element...)
-
Declaration
public var description: String { get }
-
Declaration
public static var zero: Array.DifferentiableView { get }
-
Declaration
public static func + ( lhs: Array.DifferentiableView, rhs: Array.DifferentiableView ) -> Array.DifferentiableView
-
Declaration
public static func - ( lhs: Array.DifferentiableView, rhs: Array.DifferentiableView ) -> Array.DifferentiableView
-
Declaration
public subscript(index: Int) -> Element { get }
-
Declaration
public typealias AllKeyPaths = [PartialKeyPath<Array.DifferentiableView>]
-
Declaration
public var allKeyPaths: [PartialKeyPath<Array.DifferentiableView>] { get }
-
The square root of
x
.For real types, if
x
is negative the result is.nan
. For complex types there is a branch cut on the negative real axis.Declaration
public static func sqrt(_ x: `Self`) -> Array<Element>.DifferentiableView
-
The cosine of
x
, interpreted as an angle in radians.Declaration
public static func cos(_ x: `Self`) -> Array<Element>.DifferentiableView
-
The sine of
x
, interpreted as an angle in radians.Declaration
public static func sin(_ x: `Self`) -> Array<Element>.DifferentiableView
-
The tangent of
x
, interpreted as an angle in radians.Declaration
public static func tan(_ x: `Self`) -> Array<Element>.DifferentiableView
-
The inverse cosine of
x
in radians.Declaration
public static func acos(_ x: `Self`) -> Array<Element>.DifferentiableView
-
The inverse sine of
x
in radians.Declaration
public static func asin(_ x: `Self`) -> Array<Element>.DifferentiableView
-
The inverse tangent of
x
in radians.Declaration
public static func atan(_ x: `Self`) -> Array<Element>.DifferentiableView
-
The hyperbolic cosine of
x
.Declaration
public static func cosh(_ x: `Self`) -> Array<Element>.DifferentiableView
-
The hyperbolic sine of
x
.Declaration
public static func sinh(_ x: `Self`) -> Array<Element>.DifferentiableView
-
The hyperbolic tangent of
x
.Declaration
public static func tanh(_ x: `Self`) -> Array<Element>.DifferentiableView
-
The inverse hyperbolic cosine of
x
.Declaration
public static func acosh(_ x: `Self`) -> Array<Element>.DifferentiableView
-
The inverse hyperbolic sine of
x
.Declaration
public static func asinh(_ x: `Self`) -> Array<Element>.DifferentiableView
-
The inverse hyperbolic tangent of
x
.Declaration
public static func atanh(_ x: `Self`) -> Array<Element>.DifferentiableView
-
The exponential function applied to
x
, ore**x
.Declaration
public static func exp(_ x: `Self`) -> Array<Element>.DifferentiableView
-
Two raised to to power
x
.Declaration
public static func exp2(_ x: `Self`) -> Array<Element>.DifferentiableView
-
Ten raised to to power
x
.Declaration
public static func exp10(_ x: `Self`) -> Array<Element>.DifferentiableView
-
exp(x) - 1
evaluated so as to preserve accuracy close to zero.Declaration
public static func expm1(_ x: `Self`) -> Array<Element>.DifferentiableView
-
The natural logarithm of
x
.Declaration
public static func log(_ x: `Self`) -> Array<Element>.DifferentiableView
-
The base-two logarithm of
x
.Declaration
public static func log2(_ x: `Self`) -> Array<Element>.DifferentiableView
-
The base-ten logarithm of
x
.Declaration
public static func log10(_ x: `Self`) -> Array<Element>.DifferentiableView
-
log(1 + x)
evaluated so as to preserve accuracy close to zero.Declaration
public static func log1p(_ x: `Self`) -> Array<Element>.DifferentiableView
-
exp(y log(x))
computed without loss of intermediate precision.For real types, if
x
is negative the result is NaN, even ify
has an integral value. For complex types, there is a branch cut on the negative real axis.Declaration
public static func pow(_ x: `Self`, _ y: `Self`) -> Array<Element>.DifferentiableView
-
x
raised to then
th power.The product of
n
copies ofx
.Declaration
public static func pow(_ x: `Self`, _ n: Int) -> Array<Element>.DifferentiableView
-
The
n
th root ofx
.For real types, if
x
is negative andn
is even, the result is NaN. For complex types, there is a branch cut along the negative real axis.Declaration
public static func root(_ x: `Self`, _ n: Int) -> Array<Element>.DifferentiableView
-
Declaration
public typealias Element = Array<Element>.Element
-
Declaration
public typealias Index = Array<Element>.Index
-
Declaration
public typealias Indices = Array<Element>.Indices
-
Declaration
public typealias SubSequence = Array<Element>.SubSequence
-
Declaration
public var startIndex: Index { get }
-
Declaration
public var endIndex: Index { get }
-
Declaration
public init()
-
Declaration
public typealias VectorSpaceScalar = Element.VectorSpaceScalar
-
Declaration
public func adding(_ x: Element.VectorSpaceScalar) -> Array<Element>.DifferentiableView
-
Declaration
public mutating mutating func add(_ x: Element.VectorSpaceScalar)
-
Declaration
public func subtracting(_ x: Element.VectorSpaceScalar) -> Array<Element>.DifferentiableView
-
Declaration
public mutating mutating func subtract(_ x: Element.VectorSpaceScalar)
-
Declaration
public func scaled(by scale: Element.VectorSpaceScalar) -> Array<Element>.DifferentiableView
-
Declaration
public mutating mutating func scale(by scale: Element.VectorSpaceScalar)
-
Declaration
public static var one: `Self` { get }
-
Declaration
public var reciprocal: `Self` { get }
-
Declaration
public static func .* (lhs: `Self`, rhs: `Self`) -> Array<Element>.DifferentiableView
-
Declaration
public static func .*= (lhs: inout `Self`, rhs: `Self`)