#2968 closed feature request (done)
Add a new formatter for symbolic expressions, which produces an infix expression as well as a list of all coefficient values
Reported by: | chaider | Owned by: | gkronber |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.17 |
Component: | Problems.DataAnalysis.Symbolic | Version: | trunk |
Keywords: | Cc: |
Description
Representation of coefficients of the mathematical representation for solution models. Display coefficients as strings to be able to copy/paste values into other programs for further analysis.
e.g.
Mathematical Representation:
Y = (c0 * x + c1 * y + c2 * z)
Coefficients:
c0 = -0.03129
c1 = 1.5293
c2 = -0.93221
Change History (22)
comment:1 Changed 3 years ago by chaider
- Summary changed from Infix Symbolic String Formatter to Add a new formatter for symbolic expressions
comment:2 Changed 3 years ago by chaider
- Status changed from new to accepted
- Summary changed from Add a new formatter for symbolic expressions to Add a new formatter for symbolic expressions, which produces an infix expression as well as a list of all coefficient values
comment:3 Changed 3 years ago by chaider
comment:4 Changed 3 years ago by chaider
r16337 Added Problems.DataAnalysis.Symbolic
comment:5 Changed 3 years ago by chaider
r16338 Added references to projects and added build events.
comment:6 Changed 3 years ago by chaider
r16339: Added infix expressen string formatter class
comment:7 Changed 3 years ago by chaider
r16340 Changed formating of constant list
comment:8 Changed 3 years ago by mkommend
Review Comments
Visual representation looks very good!
InfixStringFormatter
- I personally do not like the file and class name. Please think of a better one that indicates the differences between both infix formatters
- Do constants and constants counter have to be member variables. Would it be sufficient to declare them in the format method
- Why are the maximum digits dependent on the number of constants (line 42)?
- GetDigits lines 180 & 182 are obsolete in my opinion. It does exactly the same as line 183.
- Can these functionality be integrated in the default infix formatter so that fewer / no code is duplicated?
comment:9 Changed 3 years ago by chaider
r16411 changed GetDigits method to use calculation for number 1-9 too
comment:10 Changed 2 years ago by gkronber
- Milestone changed from HeuristicLab 3.3.16 to HeuristicLab 3.3.17
comment:11 Changed 18 months ago by chaider
r17503 merged trunk into branch
comment:12 Changed 17 months ago by chaider
- Removed extra file for InfixStringFormatter (moved class to InfixExpressionFormatter file)
- Extracted FormatRecursively into base class (reduce code duplication)
- removed member variables constants and constantsCounter
comment:13 Changed 17 months ago by chaider
- Owner changed from chaider to mkommend
- Status changed from accepted to reviewing
comment:14 Changed 16 months ago by mkommend
- Version changed from branch to trunk
r17581: Merged formatter changes into trunk.
comment:15 Changed 16 months ago by mkommend
r17582: Deleted branch for infix formatter.
comment:16 Changed 16 months ago by mkommend
- Status changed from reviewing to readytorelease
comment:17 Changed 14 months ago by gkronber
- Owner changed from mkommend to gkronber
- Status changed from readytorelease to assigned
For several symbols the changed formatter does not produce matching closing parenthesis.
Made some changes with r17685
comment:18 Changed 14 months ago by gkronber
- Status changed from assigned to reviewing
comment:19 Changed 9 months ago by gkronber
Integer powers should be integrated directly into the expression and not listed as coefficients.
e.g. c0 * power(x1, 4) + c1 * power(x2, 3) instead of c0 * power(x1, c1) + c2 * power(x2, c3).
comment:20 Changed 9 months ago by gkronber
r17811: integer powers are included directly in the expression instead of the list of coefficients.
comment:21 Changed 6 months ago by gkronber
- Status changed from reviewing to readytorelease
Reviewed r17811
comment:23 Changed 6 months ago by gkronber
- Resolution set to done
- Status changed from readytorelease to closed
r16336 added new branch