LeniFlux Documentation

Welcome to the official documentation for LeniFlux. Here you will find everything you need.

Summary

LeniFlux is a computational spreadsheet-like environment built around FluxSheets, which are tables where you define variables, perform calculations, and run advanced operations such as optimization, differential equation solving, and statistical analysis. LeniFlux emphasizes deterministic, from-scratch recalculation: no hidden temporary states exist unless the user explicitly saves values.

FluxSheets

Variables

General structure and concept

With LeniFlux you can create FluxSheets. A FluxSheet is a general table environment where you can perform calculations. Inside a FluxSheet you have several tabs.

FluxSheets operate on the bases of variables. A variable is a matrix and can contain a large amount of data (> 1000000 values). Any calculation can be performed on such a variable. You can organize variables inside a FluxSheet.

A variable with the name "test" is the same in all the tabs of a FluxSheet. A separate FluxSheet will not be able access this same variable "test". For connecting different FluxSheets to each other, the FluxBoard can be used.

All calculations performed within a FluxSheet are performed from scratch, every single time. Temporary data does not exist, data will only be stored on the users request. A calculation with a thousand intermediate steps, will always reload those starting values and perform all thousand steps again. This creates a logical flow through your calculations, without ever having any hidden or unwanted temporary stored values. You are in control of when values are saved into a new variable.

Variables

A variable is created when you type a name into a cell. This name can contain the underscore character, but not any other special characters. In order to write text or comments, start the cell with an apostrophe ' or double ''. It is automatically recognized as text when there are spaces present. The position inside the table environment determines the column index. The first time you place the variable test into a sheet, it has index 0. When you enter it again into your sheet, with a position either to the right or below the previous one, the variable test will be indexed into column 1. New data can be inserted into every column and that is how you make up a matrix. Variables can be accessed as follows:

        ={test,0} // is an entire vector of values, for example [10,2,3,4]
        ={test,0}[0] // gives the first value of the test variable of column 0, which is 10.
        ={test,1}[0] // gives the first value of the test variable of column 1.
        ={test,1}[5] // gives the 6th value of the test variable of column 1.
      

Actions and calculations

A calculation can be started by typing one = equal sign. See the examples below. This calculation is immediately executed upon clicking the cell that contains this equation. In the case that you do not want to immediately execute the cell, place an := in front of your calculation. Now, the cell will only be executed when you press the play button.

Calculations can be performed inside individual cells. When more complex calculations are required, a calculation block [ ] can be used. A calculation block is executed as if it is a separate equation in another cell.


      =tanh({test,0}) // instantly executed when clicked upon
      :=tanh({test,0}) // executed when the play button is pressed
      result:=tanh({test,0}) // executed when the play button is pressed and result is stored in the variable result
      =[{test,0} / 2 - 2]^2 // immediately perform a (sub) calculation inside a single cell with a calculation block []
      

Formulas

LeniFlux formulas are math-inspired expressions. You can use math functions like sin(), log() and ^2.


        ={test,0} * exp(-{test,1} ^ 2)
        ={test,0} + 3*tanh({test,0})
        ={test,0} + ln(2) // natural logarithm
        = 10 + sqrt({test,0}) // square root
      
When there is a vector of variables like in the first column of test, the output will also be a vector of variables. All values of {test,0} ([10,2,3,4]) will be passed through this expression.

Data Import

Upload data directly using the Insert → Upload option or paste CSV-formatted or JSON-formatted text into any cell.

Keyboard Shortcuts