示例#1
0
        public Matrix <R> ComputeVariablesJacobian(D input)
        {
            var leftJacobian  = LeftFunction.ComputeParametersJacobian(input);
            var rightJacobian = RightFunction.ComputeParametersJacobian(input);

            var scalar = RightFunction.Compute(input).MultiplicativeInverse;

            leftJacobian  *= scalar;
            rightJacobian *= -LeftFunction.Compute(input) * scalar * scalar;

            return(leftJacobian - rightJacobian);
        }
示例#2
0
 public void GetAllParametersOptimizationScales(R[] buffer, int startIndex)
 {
     LeftFunction.GetAllParametersOptimizationScales(buffer, startIndex);
     RightFunction.GetAllParametersOptimizationScales(buffer, startIndex + LeftFunction.ParametersCount);
 }
示例#3
0
 public void SetAllParameters(R[] paramValues, int startIndex)
 {
     LeftFunction.SetAllParameters(paramValues, startIndex);
     RightFunction.SetAllParameters(paramValues, startIndex + LeftFunction.ParametersCount);
 }
 public string ToSQL(LeftFunction funcExp)
 {
     return(_FunctionToSQL(funcExp, "LEFT"));
 }
示例#5
0
 public R Compute(D input)
 {
     return(LeftFunction.Compute(input).Divide(RightFunction.Compute(input)));
 }
        public object Evaluate(LeftFunction funcExp, object data, IEnumerable <object> parameters = null)
        {
            var paramValues = _GetParameterValues(funcExp, data, parameters);

            return((object)((string)paramValues[0]).Substring(0, (int)paramValues[1]));
        }
示例#7
0
 public void GetAllParameters(PF[] buffer, int startIndex)
 {
     LeftFunction.GetAllParameters(buffer, startIndex);
     RightFunction.GetAllParameters(buffer, startIndex + LeftFunction.ParametersCount);
 }
示例#8
0
 public Matrix <PF> ComputeVariablesJacobian(D input)
 {
     return(LeftFunction.ComputeVariablesJacobian(input) - RightFunction.ComputeVariablesJacobian(input));
 }
示例#9
0
 public Matrix <PF> ComputeParametersJacobian(D input)
 {
     return(Matrix <PF> .ConcatRows(LeftFunction.ComputeParametersJacobian(input), -RightFunction.ComputeParametersJacobian(input)));
 }
示例#10
0
 public R Compute(D input)
 {
     return(LeftFunction.Compute(input).Subtract(RightFunction.Compute(input)));
 }