Return to the 'symbolic' package

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.

Package: symbolic