MathLib ChangesThis is the catalog of changes to the Newton extension MathLib from Prism Research.http://members.aol.com/NewtsPrismVersion 3.02 : 2/23/99Change: Added SumSeries and MultSeries.Reason: More abilities for summations and multiplications of functions.Impact: None.Change: Fixed various bugs in PolynomialZeroes.Reason: errors produced.Impact: Now operates properly for all orders of polynomialsChange: Added remainder-quotient (RemQuo) and polynomial fraction expansion (PFE).Reason: Request of user.Impact: can now do polynomial division.Change: Check for IsReadOnly(_conversion).Reason: RandomLib distributions, or any other read-only object that inherits the MathLib prototype, cannot change the value.Impact: inheritors of MathLib will operate now, unless they override the _conversion variable in a Read-Only object. Only affected if compiling using NTK.Change: Fixed Cumulation error in Snedecor's F.Reason: Formula was not converging at high probabilities.Impact: Now provides right answer.Change: Fixed Chi-Squared error in :Mean.Reason: didn't provide the right mean.Impact: Now works.Change: Changed initial guess in :Median prototype from :Mean to :EstimateMedian(:GroupPick(p,20)).Reason: Better initial guess for Newton Method of convergence.Impact: Algorithm now finds the median in more cases.Change: Fixed LinearRegression errors in some RandomLib Estimators.Reason: input changed slightly but RandomLib didn't.Impact: All Estimators in RandomLib now operate properly.Change: Change SUniform algorithm.Reason: Wanted more "depth" to the algorithm. Went from 10^10 to 10^16 real numbers between 0 and 1.Impact: Not much time difference. More random numbers.Version 3.01 : 7/21/98Change: Compressed package.Reason: Package starting to get too big.Impact: Not much speed reduction.Change: Numerical integration, derivation, infimum, and supremum compiled native.Reason: Functions too slow and used too often.Impact: Can do calculus at twice the speed of sound now.Change: Fixed copy/paste error when integrating f(x).Reason: Incorrect output when integrating an assigned function.Impact: None. Can now integrate assigned functions properly.Change: Added base conversion to Works interface.Reason: Wanted easy interface for base calculations.Impact: Unnecessary to use the BaseConv function. Use the a number preceded with "0x" in conjunction with the variables inBase and outBase.Change: Fixed insertion of operators in menu.Reason: Insertion did not insert special forms of Derive, Integrate, Minimize, Maximize and Solve.Impact: Can now insert special forms of operators properly.Change: Fixed errors in BaseConv.Reason: In fractional base inputs, the parser did not accept certain characters in the string.Impact: Can now properly input numbers and convert them from fractional bases.Version 3.00 : 6/22/98Change: Added support for taking over Works Calculations' Dynamic Math Environment.Reason: To tap into the math parser.Impact: None. Users can utilize MathLib within Work Calculations.Change: Made Integral more compatible with complex output.Reason: The few instances that returned complex answers threw an error.Impact: Integral still requires real inputs but a few answers may come back in the complex plane.Change: Fixed error in rounding zero.Reason: Error thrown when Round...(0) is called. This occurred in certain calls to BaseConv.Impact: Can now use Round, RoundDec, RoundSigFig properly.Change: Changed output of GaussJordan from nil to b.Reason: Usually b is the answer wanted by the user.Impact: Output can be used or ignored. It still destructively alters b.Change: Added PolynomialFit.Reason: Easier interface (than LinearRegression) to fit polynomials to data.Impact: None.Change: Fixed infinite loop at RiemannSiegelZ(1.5)Reason: RiemannSiegelZcalled DirichletEta who called RiemannSiegelZ...Impact: None. Can now call RiemannSiegelZ(1.5) without crashing.Change: Changed name PolynomialSolution to PolynomialZeroes.Reason: More descriptive name.Impact: None. Old name still works but may be taken out later.Change: Fixed ReduceRational to reduce when ending with prime.Reason: It never finished reducing if denominator was prime.Impact: None. Ends up with smaller fraction.Change: Added _conversion for trig functions.Reason: Allow for degrees, radians, gradians, arcseconds, or whatever calculations.Impact: None. If changed then output will be in appropriate units.Change: Fixed infinite loop at BesselSolution(0,i).Reason: No me gusta.Impact: None. Can now get answers at (0,i).Change: Changed name X to Cross.Reason: "X" was too common of a name.Impact: Code must be changed to "Cross" where used.Version 2.01 : 1/18/98Change: Polynomial array changed to class 'Polynom in symbolic functions.Reason: Need to recognize the difference between a polynomial array of coefficients and a vector array.Impact: Polynomial arrays passed to the symbolic functions must be of class 'Polynom. Use MakePolynomial to initialize a polynomial.Change: Added ability to add,subtract and multiply polynomials.Reason: Expand capabilities.Impact: none.Change: Added MakePolynomial.Reason: Expand capabilities.Impact: none.Change: Added Chebyshev functions for function approximation.Reason: Expand capabilities.Impact: none.Change: Added multiple derivatives to RidderDerivative.Reason: Expand capabilities.Impact: none.Change: Added differentional operators Gradient, Laplacian, Divergence, Curl, UnitNormal.Reason: none.Impact: Can now do vector derivatives.Change: Fixed "Incorrect number of arguments" error in ArrayMin, ArrayMax.Reason: Error occurred when called.Impact: Allows LinearRegression to operate.Change: Took out the global functions |RegLibrary:Prism| and |UnregLibrary:Prism|.Reason: Free up some heap space.Impact: Users can no longer call these functions to add new libraries. It can be donemanually by assigning "|LibraryRegistry:Prism|.libname := lib"Version 1.03-2.00 : 8/26/97Change: Renovated Bessel. Added various solutions to Bessel's Differential Equationincluding Neumann, ModifiedNeumann, SphericalBessel, SphericalNeumann,BesselSolution, ModifiedBesselSolution, AirySolution, HankelSolution.Reason: Expanded capability.Impact: None.Change: Fixed kBottom error in DirichletBeta.Reason: Incorrect table lookup.Impact: Now provides correct lookup for small integer inputs.Change: Added functions for Riemann-Siegel theory including RiemannSiegelTheta,RiemannSiegelZ.Reason: Faster convergence for RiemannZeta(0.5+I t).Impact: Faster formula.Change: Added solutions to Legendre's Equation including AssocLegendre,LegendrePolynomial.Reason: The Hydrogen atom can now be calculated.Impact: None.Change: Fixed errors in BaseConv.Reason: System errors occured for certain imputs.Impact: No system errors occur now.Change: Added functions to calculate digits of Pi including PiDigit, PowMod,PolyLogMod.Reason: Wanted to calculate any digit of Pi.Impact: Can now calculate up to 2 million digits of Pi (with sufficient wait).Change: Added complex hyperbolic trig functions includingsinh,cosh,tanh,asinh,acosh,atanh.Reason: Completeness of trig functions.Impact: None.Change: Added various rounding functions including RoundSigFig, RoundDec,Round.Reason: Can now round according to significant figures, decimal place, or to theinteger.Impact: None.Change: Added Conjugate.Reason: None.Impact: None.Change: Added matrix and vector algebra to most functions.Reason: None.Impact: None.Change: Added QGaussIntegral for Gauss-Legendre Quadrature integration.Reason: None.Impact: None.Change: Added abilities to handle rational algebra including MakeRational,ReduceRational.Reason: Can handle fractions to 2^29/2^29.Impact: None.Change: Changed LinearRegression to use the more stable Singular Value Decomposition.Reason: GaussJordan fails for singular matrices.Impact: Will handle a wider range of inputs.Change: Added ability in LinearRegression to provide all points by a preprocessorfunction.Reason: Means of fitting functions with other functions.Impact: None.Change: Added ability to exclude any point.Reason: Selective use of points in curve fit.Impact: None.Change: Added two ways to solve simultaneous linear equations by Singular ValueDecomposition and LU decomposition. The functions include SVDecomp, SVBacksub,LUDecomp, LUBacksub. First, the matrix is decomposed into parts and then the equationis solved by backsubstitution.Reason: More robust ways to solve linear equations.Impact: These functions are destructive to the input arrays. Be sure to DeepClonethe inputs if you want the information saved.Change: Added symbolic manipulation including SymbolicDerivative, SymbolicIntegral,SymbolicEval.Reason: None.Impact: None.Version 1.02 : 5/20/97Change: Renamed LambdaZeta to DirichletLambda.Reason: Consistency in naming convention for infinite power sums.Impact: A call to LambdaZeta must be replaced with DirichletLambda.Version 1.01 : 5/18/97Change: Change GetLibrary function structure. Added the ability to register anylibrary.Reason: Expanded capability.Impact: None.Change: The internal order of the input array was swapped in the second parameter toGaussJordan.Reason: Reduces the number of array pointers from N*M to M+1. Saves memory.Impact: GaussJordan input is incompatible with version 1.00. Swap the secondparameter input array from b[i][j] to b[j][i].Change: Renamed Bernoulli to BernoulliPolynomial.Reason: Allow for consistency in naming convention of other polynomials.Impact: Bernoulli calls must be renamed to BernoulliPolynomial.Change: Added infinite power sums DirichletEta, DirichletBeta, LambdaZeta.Reason: Relationship with EulerPolynomial. Allows any order to be calculated.Impact: None.Change: Extended input range of RiemannZeta to all complex values.Reason: Relationship with BernoulliPolynomial. Allows any order to be calculated.Impact: None.Change: Added BernoulliNumber and EulerNumber.Reason: None.Impact: None.Change: Extended range of BernoulliPolynomial from order 11 to infinite (or memoryrequirements).Reason: Complete the function.Impact: None.Change: Added EulerPolynomial.Reason: None.Impact: None.Version 1.00 : 4/18/97Initial release.