Q:Optimize.m and common factors
- To: mathgroup at smc.vnet.net
- Subject: [mg9371] Q:Optimize.m and common factors
- From: eds at gravi.physik.uni-jena.de (E. Schmidt)
- Date: Sat, 1 Nov 1997 03:33:56 -0500
- Organization: Friedrich-Schiller-University Jena, Germany
- Sender: owner-wri-mathgroup at wolfram.com
Hallo, World!
My question is related to the packages Format.m (MathScr:0205-254) and
Optimize.m(MathScr:0206-592) written by Mark Sofroniou
to format Mathematica output for Fortran,C,Maple,Tex (there are two
"Optimize.m" in MathSource,
be sure you get the right one...)
I am trying to generate the code for C or Fortran and it works good with
these packages, but NOT in the best way...
The optimization is not perfect and this is what was mentioned in docs..
But sometimes it seems to me that factorization of optimized expressions
is just ignored
Namely:
-it never recognizes negative numbers as common factor
-sometimes it does not recognize variables as common factor Here are
some examples
How to manage Optimize to do the job?
Any ideas are welcome
Thanks in advance
Eduard
------------------------
In[]:=
<<Optimize.m
eq1=x-3c y x^2 -6 c x^3 y
Optimize[eq1]
Optimize[Horner[eq1,{x,y}]]
Collect[eq1,{x,y,c}]
Optimize[Horner[%]]
2 3
Out[2]= x - 3 c x y - 6 c x y
2 3
Out[3]= {{}, x - 3 c x y - 6 c x y}
Out[4]= {{}, x (1 + x (-3 c y - 6 c x y))}
2 3
Out[5]= x - 3 c x y - 6 c x y
2 Out[6]= {{}, x + c x (-3 y - 6 x
y)} (* expected:
{{}, x -3 c x^2 y (1 + 2 x)}
or {{}, x -6 c x^2 y (0.5 + x)}
*)
In[7]:= Optimize[(1-x y)/(1+x y)]
1 - x y
Out[7]= {{}, -------}
1 + x y
(* expected:
{{o1->x y}, (1-o1)/(1+o1)}
*)