Commit Graph

51 Commits

Author SHA1 Message Date
Émilie Feral
ecf3f2ea0f [poincare] Create a a flag on Expression that is set when the
approximation encouters a complex value

All approximation methods take the complex format into account.
2019-01-10 11:42:04 +01:00
Ruben Dashyan
61b1b8a09d [poincare] Add Expression::FunctionHelper class
That class is meant to contain data about named functions (e.g. sin,
tan...) in one place: their name, their number of children and a pointer to
a builder. The derived class corresponding to each such function
contains a private instance (m_functionHelper) and a getter.
The previous parser is removed, along with unecessary
constructors (used by the previous parsers).
2018-11-23 12:04:05 +01:00
Émilie Feral
b597a79910 [regression] Fix Regression with variable-length symbols 2018-11-23 12:03:58 +01:00
Lionel Debroux
1a8c6b6ae9 [poincare, escher, ion, apps] Split the huge umbrella header poincare.h, to reduce build time.
This should be a NFC, but surprisingly, it also reduces size... so what does it change ?
2018-10-23 11:49:09 +02:00
Romain Goyet
f8beae3b86 [kandinsky] Move to KDFont 2018-10-11 16:44:02 +02:00
Émilie Feral
cf8378434d [regression] When creating SimplifiedExpression, use
Number::DecimalNumber constructor to enable to get Infinity or Undefined
2018-09-18 17:50:10 +02:00
Émilie Feral
365b145cf3 [poincare] Change names: LayoutReference-->Layout 2018-09-18 16:29:44 +02:00
Émilie Feral
616e4c0bcc [poincare] Change name: LayoutRef --> LayoutReference 2018-09-14 16:57:12 +02:00
Émilie Feral
1b0cd43b56 [regression] Tidy the models' layouts before leaving the app 2018-09-14 15:13:20 +02:00
Émilie Feral
3a58ff7728 [regression] Fix Model 2018-09-07 12:02:25 +02:00
Émilie Feral
ecffed3124 [regression] Fix QuadraticModel 2018-09-07 11:51:34 +02:00
Émilie Feral
dde1409be2 [regression] Fix Models with new Poincare API 2018-09-07 11:40:05 +02:00
Émilie Feral
f70f72da1a Change new Layout -> LayoutRef 2018-09-06 16:04:17 +02:00
Émilie Feral
837da498cf [regression] Add a comment regarding the maximal number of coefficients
of regression
2018-08-06 15:58:20 +02:00
Émilie Feral
48f890ef93 [poincare] AngleUnit, FormatComplex and PrintFloatMode are now
enumeration of Preferences class
2018-07-30 13:48:04 +02:00
Émilie Feral
e61a408a0a [poincare] Get rid of AngleUnit::Default 2018-07-18 17:09:07 +02:00
Émilie Feral
dd0bc491f6 [poincare] Replace Poincare::Complex by std::complex 2018-07-18 16:32:49 +02:00
Émilie Feral
b0d94f6ead [poincare] Decimal: templatize Decimal constructor on float/double 2018-07-18 16:32:49 +02:00
Léa Saviot
68d915fb3e [apps/reg] Fix window sizing: cursor appears even with big bannerview 2018-07-18 10:32:46 +02:00
Léa Saviot
682f12a1ef [apps/regression] Fix simplifiedExpression memoization
The model does not keep a pointer to the simplifiedExpression, the
method calling simplifiedExpression should delete it afterwards
2018-07-18 10:32:46 +02:00
Émilie Feral
448f5b359c [regression] Fix memory leak 2018-07-18 10:32:46 +02:00
Léa Saviot
32f0d4376b [apps/reg] Remoce TODO comment 2018-07-18 10:32:46 +02:00
Léa Saviot
2d43fd41ff [apps/reg] Better comments 2018-07-18 10:32:46 +02:00
Léa Saviot
91572b9c93 [apps/reg] Lower the maximal number of regression iterations 2018-07-18 10:32:46 +02:00
Léa Saviot
91430c0040 [apps/reg] Sine regression is now a*sin(b*x+c)+d 2018-07-18 10:32:46 +02:00
Léa Saviot
f031a642b8 [apps/reg] Cap the number of matrix modifications 2018-07-18 10:32:46 +02:00
Léa Saviot
c56652cda9 [apps/reg] Algorithm more robust against non invertible matrices 2018-07-18 10:32:46 +02:00
Léa Saviot
c68cd9d2ba [apps/reg] Fix x prediction given y
The expressions need to be simplified before computing intersections
2018-07-18 10:32:46 +02:00
Léa Saviot
7a114f525e [apps/reg] Implement numerical level set 2018-07-18 10:32:46 +02:00
Léa Saviot
4f00d42121 [apps/reg] Clean and comment code 2018-07-18 10:32:46 +02:00
Léa Saviot
5beed2de1d [apps/regression] Fix power derivate formula 2018-07-18 10:32:46 +02:00
Léa Saviot
7ed836d12b [apps/reg] Fix non invertible matrix condition 2018-07-18 10:32:46 +02:00
Léa Saviot
e174e33480 [apps/reg] Regression computations on arrays, not Expression::Matrix 2018-07-18 10:32:46 +02:00
Léa Saviot
aed2632c9f [apps/reg] Light fix of power and logistic regressions 2018-07-18 10:32:46 +02:00
Léa Saviot
01fe25e4a1 [apps/reg] No regression if number of points inferior to coefficients
More specifically, prevent a regression if the number of unique point
abscissae is inferior to the number of coefficients to find.
2018-07-18 10:32:45 +02:00
Léa Saviot
17c3d52597 [apps/reg] Add multiplication symbols in regression formulas 2018-07-18 10:32:45 +02:00
Léa Saviot
a8b2183afa [apps/reg] Prevent fitting when data not suitable 2018-07-18 10:32:45 +02:00
Léa Saviot
4b8462ed8a [apps/reg] Do not show "Yprediction given x" if not available 2018-07-18 10:32:45 +02:00
Léa Saviot
dd924b2cea [apps/reg] Fix logistic formula 2018-07-18 10:32:45 +02:00
Léa Saviot
644eec52e2 [apps/reg] Model::numberOfCoefficients return an int, not a double 2018-07-18 10:32:45 +02:00
Léa Saviot
502ce397d9 [apps/reg] Fix banner view data 2018-07-18 10:32:45 +02:00
Léa Saviot
f885923957 [apps/reg] Display correct formula in banner view 2018-07-18 10:32:45 +02:00
Léa Saviot
89149ea269 [apps/reg] Fit linear regression using direct formula 2018-07-18 10:32:45 +02:00
Léa Saviot
8c5a208b31 [app/reg] Model layouts are accessible through virtual method 2018-07-18 10:32:45 +02:00
Léa Saviot
5f865814f0 [apps/reg] Each regression model can evaluate levelSets (= antecedents) 2018-07-18 10:32:45 +02:00
Léa Saviot
e777a191c6 [apps/regression] Draw the right regression curve 2018-07-18 10:32:45 +02:00
Léa Saviot
1c8ff9bd83 [apps/reg] Put levenberg-marquardt methods in Model 2018-07-18 10:32:45 +02:00
Léa Saviot
e4fc5e8a64 [apps/reg] Display the regression layouts is RegressionController 2018-07-18 10:32:45 +02:00
Léa Saviot
5b6909ea5e [apps/reg] Rename RegressionModel -> Model 2018-07-18 10:32:45 +02:00
Léa Saviot
0e53da5cc4 [apps/reg] Fix TrigonometricModel -> watch out for radians/degrees 2018-07-18 10:32:45 +02:00