]> www.ginac.de Git - ginac.git/log
ginac.git
22 years ago- dummy index renamer didn't account for internal dummy indices of objects
Christian Bauer [Sat, 19 May 2001 00:42:07 +0000 (00:42 +0000)]
- dummy index renamer didn't account for internal dummy indices of objects
  in products; a~mu.mu-a~nu.nu gets simplified to 0 now
- made a little more use of STL facilities for exvectors, especially in the
  indexed stuff; append_exvector_to_exvector() and index_set_difference() are
  gone and utils.h defines the functors ex_is_less and ex_is_equal

22 years agoadded one more check
Christian Bauer [Sat, 19 May 2001 00:39:55 +0000 (00:39 +0000)]
added one more check

22 years agodocumentation update
Christian Bauer [Sat, 19 May 2001 00:39:49 +0000 (00:39 +0000)]
documentation update

22 years ago- simplify_indexed() renames dummy indices so, e.g., "a.i*a.i+a.j*a.j" gets
Christian Bauer [Fri, 18 May 2001 00:53:07 +0000 (00:53 +0000)]
- simplify_indexed() renames dummy indices so, e.g., "a.i*a.i+a.j*a.j" gets
  simplified to "2*a.i*a.i" (or 2*a.j*a.j, you can't know which one)
- fixed possible crash when calling subs() on expressions with non-commutative
  products
- added canonicalize_clifford()

22 years agocorrected typo
Christian Bauer [Fri, 18 May 2001 00:52:12 +0000 (00:52 +0000)]
corrected typo

22 years agoadded checks for dummy index renaming and canonicalize_clifford()
Christian Bauer [Fri, 18 May 2001 00:52:05 +0000 (00:52 +0000)]
added checks for dummy index renaming and canonicalize_clifford()

22 years agodocumentation update
Christian Bauer [Fri, 18 May 2001 00:51:50 +0000 (00:51 +0000)]
documentation update

22 years ago- Missed to #include "config.h" for HAVE_SSTREAM.
Richard Kreckel [Thu, 17 May 2001 20:35:36 +0000 (20:35 +0000)]
- Missed to #include "config.h" for HAVE_SSTREAM.

22 years agofixed bug in mul::print with print_csrc
Christian Bauer [Wed, 16 May 2001 20:04:51 +0000 (20:04 +0000)]
fixed bug in mul::print with print_csrc

22 years ago- Fix thinko in csgn_eval().
Richard Kreckel [Tue, 15 May 2001 23:26:41 +0000 (23:26 +0000)]
- Fix thinko in csgn_eval().

22 years ago- Indentation Fix.
Richard Kreckel [Tue, 15 May 2001 23:26:21 +0000 (23:26 +0000)]
- Indentation Fix.

22 years ago- added patch contributors, added remark to mailing lists. release_0-8-3
Richard Kreckel [Fri, 11 May 2001 23:15:55 +0000 (23:15 +0000)]
- added patch contributors, added remark to mailing lists.

22 years ago- forgot to close #97136.
Richard Kreckel [Fri, 11 May 2001 20:29:03 +0000 (20:29 +0000)]
- forgot to close #97136.

22 years ago- applied `dch -i'.
Richard Kreckel [Fri, 11 May 2001 19:43:49 +0000 (19:43 +0000)]
- applied `dch -i'.

22 years ago- Renamed our detected libreadline version in order to avoid conflicts
Richard Kreckel [Fri, 11 May 2001 19:43:31 +0000 (19:43 +0000)]
- Renamed our detected libreadline version in order to avoid conflicts
  with Chat Rameys (still broken) macros and future CPP definitions in
  libreadline's headers.  Oh what a pain in the ass!

22 years ago- dirac_trace() takes an optional third argument: the expression to use for
Christian Bauer [Fri, 11 May 2001 18:05:32 +0000 (18:05 +0000)]
- dirac_trace() takes an optional third argument: the expression to use for
  the trace of the unit matrix
- more conventional factor I in gamma5

22 years agodirac_trace() now takes three arguments
Christian Bauer [Fri, 11 May 2001 18:04:35 +0000 (18:04 +0000)]
dirac_trace() now takes three arguments

22 years agoadded missing factor I in gamma5 trace
Christian Bauer [Fri, 11 May 2001 18:04:24 +0000 (18:04 +0000)]
added missing factor I in gamma5 trace

22 years ago- Added inclusion of <sstream> or <strstream> since <ginac/ginac.h> now
Richard Kreckel [Fri, 11 May 2001 14:51:40 +0000 (14:51 +0000)]
- Added inclusion of <sstream> or <strstream> since <ginac/ginac.h> now
  does not do so any more.

22 years ago* Zapped header dependency from <strstream>.
Richard Kreckel [Fri, 11 May 2001 14:16:11 +0000 (14:16 +0000)]
* Zapped header dependency from <strstream>.

22 years ago* comparison operators should return const relationals.
Richard Kreckel [Fri, 11 May 2001 14:15:33 +0000 (14:15 +0000)]
* comparison operators should return const relationals.

22 years ago* node assignment was not returning *this.
Richard Kreckel [Fri, 11 May 2001 14:14:53 +0000 (14:14 +0000)]
* node assignment was not returning *this.

22 years ago- color and clifford classes are quite functional now
Christian Bauer [Thu, 10 May 2001 20:41:24 +0000 (20:41 +0000)]
- color and clifford classes are quite functional now
- new "spinidx" class for dotted/undotted indices
- predefined spinor metric tensor (created by spinor_metric())

22 years agoadded documentation for spinidx, spinor_metric() and noncommutative stuff
Christian Bauer [Thu, 10 May 2001 20:40:36 +0000 (20:40 +0000)]
added documentation for spinidx, spinor_metric() and noncommutative stuff

22 years agomore checks (more, MORE, BWAHAHHAAA!... uhm, ...) for noncommutative classes
Christian Bauer [Thu, 10 May 2001 20:40:16 +0000 (20:40 +0000)]
more checks (more, MORE, BWAHAHHAAA!... uhm, ...) for noncommutative classes

22 years agodocumentation update
Christian Bauer [Thu, 10 May 2001 20:39:07 +0000 (20:39 +0000)]
documentation update

22 years ago- Prepare for landing of 0.8.3.
Richard Kreckel [Thu, 10 May 2001 18:06:09 +0000 (18:06 +0000)]
- Prepare for landing of 0.8.3.

22 years ago- minor cleanup.
Richard Kreckel [Wed, 9 May 2001 23:36:16 +0000 (23:36 +0000)]
- minor cleanup.

22 years ago* Added new operator semantics.
Richard Kreckel [Tue, 8 May 2001 20:45:35 +0000 (20:45 +0000)]
* Added new operator semantics.

22 years ago* Added some messy exams for new operator semantics.
Richard Kreckel [Tue, 8 May 2001 20:44:58 +0000 (20:44 +0000)]
* Added some messy exams for new operator semantics.

22 years ago* All operators are now strictly following the semantics we all know from
Richard Kreckel [Tue, 8 May 2001 20:42:51 +0000 (20:42 +0000)]
* All operators are now strictly following the semantics we all know from
  C/C++.  I.e. e1+e2=42; is now impossible and other such stuff.  For all
  remaining errors (i.e. ++e1 = e1+1;) the compiler alone is to blame...

22 years ago- Remved obsolete remainders of preprocessor symbol NO_NAMESPACE_GINAC.
Richard Kreckel [Tue, 8 May 2001 00:34:44 +0000 (00:34 +0000)]
- Remved obsolete remainders of preprocessor symbol NO_NAMESPACE_GINAC.

22 years ago* Methods of class ex which do absolutely nothing than type dispatch should
Richard Kreckel [Mon, 7 May 2001 20:41:41 +0000 (20:41 +0000)]
* Methods of class ex which do absolutely nothing than type dispatch should
  be inlined for obvious reasons.

22 years ago* Updated Cint status.
Richard Kreckel [Mon, 7 May 2001 20:41:03 +0000 (20:41 +0000)]
* Updated Cint status.

22 years agoChanges needed for compilation with -DDO_GINAC_ASSERT:
Richard Kreckel [Sat, 5 May 2001 23:09:07 +0000 (23:09 +0000)]
Changes needed for compilation with -DDO_GINAC_ASSERT:
* basic.cpp: if needed, #include <typeinfo>,
* mul.h: mul::print() needed a default for 2nd arg.
Hey, Cebix, could you please have a look at the assertions of type
basis.return_type()==return_types::commutative in power.cpp ctors?
Watch out, though: they are not just bogus because of the rule
(x*y)^2 -> x^2*y^2 in power::eval().

22 years ago- symbols can have a LaTeX name, e.g. symbol s("s", "\\sigma");
Christian Bauer [Fri, 4 May 2001 23:55:36 +0000 (23:55 +0000)]
- symbols can have a LaTeX name, e.g. symbol s("s", "\\sigma");
- LaTeX output of indexed objects and tensors is much nicer
- simplify_indexed() can do arbitrary contractions in Dirac gamma strings
- constructing expressions like
    (x * dirac_ONE() + dirac_ONE()) * dirac_gamma(mu)
  resulted in an exception because mul::simplify_ncmul() wasn't implemented
  (maybe afrink didn't anticipate that an implementation would really be
  needed...)

22 years ago- more clifford checks
Christian Bauer [Fri, 4 May 2001 23:46:52 +0000 (23:46 +0000)]
- more clifford checks
- archive checks has a symbol with a LaTeX name

22 years agodocumentation and grammar updates
Christian Bauer [Fri, 4 May 2001 23:46:28 +0000 (23:46 +0000)]
documentation and grammar updates

22 years ago* add::coeff(): don't epvector::reserve() more terms than we'll actually
Richard Kreckel [Fri, 4 May 2001 23:29:42 +0000 (23:29 +0000)]
* add::coeff(): don't epvector::reserve() more terms than we'll actually
  need and don't epvector::push_back() all those _ex0()'s into coeffseq.

22 years ago* Fix incompatibilities with recent versions of libreadline by having
Richard Kreckel [Thu, 3 May 2001 23:50:51 +0000 (23:50 +0000)]
* Fix incompatibilities with recent versions of libreadline by having
  configure find out the version and then doing ugly things with #ifdef.

22 years ago* Fix incompatibilities with recent versions of libreadline by having
Richard Kreckel [Thu, 3 May 2001 23:50:48 +0000 (23:50 +0000)]
* Fix incompatibilities with recent versions of libreadline by having
  configure find out the version and then doing ugly things with #ifdef.
* config.*: updates from upstream.

22 years ago* Just for the record: this is what has been used for building.
Richard Kreckel [Sat, 28 Apr 2001 22:02:15 +0000 (22:02 +0000)]
* Just for the record: this is what has been used for building.

22 years ago- dirac_trace() handles arbitrary expressions (even unexpanded), including
Christian Bauer [Thu, 26 Apr 2001 19:36:07 +0000 (19:36 +0000)]
- dirac_trace() handles arbitrary expressions (even unexpanded), including
  gamma5
- implemented color_trace()
- eps0123() creates a 4-dimensional epsilon tensor without checking the
  indices (so they may be D-dimensional); this may become a different class
  soon, but for now all the implemented properties of the standard epsilon
  tensor also apply to eps0123

22 years agoadded more trace checks
Christian Bauer [Thu, 26 Apr 2001 19:33:22 +0000 (19:33 +0000)]
added more trace checks

22 years agodirac_trace() can handle arbitrary gamma strings without gamma5. The only
Christian Bauer [Wed, 25 Apr 2001 20:41:13 +0000 (20:41 +0000)]
dirac_trace() can handle arbitrary gamma strings without gamma5. The only
remaining unimplemented case is now Tr[gamma5 S_2n]

22 years agoadded more trace checks
Christian Bauer [Wed, 25 Apr 2001 20:40:35 +0000 (20:40 +0000)]
added more trace checks

22 years ago* Minor packaging fixes. release_0-8-2
Richard Kreckel [Tue, 24 Apr 2001 23:53:52 +0000 (23:53 +0000)]
* Minor packaging fixes.
* Pushing towards version 0.8.2-1.

22 years ago* Cint fix. It looks like the hacks are going to go away really soon,
Richard Kreckel [Tue, 24 Apr 2001 19:37:24 +0000 (19:37 +0000)]
* Cint fix.  It looks like the hacks are going to go away really soon,
  after some recent work by Masaharu.

22 years ago* Example: Don't confuse users with _ex0().
Richard Kreckel [Tue, 24 Apr 2001 19:35:39 +0000 (19:35 +0000)]
* Example: Don't confuse users with _ex0().

22 years ago* Push towards 0.8.2.
Richard Kreckel [Tue, 24 Apr 2001 19:35:20 +0000 (19:35 +0000)]
* Push towards 0.8.2.

22 years ago- added get_representation_label()
Christian Bauer [Tue, 24 Apr 2001 17:22:09 +0000 (17:22 +0000)]
- added get_representation_label()
- clifford contractions honor repr. label
- first implementation of dirac_trace(), works with 0..3 clifford objects

22 years agoadded first trace check
Christian Bauer [Tue, 24 Apr 2001 17:21:16 +0000 (17:21 +0000)]
added first trace check

22 years ago\18* class matrix: solve() doesn't call algorithms redundantly any more and
Richard Kreckel [Mon, 23 Apr 2001 19:50:23 +0000 (19:50 +0000)]
\18* class matrix: solve() doesn't call algorithms redundantly any more and
  inverse() falls back to solve() which works in more general cases.

22 years ago* class matrix: solve() doesn't call algorithms redundantly any more and
Richard Kreckel [Mon, 23 Apr 2001 19:50:16 +0000 (19:50 +0000)]
* class matrix: solve() doesn't call algorithms redundantly any more and
  inverse() falls back to solve() which works in more general cases.

23 years ago- degree(), ldegree(), coeff(), lcoeff(), tcoeff() and collect() work with
Christian Bauer [Fri, 20 Apr 2001 23:09:09 +0000 (23:09 +0000)]
- degree(), ldegree(), coeff(), lcoeff(), tcoeff() and collect() work with
  non-symbols as the second argument
- collect_distributed() produces result in distributed form (second argument
  should be a list of symbols)

23 years ago- color/clifford objects have representation label to distinguish elements
Christian Bauer [Fri, 20 Apr 2001 23:06:55 +0000 (23:06 +0000)]
- color/clifford objects have representation label to distinguish elements
  of different algebras; objects with different labels commute with each
  other
- dirac_one() -> dirac_ONE()
- added gamma5 clifford objects which is constructed by dirac_gamma5()
- clifford::simplify_ncmul() anticommutes gamma5's to the front and removes
  squares of gamma5
- the argument to collect() can be a list of objects in which case the
  result is either a recursively collected polynomial, or a polynomial in
  a distributed form with terms like coeff*x1^e1*...*xn^en, as specified by
  the second argument to collect(). For example (ginsh):
    > f=a*x-x+a*x*y+x*y+a*x*y^2-2*x*y^2+y^2;
    a*x+y*a*x+y^2*a*x+y^2-x+y*x-2*y^2*x
    > collect(f,x);
    (-1+y+y^2*a+y*a+a-2*y^2)*x+y^2
    > collect(f,y);
    a*x-x+y^2*(1+a*x-2*x)+y*(a*x+x)
    > collect(f,[x,y]);
    (-1+y*(1+a)+y^2*(-2+a)+a)*x+y^2
    > collect(f,[y,x]);
    (-1+a)*x+y*(1+a)*x+(1+(-2+a)*x)*y^2
    > collect_distributed(f,[x,y]);
    (-1+a)*x+y^2*(-2+a)*x+y*(1+a)*x+y^2

23 years ago- dirac_one() -> dirac_ONE()
Christian Bauer [Fri, 20 Apr 2001 23:03:43 +0000 (23:03 +0000)]
- dirac_one() -> dirac_ONE()
- more clifford checks

23 years agodocumentation update
Christian Bauer [Fri, 20 Apr 2001 23:03:25 +0000 (23:03 +0000)]
documentation update

23 years ago* fixed some mindboggling tremendous superhuge gigantic #*@$&! memory leaks.
Richard Kreckel [Thu, 19 Apr 2001 00:41:18 +0000 (00:41 +0000)]
* fixed some mindboggling tremendous superhuge gigantic #*@$&! memory leaks.

23 years ago* color.cpp: remove duplicated default args.
Richard Kreckel [Wed, 18 Apr 2001 19:30:21 +0000 (19:30 +0000)]
* color.cpp: remove duplicated default args.
* numeric.cpp: insert some missing cln:: namespace decls.
  Why did this ever work?
* structure.cpp, structure.h: adjust to the new print scheme.

23 years ago* Now this four-package split-up is gonna get in. Promised. release_0-8-1
Richard Kreckel [Mon, 16 Apr 2001 20:27:58 +0000 (20:27 +0000)]
* Now this four-package split-up is gonna get in.  Promised.

23 years ago* Finalization for 0.8.1.
Richard Kreckel [Mon, 16 Apr 2001 20:25:21 +0000 (20:25 +0000)]
* Finalization for 0.8.1.

23 years ago* Documented print_latex.
Richard Kreckel [Mon, 16 Apr 2001 20:24:53 +0000 (20:24 +0000)]
* Documented print_latex.

23 years ago* Don't print '*' in LaTeX mode.
Richard Kreckel [Mon, 16 Apr 2001 20:24:27 +0000 (20:24 +0000)]
* Don't print '*' in LaTeX mode.

23 years ago* Still some std:: missing...
Richard Kreckel [Mon, 16 Apr 2001 20:24:09 +0000 (20:24 +0000)]
* Still some std:: missing...

23 years ago* Added example about series expansion.
Richard Kreckel [Sun, 15 Apr 2001 00:28:38 +0000 (00:28 +0000)]
* Added example about series expansion.

23 years ago* basic::collec() never worked correctly on non-polynomials till now.
Richard Kreckel [Sun, 15 Apr 2001 00:28:18 +0000 (00:28 +0000)]
* basic::collec() never worked correctly on non-polynomials till now.
  We simply correct for the missing terms, which makes it at least
  algebraically correct (suggested by Pearu Peterson).
* Added support to print out LaTeX-style, based on some work by Stefan
  Weinzierl:
  - print.h: added a class print_latex().
  - function.pl: added function_options::latex_name() because there was
    no good way of setting that name before.
  - inifncs*.cpp: use it.
  - *.cpp: switch to see if print_context is actually print_latex and
    then change the style.
* Fixed some stupid bugs in sections that were #define'd away for gcc-2.95.

23 years ago* INSTALL: adjusted Cint status.
Richard Kreckel [Sun, 15 Apr 2001 00:22:44 +0000 (00:22 +0000)]
* INSTALL: adjusted Cint status.
* document change in .collect().

23 years ago* Preparing for 0.8.1.
Richard Kreckel [Fri, 13 Apr 2001 19:26:29 +0000 (19:26 +0000)]
* Preparing for 0.8.1.

23 years ago* Removed obsolete exponent marker in float output example.
Richard Kreckel [Fri, 13 Apr 2001 18:46:23 +0000 (18:46 +0000)]
* Removed obsolete exponent marker in float output example.

23 years ago* add::print() shouldn't put parens around overall_coeff.
Richard Kreckel [Fri, 13 Apr 2001 18:27:34 +0000 (18:27 +0000)]
* add::print() shouldn't put parens around overall_coeff.

23 years ago* Remove bogus counter in sqrfree_yun().
Richard Kreckel [Fri, 13 Apr 2001 18:26:46 +0000 (18:26 +0000)]
* Remove bogus counter in sqrfree_yun().

23 years agoarchive property example uses propinfovector
Christian Bauer [Tue, 10 Apr 2001 23:04:24 +0000 (23:04 +0000)]
archive property example uses propinfovector

23 years agoadded basic::get_precedence()
Christian Bauer [Tue, 10 Apr 2001 18:30:21 +0000 (18:30 +0000)]
added basic::get_precedence()

23 years ago* introduced typedef propinfovector in order to please Cint.
Richard Kreckel [Tue, 10 Apr 2001 13:47:03 +0000 (13:47 +0000)]
* introduced typedef propinfovector in order to please Cint.

23 years agoadapted to change symbol::getname() -> symbol::get_name()
Christian Bauer [Mon, 9 Apr 2001 23:32:23 +0000 (23:32 +0000)]
adapted to change symbol::getname() -> symbol::get_name()

23 years agoadded functions to retrieve the properties stored in archive objects
Christian Bauer [Mon, 9 Apr 2001 21:33:48 +0000 (21:33 +0000)]
added functions to retrieve the properties stored in archive objects
outside of unarchive(), for printing or debugging purposes

23 years ago- updated to reflect the extended possibilities of subs(), (l)degree(),
Christian Bauer [Mon, 9 Apr 2001 21:33:17 +0000 (21:33 +0000)]
- updated to reflect the extended possibilities of subs(), (l)degree(),
  (l/t)coeff() and collect()
- added examples for specialized expression output by tree-traversal and
  with the aid of archives

23 years agodocumentation update
Christian Bauer [Mon, 9 Apr 2001 21:30:32 +0000 (21:30 +0000)]
documentation update

23 years ago- renamed
Christian Bauer [Mon, 9 Apr 2001 01:08:35 +0000 (01:08 +0000)]
- renamed
    function::getserial() -> function::get_serial()
    symbol::setname() -> symbol::set_name()
    symbol::getname() -> symbol::get_name()
  for consistency (since the interface has changed anyway)
- added pseries::get_var() and pseries::get_point()

23 years agoadded function::get_name() to return a function's print name
Christian Bauer [Sat, 7 Apr 2001 20:58:09 +0000 (20:58 +0000)]
added function::get_name() to return a function's print name

23 years agosomething like 2/3*a is no longer printed as (2/3)*a
Christian Bauer [Fri, 6 Apr 2001 23:39:47 +0000 (23:39 +0000)]
something like 2/3*a is no longer printed as (2/3)*a

23 years agoupdated with respect to new print() method
Christian Bauer [Fri, 6 Apr 2001 23:39:17 +0000 (23:39 +0000)]
updated with respect to new print() method

23 years agoprinttree() -> print(print_tree())
Christian Bauer [Fri, 6 Apr 2001 23:03:15 +0000 (23:03 +0000)]
printtree() -> print(print_tree())

23 years ago- replaced the various print*() member functions by a single print() that
Christian Bauer [Fri, 6 Apr 2001 23:02:58 +0000 (23:02 +0000)]
- replaced the various print*() member functions by a single print() that
  takes a print_context object that determines the output formatting; this
  should make it easier to add more output types
- print_tree output of indexed objects looks better

23 years agoadded check for archiving system
Christian Bauer [Fri, 6 Apr 2001 23:02:12 +0000 (23:02 +0000)]
added check for archiving system

23 years agodocumentation update
Christian Bauer [Fri, 6 Apr 2001 23:02:02 +0000 (23:02 +0000)]
documentation update

23 years agosubs() performs "syntactic substitution" as in Maple; you can substitute
Christian Bauer [Thu, 5 Apr 2001 21:02:26 +0000 (21:02 +0000)]
subs() performs "syntactic substitution" as in Maple; you can substitute
any object by any other object (even numerics) but only when the object
subs() is called on exactly matches an object on the left-hand side of the
substitution list; expairseq still doesn't substitute its numeric coefficients
so substituting numerics will not replace them in all occurences (this
shouldn't matter, though)

23 years agodocumentation update
Christian Bauer [Thu, 5 Apr 2001 20:58:36 +0000 (20:58 +0000)]
documentation update

23 years ago- subs() can be used to substitute functions, tensors and indexed objects
Christian Bauer [Thu, 5 Apr 2001 19:45:05 +0000 (19:45 +0000)]
- subs() can be used to substitute functions, tensors and indexed objects
- op(0) of an idx object returns the index value; a nice side-effect of
  this is that idx'es no longer all have the same hash value
- added checks for clifford class

23 years ago- subs() can be used to substitute functions, tensors and indexed objects
Christian Bauer [Thu, 5 Apr 2001 19:44:47 +0000 (19:44 +0000)]
- subs() can be used to substitute functions, tensors and indexed objects
- op(0) of an idx object returns the index value; a nice side-effect of
  this is that idx'es no longer all have the same hash value

23 years agodocumentation update
Christian Bauer [Thu, 5 Apr 2001 00:39:51 +0000 (00:39 +0000)]
documentation update

23 years agodegree(), ldegree(), coeff(), tcoeff(), lcoeff() and collect() work with
Christian Bauer [Thu, 5 Apr 2001 00:37:46 +0000 (00:37 +0000)]
degree(), ldegree(), coeff(), tcoeff(), lcoeff() and collect() work with
functions (you can collect by powers of sin(x) etc.)

23 years agosimplify_indexed() will re-expand the expression and re-run the
Christian Bauer [Thu, 5 Apr 2001 00:16:02 +0000 (00:16 +0000)]
simplify_indexed() will re-expand the expression and re-run the
simplification if a contraction in a product resulted in a factor that
is a sum or a product itself; so e.g. gamma~mu*gamma~nu*gamma.nu*gamma.mu
will return dim^2*ONE without having to run simplify_indexed() twice

23 years ago* removed some obsolete stuff.
Richard Kreckel [Wed, 4 Apr 2001 21:51:19 +0000 (21:51 +0000)]
* removed some obsolete stuff.

23 years agodegree(), ldegree(), coeff(), lcoeff(), tcoeff() and collect() can now
Christian Bauer [Mon, 2 Apr 2001 20:57:32 +0000 (20:57 +0000)]
degree(), ldegree(), coeff(), lcoeff(), tcoeff() and collect() can now
be used with constants and indexed expressions as well, so you can use
it to collect by powers of Pi or find the coefficient of gamma~0.
Limitations:
 - it only works with symbols, constants and indexed expressions;
   trying to find the coefficient of, e.g., "x^2" or "x+y" won't work
 - it does not know about dummy index summations; the coefficient of
   gamma~0 in p.mu*gamma~mu should be p.0 but is returned as 0
 - using the functions on elements of noncommutative products might
   return wrong or surprising results

23 years agothe unsigned number 128 was stored incorrectly (0x80 instead of 0x80 0x01)
Christian Bauer [Fri, 30 Mar 2001 21:11:04 +0000 (21:11 +0000)]
the unsigned number 128 was stored incorrectly (0x80 instead of 0x80 0x01)

23 years ago- added Clifford contractions:
Christian Bauer [Fri, 30 Mar 2001 18:14:32 +0000 (18:14 +0000)]
- added Clifford contractions:
   gamma~mu*gamma~alpha*gamma~beta*gamma.mu
   gamma~mu*gamma~alpha*gamma~beta*gamma~delta*gamma.mu
- detection of free indices of the complete product in
  simplify_indexed_product() could go wrong if contractions resulted in
  composite expressions

23 years ago- dummy index recognition in products was flawed: A.i.i*B.j.j would be
Christian Bauer [Fri, 30 Mar 2001 17:34:35 +0000 (17:34 +0000)]
- dummy index recognition in products was flawed: A.i.i*B.j.j would be
  treated as a scalar product of A and B, A.j.j.i.i*B.k.l would be 0
  if A was symmetric and B antisymmetric etc.
- removed redundant code for handling d.akl*f.akl contraction; this is
  handled by simplify_indexed() itself since it is a contraction of a
  symmetric with an antisymmetric tensor

23 years agoadded checks for bugs in GiNaC 0.8.0
Christian Bauer [Fri, 30 Mar 2001 17:32:02 +0000 (17:32 +0000)]
added checks for bugs in GiNaC 0.8.0