Changes between 1.0_03 and 1.0_04:
+ fixed a bug with greater than or equal operator
+ Export to XHTML converts the whole document into a XHTML file
+ implemented integral of f(a+b*x) where f=trigonometric function
+ the simplifier avoids using the trigonometric identities
Changes between 1.0_02 and 1.0_03:
+ avoided simplifying log(exp(x)) to x
+ FileReader not closed : fixed
+ can parse an EquationOrExpression with equal sign
Changes between 1.0_01 and 1.0_02:
+ subclasses of GenericVariable made non-public
+ subclasses of MultivariatePolynomial made non-public
+ implemented MultivariatePolynomial.divide and remainder
+ polynomial.remainderUpToCoefficient()
+ 81^(1/4) (expand) fails : fixed
+ some number-theoretic functions : modpow, modinv, eulerphi, primitiveroots
Changes between 1.0 and 1.0_01:
+ (1+x-x^5)*(1-x+x^5) (expand) (factorize) fails : fixed
Changes between 1.0rc4 and 1.0:
+ a test suite for substitutions
+ some groebner benchmark timings
+ geometric product and differential operator (Feature Request item #890925)
+ fixed the quaternion product
Changes between 1.0rc3 and 1.0rc4:
+ an exception is thrown when multiplying matrices without matrix() (Bug item #869813)
+ computation of nth roots
Changes between 1.0rc2 and 1.0rc3:
+ a new Generic type which inherits from Arithmetic
+ Arithmetic limited to the 4 arithmetic operation and becomes an interface
+ polynomial.reduceCompletely() becomes polynomial.reduce(completely)
+ overloaded comparison and arithmetic methods
Changes between 1.0rc1 and 1.0rc2:
+ added a command mode launcher : bin/jscl
+ symbolic parameters allowed in matrix etc. operators
+ a change of reduction strategy improves groebner performance
Changes between 0.99 and 1.0rc1:
+ file opening via drag and drop
+ fixed a mistake with anti/derivative of conjugate()
Changes between 0.98 and 0.99:
+ a conjugate() function
+ tested to work on jdistro
+ bug with scrollbar when resizing fixed
+ (2+2*x+y)*(2+x+2*y) (expand) (factorize) ClassCastException : fixed (Bug item #851149)
Changes between 0.97 and 0.98:
+ pseudo-NumericWrapper to enable latest version on MIDP
+ used mfenced mathml tag
+ a mathml to tex conversion howto (see docs)
+ various improvements
Changes between 0.96 and 0.97:
+ separated Numeric from Arithmetic
+ separated UnivariatePolynomial from MultivariatePolynomial
+ groebner() returns a vector
+ graphing (see examples)
Changes between 0.95 and 0.96:
+ fixed a performance problem with the factorization
Changes between 0.90 and 0.95:
+ java code generation
+ matinv replaced by 1/matrix
+ expand evaluates the functions
+ a numeric package
+ a nested polyonmial
Changes between 0.80 and 0.90:
+ numerics (except on MIDP which doesn't support floating point)
+ formalized the type conversions
+ complex and quaternion products
+ jacobian, laplacian
+ moved vector/matrix/product operations into a package of their own
Changes between 0.77 and 0.80:
+ the simplifier knows of some additional trigonometric identities
+ factorization code improved
+ Polynomial no more inherits from Arithmetic and becomes abstract
+ a new MultivariatePolynomial class
+ an own zaurus software package
+ fixed a bug with hyperbolic function names
+ added abs, sgn
+ added div, mod
+ renamed divg as diverg
+ implemented matrix inverse
Changes between 0.76 and 0.77:
+ developed some junit tests
+ replaced coef() by solve()
+ created a new Rational type
+ added kth-elimination ordering
+ changes in groebner() syntax and implementation
+ simplification improved
+ removed Factorized*, OptimizedExpression
+ moved trigonometric/hyperbolic functions into a package of their own
+ changed ch, sh, th, argch, argsh, argth into cosh, sinh, tanh, acosh, asinh, atanh
+ put parser/format related code in jscl.text package
+ "modified" status of the awt editor should now behave correctly under j2me-pp1.0
+ the factorization is recursive
+ fixed a limitation of antiderivative() with respect to integral+expand()
Changes between 0.75 and 0.76:
+ (3+x)*(4+x) (expand) (factorize) not working : fixed (Bug item #736503)
+ made use of the Java Collections Framework data structures
+ stopped using NotDivisibleException in monomial divisibility checks, resulting in performance improvement
+ a new distribution for Personal Java (jdk1.1) devices : meditor-pjava
Changes between 0.74 and 0.75:
+ FileNotFoundException's taken into account
+ (1+x)^(1/x) (simplify) infinite loop fixed
+ (1-x+x^5)^2 (expand) (factorize) = (1-x-a4*x^4+x^5)*(1-x+a4*x^4+x^5) fixed
+ packages renamed and re-organized
Changes before 0.74:
Jan 20 2003 integral(x/(1+x)^2,x) = 1/(1+x) fixed
Jan 13 2003 Expression and Variable.valueOf(String) throw ParseException
Nov 1 2002 integral(x/(x^3+1),x) NullPointerException fixed
Oct 12 2002 computations execute in a separate thread
Oct 8 2002 Ctrl+Z = Undo, Simplify = Ctrl+Q
Sep 21 2002 separated elementary function decomposition from simplification
Sep 7 2002 changed the notation for partial derivatives
Jun 7 2002 integral(x+7/5,x) = x*(7+5*x)/5 fixed
Jun 5 2002 Inv inherits from Frac
May 20 2002 "!" instead of fact, "^" instead of pow
Apr 20 2002 changed Arithmetic from interface to abstract class
Mar 29 2002 translated the whole API into english
Mar 8 2002 port on midp1.0
Mar 2 2002 renamed divergence as divg
Feb 18 2002 the modulo is a parameter instead of being global
Feb 16 2002 used "/" instead of inv and frac
Jun 11 2001 port on jdk1.3/swing
Mar 18 2001 added an undo command
Mar 11 2001 grammar simplification
Jan 24 2001 the classloading of Variable used to fail in modular mode : fixed
Jan 7 2001 runtime exceptions are handled at GUI level
Dec 7 2000 only one menu command ("expand") and associated syntax changes
Dec 3 2000 important syntax changes toward compatibility with other software
Nov 29 2000 several GUI bug fixes