X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginac%2Fflags.h;h=d81a00e4d88163b30efd3e27ed2556efe37f2a43;hp=e38d9c58b0949703616e6b0e92eec9b7817062e4;hb=38129d5d3880156f6f217f94855553bf4549a960;hpb=50ed15a65e858858999be45301b3f49821cb1e71 diff --git a/ginac/flags.h b/ginac/flags.h index e38d9c58..d81a00e4 100644 --- a/ginac/flags.h +++ b/ginac/flags.h @@ -3,7 +3,7 @@ * Collection of all flags used through the GiNaC framework. */ /* - * GiNaC Copyright (C) 1999-2011 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2021 Johannes Gutenberg University Mainz, Germany * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -31,7 +31,8 @@ public: enum { expand_indexed = 0x0001, ///< expands (a+b).i to a.i+b.i expand_function_args = 0x0002, ///< expands the arguments of functions - expand_rename_idx = 0x0004 ///< used internally by mul::expand() + expand_rename_idx = 0x0004, ///< used internally by mul::expand() + expand_transcendental = 0x0008 ///< expands transcendental functions like log and exp }; }; @@ -54,7 +55,7 @@ public: pattern_is_product = 0x0004, ///< used internally by expairseq::subschildren() pattern_is_not_product = 0x0008, ///< used internally by expairseq::subschildren() no_index_renaming = 0x0010, - // To indicate that we want to substitue an index by something that is + // To indicate that we want to substitute an index by something that // is not an index. Without this flag the index value would be // substituted in that case. really_subs_idx = 0x0020 @@ -181,7 +182,15 @@ public: * linear systems. In contrast to division-free elimination it only * has a linear expression swell. For two-dimensional systems, the * two algorithms are equivalent, however. */ - bareiss + bareiss, + /** Markowitz-ordered Gaussian elimination. Same as the usual + * Gaussian elimination, but with additional effort spent on + * selecting pivots that minimize fill-in. Faster than the + * methods above for large sparse matrices (particularly with + * symbolic coefficients), otherwise slightly slower than + * Gaussian elimination. + */ + markowitz }; }; @@ -207,7 +216,7 @@ public: class info_flags { public: enum { - // answered by class numeric, add, mul and symbols/constants in particular domains + // answered by class numeric, add, mul, function and symbols/constants in particular domains numeric, real, rational, @@ -249,7 +258,6 @@ public: rational_polynomial, crational_polynomial, rational_function, - algebraic, // answered by class indexed indexed, // class can carry indices