Free cookie consent management tool by TermsFeed Policy Generator

Opened 4 years ago

Closed 19 months ago

Last modified 19 months ago

#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 4 years ago by chaider

  • Summary changed from Infix Symbolic String Formatter to Add a new formatter for symbolic expressions

comment:2 Changed 4 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 4 years ago by chaider

r16336 added new branch

comment:4 Changed 4 years ago by chaider

r16337 Added Problems.DataAnalysis.Symbolic

comment:5 Changed 4 years ago by chaider

r16338 Added references to projects and added build events.

comment:6 Changed 4 years ago by chaider

r16339: Added infix expressen string formatter class

comment:7 Changed 4 years ago by chaider

r16340 Changed formating of constant list

comment:8 Changed 4 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 4 years ago by chaider

r16411 changed GetDigits method to use calculation for number 1-9 too

comment:10 Changed 3 years ago by gkronber

  • Milestone changed from HeuristicLab 3.3.16 to HeuristicLab 3.3.17

comment:11 Changed 2 years ago by chaider

r17503 merged trunk into branch

comment:12 Changed 2 years ago by chaider

r17523

  • 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 2 years ago by chaider

  • Owner changed from chaider to mkommend
  • Status changed from accepted to reviewing

comment:14 Changed 2 years ago by mkommend

  • Version changed from branch to trunk

r17581: Merged formatter changes into trunk.

comment:15 Changed 2 years ago by mkommend

r17582: Deleted branch for infix formatter.

comment:16 Changed 2 years ago by mkommend

  • Status changed from reviewing to readytorelease

comment:17 Changed 2 years 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

Last edited 19 months ago by gkronber (previous) (diff)

comment:18 Changed 2 years ago by gkronber

  • Status changed from assigned to reviewing

comment:19 Changed 21 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 21 months ago by gkronber

r17811: integer powers are included directly in the expression instead of the list of coefficients.

comment:21 Changed 19 months ago by gkronber

  • Status changed from reviewing to readytorelease

Reviewed r17811

comment:23 Changed 19 months ago by gkronber

  • Resolution set to done
  • Status changed from readytorelease to closed

r17869: r17581,r17685,r17811 from trunk to stable

Note: See TracTickets for help on using tickets.