Free cookie consent management tool by TermsFeed Policy Generator

Opened 6 years ago

Closed 4 years ago

Last modified 4 years 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 6 years ago by chaider

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

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

r16336 added new branch

comment:4 Changed 6 years ago by chaider

r16337 Added Problems.DataAnalysis.Symbolic

comment:5 Changed 6 years ago by chaider

r16338 Added references to projects and added build events.

comment:6 Changed 6 years ago by chaider

r16339: Added infix expressen string formatter class

comment:7 Changed 6 years ago by chaider

r16340 Changed formating of constant list

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

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

comment:10 Changed 6 years ago by gkronber

  • Milestone changed from HeuristicLab 3.3.16 to HeuristicLab 3.3.17

comment:11 Changed 5 years ago by chaider

r17503 merged trunk into branch

comment:12 Changed 5 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 5 years ago by chaider

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

comment:14 Changed 4 years ago by mkommend

  • Version changed from branch to trunk

r17581: Merged formatter changes into trunk.

comment:15 Changed 4 years ago by mkommend

r17582: Deleted branch for infix formatter.

comment:16 Changed 4 years ago by mkommend

  • Status changed from reviewing to readytorelease

comment:17 Changed 4 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 4 years ago by gkronber (previous) (diff)

comment:18 Changed 4 years ago by gkronber

  • Status changed from assigned to reviewing

comment:19 Changed 4 years 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 4 years ago by gkronber

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

comment:21 Changed 4 years ago by gkronber

  • Status changed from reviewing to readytorelease

Reviewed r17811

comment:23 Changed 4 years 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.