/[GiNaC]/ginac/normal.h
ViewVC logotype

Log of /ginac/normal.h

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Links to release_0-9-0: (view) (annotate)
Sticky Tag:

Revision 1.12 - (view) (annotate) - [select for diffs]
Sun Mar 11 16:10:06 2001 UTC (12 years, 2 months ago) by kreckel
Branch: MAIN
CVS Tags: release_0-8-0, release_0-8-1, release_0-8-2, release_0-8-3, release_0-9-0
Changes since 1.11: +3 -1 lines
Diff to previous 1.11
normal.cpp, normal.h: Fix Yun's algorithm (there was a mistake in Geddes et
al.) for square-free factorization.  Also change the syntax to allow for
square-free factoring in a recursive way in Q[X].  This is an example how it
works in Z[x,y,z] in ginsh:
> ?sqrfree
sqrfree(expression [, symbol-list]) - square-free factorization of a polynomial
> sqrfree(expand((x+y)*(x+y+z)^2*(y-z)^3));
(x+y)*(-x-y-z)^2*(y^3+3*y*z^2-3*y^2*z-z^3)
> sqrfree(expand((x+y)*(x+y+z)^2*(y-z)^3),[y]);
(x+y)*(y-z)^3*(x+y+z)^2
> sqrfree(expand((x+y)*(x+y+z)^2*(y-z)^3),[z]);
(x+y)*(y-z)^3*(x+y+z)^2
> sqrfree(expand((x+y)*(x+y+z)^2*(y-z)^3),[x]);
(x+y)*(-x-y-z)^2*(y^3+3*y*z^2-3*y^2*z-z^3)
> sqrfree(expand((x+y)*(x+y+z)^2*(y-z)^3),[x,y]);
(x+y)*(-x-y-z)^2*(y^3+3*y*z^2-3*y^2*z-z^3)
> sqrfree(expand((x+y)*(x+y+z)^2*(y-z)^3),[x,y,z]);
(x+y)*(-x-y-z)^2*(y^3+3*y*z^2-3*y^2*z-z^3)
> sqrfree(expand((x+y)*(x+y+z)^2*(y-z)^3),[v]);
3*x*y^5+3*x^2*y^4+x^3*y^3+y^6-y*z^5-2*y^4*z^2+y^2*z^4-y^5*z+2*y^3*z^3-3*x^3*y^2*z+3*x^3*y*z^2-5*x*y^4*z-x*y*z^4+3*x^2*y*z^3+6*x*y^2*z^3+3*x^2*y^2*z^2-2*x*y^3*z^2-7*x^2*y^3*z-x^3*z^3-2*x^2*z^4-x*z^5


Revision 1.11 - (view) (annotate) - [select for diffs]
Wed Feb 28 12:54:53 2001 UTC (12 years, 2 months ago) by kreckel
Branch: MAIN
CVS Tags: release_0-7-3
Changes since 1.10: +0 -4 lines
Diff to previous 1.10
* ginac/registrar.h: dtor is inlined now.
* ginac/basic.h, ginac/ex.h: removed INLINE_FOO_CONSTRUCTORS and hand-inlined
  stuff instead, since the macros turned out to get in the way while
  fine-tuning the inlining.
* ginac/utils.h: if 'long long' works, use that one for computing the hash
  value instead of floating point tricks.  2 Reasons: on Intel the assembler
  is terrible and slow otherwise, 'long long' will appear in C++ anyways when
  they adapt to the C99 standard.
* Several other small performance tweaks.
* ginac/constant.cpp: (constant::calchash()) implement, caring for serial.
* ginac/function.pl (function::calchash()): implement, caring for serial.
* ginac/expairseq.cpp: honor coeff's hash value.
* ginac/pseries.cpp: (pseries::power_const()) fix problems with zero pseries.
* Added several pounds of in-source documentation in doxygen style.


Revision 1.10 - (view) (annotate) - [select for diffs]
Mon Jan 22 15:12:09 2001 UTC (12 years, 4 months ago) by kreckel
Branch: MAIN
CVS Tags: release_0-7-1, release_0-7-2
Changes since 1.9: +1 -1 lines
Diff to previous 1.9
- See if __GNUC__ < 2.97 before using std::vector<..,malloc_alloc>.  Sorry,
  there is no way having this depend on whether we are setting up Cint or
  not because the malloc_alloc goes into the mangled signature and the
  result won't link if one tries to be more clever.  It really sucks.
  Let's all just pray Masaharu throws away that old STL implementation
  really soon now.  (Jeez, he still calls this old junk 'reference'!)
- Bumped up a few dates.  :-)


Revision 1.9 - (view) (annotate) - [select for diffs]
Thu Apr 6 15:58:15 2000 UTC (13 years, 1 month ago) by cbauer
Branch: MAIN
CVS Tags: release_0-6-0, release_0-6-1, release_0-6-2, release_0-6-3, release_0-6-4, release_0-7-0
Changes since 1.8: +4 -2 lines
Diff to previous 1.8
- added ex::to_rational() to convert general expression to rational expression
  by replacing all non-rational parts with temporary symbols, e.g.:
    ex a = pow(sin(x), 2) - pow(cos(x), 2);
    ex b = sin(x) + cos(x);
    ex d;
    lst l;
    divide(a.to_rational(l), b.to_rational(l), d);
    cout << d.subs(l) << endl;
  will print "sin(x)-cos(x)"


Revision 1.8 - (view) (annotate) - [select for diffs]
Sun Jan 30 20:53:22 2000 UTC (13 years, 3 months ago) by kreckel
Branch: MAIN
CVS Tags: relase_0-5-0, relase_0-5-1, release_0-5-2, release_0-5-3, release_0-5-4
Changes since 1.7: +4 -4 lines
Diff to previous 1.7
- Renamed flag NO_GINAC_NAMESPACE to NO_NAMESPACE_GINAC because of m4.
- Made configure check for cint and makecint and call makecint to dump out
  cint/Makefile.cint, which will later be called by cint/Makefile.  See
  configure option --with-cint.
- Added some documentation about GiNaC-cint (e.g. a manpage).
- All dummies in subdir cint/ are created by cint/dummies.pl now, removed
  older stuff.


Revision 1.7 - (view) (annotate) - [select for diffs]
Tue Jan 11 19:25:06 2000 UTC (13 years, 4 months ago) by kreckel
Branch: MAIN
Changes since 1.6: +1 -1 lines
Diff to previous 1.6
- made nops() return unsigned instead of int
- changed dates in copyright notices


Revision 1.6 - (view) (annotate) - [select for diffs]
Thu Dec 2 15:45:15 1999 UTC (13 years, 5 months ago) by frink
Branch: MAIN
Changes since 1.5: +4 -0 lines
Diff to previous 1.5
#ifndef around namespace GiNaC { }


Revision 1.5 - (view) (annotate) - [select for diffs]
Wed Nov 17 16:58:00 1999 UTC (13 years, 6 months ago) by cbauer
Branch: MAIN
Changes since 1.4: +7 -3 lines
Diff to previous 1.4
- put everything in "GiNaC" namespace
- converted some macros into inline functions
- split debugmsg.h into assertion.h (public) and debugmsg.h (private)


Revision 1.4 - (view) (annotate) - [select for diffs]
Tue Nov 16 16:35:26 1999 UTC (13 years, 6 months ago) by cbauer
Branch: MAIN
Changes since 1.3: +3 -2 lines
Diff to previous 1.3
- modified the comment blocks so the copyright message no longer appears in
  the reference manual (made by Doxygen)


Revision 1.3 - (view) (annotate) - [select for diffs]
Wed Nov 10 19:35:49 1999 UTC (13 years, 6 months ago) by cbauer
Branch: MAIN
Changes since 1.2: +3 -0 lines
Diff to previous 1.2
- modified GiNaC headers to Alexander's liking


Revision 1.2 - (view) (annotate) - [select for diffs]
Wed Nov 10 16:35:12 1999 UTC (13 years, 6 months ago) by cbauer
Branch: MAIN
Changes since 1.1: +18 -6 lines
Diff to previous 1.1
- enforced GiNaC coding standards :-)


Revision 1.1 - (view) (annotate) - [select for diffs]
Tue Nov 9 19:57:04 1999 UTC (13 years, 6 months ago) by cbauer
Branch: MAIN
- switched to automake build environment


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Christian Bauer">Christian Bauer
ViewVC Help
Powered by ViewVC 1.1.15