private static double Get(List <double> coefficients, int dimension, List <double> variables) { var combinations = CombinationCache.GetCombinations(coefficients.Count, dimension); double sum = 0.0; sum += coefficients[0]; for (int i = 1; i < combinations.Count; i++) { sum += ComputeSumElementValue(variables, coefficients[i], combinations[i]); } return(sum); }
private static Node GetExpression(List <Node> coefficients, int dimension, List <Node> variables) { var combinations = CombinationCache.GetCombinations(coefficients.Count, dimension); Node sum = Node.Zero; sum += coefficients[0]; for (int i = 1; i < combinations.Count; i++) { sum += ComputeSumElementValue(variables, coefficients[i], combinations[i]); } return(sum); }
public static string GetExpression(int dimension, List <double> coefficients, List <string> variables) { var combinations = CombinationCache.GetCombinations(coefficients.Count, dimension); string coefficientString = coefficients[0].ToString(CultureInfo.InvariantCulture); StringBuilder result = new StringBuilder(); result.Append(coefficientString); for (int i = 1; i < combinations.Count; i++) { result.Append($" + {ComputeSumElementString(variables, coefficients[i], combinations[i])}"); } return(result.ToString()); }