Class Derivatives
A class that can derive an expression node tree.
Inheritance
Inherited Members
Namespace: SpiceSharpBehavioral.Parsers.Nodes
Assembly: SpiceSharpBehavioral.dll
Syntax
public class Derivatives
Constructors
Derivatives(VariableNode[])
Initializes a new instance of the Derivatives class.
Declaration
public Derivatives(params VariableNode[] variables)
Parameters
Type | Name | Description |
---|---|---|
VariableNode[] | variables | The variables. |
Derivatives(IEnumerable<VariableNode>)
Initializes a new instance of the Derivatives class.
Declaration
public Derivatives(IEnumerable<VariableNode> variables)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<VariableNode> | variables | The variables to which the derivative should be computed. |
Properties
FunctionRules
Gets or sets derivative definitions.
Declaration
public Dictionary<string, FunctionRule> FunctionRules { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.Dictionary<System.String, FunctionRule> | The derivative definitions. |
Variables
Gets the map.
Declaration
public HashSet<VariableNode> Variables { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.HashSet<VariableNode> | The map. |
Methods
Apply(Dictionary<VariableNode, Node>, Func<Node, Node>)
Applies the specified argument.
Declaration
public static Dictionary<VariableNode, Node> Apply(Dictionary<VariableNode, Node> argument, Func<Node, Node> func)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.Dictionary<VariableNode, Node> | argument | The argument. |
System.Func<Node, Node> | func | The function. |
Returns
Type | Description |
---|---|
System.Collections.Generic.Dictionary<VariableNode, Node> |
ChainRule(FunctionNode, IReadOnlyList<Node>, String)
Applies the chain rule on a function.
Declaration
public static Node ChainRule(FunctionNode function, IReadOnlyList<Node> dargs, string format)
Parameters
Type | Name | Description |
---|---|---|
FunctionNode | function | The function definition. |
System.Collections.Generic.IReadOnlyList<Node> | dargs | The derivatives of the arguments. |
System.String | format | The format of the new function. {0} denotes the old name, while {1} will hold the index to which the function should be derived. |
Returns
Type | Description |
---|---|
Node |
Combine(Dictionary<VariableNode, Node>, Dictionary<VariableNode, Node>, Func<Node, Node>, Func<Node, Node>, Func<Node, Node, Node>)
Combines two arguments together.
Declaration
public static Dictionary<VariableNode, Node> Combine(Dictionary<VariableNode, Node> left, Dictionary<VariableNode, Node> right, Func<Node, Node> leftOnly, Func<Node, Node> rightOnly, Func<Node, Node, Node> both = null)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.Dictionary<VariableNode, Node> | left | The left argument. |
System.Collections.Generic.Dictionary<VariableNode, Node> | right | The right argument. |
System.Func<Node, Node> | leftOnly | The function called when the left argument is not zero. |
System.Func<Node, Node> | rightOnly | The function called when the right argument is not zero. |
System.Func<Node, Node, Node> | both | The function called when both arguments are not zero. |
Returns
Type | Description |
---|---|
System.Collections.Generic.Dictionary<VariableNode, Node> | The result. |
Derive(Node)
Derives the specified node to the variables.
Declaration
public virtual Dictionary<VariableNode, Node> Derive(Node node)
Parameters
Type | Name | Description |
---|---|---|
Node | node | The nodes. |
Returns
Type | Description |
---|---|
System.Collections.Generic.Dictionary<VariableNode, Node> | The derived nodes, or |