forked from mfillpot/mathomatic
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchanges_series_15.txt
1700 lines (1200 loc) · 81.9 KB
/
changes_series_15.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Version history of the Mathomatic computer algebra system
---------------------------------------------------------
This change log is entirely in chronological order;
the latest changes are at the end of this file.
Written and maintained by George Gesslein II.
This file is at "www.mathomatic.org/changes.txt".
-------------------------------------------------
Mathomatic version 14.6.3 released Wednesday 11/25/09.
CHANGES MADE TO MATHOMATIC 14.6.3 TO BRING IT UP TO 15.0.0:
Cleanup and more bug fixes.
11/26/09 - Added detection of the terminal's ANSI color availability, when readline is enabled.
11/28/09 - Added detection of divide by zero and NaN when using the "solve verify" command,
for more correct results.
Solving now factors out the GCD of rational coefficients, for improved results.
The fixes today are from errors solving equations like (2*x/(x - 3)) + 3 = 6/(x - 3)
11/29/09 - Disallow the variable named "nan". NaN cannot be directly entered into Mathomatic.
11/30/09 - Added shell scripts "t" and "tests/t" to easily test Mathomatic by typing "./t".
12/2/09 - The fraction command now factors out the GCD of rational coefficients like the
solve command does, so that coefficients in algebraic fractions become integers.
The GCD verifying routine was perfected by making it very strict, like it should be.
Mathomatic version 15.0.0 released Thursday 12/03/09.
CHANGES MADE TO MATHOMATIC 15.0.0 TO BRING IT UP TO THE NEXT VERSION:
12/12/09 - Fixed a problem with the -q (quiet mode) option being ignored if the session options
were ever saved with the "set save" command.
12/13/09 - Added code to allow Mathomatic output to be redirected by default.
Fixed the derivative command to be successful even when the result is 0,
when compiled as a library.
12/14/09 - Added ability to log symbolic math library results, and made command behavior
more consistent in the library by always returning the final result string.
12/16/09 - The factor command now factors more by factoring out the GCD of rational coefficients.
Mathomatic version 15.0.1 released Thursday 12/17/09.
CHANGES MADE TO MATHOMATIC 15.0.1 TO BRING IT UP TO THE NEXT VERSION:
12/19/09 - The last few versions fix the ugliness caused by the GCD factoring change made on 6/22/09.
Today's change factors out the numerical GCD of rational coefficients as needed to simplify.
Most simplification results should be beautiful and the simplest possible again now,
without the misleading observed magnitude caused by always factoring out the GCD,
which was why the change of 6/22/09 was made.
Mathomatic version 15.0.2 released Saturday 12/26/09.
CHANGES MADE TO MATHOMATIC 15.0.2 TO BRING IT UP TO THE NEXT VERSION:
12/27/09 - Moved get_screen_size() from main.c to am.c because it is used in the library when
compile-time options UNIX or CYGWIN are defined.
Thanks to Cygwin port maintainer Reini Urban for noticing and fixing this problem.
Defining UNIX or CYGWIN in library mode is not recommended.
12/31/09 - Added code to allow any command to be preceded by "repeat", which sets the
repeat flag for the following command. Most commands ignore the repeat flag.
1/1/10 - Ported divide and roots commands to be repeatable. Also repeatable are the
calculate and eliminate commands.
1/2/10 - Allow Taylor series computation even if the specified differentiation variable
is not found in the expression, giving a warning.
Ported simplify command to be a repeatable full simplify; that is, typing
"repeat simplify" repeatedly runs the simplify command until the result stabilizes
to the smallest size expression.
1/7/10 - Thanks to pretty C code submitted by Simon Geard,
the code and variables commands have been made much more readable.
1/8/10 - Made Mathomatic easier to compile under Solaris, thanks to Michael Pogue of Sun.
Fixed failure to compile under BSD Unix when compiling with readline support.
Mathomatic version 15.0.3 released Friday 01/08/10.
CHANGES MADE TO MATHOMATIC 15.0.3 TO BRING IT UP TO THE NEXT VERSION:
1/9/10 - Fixed a problem only in the version 15.0.3 makefile, where it didn't respect
the CC environment variable set by the user, instead it always used "gcc"
as the C compiler.
Mathomatic version 15.0.4 released Saturday 01/16/10.
CHANGES MADE TO MATHOMATIC 15.0.4 TO BRING IT UP TO THE NEXT VERSION:
1/21/10 - In the makefile, changed the HTML man page generator back to rman because
groff HTML output looks really bad and rman allows linking to other man pages.
groff is no longer used.
1/24/10 - Fixed "make m4install", the installed rmath and matho programs weren't working.
1/27/10 - Added GNU LGPL license notices to every C source file with a copyright notice,
for proper protections.
Mathomatic version 15.0.5 released Wednesday 01/27/10.
CHANGES MADE TO MATHOMATIC 15.0.5 TO BRING IT UP TO THE NEXT VERSION:
1/28/10 - Added a Python utility called "primorial" to the Prime Number Tools install
that multiplies together the results of matho-primes, displaying the primorials
of the integers given on the command line.
3/18/10 - Changed author email address to "gesslein@linux.com".
3/23/10 - Catch SIGHUP and SIGTERM signals for proper termination of the Mathomatic program;
readline was messing up when Mathomatic was terminated by closing the shell window.
The plot command now always plots expressions with grid marks displayed for reference.
Mathomatic version 15.0.6 released Friday 03/26/10.
CHANGES MADE TO MATHOMATIC 15.0.6 TO BRING IT UP TO THE NEXT VERSION:
Corrections and improvements to the documentation were made.
4/3/10 - Vastly improved the "factor number" user interface, now factors integer expressions like 2^32-1.
"factor number" is disabled in library mode.
4/13/10 - The real and imaginary commands no longer fail when the expression is not complex,
just a warning is given.
4/14/10 - Changed normal display of "-1*" to "-", for prettier 2D expression output,
so things like "-a" display properly, not as "-1*a".
Mathomatic version 15.0.7 released Thursday 04/15/10.
CHANGES MADE TO MATHOMATIC 15.0.7 TO BRING IT UP TO THE NEXT VERSION:
A general cleanup was done.
4/26/10 - Allow "make pdf" to generate PDF documentation from the HTML documentation with htmldoc.
Please read the comments in the makefile for all available options.
4/29/10 - For every makefile, CFLAGS has been modified to include OPTFLAGS as required by the Fedora Linux
build system, and OPTFLAGS defaults to the optional gcc specific flags like optimization.
In the symbolic math library, made available the equation number of the result of calling the API,
if also stored in an equation space. The result equation number is stored in the global "result_en".
Useful if you want to know where the result was stored, to act on it with further commands.
Mathomatic version 15.0.8 released Saturday 05/01/10.
CHANGES MADE TO MATHOMATIC 15.0.8 TO BRING IT UP TO THE NEXT VERSION:
5/10/10 - Added "help constants" command.
5/11/10 - Integer variables are now specified by using a variable name that starts with "integer",
like "integer1", "integer_x", etc. Currently only the modulus operator "%" checks
for integer variables, to help with simplification.
5/12/10 - Corrected the output string type of the symbolic math library API. It was erroneously declared
as type "const", possibly causing a memory leak.
5/13/10 - Moved and adapted "makefile.lib" to "lib/makefile", so the symbolic math library build is isolated.
Previously "make clean" was required between different builds. All makefiles require GNU make now.
Mathomatic version 15.1.0 released Saturday 05/15/10.
CHANGES MADE TO MATHOMATIC 15.1.0 TO BRING IT UP TO THE NEXT VERSION:
Code and documentation cleanup.
5/21/10 - Added "primes/matho-sum", a utility that sums its command line arguments or standard input.
Use "matho-primes 0 2000000 | matho-sum" to find the sum of all primes less than 2,000,000.
Solves Project Euler problem #10: http://projecteuler.net/index.php?section=problems&id=10
5/23/10 - Primes (') are allowed in variable names now, if not using the symbolic math library, so that the
derivative, integrate, and nintegrate commands can change the dependent variable to y', y'', etc.
This can be turned on in the symbolic math library by the command "set special_variable_characters='".
Non-alphanumeric characters in variable names are now converted to underline characters (_)
when exporting to a programming language or to a different program.
Mathomatic version 15.1.1 released Monday 05/24/10.
CHANGES MADE TO MATHOMATIC 15.1.1 TO BRING IT UP TO THE NEXT VERSION:
A general cleanup was done.
A small improvement was made to the final result of the simplify and fraction commands.
Showing intermediate results in the calculate, sum, and product commands is now done with "set debug 1".
5/28/10 - Added "tests/collatz.in", the Collatz conjecture as an automatically computable equation.
Mathomatic version 15.1.2 released Saturday 06/05/10.
CHANGES MADE TO MATHOMATIC 15.1.2 TO BRING IT UP TO THE NEXT VERSION:
6/6/10 - I made mistakes in the improvement to the simplify command of version 15.1.2,
the original working simplify logic of version 15.1.1 is now restored, sorry.
Mathomatic version 15.1.3 released Sunday 06/06/10.
CHANGES MADE TO MATHOMATIC 15.1.3 TO BRING IT UP TO THE NEXT VERSION:
All of the Unix man pages and user manuals for Mathomatic were fixed.
The compare and "solve verify" commands now simplify more thoroughly with "repeat simplify"
for better expression equality determination.
6/17/10 - Greatly improved file operation error reporting by using the perror(3) function.
6/18/10 - Fixed categories in "icons/mathomatic.desktop";
Mathomatic now goes under valid categories, mainly Education.
Mathomatic version 15.1.4 released Sunday 06/20/10.
CHANGES MADE TO MATHOMATIC 15.1.4 TO BRING IT UP TO THE NEXT VERSION:
Many minor tweaks and improvements.
7/03/10 - Makefiles and compile scripts were corrected and enhanced
per http://www.gnu.org/prep/standards/
7/06/10 - Changed all "#if true" and "#if false" conditional commenting to "#if 1" and "#if 0"
in the C source code, thanks to Min Sik Kim of NetBSD pkgsrc.
Mathomatic version 15.1.5 released Tuesday 07/20/10.
CHANGES MADE TO MATHOMATIC 15.1.5 TO BRING IT UP TO THE NEXT VERSION:
7/26/10 - Disabled ncurses call for auto-color detection when CYGWIN is defined while
compiling the source code, due to a reported problem of readline failing with
ncurses in Cygwin.
7/28/10 - Disabled readline history save file for the Cygwin port,
because it is a filename that starts with a period.
7/31/10 - Added "set fractions_display" option, to allow disabling the automatic conversion of
fractions like .5 to 1/2 for display.
Developer requested and useful in the symbolic math library,
when numerical fraction output isn't wanted.
8/01/10 - Fixed a memory leak when ignoring the output string in the symbolic math library.
8/04/10 - Preserve overflowed powers like 2^2222 rather than aborting with an error message.
Allow simplification of math like 2*2^2222 and 2/2^2222.
8/08/10 - matho-primes runs twice as fast with the -ffast-math gcc compilation option,
which is now enabled by default. Don't try -ffast-math with the main Mathomatic
program though, because then Mathomatic won't work properly.
Mathomatic version 15.1.6 released Monday 08/09/10.
CHANGES MADE TO MATHOMATIC 15.1.6 TO BRING IT UP TO THE NEXT VERSION:
Minor improvements were made to the user documentation.
8/22/10 - Removed "Complex number roots approximated" warning message, since this happens often.
Capitalized E, I, PI, and Pi are now accepted as the universal constants e, i, and pi,
without needing to enter "set no case". This allows Mathomatic to easily
accept Mathematica style expression input.
m4 Mathomatic now additionally accepts Mathematica style capitalized function input.
matho and rmath now display elapsed, CPU, and system times in seconds upon exit.
8/23/10 - Fixed #equation-number entry at the main prompt to always work and allow an expression
or equation following on the same line to be entered at that equation space.
For example: "#10 y=1/x" will work now;
previously only worked if equation space number 10 was previously allocated and used.
The way it works is: all equation spaces up to and including number 10 are allocated,
if not already allocated, upon entry of "#10".
Equations spaces are allocated with the memory allocator malloc(3).
Mathomatic version 15.2.0 released Monday 08/23/10.
CHANGES MADE TO MATHOMATIC 15.2.0 TO BRING IT UP TO THE NEXT VERSION:
All makefiles were improved. Library test/example program is renamed to "testmain".
*Package maintainers* please take note: support for the DESTDIR environment variable was
added to all makefiles in this release; for proper operation when packaging version 15.2.1
or higher, please remove any patches for missing DESTDIR support.
And m4 Mathomatic should work now when included in the Mathomatic package (make m4install).
Thank you for packaging Mathomatic! If I did anything wrong, please let me know.
8/26/10 - Added the -e option, which processes mathematical expressions and Mathomatic commands
instead of input files on the shell command line. For example, entering
"mathomatic -eq 2+3" gives "answer = 5". This functionality has been requested
many times by Mathomatic command line users.
Another example to try that works is: mathomatic -e y=1/x "solve verify x"
8/30/10 - Improved results of solving for zero. Results should have reduced integer coefficients,
by factoring out the GCD of rational coefficients.
8/31/10 - Removed a readline error message that displayed for no reason on some Macs, due to
improper functioning of readline's write_history() function.
Readline and history may work better now, due to a change in the initialization order.
Mathomatic version 15.2.1 released Tuesday 08/31/10.
CHANGES MADE TO MATHOMATIC 15.2.1 TO BRING IT UP TO THE NEXT VERSION:
Everything was cleaned up and organized some more. Output is flushed more often, as needed.
9/12/10 - General cleanup and message improvements for the matho-primes utility.
9/14/10 - Removed "makefile.cygwin", Mathomatic should be compilable under Cygwin with
"CFLAGS=-DCYGWIN make READLINE=1".
9/27/10 - Added "set plot_prefix" option, which allows custom plot functionality.
Mathomatic version 15.2.2 released Monday 09/27/10.
CHANGES MADE TO MATHOMATIC 15.2.2 TO BRING IT UP TO THE NEXT VERSION:
10/01/10 - Changed -u option to also echo line input, so that m4 Mathomatic is easier to use.
10/02/10 - "make install" now installs the "/usr/share/pixmaps/mathomatic.xpm" X-Windows icon
from "icons/mathomatic.xpm" for the Mathomatic entry within desktop menu systems.
"menu/mathomatic" is an improved Debian Menu System file for Mathomatic;
This Debian menu file is not installed by the makefile and it uses the above
installed X-Windows icon.
The repeat command can now be shortened to 4 characters, like any other command.
10/03/10 - Updated "misc/limits.c" to additionally display all C data type sizes in bytes.
10/06/10 - Capitalized E, I, and PI are now no longer parsed as universal constants.
Entering E, I, or PI will now result in the general variables E, I, and PI,
unless "set no case" is previously entered.
This change undoes version 15.2.0 Mathematica compatibility, due to kind user feedback.
Entering e, i, or pi still gives the universal constants e#, i#, and pi#.
10/08/10 - Removed "set negate_highest_precedence" option.
This was done for compatibility and so that less parentheses are displayed
within expressions. Polynomials should display very nicely now, powers
like "x^2", "y^3", and "x^y" are not parenthesized unless need be.
10/09/10 - Added "list hexadecimal" command option, which displays expressions
exactly as stored internally in hexadecimal. No precision is lost,
this is because the floating point values are not converted to decimal.
Error reporting was improved.
Mathomatic version 15.3.0 released Saturday 10/09/10.
CHANGES MADE TO MATHOMATIC 15.3.0 TO BRING IT UP TO THE NEXT VERSION:
A C code cleanup was done and user documentation was improved.
10/09/10 - Improved the help command, allowing multiple help topics on the help
command line.
10/16/10 - Improved upon "misc/roots.c", the automatic polynomial root finder.
The Mathomatic makefile now defaults to maximum gcc optimization (-O3).
10/18/10 - Ability to build Mathomatic with cmake file "CMakeLists.txt",
contributed by Jonathan Stark.
10/19/10 - Increased the maximum number of equation spaces from 100 to 200.
They do not consume memory unless they are used.
10/21/10 - Solving things like 0=(x+1)^15+x for x exited the solve routine without grace.
This problem is now fixed for all solve requests that aborted with error.
10/22/10 - When using the symbolic math library, the display command now outputs
all specified equation spaces in fraction format and returns the last
equation space listed as a result.
Before it was just a crippled list command with a little simplification
that didn't output anything.
Mathomatic version 15.3.1 released Saturday 10/23/10.
CHANGES MADE TO MATHOMATIC 15.3.1 TO BRING IT UP TO THE NEXT VERSION:
10/24/10 - Some fixes were done to the main makefile.
PDF user manual creation with htmldoc (using "make pdf") was fixed and made safe.
Added "help options" command which lists invocation options (like -h).
Entering "nan" now gives a warning, instead of an error,
so that expressions containing NaN can be read back in without aborting.
10/25/10 - Added "-c count" option to matho-primes, optionally limiting the number
of lines of primes that are output to "count" lines.
10/26/10 - Removed the -ffast-math gcc compilation option from the Prime Number Tools.
"matho-primes -p 10" was not working under Mac OS X with -ffast-math optimization.
10/29/10 - Fixed an old, important bug in the Mathomatic solve routine, where solve was
failing on some easy to solve equations indeterminately, because of
incorrect infinite loop detection code. Solving should work perfectly now.
This problem was discovered today with the input: "a=a+b" "a" "b".
Mathomatic version 15.3.2 released Friday 10/29/10.
CHANGES MADE TO MATHOMATIC 15.3.2 TO BRING IT UP TO THE NEXT VERSION:
A C code cleanup was done, the code was improved and simplified.
11/01/10 - Fixed -e option to be more like entering what follows into the main prompt;
That is, the autosolve option is left on and errors do not abort.
11/04/10 - "set finance" option now groups output with thousands' grouping characters
if the locale information indicates any. For example: 2,000,000.00
11/05/10 - Makefiles fixed. CFLAGS is now invoked everywhere LDFLAGS and CC are used.
11/07/10 - Respect CPPFLAGS in all makefiles and compile scripts.
Mathomatic version 15.3.3 released Monday 11/08/10.
CHANGES MADE TO MATHOMATIC 15.3.3 TO BRING IT UP TO THE NEXT VERSION:
A C code cleanup was done, the code was further improved and simplified,
and there is better error checking.
11/08/10 - Fixed an error reporting bug in the solve command.
There was the possibility of spewed space characters with improper input.
11/09/10 - Added code so that solving for 0^2 or variable^2 will properly square both
sides of an equation. Solving for variable^2 will isolate the square root of
the largest expression containing that variable, and then square both sides of
the equation. Works for any power and variable with any equation with roots.
Mathomatic version 15.3.4 released Sunday 11/14/10.
CHANGES MADE TO MATHOMATIC 15.3.4 TO BRING IT UP TO THE NEXT VERSION:
A C code cleanup for efficiency was done, and code comments were added and improved.
11/16/10 - Allow %i, %e, and %pi to be parsed. These are the universal constants
i, e, and pi in Maxima and Axiom. % is still the modulus operator.
11/17/10 - Allow ranges on the plot command line. Also labelled X and Y axis.
Also allow plotting of multiple, comma separated, expressions at once.
11/23/10 - Beautified all of the makefiles.
11/27/10 - Fixed -e option to work correctly, and to not need additional options.
The startup messages are now not displayed with this option, so it can be
properly used for quick command-line calculations. Should be followed by
"--" so that expressions can start with a minus sign (-). Please make the
following bash alias to easily use this feature: alias e="mathomatic -e --"
11/28/10 - Added Python script "misc/mp". Conveniently evaluates any numeric expression
from the shell command line like Mathomatic using the above -e option, but
this uses the external Python library mpmath, which allows special functions.
Mathomatic version 15.3.5 released Sunday 11/28/10.
CHANGES MADE TO MATHOMATIC 15.3.5 TO BRING IT UP TO THE NEXT VERSION:
Many minor fixes for consistency and helpfulness were made.
12/03/10 - Cleaned up "factor numbers" command for consistency in operation and to
work as documented.
12/05/10 - Warn when substituting a non-integer expression into an integer variable.
12/06/10 - Added m4/degrees.m4, this can be read into rmath with "rmath degrees.m4"
to use degree units instead of radians for trig functions.
"sudo make m4install-degrees" installs degree mode as the default for
matho and rmath by appending m4/degrees.m4 to m4/functions.m4.
12/08/10 - Allow input of #equation-number as the LHS or RHS of any equation. It is
replaced with the expression or RHS at the specified equation-number.
Note that #equation-number is also the current equation selector, so entering
it as the LHS at the main prompt will function differently.
12/16/10 - Simplify (integer % 1) and the like to 0. Generalized to instantly simplify
to 0 the following: (integer_expression % +/-unit_fraction).
Mathomatic version 15.3.6 released Sunday 12/19/10.
CHANGES MADE TO MATHOMATIC 15.3.6 TO BRING IT UP TO THE NEXT VERSION:
12/20/10 - The license for all documentation is changed from the GNU LGPL version 2.1 to
the GNU Free Documentation License (GFDL) version 1.3. The Mathomatic
software and all else remain licensed under the GNU LGPL version 2.1.
12/24/10 - Fixed the modulus operator (%) to always evaluate to an integer when
both arguments are integer.
7921%14 was giving 11.000000000001, now gives exactly 11.
12/26/10 - Equation number ranges for commands may include unallocated equation
spaces now, allowing entry of any reasonable range.
Mathomatic version 15.3.7 released Sunday 12/26/10.
CHANGES MADE TO MATHOMATIC 15.3.7 TO BRING IT UP TO THE NEXT VERSION:
Code cleanup.
12/28/10 - A possible bug was fixed when entering non-ascii characters.
Added "compare approximate" command option, use of which is more likely to
result in a successful comparison. Runs the approximate command on
both expressions before comparing, if needed.
1/01/11 - The variables command syntax was upgraded to be the same as the code command.
All copyright dates updated to include the new year 2011. Happy New Year!
1/03/11 - Added code to delete identities in the optimize command. When identical
equations were optimized, identities would result. These are now removed.
1/04/11 - Added matho to the mathomatic man page; rmath was already there.
Fixed incorrect syntax in the menu files in menu directory,
thanks to Sandro Tosi for reporting the error and packaging for Debian.
Moved the PDF manual from "doc/manual.pdf" to "manual.pdf", so that it will
be installed separately from the HTML documentation.
1/06/11 - Added "tests/quartic.in". At last, a working set of equations for calculating
the four solutions of any quartic equation, similar to "tests/cubic.in".
1/09/11 - Fixed parser routine to give a helpful error message when a cursor or function key
string is encountered. Escape, carriage return, and form-feed are ignored now.
Mathomatic version 15.4.0 released Tuesday 01/11/11.
CHANGES MADE TO MATHOMATIC 15.4.0 TO BRING IT UP TO THE NEXT VERSION:
1/13/11 - Upgraded the plot command towards always giving gnuplot a proper plot command,
no matter what the user input is. The plot command now automatically renames the
variable in a single variable expression to the x variable, so plotting
will always succeed.
All makefiles were modified to allow the following:
Setting CFLAGS when building now allows manually specifying the program
optimization you want. It is also the way to add compile-time options
and macro definitions. Suggested by many package maintainers, thank you!
If CFLAGS is defined as the empty string, all optimizations are turned off.
New optimizations can be added to the CFLAGS string during builds,
overriding any default optimization in the makefile.
1/14/11 - Removed Python script "misc/mp"; Couldn't get mpmath to work properly for
all input.
Improved results of the fraction command.
1/15/11 - Now saving readline history in $HOME/mathomatic_history when compiled for CygWin.
Now additionally searching for "mathomatic.rc" in $HOME when compiled for CygWin.
1/16/11 - Ported matho-pascal and matho-primes to double floats if USE_DOUBLES is defined,
for systems that don't support long double floats.
1/21/11 - Linking with library "curses", instead of "ncurses" now, as required by Solaris.
Mathomatic version 15.4.1 released Saturday 01/22/11.
CHANGES MADE TO MATHOMATIC 15.4.1 TO BRING IT UP TO THE NEXT VERSION:
1/27/11 - Removed declared inclusion of the curses library when linking with readline.
Should be automatically included. Linking under OpenSUSE was failing because
there is no curses library. Fixed now.
Added proper static function prototypes to all C source code files, to keep the
newer version of gcc from complaining.
Mathomatic version 15.4.2 released Thursday 01/27/11.
CHANGES MADE TO MATHOMATIC 15.4.2 TO BRING IT UP TO THE NEXT VERSION:
Added compile.mingw to easily compile Mathomatic for Windows 32-bit using the
MinGW cross-compiler (Ubuntu package gcc-mingw32) and attach icons/mathomatic.ico
to the generated mathomatic.exe file.
1/29/11 - Easily allow groff instead of rman in makefile for creating web pages
out of the man pages. Some distros don't have rman.
2/02/11 - Fixed negate priority to be the same as TIMES/DIVIDE like Maxima (yay!).
So now entering -x^2 is meaningful. Previously negate was the highest
priority (high precedence) operator. Entering -2^2 now results in -4
instead of 4, as in most other mathematics programs (except for pure
calculators like bc).
2/04/11 - Flush standard output before reading a line of input from the user
when not using readline, so that the MinGW version works with mintty.
2/06/11 - Added a new "for" command, for plugging in sequential values into a
variable in the current expression and displaying the results.
The syntax is the same as the sum and product commands.
Mathomatic version 15.4.3 released Monday 02/07/11.
CHANGES MADE TO MATHOMATIC 15.4.3 TO BRING IT UP TO THE NEXT VERSION:
Many minor but obnoxious bugs were fixed.
2/07/11 - Fixed result of constant modulo 0 (e.g. 9 % 0) and infinity modulo
constant (e.g. inf % 9) to be NaN.
Disabled shelling out and the edit command only in m4 Mathomatic.
The terminal hung when shelling out or editing with an m4 front-end.
Plotting still works and pagination is working now for m4 Mathomatic.
2/09/11 - Cleaned up tests/quartic.in, it now works without m4 Mathomatic, and is
a single formula to solve most fourth degree polynomial equations.
2/10/11 - Created a nice man page for rmath and matho (rmath.1).
matho is included in the rmath man page. Let me know if I should
link rmath.1 to matho.1 when installing it.
The Mathomatic binary install scripts m4/matho-install and
m4/matho-install-degrees now install the man pages,
and create the installation directories if they don't exist.
These scripts are not used by the makefile, they are included in some
binary distributions to install the necessary files in the proper
system directories, so that any user can run Mathomatic. They are
not normally required and are not used to build packages.
2/14/11 - Install man pages when doing binary install.
Mathomatic version 15.4.4 released Monday 02/14/11.
CHANGES MADE TO MATHOMATIC 15.4.4 TO BRING IT UP TO THE NEXT VERSION:
Source code cleanup and comments added.
2/15/11 - Fixed result of (constant % inf) to equal constant.
2/16/11 - Restored explicitly linking with ncurses library when compiled
with readline, because Red Hat Linux wrongly requires this.
There is no way to know ahead of time whether this is needed, so
remove the "-lncurses" from the makefile if there is a problem
linking.
Upgraded set option "fractions_display_mode" to display fractions
as mixed fractions when possible, when set to mode 2. A mixed
fraction is possible when the numerator of a simple fraction is
greater than the denominator, like 9/4, which displays as (2+(1/4))
in mixed fraction display mode 2. Mode 1 is the default, which
functions as before, displaying 2.25 as the simple fraction 9/4.
To display mixed fractions only on command, just type "display mixed"
to display the current expression with mixed fractions output
that one time.
2/17/11 - Autocalc (used when typing a numerical only expression at the main
prompt) now keeps the result until next time autocalc is used,
so that it can be acted on further by Mathomatic commands, if desired.
All previous autocalc results are erased every time autocalc is used.
This provides much better calculator functionality for Mathomatic
and improves ease-of-use.
2/18/11 - Use HTML infinity symbol (∞) for infinities in HTML output mode.
2/19/11 - Allow solid fraction bar display in HTML output mode by using "–".
Previously the ASCII dash character "-" was used, making a dashed line
that separated the numerator and denominator of fractions. Now the line
should be solid in HTML output mode.
Improved divide command for numerical division. Added mixed fractions
and cleaned up output.
Ported matho-primes to MS-Windows and included it in the Windows
version on my website: "http://mathomatic.org/winam2.zip".
The fraction command is now repeatable by preceding it with "repeat".
This repeatedly runs it until the smallest expression is achieved.
Simplification was sped up, especially with "simplify quick", therefore
differentiating and the Taylor command are faster.
2/20/11 - Removed the requirement for the Unix "time" command with m4 Mathomatic.
2/23/11 - Allow array variable refs like a[2] or a[1][2] when generating C code.
Just "set special []" to allow straight brackets in variable names.
2/24/11 - Another ease-of-use enhancement was implemented, making it possible to
use "#equation-number" anywhere in any expression, it will insert the
expression at that equation number. This is an improvement that should
have been done long ago. However, don't expect it to work with the
plot command, "plot #1" does not work because the argument to plot is a
string and/or the current equation. For example, typing things like
"y=#1^2" is a convenient way to raise the expression in equation space
number 1 to the power of 2 and set it equal to y, or whatever you wish.
Mathomatic version 15.5.0 released Friday 02/25/11.
CHANGES MADE TO MATHOMATIC 15.5.0 TO BRING IT UP TO THE NEXT VERSION:
Many minor cleanups and corrections were made.
Disallow nondeterminism in the qsort(3) function, making automatic output
comparison tests more likely to succeed. Restored linear.in to the tests.
3/01/11 - Renamed Mathomatic User's Manual to Official Mathomatic User Guide.
Calculate command now outputs fewer newlines. Not so much blank space.
3/04/11 - Allow equation-number-ranges on the plot command line. For example,
"plot all" works now, to plot all stored equations and expressions
at once, for easy comparison.
3/05/11 - Added an even higher security level 4 (mathomatic -s4), to be exactly
the same as compiling with the -DSECURE option.
Fixed "tests/t" script to allow testing of Mathomatic at any time,
including after a system-wide install.
3/08/11 - Sped up simplify command simplification 60 times faster in some cases.
Mathomatic version 15.5.1 released Thursday 03/10/11.
CHANGES MADE TO MATHOMATIC 15.5.1 TO BRING IT UP TO THE NEXT VERSION:
Changed integer factoring code to be more robust, consistent, self-checking and
a better test of floating point operations. Added DEBUG compile-time define to
allow easier debugging of Mathomatic.
3/12/11 - Renamed the "factorial" directory to "examples".
3/13/11 - Fixed entering negative odd roots like (-32)^(1/3) to not approximate,
instead simplifying to -2*4^(1/3). So all surds are preserved, now.
3/17/11 - Added man pages for the Mathomatic Symbolic Math Library functions.
Allow building a PDF book of all Mathomatic man pages.
3/18/11 - Simplify command simplification sped up even more, by putting algebraic
fraction reduction in the right place and not overusing it.
Responsiveness has greatly improved for large expressions. Thanks go
to Kingsley G. Morse Jr. for help with this and for filing a bug report.
3/21/11 - The simplify command functionality was improved. It was fixed to
not mess up with unwanted fractional coefficients.
Mathomatic version 15.5.2 released Monday 03/21/11.
CHANGES MADE TO MATHOMATIC 15.5.2 TO BRING IT UP TO THE NEXT VERSION:
Simplify expressions with positive bases like 16^(x/2) and (2^m)^n by default;
previously only simplified these with the "simplify symbolic" command.
3/22/11 - The exit status of Mathomatic now shows any errors when run with the
-e option. So if a command fails, it exits to the OS with the exit
status 1. Exit status is 0 if everything went OK. Also works without
the -e option, when files are specified on the shell command line.
An error will abort the script, returning you to the operating system
with an exit status of 1.
3/23/11 - Changed makefile to allow installing m4 Mathomatic without installing
the documentation. Use "sudo make bininstall matho-rmath-install" to
install m4 Mathomatic executables and man pages.
Then "sudo make docinstall" installs all documentation.
3/26/11 - The rmath man page math function and constant lists have been corrected
and the rmath man page has been added to the main user documentation.
3/27/11 - Output of universal constants is now prettier when displaying. No
more i#, e#, and pi#, they are displayed as they are entered: i, e,
and pi. HTML mode displays the small Greek letter pi for pi.
3/29/11 - The nintegrate command now works with complex numbers and trigonometry,
and does not change the current equation to the result.
3/30/11 - Link the man page rmath.1 to matho.1 when installing, so that every
executable has a man page.
4/04/11 - Added "numerator" and "denominator" options to the fraction command,
which returns only the numerator or denominator after making sure the
expression is a simple algebraic fraction.
Autocalc now deletes only the previous autocalc when autocalc is used.
It was deleting all autocalc results except for the current one every
time, preventing copying.
4/15/11 - Improved simplification of expressions like (x + (2^(1/2)))^{3,4,5,6}.
It broke a while back when factor_times() constant factoring was
improved. The fix uses factor_times() less, preserving reduced surds.
4/17/11 - Saving "plot_prefix" with the "set save" command was not escaping
semicolons, so they were disappearing from the prefix. Fixed now.
Mathomatic version 15.5.3 released Tuesday 04/19/11.
CHANGES MADE TO MATHOMATIC 15.5.3 TO BRING IT UP TO THE NEXT VERSION:
Many tweaks and corrections to simplification and polynomial operations were made.
4/21/11 - Created m4 Mathomatic input file "tests/trig". Lists all trig and
hypertrig functions, allowing testing of their simplification
and manipulation.
4/22/11 - Sped up polynomial operations to be another 30 times faster
in some cases. Finished and cleaned up the polynomial factoring
and division C code. Thanks again to Kingsley G. Morse Jr. for
showing me this needed to be done.
The "simplify quick" command was changed to not combine unlike
denominators, making it much more useful, doing better
simplification than any other simplify option sometimes.
4/23/11 - The tally command now returns the ending total and sets it as the
current equation.
Fixed an old bug just discovered today where expressions like
(x - y)*(x^99 - y^99) were being factored into something huge
with the simplify and fraction commands, which are the only
commands that do polynomial factoring.
Improved coloring scheme: all prompt and normal text is now the
terminal emulator's default color for text (usually uncolored).
Expressions remain colored if color mode is enabled. Thanks to
Carl U. Grayser for the good idea.
4/26/11 - Improved the fraction command by factoring polynomials first.
Specifying the "numerator" and "denominator" options together
will make the fraction command return with failure if the result
is not a fraction, otherwise the entire fraction is returned.
Allow setting "M4" makefile variable to "gm4" (GNU m4), so that
m4 Mathomatic can work under BSD Unix after installation.
Be sure to use gmake to compile Mathomatic under BSD Unix;
Non-GNU Unix make and Unix m4 do not work with Mathomatic.
Mathomatic version 15.6.0 released Saturday 04/30/11.
CHANGES MADE TO MATHOMATIC 15.6.0 TO BRING IT UP TO THE NEXT VERSION:
The Mathomatic user documentation and help have been shaped up.
A BOLD_COLOR compile-time flag was added, to make Mathomatic default to
using bold color mode. Used on the Mac and Windows versions of
Mathomatic now.
5/8/11 - The "factor number" command now allows number ranges, in addition
to integers and integer expressions.
5/9/11 - Install "m4/functions.m4" to proper directory (/usr/share/mathomatic/m4).
The "m4" directory is no longer installed to the system doc directory.
A big thanks to Terje Røsten of Fedora for showing me the way on this,
and for his timely Mathomatic package maintenance in Fedora Linux.
5/11/11 - The matho-primes utility can now be run from within Mathomatic by typing
"list primes". Put any arguments you want to pass to matho-primes on the
"list primes" command line. Redirection doesn't work yet for this, so it
remains undocumented.
5/15/11 - Added NOGAMMA compile-time define, which makes the factorial function
integer only, if desired.
Added color mode to the MinGW Windows version of Mathomatic, thanks to
Doug Snead for the code. Tested in cmd.exe, command.com, and CygWin.
The new color mode does not work in mintty.exe.
5/16/11 - Allow defining SILENT=0 when compiling the symbolic math library,
so that "set debug level" works and normal Mathomatic debugging works
within the library code. Thanks to Doug Snead for suggesting this.
5/21/11 - Changed "make check" to not use the time command, as /usr/bin/time is not
available on all systems. "make test" performs the same function and
still uses time.
5/23/11 - Updated the Free Software Foundation's address in the LGPL license text
and in all source files.
Mathomatic version 15.6.1 released Sunday 06/05/11.
CHANGES MADE TO MATHOMATIC 15.6.1 TO BRING IT UP TO THE NEXT VERSION:
6/06/11 - Corrected datadir variable usage in the main Mathomatic makefile.
Directly importing datadir could have catastrophically deleted the
entire /usr/share directory with "make uninstall".
6/12/11 - Added proper compilation option (WIN32_CONSOLE_COLORS) for color mode
in MinGW, in case use with mintty.exe is desired.
Mathomatic version 15.6.2 released Sunday 06/12/11.
CHANGES MADE TO MATHOMATIC 15.6.2 TO BRING IT UP TO THE NEXT VERSION:
Source code and user documentation cleanup and corrections.
Creating a PDF book from the Mathomatic man pages with "make bookman" is more
likely to work now. Package txt2man must be installed to run "make bookman".
6/24/11 - Added file misc/known_bugs.txt, which is the current list of known
bugs in Mathomatic.
7/04/11 - Added file tests/quadratic.in, just a script that solves the general
quadratic equation.
7/06/11 - Fixed error messaging to not always give command usage information
when a command fails or gives a negative result.
Now only gives command usage info when helpful,
like when something on the command line is incorrect.
7/07/11 - Fixed the Mathomatic derivative command to not fail with a helpful
error message when the derivative is zero.
Now it just gives a warning message along with the successful
result of the constant zero.
7/23/11 - Mathomatic no longer compiles correctly with the latest Xcode gcc,
due to a bug in Apple's gcc LLVM optimizer. Either turn the optimizer
completely off when compiling with Xcode, or use the gcc provided
by MacPorts. Xcode version 3.x and other non-Apple C compilers will
work fine. All mention of Xcode has been removed from the
Mathomatic distribution.
7/28/11 - Balanced parentheses and brackets are now allowed in variable names,
if the "set special_variable_characters" command is run first.
For example, "set special ()" will allow entry of named functions,
converting them to variables, which might be useful in some cases.
However, entry of variables like "f(x)" will not be differentiatable,
because there is no "x" variable in that, only the "f(x)" variable.
There can be no spaces encountered in the function; variable names
end at any non-variable character, including space characters. I
can change this, if anyone requests it.
Entry of array elements is still possible with "set special []".
This is the default.
7/29/11 - Prompts are now blue when reading files into Mathomatic in color mode.
7/30/11 - Allow an equation number range on the solve command line, for faster,
more automated solving. If you want to solve all entered equations
for x, just type "solve all x" or "solve verify all for x" to be sure.
7/31/11 - Allow "repeat read filename" command, which repeatedly reads a script
until it fails or is aborted.
8/04/11 - "make install" now shows if installed executables are new or have
changed since the last install.
Mathomatic version 15.6.3 released Thursday 08/04/11.
CHANGES MADE TO MATHOMATIC 15.6.3 TO BRING IT UP TO THE NEXT VERSION:
8/05/11 - Approximating complex number roots only when helpful or approximating,
improving some results when imaginary numbers are used; for example,
simplifying sqrt(sin(x)) now returns the best possible result.
8/06/11 - Added "make strip" target to allow easily running the Unix strip
utility on the resulting binaries.
Deleted the "make install-strip" and "make bininstall-strip" targets.
Additionally display C compiler version number in version command.
8/09/11 - Added ability to make a shared library of the Symbolic Math Library,
using the cmake utility. "CMakeLists.txt" was the only file changed.
The shared library is thoroughly UNtested. :-)
8/13/11 - A colon character (:) placed before any main prompt input will make
it ignore any error occuring in that particular line, so any current
read operation won't abort. Any Mathomatic command preceded with a
colon will always return with successful status.
File "misc/identities.in" was added, showing a strength and weakness
of Mathomatic.
Removed "doc" target in makefile, due to interference from a
directory of the same name; use the "html" target instead.
Added cheat card "doc/quickrefcard.html", created by "make htmlcard"
and scripts "makehtmlcard.sh" and "makehtmlcard.awk". The PDF of
this currently has to be made manually with a web browser, using
print to PDF file.
Added ability to automatically create cheat sheet "quickref.pdf",
created by "make pdfsheet", which invokes script "makepdfsheet.sh".
8/19/11 - General complex number root approximation bug fix: expressions like
sqrt(sin(9)) now give the correct result, instead of a negative
number, when using the calculate command. The calculate command is
used to immediately evaluate it when you type "sqrt(sin(9))" into
the m4 Mathomatic main prompt.
8/20/11 - The variables command now defines all "integer" and "sign" variables
as "int" instead of "double".
8/21/11 - Rewrote the code command code lister to allow output to a C string.
Code command is now completely available with string output in the
Symbolic Math Library, meaning Mathomatic can automatically
generate programming language code within other programs now.
Mathomatic version 15.6.4 released Wednesday 08/24/11.
CHANGES MADE TO MATHOMATIC 15.6.4 TO BRING IT UP TO THE NEXT VERSION:
8/25/11 - Now allowing balanced parentheses with anything inside them in
variable names, so that they can preserve functions temporarily.
Just type "set special ()" to use this option and stop getting
errors when entering functions. They will not be real functions,
just variables whose name is the complete function string.
8/27/11 - Added sinc(x) function to m4 Mathomatic, which is the normalized
sinc function, defined as sin(pi*x)/(pi*x).
8/31/11 - Split off the generally useful stuff and general C math defines
from am.h to standard.h; am.h only contains Mathomatic defines now.
standard.h and complex_lib.c with complex.h can be included in
your C math programs if you like, with no changes required.
Use of gcd.c in other floating point programs that need a gcd() or
double-to-fraction convert function is recommended. The code
has been heavily tested by this CAS.