SymbolicUtils.jl icon indicating copy to clipboard operation
SymbolicUtils.jl copied to clipboard

Updating dict

Open lamorton opened this issue 2 years ago • 0 comments

OK, maybe this is pathological, but I was thinking maybe this would be an easy way to add unit conversion within equations in ModelingToolkit:

@syms x y z
summed = x + y + z
# Black magic
summed.dict[z] = 2 *summed.dict[z] # Multiply by new coefficient
print(summed)

The printout is still:

x + y + z

But I see the dict is successfully modified:

julia> summed.dict
Dict{Any, Number} with 3 entries:
  y => 1
  x => 1
  z => 2

So that means I changed the equation, right? So, there's a bug in the show function because it's not showing the correct value of the sum now. (Or is the dict just a leftover from the construction of the sum, and I shouldn't try to change the sum by modifying the dict? Maybe it should be immutable?)

lamorton avatar Aug 28 '22 23:08 lamorton