Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
ArcSecH.cs
1using System;
2using System.Numerics;
7
9{
14 {
24 {
25 }
26
30 public override string FunctionName => nameof(ArcSecH);
31
35 public override string[] Aliases
36 {
37 get { return new string[] { "asech" }; }
38 }
39
46 public ScriptNode Differentiate(string VariableName, Variables Variables)
47 {
48 if (VariableName == this.DefaultVariableName)
49 {
50 int Start = this.Start;
51 int Len = this.Length;
53
54 return this.DifferentiationChainRule(VariableName, Variables, this.Argument,
55 new Invert(
56 new Negate(
57 new Multiply(
58 this.Argument,
59 new Sqrt(
60 new Subtract(
62 new Square(this.Argument, Start, Len, Exp),
63 Start, Len, Exp),
64 Start, Len, Exp),
65 Start, Len, Exp),
66 Start, Len, Exp),
67 Start, Len, Exp));
68 }
69 else
70 return new ConstantElement(DoubleNumber.ZeroElement, this.Start, this.Length, this.Expression);
71 }
72
80 {
81 double d = 1 / Argument;
82 return new DoubleNumber(Math.Log(d + Math.Sqrt(d * d - 1)));
83 }
84
92 {
93 Complex d = Complex.Reciprocal(Argument);
94 return new ComplexNumber(Complex.Log(d + Complex.Sqrt(d * d - Complex.One)));
95 }
96 }
97}
Class managing a script expression.
Definition: Expression.cs:39
ArcSecH(ScriptNode Argument, int Start, int Length, Expression Expression)
ArcSecH(x)
Definition: ArcSecH.cs:22
override IElement EvaluateScalar(Complex Argument, Variables Variables)
Evaluates the function on a scalar argument.
Definition: ArcSecH.cs:91
override string FunctionName
Name of the function
Definition: ArcSecH.cs:30
override string[] Aliases
Optional aliases. If there are no aliases for the function, null is returned.
Definition: ArcSecH.cs:36
ScriptNode Differentiate(string VariableName, Variables Variables)
Differentiates a script node, if possible.
Definition: ArcSecH.cs:46
override IElement EvaluateScalar(double Argument, Variables Variables)
Evaluates the function on a scalar argument.
Definition: ArcSecH.cs:79
Represents a constant element value.
Base class for funcions of one scalar variable.
ScriptNode Argument
Function argument.
Base class for all nodes in a parsed script tree.
Definition: ScriptNode.cs:69
int Length
Length of expression covered by node.
Definition: ScriptNode.cs:101
ScriptNode DifferentiationChainRule(string VariableName, Variables Variables, ScriptNode Argument, ScriptNode Differentiation)
Implements the differentiation chain rule, by differentiating the argument and multiplying it to the ...
Definition: ScriptNode.cs:195
Expression Expression
Expression of which the node is a part.
Definition: ScriptNode.cs:177
int Start
Start position in script expression.
Definition: ScriptNode.cs:92
static readonly DoubleNumber ZeroElement
0
Definition: DoubleNumber.cs:16
static readonly DoubleNumber OneElement
1
Definition: DoubleNumber.cs:21
Collection of variables.
Definition: Variables.cs:25
Basic interface for all types of elements.
Definition: IElement.cs:20
Base interface for lambda expressions.
string DefaultVariableName
Default variable name, if any, null otherwise.