×

Method, apparatus, and computer program product for solving an equation system using pure spreadsheet functions

  • US 10,114,812 B1
  • Filed: 01/04/2018
  • Issued: 10/30/2018
  • Est. Priority Date: 01/03/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method for computing a value of a root formula expression stored in a spreadsheet software application, the method comprising:

  • A) displaying and operating one or more tabular datasheets by executing the spreadsheet software application on a computer device, each tabular datasheet having a plurality of cells each being designated with a column identifier and a row identifier, the cells being configured to receive values or formula expressions input, evaluate formula expressions, and display output; and

    B) providing a programming interface to the spreadsheet software application, the programming interface being configured to;

    B1) receive the identifiers for at least one of the cells and retrieve a value or a formula expression from the one of the cells;

    B2) receive at least an evaluable formula expression, and evaluate its equivalent value, wherein the evaluable formula expression represents an independent textual expression that is evaluated to an equivalent numerical value by said programming interface; and

    C) providing a graph constructor algorithm for representing the root formula and its interdependence on an additional nested formulas and the variables on a tree-structured graph of relational nodes, the graph constructor algorithm comprising;

    C1) receiving the identifiers for the root formula'"'"'s cell and the variables'"'"' cells and communicating with said programming interface to retrieve the root formula expression;

    C2) identifying and retrieving the expressions for the additional nested formulas expressions on which the root formula depends by traversing the dependency of any retrieved expression on additional formulas;

    C3) constructing a tree-structured graph of relational nodes for representing the interdependence of the root formula expression on the additional nested formulas expressions and the variables;

    C4) transforming the tree-structured graph into an evaluation graph of relational nodes containing an equivalent sequence of formula expressions; and

    D) providing a graph evaluator algorithm for evaluating said evaluation graph, the graph evaluator algorithm comprising;

    D1) receiving said evaluation graph and a supply of values for the variables;

    D2) traversing the relational nodes of said evaluation graph in an order of their interdependence and transforming the formula expression in each relational node into an evaluable formula expression by replacing the variables in said formula expression in the relational node by the supplied values of the variables, and any reference to a traversed child relational node;

    D3) obtaining a value of the relational node by evaluating the value of the evaluable formula expression in the relational node via said programming interface;

    D4) aggregating the obtained values of the relational nodes in an order of their interdependence to obtain the value of the root formula expression; and

    E) providing a computer software application communicable with the spreadsheet software application via said programming interface, the computer software application being configured to execute said graph constructor algorithm followed by said graph evaluator algorithm obtaining the value of the root formula expression in accordance with the supplied values of the one or more variables for the root formula, the root formula depending on the variables explicitly or implicitly through interdependence on the additional nested formulas, not storing or modifying any stored values in the spreadsheet application.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×