Extreme Optimization™: Complexity made simple.

Math and Statistics
Libraries for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Partners
    • Contact us
Introduction
Deployment Guide
Configuration
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Data Analysis Library User's GuideData Analysis Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand Data Access Library User's GuideData Access Library User's Guide
Expand ReferenceReference
  • Extreme Optimization
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Configuration
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Data Access Library User's Guide
    • Reference
  • Reference
    • Extreme
    • Extreme.Collections
    • Extreme.Data
    • Extreme.Data.Json
    • Extreme.Data.Matlab
    • Extreme.Data.R
    • Extreme.Data.Stata
    • Extreme.Data.Text
    • Extreme.DataAnalysis
    • Extreme.DataAnalysis.Linq
    • Extreme.Mathematics
    • Extreme.Mathematics.Algorithms
    • Extreme.Mathematics.Calculus
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations
    • Extreme.Mathematics.Curves
    • Extreme.Mathematics.Curves.Nonlinear
    • Extreme.Mathematics.Distributed
    • Extreme.Mathematics.Distributed.Cuda
    • Extreme.Mathematics.EquationSolvers
    • Extreme.Mathematics.FSharp
    • Extreme.Mathematics.Generic
    • Extreme.Mathematics.Generic.LinearAlgebra
    • Extreme.Mathematics.Generic.LinearAlgebra.Implementation
    • Extreme.Mathematics.Generic.LinearAlgebra.Providers
    • Extreme.Mathematics.Generic.SignalProcessing
    • Extreme.Mathematics.Implementation
    • Extreme.Mathematics.LinearAlgebra
    • Extreme.Mathematics.LinearAlgebra.Complex
    • Extreme.Mathematics.LinearAlgebra.Complex.Decompositions
    • Extreme.Mathematics.LinearAlgebra.Implementation
    • Extreme.Mathematics.LinearAlgebra.IO
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners
    • Extreme.Mathematics.LinearAlgebra.Providers
    • Extreme.Mathematics.LinearAlgebra.Sparse
    • Extreme.Mathematics.Optimization
    • Extreme.Mathematics.Optimization.Genetic
    • Extreme.Mathematics.Optimization.LineSearches
    • Extreme.Mathematics.Random
    • Extreme.Mathematics.SignalProcessing
    • Extreme.Numerics.FSharp
    • Extreme.Statistics
    • Extreme.Statistics.Distributions
    • Extreme.Statistics.IO
    • Extreme.Statistics.Linq
    • Extreme.Statistics.Multivariate
    • Extreme.Statistics.Random
    • Extreme.Statistics.Tests
    • Extreme.Statistics.TimeSeriesAnalysis
  • Extreme.Mathematics
    • AccuracyGoal Structure
    • AlgorithmStatus Enumeration
    • ArrayAttributes Structure
    • ArrayMath Class
    • ArrayMutability Enumeration
    • BigFloat Class
    • BigInteger Structure
    • BigRational Structure
    • CategoricalVector(T) Class
    • Complex(T) Structure
    • ComplexMatrix Class
    • ComplexVector Class
    • Constants Class
    • ConvergenceCriterion Enumeration
    • CoreImplementations Class
    • CoreImplementations(T) Class
    • CoreProvider Class
    • CoreProvider(T) Class
    • DecimalMath Class
    • Dimension Enumeration
    • DimensionMismatchException Class
    • DimensionType Enumeration
    • DistributedDataLocation Enumeration
    • DoubleComparer Class
    • DoubleComplex Structure
    • Elementary Class
    • ElementType(T) Class
    • EquationSolving Class
    • FunctionMath Class
    • GenericCoreProvider(T) Class
    • GenericImplementations Class
    • ICategoricalVector Interface
    • IDistributed Interface
    • InsufficientDataException Class
    • IntegerMath Class
    • Intent Enumeration
    • Interval Structure
    • Interval(T) Structure
    • IPermutable Interface
    • ISummarizable Interface
    • Iterators Class
    • IVector Interface
    • MachineConstants Class
    • ManagedCoreProvider Class
    • ManagedCoreProviderOfSingle Class
    • Math(T) Class
    • Matrix Class
    • Matrix(T) Class
    • MatrixDiagonal Enumeration
    • MatrixElementOrder Enumeration
    • MatrixExtensions Class
    • MatrixNorm Enumeration
    • MatrixOperationSide Enumeration
    • MatrixStructure Enumeration
    • MatrixTriangle Enumeration
    • MutabilityBehaviour Enumeration
    • NumericalDifferentiation Class
    • NumericalIntegration Class
    • NumericsConfiguration Class
    • Operations(T) Class
    • Permutation Class
    • Quad Structure
    • RandomExtensions Class
    • Range Structure
    • RoundingMode Enumeration
    • SingleComparer Class
    • SingleComplex Structure
    • SingleComplexMatrix Class
    • SingleComplexVector Class
    • SingleConstants Class
    • SingleInterval Structure
    • SingleMatrix Class
    • SingleMatrixFiller Delegate
    • SinglePrecisionImplementations Class
    • SingleVector Class
    • SingleVectorFiller Delegate
    • Slice Structure
    • SolutionReport(T) Class
    • SolutionReport(T, TError) Class
    • Special Class
    • SummaryOptions Class
    • SymbolicMath Class
    • TotalLossOfPrecisionException Class
    • TransposeOperation Enumeration
    • TypedVectorWrapper(K, T) Structure
    • Vector Class
    • Vector(T) Class
    • VectorExtensions Class
  • SymbolicMath Class
    • Methods
  • Methods
    • CombineFast Method Overloads
    • DefineSymbolicDerivative Method
    • FindMaximum Method Overloads
    • FindMinimum Method Overloads
    • FindZero Method Overloads
    • GetDerivative Method
    • GetEquationSolver Method Overloads
    • GetFunctionAndGradient Method Overloads
    • GetGradient Method Overloads
    • GetJacobian Method Overloads
    • GetMaximizer Method Overloads
    • GetMinimizer Method Overloads
    • GetSymbolicDerivative Method
    • GetSymbolicOrNumericalDerivative Method
    • Simplify(T) Method
    • TryGetSymbolicDerivative Method
    • TryGetSymbolicOrNumericalDerivative Method
  • GetGradient Method Overloads
    • GetGradient Method (Expression(Func(Vector(Double), Double)))
    • GetGradient Method (Expression(Func(Vector, Double)))
  • GetGradient Method (Expression(Func(Vector(Double), Double)))
SymbolicMathGetGradient Method (ExpressionFuncVectorDouble, Double)Extreme Optimization Numerical Libraries for .NET Professional
Returns a delegate that symbolically evaluates the gradient of a multivariate function.

Namespace: Extreme.Mathematics
Assembly: Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 6.0.16073.0 (6.0.16312.0)
Syntax

C#
VB
C++
F#
Copy
public static Func<Vector<double>, Vector<double>, Vector<double>> GetGradient(
	Expression<Func<Vector<double>, double>> function
)
Public Shared Function GetGradient ( 
	function As Expression(Of Func(Of Vector(Of Double), Double))
) As Func(Of Vector(Of Double), Vector(Of Double), Vector(Of Double))
public:
static Func<Vector<double>^, Vector<double>^, Vector<double>^>^ GetGradient(
	Expression<Func<Vector<double>^, double>^>^ function
)
static member GetGradient : 
        function : Expression<Func<Vector<float>, float>> -> Func<Vector<float>, Vector<float>, Vector<float>> 

Parameters

function
Type: System.Linq.ExpressionsExpressionFuncVectorDouble, Double
A lambda expression that represents a multivariate function.

Return Value

Type: FuncVectorDouble, VectorDouble, VectorDouble
A delegate that represents a multivariate function returning a vector in its second argument.
Remarks

The partial derivatives are calculated symbolically from the supplied lambda expression. The expression must not contain loops or blocks. If functions are encountered for which no symbolic derivative is available, a numerical approximation is used.

Version Information

Numerical Libraries

Supported in: 6.0
See Also

Reference

SymbolicMath Class
GetGradient Overload
Extreme.Mathematics Namespace

Copyright (c) 2004-2016 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

Copyright © 2004-2018, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.