-
Notifications
You must be signed in to change notification settings - Fork 37
/
NEWS
768 lines (470 loc) · 21.9 KB
/
NEWS
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
octsympy 3.2.1+ (unreleased)
============================
octsympy 3.2.1 (2023-05-15)
===========================
* New symbolic commands:
collect
fplot
* Move repo to https://github.com/gnu-octave/symbolic
* `sym(<array>, ratflag)` now respects `ratflag` (issue #1273).
* Changed metainfo.xml ID and corrected long-standing "Addon"
link to GNU Octave.
* Misc changes for SymPy development changes.
* v3.2.0 was incorrectly released.
octsympy 3.1.1 (2023-03-19)
===========================
* New symbolic commands:
cart2pol
piecewise
* `kron` works for three or more inputs (issue #1245).
* Indexing bounds checking to support Octave 8.
* Fix assumptions on SymPy 1.12.
* Other misc fixes and changes for SymPy 1.12.
octsympy 3.0.1 (2022-08-09)
===========================
* New `@double` numerical functions; these are wrappers around SymPy,
so they are slower than native floating-point implementations.
adjoint
* Misc bug fixes and improvements in error handling.
* `.oct-config` files indicate source is UTF-8 encoded and should improve
any locale or encoding problems on Octave 7 and above.
* Fixes some errors when Python is running in Cygwin-like environment.
But there could still be errors in other places (issue #1182).
octsympy 3.0.0 (2022-07-05)
===========================
* New symbolic commands:
cumprod
cumsum
ztrans
* `dsolve` output prefers expressions (right-hand sides) rather than
equations. Also uses structs for systems. This brings it closer
to `solve` and more compatible with other symbolic toolboxes.
* `dsolve` supports arrays of initial conditions.
* Fixes for SymPy 1.6 and later.
* Fixes for Octave 6.x and Octave 7.1.
* Drop Python 2 support.
* The `symbolic-win-py-bundle-x.y.z.zip` is no longer provided as we
have not been able to port it to Python 3.
* Update minimum versions of SymPy to 1.4 and Octave to 5.1.
* Remove deprecated `evalpy` and `python_cmd` utilities.
octsympy 2.9.0 (2020-03-04)
===========================
* Default python interpreter is now `python3`.
* Fixes for SymPy 1.5.
- `@sym/round` changed to round-to-even.
- fix broken EmptySet `finiteset()`.
* Documentation updates for upcoming Octave 6.
* If the Pythonic package is loaded, automatically use it for Python
communication (see `help sympref` for details).
* Deprecation notice: `python_cmd` will be removed in a future release.
octsympy 2.8.0 (2019-04-30)
===========================
* New symbolic commands:
eval
ezmesh
find
sinc
* Update minimum versions of SymPy to 1.2 and Octave to 4.2.
* Fixes for SymPy 1.4.
* Newer SymPy versions improve QR and LU on non-square matrices.
* Support for expressions with min and max such as `min(x, y)`.
* `subs(f)` now works: it finds values from the workspace.
* `gammainc` now regularized correctly.
* `lambertw` has more consistent printing.
* Other bug fixes and documentation updates.
octsympy 2.7.1 (2018-10-02)
===========================
* Fixes for SymPy 1.3.
* Various bug fixes and documentation updates.
octsympy 2.7.0 (2018-07-12)
===========================
* New symbolic commands:
arg
euler
ezcontour
* New `@double` numerical functions; these are wrappers around SymPy,
so they are slower than native floating-point implementations.
bernoulli euler
chebyshevT pochhammer
chebyshevU
* The initial startup is much quieter!
* `vpa` now warns of low-precision on non-numbers strings with decimals
such as `vpa('cos(0.1)')`. See "help vpa" for details.
* `subs` allows multiple scalar variables to be replaced with symbolic
matrix expressions.
* symfun can be evaluated at symbolic matrices: `f(sym([1 2; 3 4]))`
now works where `f(x)` is a symfun.
* Fixes for symfuns such as `syms N(t)` where the function name
conflicts with a SymPy command.
* Fixes for how assumptions interact with symfuns.
* New command `sympref diagnose` to help debug Python/SymPy issues.
* Improve `function_handle` support by supporting more functions.
* Fixes for several bugs mentioning "immutable matrices".
* `bernoulli` now works with array inputs.
* Added a `private/defaultpython.m` to make it easier for distributors
to control which python interpreter is used by default.
* Fixes for GNU Octave 4.4.
* Fixes for SymPy 1.2.
* Various bug fixes and documentation updates.
octsympy 2.6.0 (2017-07-27)
===========================
* New symbolic commands:
ellipke ellipticE harmonic
ellipticCE ellipticF kroneckerDelta
ellipticCK ellipticK pochhammer
ellipticCPi ellipticPi
* New `@double` numerical functions; these are wrappers around SymPy,
so they are slower than native floating-point implementations.
harmonic
* Support for the new SymPy 1.1.1.
* `solve` now supports vectors of equations and vectors of variables.
* Better warning for `sym(0.1)`, updated docs about floating point.
* Double values can now be converted to their exact rational value
using `sym(0.1, 'f')`. Passing `'r'` gives the current heuristic
behaviour. Neither raises a warning.
* The default floating-point heuristics now check for square roots of
integers, so `sym(sqrt(2))` should work.
* `sym('i')` and `sym('I')` no longer create the imaginary unit: use
`sym(i)` or `sym(1i)`.
* `sym(e)` now gives the same as `exp(sym(1))`. However, `sym('e')`
and `syms e` continue to create a variable named `e`.
* `sym` now accepts function handles such as anonymous functions as
inputs.
* `subs` is not appropriate for numerical evaluation; add an example in
`help subs` which shows how to do this with `function_handle`.
* Calling `sym(cell)` now creates a sym array instead of a cell array.
Old behaviour of creating a cell array was deprecated in 2.5.0.
* Bug fix: isequal(n) for symfun's correctly tests the argnames.
octsympy 2.5.0 (2017-02-01)
===========================
* New symbolic commands:
acosd chol ones
adjoint cosd prevprime
angle dawson sind
asind divisors sympy
atand equationsToMatrix tand
beta eye zeros
cell2sym hilb
charpoly invhilb
* Add more `@double` numerical functions. For now these are simply
wrappers around SymPy, so they are slower than native floating
point implementations.
coshint logint
cosint polylog
dilog sinhint
fresnelc sinint
fresnels zeta
* The full set of assumptions implemented by Sympy can now be used.
For example, `syms p prime` assumes `p` is prime.
* `assume(x, 'clear')` can be used to clear assumptions on variables.
Previously undocumented commands such as `sym(x, 'clear')` and
`syms x clear` are now deprecated.
* `assume` supports vector inputs. Also supported are alternative
"command forms" such as `assume x y real` and `assume x y clear`.
* `solve` now works with inequalities.
* `sym('1.3')` now creates the rational number 13/10.
* A new keyword option `coeffs(f, x, 'all')` returns both zero and
non-zero coefficients.
* Change (and document!) default matrix norm to the 2-norm (it was
Frobenius).
* `heaviside` accepts a second argument for its value at zero.
* `isfinite` behaves correctly for variables (and is documented).
* New experimental Python communication using the native Python/C
interface, due to Abhinav Tripathi during Google Summer of Code 2016.
* Bug fix: assign `[]` to row/column removes that that row/column.
* `char(x)` now gives a more human-readable output, useful for example
in labelling a figure.
* ezplot supports implicit plotting of f(x, y) == 0.
* Deprecation notice: `sym(cell)` will soon create a sym array
(currently it creates a cell array of sym objects, and issues a
warning).
* Deprecation notice: `evalpy` will be removed in a future release.
* Remove deprecated method for changing the Python executable using
`sympref`: instead use the environment variable `PYTHON`.
* Update minimum versions of SymPy to 1.0 and Octave to 4.0.0, so
we can remove some crufty workarounds.
octsympy 2.4.0 (2016-05-24)
===========================
* New symbolic commands:
acsc csch gammaln polylog
asec dilog hypergeom psi
asech ei hypot resize
besseljn expint igamma sech
besselyn ezsurf jordan signIm
cat fresnelc laguerreL sinint
cosint fresnels lgamma sinhint
coshint gammainc logint ssinint
* Move some functions from the "specfun" package. So now the Symbolic
package includes some numerical (@double/@single) implementations:
dirac
heaviside
laguerreL
lambertw
* Re-implement @double/laguerreL for numerical stability.
* Add spherical Bessel functions: these are called `besseljn` and
`besselyn` (for now, subject to change). Thanks to Utkarsh Gautam.
* Fix: `@sym/dot` consistent with `@double/dot` thanks to Alex Vong.
* The environment variable `PYTHON` controls which Python executable is
used. The command
`sympref python C:\bin\python`
has been deprecated; instead please use:
`setenv PYTHON C:\bin\python`
* Improve support for Windows. Thanks to Abhinav Tripathi, Tatsuro
Matsuoka, finalsnd, and Mike Miller.
* Installation scripts merely warn if Python and SymPy aren't found.
octsympy 2.3.0 (2016-04-08)
===========================
* New commands:
airy chebyshevU finiteset rewrite
besselj chebyshevT has round
bessely fix kron sort
besseli frac linspace union
besselk intersect logspace unique
besselh interval max
cbrt ismember min
* Bug fix for working with certain unevaluated integrals.
* Bug fixes for function_handle, fortran and ccode.
* Bug fixes or improvements to repmat, reshape, python_cmd, factor,
dot star, children.
* Support for SymPy 1.0.
* Errors raised in Python code are now caught and passed back to Octave
in most cases. This simplifies implementation.
- Note some error messages have changed slightly.
- Windows users now see previously hidden error messages.
Thanks to @latot.
* Windows "bundle" package should work even if the system has another
Python installed. Thanks to Abhinav Tripathi.
* Installation bug fixes. Thanks to Abhinav Tripathi and Mike Miller.
* New functions for converting sym to integers. Thanks to @latot.
* Making a sym of a large integer like `sym(10^16)` gives a warning.
Please use `sym(10)^16` or `sym('1000000000000123456789').
* New functions for dealing with sets and intervals and operations
on them, thanks to @latot.
* 2D Taylor expansions are implemented, thanks to Utkarsh Gautam.
* Sort is implemented, thanks to Utkarsh Gautam.
* Fourier and Laplace transforms (and their inverses) use a
different implementation which improves handling of delta
functions. Ideally, a later version will consolidate this with
SymPy's original implementations.
* Python `None` can be returned and manipulated.
* Saving/Loading sym objects is now fully-supported (thanks to Abhinav
Tripathi).
* Documentation improvements.
octsympy 2.2.4 (2015-12-14)
===========================
* Fix display on Octave 3.8.
* Support for SymPy 0.7.6.1.
octsympy 2.2.3 (2015-11-25)
===========================
* New commands:
cross
dot
* sym('var') is more robust in case var happens to be a special
value in SymPy. Now sym('E') is just a symbol rather than
exp(sym(1)). Also sym('E1') and sym('Eq') no longer give errors.
* Fix bug in assigning to column vectors, thanks to Grzegorz Dudziuk.
* During install, test for PATH problems on Windows (issue #236).
* Fix for Octave 4.1+ development versions, thanks to Mike Miller.
octsympy 2.2.2 (2015-07-03)
===========================
* Fix for configure script using Python 3 (thanks Vadim Gribanov).
* Fourier transform fixes (thanks Alexander Misel, Andrés Prieto).
They now follow the non-unitary angular frequency convention.
* Support for SymPy 0.7.7.dev version.
* Add some warnings to the documentation about unreliable results
for "dsolve" on systems and from Fourier transforms.
* Start using "print_usage" for invalid inputs as is common
practice in Octave.
* Bug fixes and update doctests.
octsympy 2.2.1 (2015-04-22)
===========================
* Fix an ascii pretty printing regression (issue #234).
* Other minor fixes for doctests, sympref and symreplace.
octsympy 2.2.0 (2015-04-20)
===========================
* New commands:
catalan
eulergamma
lambertw
* Installing symbolic package now check for Python and minimum
version of SymPy (thanks Carnë Draug for autoconf).
* Installations from Octave-Forge ("pkg install -forge symbolic")
should now work on Windows (thanks vassbu). You will need the
Python and SymPy dependencies. Or you can use the [bundled
package](https://github.com/cbm755/octsympy/releases)
* Added support for Python 3 (still works with Python 2 as well).
* Documentation improvements especially to assumptions. Examples
within documentation can now be tested with doctests, see the
`octsympy_doctests.m` function.
* Fix a warning on Octave 4.0.0-rc1 and make tests work properly.
* Other bug fixes: assumptions; symvar and symbolic matrix powers;
various display issues.
octsympy 2.1.0 (2015-03-06)
===========================
* New commands:
columns
degree
formula
ismatrix
numden
rows
* Additional ways of calling symsum, symprod, and subs for better
compatibility with other symbolic toolboxes.
* Bug fixes in poly2sym, sym2poly, symfun (thanks @rocketsound),
prod, horner, coeffs.
* Documentation improvements.
* Improvements to "argnames" and "formula" for the dependent
variables and dependent expression of a symfun. These are now
implemented for basic sym objects as well.
* Improvements to assumptions. E.g., `x = assume(x, 'positive')` no
longer mucks around in the workspace for other instances of x (it
still does this with no output argument, for compatibility with
other symbolic toolboxes). You can use multiple assumptions with
sym and syms, e.g., `syms n m positive even`.
* Improve symbolic sized matrices such as `A = sym('a', [n m])`.
These are still experimental; they correspond to MatixSymbols in
SymPy and may need a recent SymPy development version. For now,
the `size(A)` returns "1x1" although internally `NaN` is used for
symbolic-sized dimensions. Enabling `size(A)` to return "NaNx3"
may occur later.
* Drop python_cmd_string, which has been deprecated since v0.1.1.
octsympy 2.0.0 (2015-02-04)
===========================
* Octsympy is now the "symbolic" package for Octave Forge. There
was a previous "symbolic" package (based on GiNaC) which reached
version 1.1.0. To prevent confusion, we are now at version 2.0.0.
Additionally, the history of the two projects has been merged
(thanks Carnë Draug).
* New commands:
coeffs
ipermute
isallconstant
isconstant
nchoosek
permute
* Fixes for development version of SymPy.
* Fixes for vpa and vpasolve: high precision should be more reliable.
* Improve handling `sym(pi/3)` and other small fractions of pi. It
works but you'll still get a warning and 2*sym(pi)/3 is really the
preferred approach! `sym(-pi)` now works.
* On Windows, default to ascii rendering for now (until unicode
is fixed in Octave on that platform).
* No longer needs to autogenerate a bunch of functions at install
time: hopefully making it easier than ever to get involved!
octsympy 0.1.3 (2015-01-06)
===========================
* New commands:
argnames partfrac
digits orth
ilaplace rank
laplace rref
ldivide sum
mldivide vpa
null vpasolve
* Symbolic backslash support.
* variable-precision arithmetic support: see vpa, digits, vpasolve.
* Much-improved dsolve thanks to Andrés Prieto.
* Laplace and inverse Laplace transforms (Andrés Prieto).
* Partial fractions (Andrés Prieto).
* Improvements to solve (Andrés Prieto).
* Preliminary support for matrix expressions, e.g., matrix to a symbolic
power.
* Should work properly with Stand-alone Python (thanks to David Manthey).
octsympy 0.1.2 (2014-12-01)
===========================
* New commands:
children rhs
expm setdiff
lhs setxor
pinv trace
potential
* Support new SymPy 0.7.6. This adds Octave code generation which means
that OctSymPy's `matlabFunction` is supported.
* For now, SymPy 0.7.5 should still work, but upgrading to SymPy 0.7.6 is
recommended.
octsympy 0.1.1 (2014-10-20) Rose Garden
========================================
Major Changes
-------------
* Fix sym(double) approx by rationals (issue #121, thanks HuiZhong LU).
* Improvements to sym() command: you can now pass the underlying "srepr"
SymPy presentation to create an object.
* Bug fixes: improvements to indexing, findsymbols and assumptions,
isscalar/isvector failures on recent Octave, output formatting fixes,
* New commands:
and isscalar
char isvector
diag nnz
eig or
iscolumn uplus
isrow xor
Minor Changes
-------------
* Improvements to logical and isAlways commands.
* IPC system() should work on windows.
* Better test system, easier to see "real" failures rather than expected
(known) failures.
* Improved handling of symfuns.
* Improvements to internal string handling/escaping especially newlines.
- Enter a multiline command using a cell array of lines e.g.,
`python_cmd({'a = 10' 'return (a, 2*a)'})
or
`python_cmd({'a = 10'; 'return (a, 2*a)'})
- The same applies to `evalpy`. If you need the old deprecated
behaviour, it is still available as `python_cmd_string`.
octsympy 0.1.0 (2014-08-27) Pacific Coffee
===========================================
Major Changes
-------------
* `sympref` replaces `octsympy_config`. You can change the Python
interpreter with `sympref python /path/to/python`.
* Unicode pretty-printed output by default.
- If you see `?` or other broken characters, try `sympref display
ascii`. Then help me get this working on your system!
- Or `sympref display flat` to disable pretty-printing. (You can
still use the `pretty` command selectively).
* Experimental Windows package with Python and SymPy included (look
Ma, no deps!) Uses [David Manthey's single file py.exe Python] [1].
[1]: http://www.orbitals.com/programs/pyexe.html
* Lots of new commands:
atan2 fliplr isfinite norm
ccode flipud isna not
cond fortran jacobian qr
conj ge laplacian real
curl gradient le repmat
det gt lt svd
divergence hessian lu toeplitz
ezplot3 imag matlabFunction tril
ezplot inv ne triu
* Preliminary code generation (`ccode`, `fortran` and
`matlabFunction` functions). However, `matlabFunction` mostly
depends on patches not yet in upstream SymPy.
* Inequality support.
* Assumptions now behave more like the Matlab Symbolic Math Toolbox.
Minor or internal changes
-------------------------
* Arithmetic operations on symfuns return symfuns instead of syms.
* More robust XML-like IPC transport.
* Move to proper Octave-style `%!` tests.
* Debugging IPC modes: `systmpfile` (same as `system` but outputs a
temp file for inspection) and `sysoneline` (work-in-progress).
octsympy 0.0.4 (2014-05-26) Lovever Coffee
===========================================
* Basic assumptions support.
* Matlab packages, only slow system() ipc for now.
* Improvements on passing variables between Octave and Python.
octsympy 0.0.3 (2014-04-29) Wu Ke Song
=======================================
* Many new commands.
* `system()` communication no longer makes temporary files. To
change the communication mechanism, use "octsympy_config ipc
system". See also "help octsympy_config".
* Added new tool "evalpy", this is fun and good for debugging...
* Bugs fixed, docs updated
* Start documenting differences with the Matlab Symbolic Math
Toolbox.
octsympy 0.0.2 (2014-04-20)
===========================
* A preview release, test it out report issues. Documentation is a
mess, various things are work-in-progress. But it works and I
think has potential.