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

Log of /ginac/idx.h

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Links to release_1-0-10: (view) (annotate)
Sticky Tag:

Revision 1.42 - (view) (annotate) - [select for diffs]
Mon Jul 15 10:23:56 2002 UTC (12 years ago) by cbauer
Branch: MAIN
CVS Tags: release_1-0-10, release_1-0-11, release_1-0-12
Changes since 1.41: +7 -0 lines
Diff to previous 1.41 , to selected 1.25
- added idx::replace_dim() and idx::minimal_dim()
- indices no longer need to be of the same dimension to be recognized as
  dummy indices, but they must be comparable (to determine their minimum)
(Nein, Markus, das ist noch nicht das mit den vierdimensionalen Tensoren)


Revision 1.41 - (view) (annotate) - [select for diffs]
Thu Jan 24 22:28:20 2002 UTC (12 years, 6 months ago) by kreckel
Branch: MAIN
CVS Tags: release_1-0-4, release_1-0-6, release_1-0-7, release_1-0-8, release_1-0-9
Changes since 1.40: +1 -1 lines
Diff to previous 1.40 , to selected 1.25
* Finilize version 1.0.4 (version numbers, copyrights and such rubbish).


Revision 1.40 - (view) (annotate) - [select for diffs]
Wed Aug 22 16:11:50 2001 UTC (12 years, 11 months ago) by kreckel
Branch: MAIN
CVS Tags: release_0-9-4, release_1-0-0, release_1-0-1, release_1-0-2, release_1-0-3
Branch point for: ginac_1-1
Changes since 1.39: +0 -21 lines
Diff to previous 1.39 , to selected 1.25
- Cleanups: My evil plot of making ex::bp private may finally be carried
  out, provided one changes all the is_of_type(obj,type) to is_a<type>(obj)
  which we don't do right now because it would degrade performance on
  gcc-2.95.x.  Also, ex_to_type(obj) has gone for good now, we have been
  having ex_to<type>(obj) long enough.  ex_to_nonconst_type(obj) have gone
  as well, since they are almost never used and one can always cast aways
  the constness explicitly if need should arise.


Revision 1.39 - (view) (annotate) - [select for diffs]
Mon Jul 30 15:09:29 2001 UTC (13 years ago) by kreckel
Branch: MAIN
CVS Tags: release_0-9-2, release_0-9-3
Changes since 1.38: +5 -4 lines
Diff to previous 1.38 , to selected 1.25
- moved is_of_type and friend macros into utils.h so they can be phased
  out in one of the next releases.
- rewrote the foo_evalf() functions without TYPECHECK macros.  (Since they
  were not flexible enough and some functions need more flexibility than
  can be provided by such macros.  They are evil anyways.)
- marked the TYPECHECK macros as evil^H^H^H^Hdeprecated.
- implemented a more flexible scheme for some foo_evalf() functions, notably
  zeta(3.0) eval's to a float now while zeta(3) doesn't eval, just as is
  usual for all the trigonometric functions.
- this day is very hot.


Revision 1.38 - (view) (annotate) - [select for diffs]
Tue Jun 26 20:32:03 2001 UTC (13 years, 1 month ago) by cbauer
Branch: MAIN
CVS Tags: release_0-9-1
Changes since 1.37: +3 -3 lines
Diff to previous 1.37 , to selected 1.25
- replaced the Derivative() function by a more resonable fderivative class;
  to see it in action, try "series(abs(x),x==0,3)" and "series(abs(x),x==y,3)"
  in ginsh with previous GiNaC releases and with this one
- add::eval() throws an exception when the first term is non-commutative and
  the overall_coeff is non-zero
- small fixes to print_tree output of indexed objects
- ncmul::expand() now actually does expand something like "(dirac_gamma(mu)+1)
  *dirac_gamma(nu)" correctly (but the change to add::eval() should make this
  a "can't happen" case)
- moved ToString() to tostring.h (fewer header dependencies)
- ALL YOUR "BASES CLASSES" ARE BELONG TO US


Revision 1.37 - (view) (annotate) - [select for diffs]
Sat Jun 23 12:52:05 2001 UTC (13 years, 1 month ago) by cbauer
Branch: MAIN
Changes since 1.36: +7 -3 lines
Diff to previous 1.36 , to selected 1.25
- added find() (like has(), but returns list of all occurrences)
- added lst::sort() and lst::unique()
- status_flags::expanded is only taken into account when no expand options
  are specified. This makes it possible to re-expand with other options.
- added expand_options::expand_function_args
- collect(foo, {}) doesn't crash any more
- introduced match_same_type() method which is slightly similar to
  is_equal_same_type() but doesn't check subexpressions. Fixed a number of
  match() bugs with this (e.g. a==b matched a!=b, and matrices with different
  dimensions but the same number of elements could match). Only container
  classes with additional member variables that have to be equal for a match
  need to implement match_same_type().


Revision 1.36 - (view) (annotate) - [select for diffs]
Tue Jun 19 15:50:03 2001 UTC (13 years, 1 month ago) by cbauer
Branch: MAIN
Changes since 1.35: +4 -0 lines
Diff to previous 1.35 , to selected 1.25
- The default implementations of evalf(), diff(), normal() and expand() use
  map() where useful. This has the nice effect of having a more reasonable
  default behaviour for container functions (most of the evalfchildren() etc.
  stuff is gone).
- diff() works with non-commutative products (product rule) and no longer
  bails on indexed objects.
- added decomp_rational()
- added sqrfree_parfrac() which doesn't yet work in the general case and
  is unsupported


Revision 1.35 - (view) (annotate) - [select for diffs]
Sat Jun 16 14:38:09 2001 UTC (13 years, 1 month ago) by kreckel
Branch: MAIN
Changes since 1.34: +3 -3 lines
Diff to previous 1.34 , to selected 1.25
* Supplement some (now deprecated) macros by inlined template functions:
  - ex_to_foobar(baz)  ->  ex_to<foobar>(baz).


Revision 1.34 - (view) (annotate) - [select for diffs]
Fri Jun 15 15:20:55 2001 UTC (13 years, 1 month ago) by kreckel
Branch: MAIN
Changes since 1.33: +25 -0 lines
Diff to previous 1.33 , to selected 1.25
* Supplement some (now deprecated) macros by inlined template functions:
  - is_of_type(foo, type) -> is_a<type>(foo)
  - is_ex_of_type(foo, type) -> is_a<type>(foo)
  - is_exaclty_of_type(foo, type) -> is_exaclty_a<type>(foo)
  - is_ex_exaclty_of_type(foo, type) -> is_exaclty_a<type>(foo)


Revision 1.33 - (view) (annotate) - [select for diffs]
Fri May 25 16:51:36 2001 UTC (13 years, 2 months ago) by cbauer
Branch: MAIN
CVS Tags: release_0-9-0
Changes since 1.32: +3 -1 lines
Diff to previous 1.32 , to selected 1.25
- removed debugging code in match()
- added ex::match(const ex & pattern) which doesn't take a list as second
  argument
- expairseq::subs() substitutes in recombined pairs when the pattern is a
  product or a power; this is necessary for things like subs(2*x^2,x^2==3)
  because the first expression is mul(<x,2>,2) and only substituting in the
  "rest" part of the expair is not enough


Revision 1.32 - (view) (annotate) - [select for diffs]
Wed May 23 20:43:20 2001 UTC (13 years, 2 months ago) by cbauer
Branch: MAIN
Changes since 1.31: +1 -1 lines
Diff to previous 1.31 , to selected 1.25
- first implementation of pattern matching


Revision 1.31 - (view) (annotate) - [select for diffs]
Fri May 18 20:42:07 2001 UTC (13 years, 2 months ago) by cbauer
Branch: MAIN
Changes since 1.30: +0 -4 lines
Diff to previous 1.30 , to selected 1.25
- 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


Revision 1.30 - (view) (annotate) - [select for diffs]
Thu May 10 16:41:25 2001 UTC (13 years, 2 months ago) by cbauer
Branch: MAIN
CVS Tags: release_0-8-3
Changes since 1.29: +52 -0 lines
Diff to previous 1.29 , to selected 1.25
- color and clifford classes are quite functional now
- new "spinidx" class for dotted/undotted indices
- predefined spinor metric tensor (created by spinor_metric())


Revision 1.29 - (view) (annotate) - [select for diffs]
Fri Apr 6 19:03:00 2001 UTC (13 years, 3 months ago) by cbauer
Branch: MAIN
CVS Tags: release_0-8-1, release_0-8-2
Changes since 1.28: +2 -4 lines
Diff to previous 1.28 , to selected 1.25
- 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


Revision 1.28 - (view) (annotate) - [select for diffs]
Thu Apr 5 15:45:08 2001 UTC (13 years, 3 months ago) by cbauer
Branch: MAIN
Changes since 1.27: +2 -0 lines
Diff to previous 1.27 , to selected 1.25
- 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


Revision 1.27 - (view) (annotate) - [select for diffs]
Thu Mar 29 16:56:33 2001 UTC (13 years, 4 months ago) by cbauer
Branch: MAIN
Changes since 1.26: +51 -0 lines
Diff to previous 1.26 , to selected 1.25
- added Clifford algebra unity element
- superfluous unity elements are removed from Clifford and color strings
- added Clifford contractions:
    gamma~mu*gamma.mu
    gamma~mu*gamma~alpha*gamma.mu
- added color contractions:
    d.aac
    d.abc*d.abc
    d.akl*d.bkl
    d.abc*f.abc
    d.akl*f.bkl
    f.abc*f.abc
    f.akl*f.bkl
- delta tensor and color structure constants can be evaluated numerically
- color_T(), color_d() and color_f() check their arguments
- added a couple of utility functions to idx.*
- simplify_indexed() doesn't crash any more when used on expressions containing
  noncommutative products


Revision 1.26 - (view) (annotate) - [select for diffs]
Wed Mar 14 20:05:10 2001 UTC (13 years, 4 months ago) by cbauer
Branch: MAIN
CVS Tags: release_0-8-0
Changes since 1.25: +0 -1 lines
Diff to previous 1.25
added predefined epsilon tensor


Revision 1.25 - (view) (annotate) - [selected]
Tue Mar 6 17:07:17 2001 UTC (13 years, 4 months ago) by cbauer
Branch: MAIN
Changes since 1.24: +78 -38 lines
Diff to previous 1.24
- revamped indexed objects
- subs() works on matrices


Revision 1.24 - (view) (annotate) - [select for diffs]
Wed Feb 28 12:54:52 2001 UTC (13 years, 5 months ago) by kreckel
Branch: MAIN
CVS Tags: release_0-7-3
Changes since 1.23: +0 -4 lines
Diff to previous 1.23 , to selected 1.25
* 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.23 - (view) (annotate) - [select for diffs]
Fri Feb 16 17:25:48 2001 UTC (13 years, 5 months ago) by cbauer
Branch: MAIN
CVS Tags: release_0-7-2
Changes since 1.22: +0 -2 lines
Diff to previous 1.22 , to selected 1.25
GINAC_DECLARE_REGISTERED_CLASS declares duplicate() and compare_same_type(),
GINAC_IMPLEMENT_REGISTERED_CLASS implements duplicate()


Revision 1.22 - (view) (annotate) - [select for diffs]
Thu Feb 15 19:54:53 2001 UTC (13 years, 5 months ago) by cbauer
Branch: MAIN
Changes since 1.21: +0 -10 lines
Diff to previous 1.21 , to selected 1.25
the destructor, copy constructor, and assignment operator (which were the
same for all subclasses of basic, with very few exceptions) are now included
in the GINAC_IMPLEMENT_REGISTERED_CLASS macro; the GINAC_DECLARE_REGISTERED_CLASS
macro also defines these (and other common) member functions


Revision 1.21 - (view) (annotate) - [select for diffs]
Wed Feb 14 16:04:19 2001 UTC (13 years, 5 months ago) by cbauer
Branch: MAIN
Changes since 1.20: +0 -5 lines
Diff to previous 1.20 , to selected 1.25
removed the "some_*" and "typeid_*" definitions since we are using our own
RTTI for quite some time now


Revision 1.20 - (view) (annotate) - [select for diffs]
Tue Feb 13 21:50:46 2001 UTC (13 years, 5 months ago) by cbauer
Branch: MAIN
Changes since 1.19: +4 -1 lines
Diff to previous 1.19 , to selected 1.25
- added documentation to the indexed, color, lortensor and clifford classes
- moved Dim() function from lortensor.cpp to lorentzidx.cpp
- moved append_exvector_to_exvector() from color.cpp to utils.cpp
- some cleanups in the lortensor and clifford classes


Revision 1.19 - (view) (annotate) - [select for diffs]
Mon Feb 12 17:54:53 2001 UTC (13 years, 5 months ago) by cbauer
Branch: MAIN
Changes since 1.18: +19 -13 lines
Diff to previous 1.18 , to selected 1.25
- added documentation for the idx, coloridx and lorentzidx classes
- idx_intersect() works correctly when indices appear multiple times
- g~mu_mu = D-2 (instead of D-dim(P))


Revision 1.18 - (view) (annotate) - [select for diffs]
Mon Jan 22 15:12:08 2001 UTC (13 years, 6 months ago) by kreckel
Branch: MAIN
CVS Tags: release_0-7-1
Changes since 1.17: +1 -1 lines
Diff to previous 1.17 , to selected 1.25
- 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.17 - (view) (annotate) - [select for diffs]
Tue Dec 5 20:02:14 2000 UTC (13 years, 7 months ago) by cbauer
Branch: MAIN
CVS Tags: release_0-7-0
Changes since 1.16: +1 -1 lines
Diff to previous 1.16 , to selected 1.25
fixed typos


Revision 1.16 - (view) (annotate) - [select for diffs]
Mon Aug 14 12:21:07 2000 UTC (13 years, 11 months ago) by kreckel
Branch: MAIN
Changes since 1.15: +1 -1 lines
Diff to previous 1.15 , to selected 1.25
- Inserted some more std:: to make it compile under GCC2.96.


Revision 1.15 - (view) (annotate) - [select for diffs]
Fri Aug 11 15:52:42 2000 UTC (13 years, 11 months ago) by cbauer
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 , to selected 1.25
- fixes to the indentation


Revision 1.14 - (view) (annotate) - [select for diffs]
Fri Aug 11 15:07:16 2000 UTC (13 years, 11 months ago) by cbauer
Branch: MAIN
Changes since 1.13: +41 -41 lines
Diff to previous 1.13 , to selected 1.25
- indentation is now done with tabs
- printtree() prints the class names as known to the registrar, not the
  (mangled) class names from typeid().name()


Revision 1.13 - (view) (annotate) - [select for diffs]
Thu Jul 20 21:12:41 2000 UTC (14 years ago) by kreckel
Branch: MAIN
CVS Tags: release_0-6-3, release_0-6-4
Changes since 1.12: +7 -9 lines
Diff to previous 1.12 , to selected 1.25
- Derivatives are now assembled in a slightly different manner (i.e. they
  'look' different on first sight).  Under certain circumstances this can
  result in a dramatic speedup because it gives hashing a better chance,
  especially when computing higher derivatives.
- Series expansion accepts an additional bool argument now, telling it
  whether branch cuts are to be honored (as Maple does it) or not (as
  Mathematica does it).  It defaults to true (i.e. the Maple way).
- Many series expansions of built-in functions have been reengineered.
- The Dilogarithm (Li2) now has floating point evaluation, derivative and a
  proper series expansion.
- Namespace 'std' cleanly disentangled, as demanded by ISO/EIC 14882-1998(E).
- Some helpers updated from upstream.


Revision 1.12 - (view) (annotate) - [select for diffs]
Sun Jan 30 20:53:22 2000 UTC (14 years, 6 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, release_0-6-0, release_0-6-1, release_0-6-2
Changes since 1.11: +4 -4 lines
Diff to previous 1.11 , to selected 1.25
- 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.11 - (view) (annotate) - [select for diffs]
Thu Jan 27 15:26:13 2000 UTC (14 years, 6 months ago) by cbauer
Branch: MAIN
Changes since 1.10: +2 -2 lines
Diff to previous 1.10 , to selected 1.25
- building GiNaC in a separate directory now works


Revision 1.10 - (view) (annotate) - [select for diffs]
Mon Jan 24 17:54:01 2000 UTC (14 years, 6 months ago) by cbauer
Branch: MAIN
Changes since 1.9: +2 -0 lines
Diff to previous 1.9 , to selected 1.25
- renamed archive::dump() to archive::printraw() for consistency with the
  other classes
- implemented archiving for the following classes: color, idx, coloridx,
  isospin
- non-crational numbers are now stored in an integer-decoded format in archives


Revision 1.9 - (view) (annotate) - [select for diffs]
Fri Jan 21 15:20:31 2000 UTC (14 years, 6 months ago) by cbauer
Branch: MAIN
Changes since 1.8: +18 -18 lines
Diff to previous 1.8 , to selected 1.25
- changed all instances of "foo const &/*" to "const foo &/*"
- changed function arguments like "int const" to a simple "int"


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


Revision 1.7 - (view) (annotate) - [select for diffs]
Thu Dec 2 15:45:14 1999 UTC (14 years, 8 months ago) by frink
Branch: MAIN
Changes since 1.6: +6 -2 lines
Diff to previous 1.6 , to selected 1.25
#ifndef around namespace GiNaC { }


Revision 1.6 - (view) (annotate) - [select for diffs]
Wed Nov 17 16:57:59 1999 UTC (14 years, 8 months ago) by cbauer
Branch: MAIN
Changes since 1.5: +11 -4 lines
Diff to previous 1.5 , to selected 1.25
- put everything in "GiNaC" namespace
- converted some macros into inline functions
- split debugmsg.h into assertion.h (public) and debugmsg.h (private)


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


Revision 1.4 - (view) (annotate) - [select for diffs]
Fri Nov 12 18:36:04 1999 UTC (14 years, 8 months ago) by frink
Branch: MAIN
Changes since 1.3: +2 -0 lines
Diff to previous 1.3 , to selected 1.25
added setname/getname to idx


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


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


Revision 1.1 - (view) (annotate) - [select for diffs]
Tue Nov 9 19:57:02 1999 UTC (14 years, 8 months ago) by cbauer
Branch: MAIN
Diff to selected 1.25
- 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.17