Thu Jun 18 10:53:38 UTC 2020 I: starting to build octave-symbolic/buster/i386 on jenkins on '2020-06-18 10:53' Thu Jun 18 10:53:38 UTC 2020 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/i386_4/7891/console.log Thu Jun 18 10:53:38 UTC 2020 I: Downloading source for buster/octave-symbolic=2.7.1-2 --2020-06-18 10:53:38-- http://deb.debian.org/debian/pool/main/o/octave-symbolic/octave-symbolic_2.7.1-2.dsc Connecting to 78.137.99.97:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2123 (2.1K) Saving to: ‘octave-symbolic_2.7.1-2.dsc’ 0K .. 100% 197M=0s 2020-06-18 10:53:38 (197 MB/s) - ‘octave-symbolic_2.7.1-2.dsc’ saved [2123/2123] Thu Jun 18 10:53:38 UTC 2020 I: octave-symbolic_2.7.1-2.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 3.0 (quilt) Source: octave-symbolic Binary: octave-symbolic Architecture: all Version: 2.7.1-2 Maintainer: Debian Octave Group Uploaders: Sébastien Villemot , Rafael Laboissiere Homepage: https://octave.sourceforge.io/symbolic/ Standards-Version: 4.3.0 Vcs-Browser: https://salsa.debian.org/pkg-octave-team/octave-symbolic Vcs-Git: https://salsa.debian.org/pkg-octave-team/octave-symbolic.git Testsuite: autopkgtest-pkg-octave Build-Depends: debhelper-compat (= 12), dh-octave (>= 0.5.0), python3-sympy (>= 1.0) Package-List: octave-symbolic deb math optional arch=all Checksums-Sha1: a2e217caaeec967f144bcdff8645c09497c8fdf0 252044 octave-symbolic_2.7.1.orig.tar.gz 6cab8983a0bc88128125f8d626f60446eb1bb5ba 5568 octave-symbolic_2.7.1-2.debian.tar.xz Checksums-Sha256: 1f371bd3cbdbeae2cb2ae0b727efc5d2ea09f005867a5935a2514d78eb4b6eb1 252044 octave-symbolic_2.7.1.orig.tar.gz 76d09b57f56d769d9b2c100ad38c8dbee627d8258f37cb779110c12b94864f5c 5568 octave-symbolic_2.7.1-2.debian.tar.xz Files: 25bedf5fd74dda6edb43ff9b018f0cca 252044 octave-symbolic_2.7.1.orig.tar.gz 332a3722f6d31d22c63e40f1d4dec8f2 5568 octave-symbolic_2.7.1-2.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEP0ZDkUmP6HS9tdmPISSqGYN4XJAFAlwvP5UACgkQISSqGYN4 XJBf4A//U3Dmqc4tAPHFUPGFSCLpyxKtBNEEg2KH06Qi87z8BH4oi//yYEqAaDA6 6oIeAJVPEYa0aVb9x5croPyBDOutNpafrHzqCZg5ZNU5Mop/LIRK2UNgC64WTJa2 YyfFuwLjkBrKKifF7btVSWpz1+bvSkFxJFxjKp284g557UNQtdVrwLX3gv6IjLfM nFRY3VEGDA3MkJoih6iKsOL+84eOJQbn/PLRujRXE3GI8DxvyngT+5F5kAp7bSkl 39n/Ftw1LGl1OMhsq6KBPP4vfEbTBVdPQ1CvajbdDdxHbZQJurtxhJZoGisw6Ge1 8QjSAklUlMTFIHU+ivzy4GlCCyy/RK9TXiaCuE/g5WcEQuRNk7Wg9gaTY5U4Qcia HmM/Mdj5aBXKoDc7tMHh5JDTUJkKDSZXdGh2S0ab99Q5lGoF6aAqyaRg0uxicgK2 QztFeANobMBeMgt/IfQ1aVVZSruC+F3rYMN73UtWJYYf+9mIllvoNWlUKruom0vC upqH+e/qVb7nmGveIG+YSF5Z461hHmTj3XQ6uak7U/CxyTWMuBUM1jEJYJC+LGn/ mPYDPRFZ6/6iBW0faqNOWDwFNeKr4oPezSJxO4cYbB2hwXuinm/FhGyr/m+g1kQc NWxmQ2rru5UZ4woS/1Q7EToU2rdpfachtseHK08WrWCFzzEso/c= =t++d -----END PGP SIGNATURE----- Thu Jun 18 10:53:38 UTC 2020 I: Checking whether the package is not for us Thu Jun 18 10:53:38 UTC 2020 I: Starting 1st build on remote node profitbricks-build16-i386.debian.net. Thu Jun 18 10:53:38 UTC 2020 I: Preparing to do remote build '1' on profitbricks-build16-i386.debian.net. Thu Jun 18 11:02:08 UTC 2020 I: Deleting $TMPDIR on profitbricks-build16-i386.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Wed Jul 21 05:16:39 -12 2021 I: pbuilder-time-stamp: 1626887799 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/buster-reproducible-base.tgz] I: copying local configuration I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: using eatmydata during job I: Copying source file I: copying [octave-symbolic_2.7.1-2.dsc] I: copying [./octave-symbolic_2.7.1.orig.tar.gz] I: copying [./octave-symbolic_2.7.1-2.debian.tar.xz] I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' gpgv: keyblock resource '/root/.gnupg/trustedkeys.kbx': General error gpgv: Signature made Thu Jan 3 23:12:21 2019 -12 gpgv: using RSA key 3F464391498FE874BDB5D98F2124AA1983785C90 gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./octave-symbolic_2.7.1-2.dsc dpkg-source: info: extracting octave-symbolic in octave-symbolic-2.7.1 dpkg-source: info: unpacking octave-symbolic_2.7.1.orig.tar.gz dpkg-source: info: unpacking octave-symbolic_2.7.1-2.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying python3.patch dpkg-source: info: applying pochhammer-test-tolerance.patch dpkg-source: info: applying linspace-drop-test.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/64655/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='i386' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=18' DISTRIBUTION='' HOME='/root' HOST_ARCH='i386' IFS=' ' INVOCATION_ID='a752a1e21d754d2f8b600f128a668122' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' LD_LIBRARY_PATH='/usr/lib/libeatmydata' LD_PRELOAD='libeatmydata.so' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='64655' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/tmp.a88wjcXISr/pbuilderrc_sHc1 --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/buster-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.a88wjcXISr/b1 --logfile b1/build.log octave-symbolic_2.7.1-2.dsc' SUDO_GID='112' SUDO_UID='107' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://85.184.249.68:3128' I: uname -a Linux profitbricks-build16-i386 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2+deb10u1 (2020-06-07) x86_64 GNU/Linux I: ls -l /bin total 5476 -rwxr-xr-x 1 root root 1302248 Apr 17 2019 bash -rwxr-xr-x 3 root root 38280 Jul 10 2019 bunzip2 -rwxr-xr-x 3 root root 38280 Jul 10 2019 bzcat lrwxrwxrwx 1 root root 6 Jul 10 2019 bzcmp -> bzdiff -rwxr-xr-x 1 root root 2227 Jul 10 2019 bzdiff lrwxrwxrwx 1 root root 6 Jul 10 2019 bzegrep -> bzgrep -rwxr-xr-x 1 root root 4877 Jun 24 2019 bzexe lrwxrwxrwx 1 root root 6 Jul 10 2019 bzfgrep -> bzgrep -rwxr-xr-x 1 root root 3641 Jul 10 2019 bzgrep -rwxr-xr-x 3 root root 38280 Jul 10 2019 bzip2 -rwxr-xr-x 1 root root 17768 Jul 10 2019 bzip2recover lrwxrwxrwx 1 root root 6 Jul 10 2019 bzless -> bzmore -rwxr-xr-x 1 root root 1297 Jul 10 2019 bzmore -rwxr-xr-x 1 root root 38692 Feb 28 2019 cat -rwxr-xr-x 1 root root 75588 Feb 28 2019 chgrp -rwxr-xr-x 1 root root 63268 Feb 28 2019 chmod -rwxr-xr-x 1 root root 75588 Feb 28 2019 chown -rwxr-xr-x 1 root root 153732 Feb 28 2019 cp -rwxr-xr-x 1 root root 132820 Jan 17 2019 dash -rwxr-xr-x 1 root root 120676 Feb 28 2019 date -rwxr-xr-x 1 root root 92040 Feb 28 2019 dd -rwxr-xr-x 1 root root 100620 Feb 28 2019 df -rwxr-xr-x 1 root root 149736 Feb 28 2019 dir -rwxr-xr-x 1 root root 79412 Jan 9 2019 dmesg lrwxrwxrwx 1 root root 8 Sep 26 2018 dnsdomainname -> hostname lrwxrwxrwx 1 root root 8 Sep 26 2018 domainname -> hostname -rwxr-xr-x 1 root root 34532 Feb 28 2019 echo -rwxr-xr-x 1 root root 28 Jan 7 2019 egrep -rwxr-xr-x 1 root root 34532 Feb 28 2019 false -rwxr-xr-x 1 root root 28 Jan 7 2019 fgrep -rwxr-xr-x 1 root root 67700 Jan 9 2019 findmnt -rwsr-xr-x 1 root root 30112 Apr 22 2020 fusermount -rwxr-xr-x 1 root root 206392 Jan 7 2019 grep -rwxr-xr-x 2 root root 2345 Jan 5 2019 gunzip -rwxr-xr-x 1 root root 6375 Jan 5 2019 gzexe -rwxr-xr-x 1 root root 100952 Jan 5 2019 gzip -rwxr-xr-x 1 root root 21916 Sep 26 2018 hostname -rwxr-xr-x 1 root root 79752 Feb 28 2019 ln -rwxr-xr-x 1 root root 55400 Jul 26 2018 login -rwxr-xr-x 1 root root 149736 Feb 28 2019 ls -rwxr-xr-x 1 root root 112032 Jan 9 2019 lsblk -rwxr-xr-x 1 root root 87972 Feb 28 2019 mkdir -rwxr-xr-x 1 root root 79748 Feb 28 2019 mknod -rwxr-xr-x 1 root root 46916 Feb 28 2019 mktemp -rwxr-xr-x 1 root root 42348 Jan 9 2019 more -rwsr-xr-x 1 root root 50592 Jan 9 2019 mount -rwxr-xr-x 1 root root 13724 Jan 9 2019 mountpoint -rwxr-xr-x 1 root root 157832 Feb 28 2019 mv lrwxrwxrwx 1 root root 8 Sep 26 2018 nisdomainname -> hostname lrwxrwxrwx 1 root root 14 Feb 14 2019 pidof -> /sbin/killall5 -rwxr-xr-x 1 root root 38660 Feb 28 2019 pwd lrwxrwxrwx 1 root root 4 Apr 17 2019 rbash -> bash -rwxr-xr-x 1 root root 46852 Feb 28 2019 readlink -rwxr-xr-x 1 root root 75588 Feb 28 2019 rm -rwxr-xr-x 1 root root 42756 Feb 28 2019 rmdir -rwxr-xr-x 1 root root 22276 Jan 21 2019 run-parts -rwxr-xr-x 1 root root 125036 Dec 22 2018 sed lrwxrwxrwx 1 root root 4 Jul 21 02:46 sh -> dash -rwxr-xr-x 1 root root 34532 Feb 28 2019 sleep -rwxr-xr-x 1 root root 79652 Feb 28 2019 stty -rwsr-xr-x 1 root root 71072 Jan 9 2019 su -rwxr-xr-x 1 root root 34564 Feb 28 2019 sync -rwxr-xr-x 1 root root 504024 Apr 23 2019 tar -rwxr-xr-x 1 root root 13860 Jan 21 2019 tempfile -rwxr-xr-x 1 root root 104292 Feb 28 2019 touch -rwxr-xr-x 1 root root 34532 Feb 28 2019 true -rwxr-xr-x 1 root root 17768 Apr 22 2020 ulockmgr_server -rwsr-xr-x 1 root root 30108 Jan 9 2019 umount -rwxr-xr-x 1 root root 34532 Feb 28 2019 uname -rwxr-xr-x 2 root root 2345 Jan 5 2019 uncompress -rwxr-xr-x 1 root root 149736 Feb 28 2019 vdir -rwxr-xr-x 1 root root 34208 Jan 9 2019 wdctl -rwxr-xr-x 1 root root 946 Jan 21 2019 which lrwxrwxrwx 1 root root 8 Sep 26 2018 ypdomainname -> hostname -rwxr-xr-x 1 root root 1983 Jan 5 2019 zcat -rwxr-xr-x 1 root root 1677 Jan 5 2019 zcmp -rwxr-xr-x 1 root root 5879 Jan 5 2019 zdiff -rwxr-xr-x 1 root root 29 Jan 5 2019 zegrep -rwxr-xr-x 1 root root 29 Jan 5 2019 zfgrep -rwxr-xr-x 1 root root 2080 Jan 5 2019 zforce -rwxr-xr-x 1 root root 7584 Jan 5 2019 zgrep -rwxr-xr-x 1 root root 2205 Jan 5 2019 zless -rwxr-xr-x 1 root root 1841 Jan 5 2019 zmore -rwxr-xr-x 1 root root 4552 Jan 5 2019 znew I: user script /srv/workspace/pbuilder/64655/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: i386 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 12), dh-octave (>= 0.5.0), python3-sympy (>= 1.0) dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19234 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 12); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-octave (>= 0.5.0); however: Package dh-octave is not installed. pbuilder-satisfydepends-dummy depends on python3-sympy (>= 1.0); however: Package python3-sympy is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: aglfn{a} autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdmainutils{a} ca-certificates{a} cme{a} debhelper{a} dh-autoreconf{a} dh-octave{a} dh-octave-autopkgtest{a} dh-strip-nondeterminism{a} dwz{a} file{a} fontconfig{a} fontconfig-config{a} fonts-dejavu-core{a} fonts-freefont-otf{a} gettext{a} gettext-base{a} gfortran{a} gfortran-8{a} gnuplot-data{a} gnuplot-nox{a} groff-base{a} hdf5-helpers{a} intltool-debian{a} libaec-dev{a} libaec0{a} libamd2{a} libapp-cmd-perl{a} libarchive-zip-perl{a} libarpack2{a} libasound2{a} libasound2-data{a} libavahi-client3{a} libavahi-common-data{a} libavahi-common3{a} libb-hooks-op-check-perl{a} libblas-dev{a} libblas3{a} libboolean-perl{a} libbsd0{a} libbtf1{a} libcairo2{a} libcamd2{a} libcapture-tiny-perl{a} libcarp-assert-more-perl{a} libcarp-assert-perl{a} libccolamd2{a} libcholmod3{a} libclass-load-perl{a} libclone-choose-perl{a} libcolamd2{a} libconfig-model-perl{a} libconvert-binhex-perl{a} libcroco3{a} libcups2{a} libcurl3-gnutls{a} libcxsparse3{a} libdata-optlist-perl{a} libdatrie1{a} libdbus-1-3{a} libdevel-callchecker-perl{a} libdouble-conversion1{a} libdrm-amdgpu1{a} libdrm-common{a} libdrm-dev{a} libdrm-intel1{a} libdrm-nouveau2{a} libdrm-radeon1{a} libdrm2{a} libdynaloader-functions-perl{a} libedit2{a} libegl-mesa0{a} libegl1{a} libelf1{a} libencode-locale-perl{a} liberror-perl{a} libevdev2{a} libexpat1{a} libexporter-lite-perl{a} libexporter-tiny-perl{a} libfftw3-bin{a} libfftw3-dev{a} libfftw3-double3{a} libfftw3-long3{a} libfftw3-quad3{a} libfftw3-single3{a} libfile-homedir-perl{a} libfile-listing-perl{a} libfile-stripnondeterminism-perl{a} libfile-which-perl{a} libflac8{a} libfltk-gl1.3{a} libfltk1.3{a} libfontconfig1{a} libfreetype6{a} libfribidi0{a} libgbm1{a} libgd3{a} libgetopt-long-descriptive-perl{a} libgfortran-8-dev{a} libgfortran5{a} libgl1{a} libgl1-mesa-dev{a} libgl1-mesa-dri{a} libgl2ps1.4{a} libglapi-mesa{a} libgles1{a} libgles2{a} libglib2.0-0{a} libglpk40{a} libglu1-mesa{a} libglvnd-core-dev{a} libglvnd-dev{a} libglvnd0{a} libglx-mesa0{a} libglx0{a} libgraphicsmagick++-q16-12{a} libgraphicsmagick-q16-3{a} libgraphite2-3{a} libgssapi-krb5-2{a} libgudev-1.0-0{a} libharfbuzz0b{a} libhash-merge-perl{a} libhdf5-103{a} libhdf5-cpp-103{a} libhdf5-dev{a} libhtml-parser-perl{a} libhtml-tagset-perl{a} libhtml-tree-perl{a} libhttp-cookies-perl{a} libhttp-date-perl{a} libhttp-message-perl{a} libhttp-negotiate-perl{a} libice6{a} libicu63{a} libinput-bin{a} libinput10{a} libio-html-perl{a} libio-socket-ssl-perl{a} libio-stringy-perl{a} libio-tiecombine-perl{a} libjack-jackd2-0{a} libjbig0{a} libjpeg-dev{a} libjpeg62-turbo{a} libjpeg62-turbo-dev{a} libjson-perl{a} libk5crypto3{a} libkeyutils1{a} libklu1{a} libkrb5-3{a} libkrb5support0{a} liblapack-dev{a} liblapack3{a} liblcms2-2{a} libldap-2.4-2{a} libldap-common{a} liblist-moreutils-perl{a} libllvm7{a} liblog-log4perl-perl{a} libltdl7{a} liblua5.3-0{a} liblwp-mediatypes-perl{a} liblwp-protocol-https-perl{a} libmagic-mgc{a} libmagic1{a} libmailtools-perl{a} libmetis5{a} libmime-tools-perl{a} libmodule-implementation-perl{a} libmodule-pluggable-perl{a} libmodule-runtime-perl{a} libmouse-perl{a} libmousex-nativetraits-perl{a} libmousex-strictconstructor-perl{a} libmpdec2{a} libmtdev1{a} libncurses-dev{a} libncurses6{a} libnet-http-perl{a} libnet-smtp-ssl-perl{a} libnet-ssleay-perl{a} libnghttp2-14{a} liboctave-dev{a} liboctave6{a} libogg0{a} libopengl0{a} libopus0{a} libpackage-stash-perl{a} libpango-1.0-0{a} libpangocairo-1.0-0{a} libpangoft2-1.0-0{a} libparams-classify-perl{a} libparams-util-perl{a} libparams-validate-perl{a} libparse-debcontrol-perl{a} libparse-recdescent-perl{a} libpath-tiny-perl{a} libpciaccess0{a} libpcre2-16-0{a} libpipeline1{a} libpixman-1-0{a} libpng16-16{a} libpod-pom-perl{a} libportaudio2{a} libpsl5{a} libpthread-stubs0-dev{a} libpython3-stdlib{a} libpython3.7-minimal{a} libpython3.7-stdlib{a} libqhull7{a} libqrupdate1{a} libqscintilla2-qt5-13{a} libqscintilla2-qt5-l10n{a} libqt5core5a{a} libqt5dbus5{a} libqt5gui5{a} libqt5help5{a} libqt5network5{a} libqt5opengl5{a} libqt5printsupport5{a} libqt5sql5{a} libqt5widgets5{a} libreadline-dev{a} libreadline7{a} libregexp-common-perl{a} librtmp1{a} libsamplerate0{a} libsasl2-2{a} libsasl2-modules-db{a} libsensors-config{a} libsensors5{a} libsigsegv2{a} libsm6{a} libsndfile1{a} libssh2-1{a} libssl1.1{a} libstring-rewriteprefix-perl{a} libsub-exporter-perl{a} libsub-install-perl{a} libsuitesparseconfig5{a} libsz2{a} libtext-unidecode-perl{a} libthai-data{a} libthai0{a} libtiff5{a} libtimedate-perl{a} libtool{a} libtry-tiny-perl{a} libuchardet0{a} libumfpack5{a} liburi-perl{a} libvorbis0a{a} libvorbisenc2{a} libwacom-common{a} libwacom2{a} libwayland-client0{a} libwayland-server0{a} libwebp6{a} libwebpmux3{a} libwmf0.2-7{a} libwww-perl{a} libwww-robotrules-perl{a} libx11-6{a} libx11-data{a} libx11-dev{a} libx11-xcb-dev{a} libx11-xcb1{a} libxau-dev{a} libxau6{a} libxcb-dri2-0{a} libxcb-dri2-0-dev{a} libxcb-dri3-0{a} libxcb-dri3-dev{a} libxcb-glx0{a} libxcb-glx0-dev{a} libxcb-icccm4{a} libxcb-image0{a} libxcb-keysyms1{a} libxcb-present-dev{a} libxcb-present0{a} libxcb-randr0{a} libxcb-randr0-dev{a} libxcb-render-util0{a} libxcb-render0{a} libxcb-render0-dev{a} libxcb-shape0{a} libxcb-shape0-dev{a} libxcb-shm0{a} libxcb-sync-dev{a} libxcb-sync1{a} libxcb-util0{a} libxcb-xfixes0{a} libxcb-xfixes0-dev{a} libxcb-xinerama0{a} libxcb-xkb1{a} libxcb1{a} libxcb1-dev{a} libxcursor1{a} libxdamage-dev{a} libxdamage1{a} libxdmcp-dev{a} libxdmcp6{a} libxext-dev{a} libxext6{a} libxfixes-dev{a} libxfixes3{a} libxft2{a} libxi6{a} libxinerama1{a} libxkbcommon-x11-0{a} libxkbcommon0{a} libxml-libxml-perl{a} libxml-namespacesupport-perl{a} libxml-sax-base-perl{a} libxml-sax-perl{a} libxml2{a} libxpm4{a} libxrender1{a} libxshmfence-dev{a} libxshmfence1{a} libxxf86vm-dev{a} libxxf86vm1{a} libyaml-perl{a} lsb-base{a} m4{a} man-db{a} mesa-common-dev{a} mime-support{a} netbase{a} octave{a} octave-common{a} openssl{a} perl-openssl-defaults{a} po-debconf{a} python3{a} python3-minimal{a} python3-mpmath{a} python3-sympy{a} python3.7{a} python3.7-minimal{a} readline-common{a} sensible-utils{a} tex-common{a} texinfo{a} ucf{a} x11-common{a} x11proto-core-dev{a} x11proto-damage-dev{a} x11proto-dev{a} x11proto-fixes-dev{a} x11proto-xext-dev{a} x11proto-xf86vidmode-dev{a} xkb-data{a} xorg-sgml-doctools{a} xtrans-dev{a} zlib1g-dev{a} The following packages are RECOMMENDED but will NOT be installed: bash-completion curl dbus default-jre-headless epstool fonts-liberation ghostscript groff gsfonts ipython3 krb5-locales libarchive-cpio-perl libatlas3-base libauthen-sasl-perl libclass-method-modifiers-perl libclone-perl libclone-pp-perl libconfig-model-approx-perl libconfig-model-dpkg-perl libconfig-model-lcdproc-perl libconfig-model-openssh-perl libconfig-model-systemd-perl libconfig-model-tkui-perl libdata-dump-perl libfuse-perl libglib2.0-data libgpm2 libhtml-form-perl libhtml-format-perl libhttp-daemon-perl libipc-shareable-perl libjson-xs-perl liblog-dispatch-perl libltdl-dev libmail-sendmail-perl libopenblas-base libpackage-stash-xs-perl libqt5sql5-ibase libqt5sql5-mysql libqt5sql5-odbc libqt5sql5-psql libqt5sql5-sqlite libqt5sql5-tds libqt5svg5 libsasl2-modules libtext-levenshtein-damerau-perl libtie-ixhash-perl libunicode-utf8-perl libwacom-bin libxml-sax-expat-perl libyaml-libyaml-perl libyaml-syck-perl lynx octave-doc pstoedit publicsuffix python3-numpy python3-pil qt5-gtk-platformtheme qttranslations5-l10n shared-mime-info wget xdg-user-dirs 0 packages upgraded, 361 newly installed, 0 to remove and 0 not upgraded. Need to get 143 MB of archives. After unpacking 680 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian buster/main i386 libbsd0 i386 0.9.1-2 [104 kB] Get: 2 http://deb.debian.org/debian buster/main i386 bsdmainutils i386 11.1.2+b1 [193 kB] Get: 3 http://deb.debian.org/debian buster/main i386 libuchardet0 i386 0.0.6-3 [65.2 kB] Get: 4 http://deb.debian.org/debian buster/main i386 groff-base i386 1.22.4-3 [935 kB] Get: 5 http://deb.debian.org/debian buster/main i386 libpipeline1 i386 1.5.1-2 [33.3 kB] Get: 6 http://deb.debian.org/debian buster/main i386 man-db i386 2.8.5-2 [1284 kB] Get: 7 http://deb.debian.org/debian buster/main i386 libssl1.1 i386 1.1.1d-0+deb10u3 [1537 kB] Get: 8 http://deb.debian.org/debian buster/main i386 libpython3.7-minimal i386 3.7.3-2+deb10u1 [590 kB] Get: 9 http://deb.debian.org/debian buster/main i386 libexpat1 i386 2.2.6-2+deb10u1 [104 kB] Get: 10 http://deb.debian.org/debian buster/main i386 python3.7-minimal i386 3.7.3-2+deb10u1 [1745 kB] Get: 11 http://deb.debian.org/debian buster/main i386 python3-minimal i386 3.7.3-1 [36.6 kB] Get: 12 http://deb.debian.org/debian buster/main i386 mime-support all 3.62 [37.2 kB] Get: 13 http://deb.debian.org/debian buster/main i386 libmpdec2 i386 2.4.2-2 [83.2 kB] Get: 14 http://deb.debian.org/debian buster/main i386 readline-common all 7.0-5 [70.6 kB] Get: 15 http://deb.debian.org/debian buster/main i386 libreadline7 i386 7.0-5 [156 kB] Get: 16 http://deb.debian.org/debian buster/main i386 libpython3.7-stdlib i386 3.7.3-2+deb10u1 [1750 kB] Get: 17 http://deb.debian.org/debian buster/main i386 python3.7 i386 3.7.3-2+deb10u1 [330 kB] Get: 18 http://deb.debian.org/debian buster/main i386 libpython3-stdlib i386 3.7.3-1 [20.0 kB] Get: 19 http://deb.debian.org/debian buster/main i386 python3 i386 3.7.3-1 [61.5 kB] Get: 20 http://deb.debian.org/debian buster/main i386 sensible-utils all 0.0.12 [15.8 kB] Get: 21 http://deb.debian.org/debian buster/main i386 ucf all 3.0038+nmu1 [69.0 kB] Get: 22 http://deb.debian.org/debian buster/main i386 tex-common all 6.11 [53.1 kB] Get: 23 http://deb.debian.org/debian buster/main i386 netbase all 5.6 [19.4 kB] Get: 24 http://deb.debian.org/debian buster/main i386 libmagic-mgc i386 1:5.35-4+deb10u1 [242 kB] Get: 25 http://deb.debian.org/debian buster/main i386 libmagic1 i386 1:5.35-4+deb10u1 [124 kB] Get: 26 http://deb.debian.org/debian buster/main i386 file i386 1:5.35-4+deb10u1 [66.3 kB] Get: 27 http://deb.debian.org/debian buster/main i386 gettext-base i386 0.19.8.1-9 [124 kB] Get: 28 http://deb.debian.org/debian buster/main i386 aglfn all 1.7-3 [29.2 kB] Get: 29 http://deb.debian.org/debian buster/main i386 libsigsegv2 i386 2.12-2 [33.2 kB] Get: 30 http://deb.debian.org/debian buster/main i386 m4 i386 1.4.18-2 [205 kB] Get: 31 http://deb.debian.org/debian buster/main i386 autoconf all 2.69-11 [341 kB] Get: 32 http://deb.debian.org/debian buster/main i386 autotools-dev all 20180224.1 [77.0 kB] Get: 33 http://deb.debian.org/debian buster/main i386 automake all 1:1.16.1-4 [771 kB] Get: 34 http://deb.debian.org/debian buster/main i386 autopoint all 0.19.8.1-9 [434 kB] Get: 35 http://deb.debian.org/debian buster/main i386 openssl i386 1.1.1d-0+deb10u3 [853 kB] Get: 36 http://deb.debian.org/debian buster/main i386 ca-certificates all 20190110 [157 kB] Get: 37 http://deb.debian.org/debian buster/main i386 libcapture-tiny-perl all 0.48-1 [26.0 kB] Get: 38 http://deb.debian.org/debian buster/main i386 libparams-util-perl i386 1.07-3+b4 [23.7 kB] Get: 39 http://deb.debian.org/debian buster/main i386 libsub-install-perl all 0.928-1 [11.4 kB] Get: 40 http://deb.debian.org/debian buster/main i386 libdata-optlist-perl all 0.110-1 [10.6 kB] Get: 41 http://deb.debian.org/debian buster/main i386 libb-hooks-op-check-perl i386 0.22-1+b1 [11.5 kB] Get: 42 http://deb.debian.org/debian buster/main i386 libdynaloader-functions-perl all 0.003-1 [12.6 kB] Get: 43 http://deb.debian.org/debian buster/main i386 libdevel-callchecker-perl i386 0.008-1 [15.7 kB] Get: 44 http://deb.debian.org/debian buster/main i386 libparams-classify-perl i386 0.015-1+b1 [26.1 kB] Get: 45 http://deb.debian.org/debian buster/main i386 libmodule-runtime-perl all 0.016-1 [19.4 kB] Get: 46 http://deb.debian.org/debian buster/main i386 libtry-tiny-perl all 0.30-1 [23.3 kB] Get: 47 http://deb.debian.org/debian buster/main i386 libmodule-implementation-perl all 0.09-1 [12.9 kB] Get: 48 http://deb.debian.org/debian buster/main i386 libpackage-stash-perl all 0.38-1 [21.7 kB] Get: 49 http://deb.debian.org/debian buster/main i386 libclass-load-perl all 0.25-1 [16.1 kB] Get: 50 http://deb.debian.org/debian buster/main i386 libio-stringy-perl all 2.111-3 [56.5 kB] Get: 51 http://deb.debian.org/debian buster/main i386 libparams-validate-perl i386 1.29-1+b1 [71.4 kB] Get: 52 http://deb.debian.org/debian buster/main i386 libsub-exporter-perl all 0.987-1 [47.2 kB] Get: 53 http://deb.debian.org/debian buster/main i386 libgetopt-long-descriptive-perl all 0.103-2 [27.8 kB] Get: 54 http://deb.debian.org/debian buster/main i386 libio-tiecombine-perl all 1.005-1 [13.0 kB] Get: 55 http://deb.debian.org/debian buster/main i386 libmodule-pluggable-perl all 5.2-1 [25.7 kB] Get: 56 http://deb.debian.org/debian buster/main i386 libstring-rewriteprefix-perl all 0.007-2 [6448 B] Get: 57 http://deb.debian.org/debian buster/main i386 libapp-cmd-perl all 0.331-1 [63.9 kB] Get: 58 http://deb.debian.org/debian buster/main i386 libboolean-perl all 0.46-1 [11.1 kB] Get: 59 http://deb.debian.org/debian buster/main i386 libcarp-assert-perl all 0.21-1 [18.2 kB] Get: 60 http://deb.debian.org/debian buster/main i386 libcarp-assert-more-perl all 1.16-1 [15.6 kB] Get: 61 http://deb.debian.org/debian buster/main i386 libfile-which-perl all 1.23-1 [16.6 kB] Get: 62 http://deb.debian.org/debian buster/main i386 libfile-homedir-perl all 1.004-1 [42.7 kB] Get: 63 http://deb.debian.org/debian buster/main i386 libclone-choose-perl all 0.010-1 [8424 B] Get: 64 http://deb.debian.org/debian buster/main i386 libhash-merge-perl all 0.300-1 [14.3 kB] Get: 65 http://deb.debian.org/debian buster/main i386 libjson-perl all 4.02000-1 [88.8 kB] Get: 66 http://deb.debian.org/debian buster/main i386 libexporter-tiny-perl all 1.002001-1 [36.9 kB] Get: 67 http://deb.debian.org/debian buster/main i386 liblist-moreutils-perl i386 0.416-1+b4 [64.6 kB] Get: 68 http://deb.debian.org/debian buster/main i386 liblog-log4perl-perl all 1.49-1 [377 kB] Get: 69 http://deb.debian.org/debian buster/main i386 libmouse-perl i386 2.5.6-1+b1 [175 kB] Get: 70 http://deb.debian.org/debian buster/main i386 libmousex-nativetraits-perl all 1.09-2 [67.4 kB] Get: 71 http://deb.debian.org/debian buster/main i386 libmousex-strictconstructor-perl all 0.02-2 [4996 B] Get: 72 http://deb.debian.org/debian buster/main i386 libparse-recdescent-perl all 1.967015+dfsg-2 [159 kB] Get: 73 http://deb.debian.org/debian buster/main i386 libpath-tiny-perl all 0.108-1 [53.3 kB] Get: 74 http://deb.debian.org/debian buster/main i386 libpod-pom-perl all 2.01-3 [67.0 kB] Get: 75 http://deb.debian.org/debian buster/main i386 libregexp-common-perl all 2017060201-1 [177 kB] Get: 76 http://deb.debian.org/debian buster/main i386 libconfig-model-perl all 2.133-1 [456 kB] Get: 77 http://deb.debian.org/debian buster/main i386 libyaml-perl all 1.27-1 [66.8 kB] Get: 78 http://deb.debian.org/debian buster/main i386 cme all 1.029-1 [81.0 kB] Get: 79 http://deb.debian.org/debian buster/main i386 libtool all 2.4.6-9 [547 kB] Get: 80 http://deb.debian.org/debian buster/main i386 dh-autoreconf all 19 [16.9 kB] Get: 81 http://deb.debian.org/debian buster/main i386 libarchive-zip-perl all 1.64-1 [96.8 kB] Get: 82 http://deb.debian.org/debian buster/main i386 libfile-stripnondeterminism-perl all 1.1.2-1 [19.8 kB] Get: 83 http://deb.debian.org/debian buster/main i386 dh-strip-nondeterminism all 1.1.2-1 [13.0 kB] Get: 84 http://deb.debian.org/debian buster/main i386 libelf1 i386 0.176-1.1 [166 kB] Get: 85 http://deb.debian.org/debian buster/main i386 dwz i386 0.12-3 [81.4 kB] Get: 86 http://deb.debian.org/debian buster/main i386 libglib2.0-0 i386 2.58.3-2+deb10u2 [1334 kB] Get: 87 http://deb.debian.org/debian buster/main i386 libicu63 i386 63.1-6+deb10u1 [8451 kB] Get: 88 http://deb.debian.org/debian buster/main i386 libxml2 i386 2.9.4+dfsg1-7+b3 [721 kB] Get: 89 http://deb.debian.org/debian buster/main i386 libcroco3 i386 0.6.12-3 [151 kB] Get: 90 http://deb.debian.org/debian buster/main i386 libncurses6 i386 6.1+20181013-2+deb10u2 [109 kB] Get: 91 http://deb.debian.org/debian buster/main i386 gettext i386 0.19.8.1-9 [1314 kB] Get: 92 http://deb.debian.org/debian buster/main i386 intltool-debian all 0.35.0+20060710.5 [26.8 kB] Get: 93 http://deb.debian.org/debian buster/main i386 po-debconf all 1.0.21 [248 kB] Get: 94 http://deb.debian.org/debian buster/main i386 debhelper all 12.1.1 [1016 kB] Get: 95 http://deb.debian.org/debian buster/main i386 libsuitesparseconfig5 i386 1:5.4.0+dfsg-1 [21.0 kB] Get: 96 http://deb.debian.org/debian buster/main i386 libamd2 i386 1:5.4.0+dfsg-1 [28.2 kB] Get: 97 http://deb.debian.org/debian buster/main i386 libgfortran5 i386 8.3.0-6 [549 kB] Get: 98 http://deb.debian.org/debian buster/main i386 libblas3 i386 3.8.0-2 [142 kB] Get: 99 http://deb.debian.org/debian buster/main i386 liblapack3 i386 3.8.0-2 [1974 kB] Get: 100 http://deb.debian.org/debian buster/main i386 libarpack2 i386 3.7.0-2 [103 kB] Get: 101 http://deb.debian.org/debian buster/main i386 libcamd2 i386 1:5.4.0+dfsg-1 [28.9 kB] Get: 102 http://deb.debian.org/debian buster/main i386 libccolamd2 i386 1:5.4.0+dfsg-1 [30.1 kB] Get: 103 http://deb.debian.org/debian buster/main i386 libcolamd2 i386 1:5.4.0+dfsg-1 [26.0 kB] Get: 104 http://deb.debian.org/debian buster/main i386 libmetis5 i386 5.1.0.dfsg-5+b2 [173 kB] Get: 105 http://deb.debian.org/debian buster/main i386 libcholmod3 i386 1:5.4.0+dfsg-1 [251 kB] Get: 106 http://deb.debian.org/debian buster/main i386 libkeyutils1 i386 1.6-6 [15.4 kB] Get: 107 http://deb.debian.org/debian buster/main i386 libkrb5support0 i386 1.17-3 [68.6 kB] Get: 108 http://deb.debian.org/debian buster/main i386 libk5crypto3 i386 1.17-3 [126 kB] Get: 109 http://deb.debian.org/debian buster/main i386 libkrb5-3 i386 1.17-3 [396 kB] Get: 110 http://deb.debian.org/debian buster/main i386 libgssapi-krb5-2 i386 1.17-3 [168 kB] Get: 111 http://deb.debian.org/debian buster/main i386 libsasl2-modules-db i386 2.1.27+dfsg-1+deb10u1 [70.1 kB] Get: 112 http://deb.debian.org/debian buster/main i386 libsasl2-2 i386 2.1.27+dfsg-1+deb10u1 [110 kB] Get: 113 http://deb.debian.org/debian buster/main i386 libldap-common all 2.4.47+dfsg-3+deb10u2 [89.7 kB] Get: 114 http://deb.debian.org/debian buster/main i386 libldap-2.4-2 i386 2.4.47+dfsg-3+deb10u2 [236 kB] Get: 115 http://deb.debian.org/debian buster/main i386 libnghttp2-14 i386 1.36.0-2+deb10u1 [90.3 kB] Get: 116 http://deb.debian.org/debian buster/main i386 libpsl5 i386 0.20.2-2 [54.4 kB] Get: 117 http://deb.debian.org/debian buster/main i386 librtmp1 i386 2.4+20151223.gitfa8646d.1-2 [64.2 kB] Get: 118 http://deb.debian.org/debian buster/main i386 libssh2-1 i386 1.8.0-2.1 [147 kB] Get: 119 http://deb.debian.org/debian buster/main i386 libcurl3-gnutls i386 7.64.0-4+deb10u1 [355 kB] Get: 120 http://deb.debian.org/debian buster/main i386 libcxsparse3 i386 1:5.4.0+dfsg-1 [61.6 kB] Get: 121 http://deb.debian.org/debian buster/main i386 libfftw3-double3 i386 3.3.8-2 [640 kB] Get: 122 http://deb.debian.org/debian buster/main i386 libfftw3-single3 i386 3.3.8-2 [652 kB] Get: 123 http://deb.debian.org/debian buster/main i386 libpng16-16 i386 1.6.36-6 [301 kB] Get: 124 http://deb.debian.org/debian buster/main i386 libfreetype6 i386 2.9.1-3+deb10u1 [395 kB] Get: 125 http://deb.debian.org/debian buster/main i386 fonts-dejavu-core all 2.37-1 [1068 kB] Get: 126 http://deb.debian.org/debian buster/main i386 fontconfig-config all 2.13.1-2 [280 kB] Get: 127 http://deb.debian.org/debian buster/main i386 libfontconfig1 i386 2.13.1-2 [357 kB] Get: 128 http://deb.debian.org/debian buster/main i386 libglvnd0 i386 1.1.0-1 [41.9 kB] Get: 129 http://deb.debian.org/debian buster/main i386 libxau6 i386 1:1.0.8-1+b2 [20.3 kB] Get: 130 http://deb.debian.org/debian buster/main i386 libxdmcp6 i386 1:1.1.2-3 [26.7 kB] Get: 131 http://deb.debian.org/debian buster/main i386 libxcb1 i386 1.13.1-2 [141 kB] Get: 132 http://deb.debian.org/debian buster/main i386 libx11-data all 2:1.6.7-1 [298 kB] Get: 133 http://deb.debian.org/debian buster/main i386 libx11-6 i386 2:1.6.7-1 [778 kB] Get: 134 http://deb.debian.org/debian buster/main i386 libxext6 i386 2:1.3.3-1+b2 [55.2 kB] Get: 135 http://deb.debian.org/debian buster/main i386 libdrm-common all 2.4.97-1 [13.8 kB] Get: 136 http://deb.debian.org/debian buster/main i386 libdrm2 i386 2.4.97-1 [42.5 kB] Get: 137 http://deb.debian.org/debian buster/main i386 libglapi-mesa i386 18.3.6-2+deb10u1 [66.9 kB] Get: 138 http://deb.debian.org/debian buster/main i386 libx11-xcb1 i386 2:1.6.7-1 [190 kB] Get: 139 http://deb.debian.org/debian buster/main i386 libxcb-dri2-0 i386 1.13.1-2 [101 kB] Get: 140 http://deb.debian.org/debian buster/main i386 libxcb-dri3-0 i386 1.13.1-2 [101 kB] Get: 141 http://deb.debian.org/debian buster/main i386 libxcb-glx0 i386 1.13.1-2 [117 kB] Get: 142 http://deb.debian.org/debian buster/main i386 libxcb-present0 i386 1.13.1-2 [99.4 kB] Get: 143 http://deb.debian.org/debian buster/main i386 libxcb-sync1 i386 1.13.1-2 [103 kB] Get: 144 http://deb.debian.org/debian buster/main i386 libxfixes3 i386 1:5.0.3-1 [22.4 kB] Get: 145 http://deb.debian.org/debian buster/main i386 libxdamage1 i386 1:1.1.4-3+b3 [15.0 kB] Get: 146 http://deb.debian.org/debian buster/main i386 libxshmfence1 i386 1.3-1 [8976 B] Get: 147 http://deb.debian.org/debian buster/main i386 libxxf86vm1 i386 1:1.1.4-1+b2 [21.7 kB] Get: 148 http://deb.debian.org/debian buster/main i386 libdrm-amdgpu1 i386 2.4.97-1 [30.1 kB] Get: 149 http://deb.debian.org/debian buster/main i386 libpciaccess0 i386 0.14-1 [55.7 kB] Get: 150 http://deb.debian.org/debian buster/main i386 libdrm-intel1 i386 2.4.97-1 [72.9 kB] Get: 151 http://deb.debian.org/debian buster/main i386 libdrm-nouveau2 i386 2.4.97-1 [28.0 kB] Get: 152 http://deb.debian.org/debian buster/main i386 libdrm-radeon1 i386 2.4.97-1 [32.5 kB] Get: 153 http://deb.debian.org/debian buster/main i386 libedit2 i386 3.1-20181209-1 [98.2 kB] Get: 154 http://deb.debian.org/debian buster/main i386 libllvm7 i386 1:7.0.1-8 [13.0 MB] Get: 155 http://deb.debian.org/debian buster/main i386 libsensors-config all 1:3.5.0-3 [31.6 kB] Get: 156 http://deb.debian.org/debian buster/main i386 libsensors5 i386 1:3.5.0-3 [53.5 kB] Get: 157 http://deb.debian.org/debian buster/main i386 libgl1-mesa-dri i386 18.3.6-2+deb10u1 [7102 kB] Get: 158 http://deb.debian.org/debian buster/main i386 libglx-mesa0 i386 18.3.6-2+deb10u1 [187 kB] Get: 159 http://deb.debian.org/debian buster/main i386 libglx0 i386 1.1.0-1 [31.3 kB] Get: 160 http://deb.debian.org/debian buster/main i386 libgl1 i386 1.1.0-1 [83.1 kB] Get: 161 http://deb.debian.org/debian buster/main i386 libgl2ps1.4 i386 1.4.0+dfsg1-2 [39.3 kB] Get: 162 http://deb.debian.org/debian buster/main i386 libglu1-mesa i386 9.0.0-2.1+b3 [179 kB] Get: 163 http://deb.debian.org/debian buster/main i386 libjbig0 i386 2.1-3.1+b2 [31.5 kB] Get: 164 http://deb.debian.org/debian buster/main i386 libjpeg62-turbo i386 1:1.5.2-2+b1 [142 kB] Get: 165 http://deb.debian.org/debian buster/main i386 libwebp6 i386 0.6.1-2 [275 kB] Get: 166 http://deb.debian.org/debian buster/main i386 libtiff5 i386 4.1.0+git191117-2~deb10u1 [284 kB] Get: 167 http://deb.debian.org/debian buster/main i386 lsb-base all 10.2019051400 [28.4 kB] Get: 168 http://deb.debian.org/debian buster/main i386 x11-common all 1:7.7+19 [251 kB] Get: 169 http://deb.debian.org/debian buster/main i386 libice6 i386 2:1.0.9-2 [61.1 kB] Get: 170 http://deb.debian.org/debian buster/main i386 liblcms2-2 i386 2.9-3 [156 kB] Get: 171 http://deb.debian.org/debian buster/main i386 libsm6 i386 2:1.2.3-1 [35.7 kB] Get: 172 http://deb.debian.org/debian buster/main i386 libwebpmux3 i386 0.6.1-2 [99.1 kB] Get: 173 http://deb.debian.org/debian buster/main i386 libwmf0.2-7 i386 0.2.8.4-14 [172 kB] Get: 174 http://deb.debian.org/debian buster/main i386 libgraphicsmagick-q16-3 i386 1.4~hg15978-1+deb10u1 [1213 kB] Get: 175 http://deb.debian.org/debian buster/main i386 libgraphicsmagick++-q16-12 i386 1.4~hg15978-1+deb10u1 [141 kB] Get: 176 http://deb.debian.org/debian buster/main i386 libaec0 i386 1.0.2-1 [22.6 kB] Get: 177 http://deb.debian.org/debian buster/main i386 libsz2 i386 1.0.2-1 [6720 B] Get: 178 http://deb.debian.org/debian buster/main i386 libhdf5-103 i386 1.10.4+repack-10 [1310 kB] Get: 179 http://deb.debian.org/debian buster/main i386 libqrupdate1 i386 1.1.2-3 [38.7 kB] Get: 180 http://deb.debian.org/debian buster/main i386 libumfpack5 i386 1:5.4.0+dfsg-1 [149 kB] Get: 181 http://deb.debian.org/debian buster/main i386 liboctave6 i386 4.4.1-5 [7864 kB] Get: 182 http://deb.debian.org/debian buster/main i386 libasound2-data all 1.1.8-1 [59.6 kB] Get: 183 http://deb.debian.org/debian buster/main i386 libasound2 i386 1.1.8-1 [382 kB] Get: 184 http://deb.debian.org/debian buster/main i386 libxrender1 i386 1:0.9.10-1 [34.1 kB] Get: 185 http://deb.debian.org/debian buster/main i386 libxcursor1 i386 1:1.1.15-2 [38.2 kB] Get: 186 http://deb.debian.org/debian buster/main i386 libxft2 i386 2.3.2-2 [58.2 kB] Get: 187 http://deb.debian.org/debian buster/main i386 libxinerama1 i386 2:1.1.4-2 [17.9 kB] Get: 188 http://deb.debian.org/debian buster/main i386 libfltk1.3 i386 1.3.4-9 [587 kB] Get: 189 http://deb.debian.org/debian buster/main i386 libfltk-gl1.3 i386 1.3.4-9 [73.5 kB] Get: 190 http://deb.debian.org/debian buster/main i386 libltdl7 i386 2.4.6-9 [392 kB] Get: 191 http://deb.debian.org/debian buster/main i386 libglpk40 i386 4.65-2 [438 kB] Get: 192 http://deb.debian.org/debian buster/main i386 libbtf1 i386 1:5.4.0+dfsg-1 [21.3 kB] Get: 193 http://deb.debian.org/debian buster/main i386 libklu1 i386 1:5.4.0+dfsg-1 [55.8 kB] Get: 194 http://deb.debian.org/debian buster/main i386 libopus0 i386 1.3-1 [191 kB] Get: 195 http://deb.debian.org/debian buster/main i386 libsamplerate0 i386 0.1.9-2 [949 kB] Get: 196 http://deb.debian.org/debian buster/main i386 libjack-jackd2-0 i386 1.9.12~dfsg-2 [328 kB] Get: 197 http://deb.debian.org/debian buster/main i386 libportaudio2 i386 19.6.0-1 [69.0 kB] Get: 198 http://deb.debian.org/debian buster/main i386 libqhull7 i386 2015.2-4 [206 kB] Get: 199 http://deb.debian.org/debian buster/main i386 libqscintilla2-qt5-l10n all 2.10.4+dfsg-2.1 [53.7 kB] Get: 200 http://deb.debian.org/debian buster/main i386 libdouble-conversion1 i386 3.1.0-3 [43.3 kB] Get: 201 http://deb.debian.org/debian buster/main i386 libpcre2-16-0 i386 10.32-5 [203 kB] Get: 202 http://deb.debian.org/debian buster/main i386 libqt5core5a i386 5.11.3+dfsg1-1+deb10u3 [2510 kB] Get: 203 http://deb.debian.org/debian buster/main i386 fontconfig i386 2.13.1-2 [405 kB] Get: 204 http://deb.debian.org/debian buster/main i386 libwayland-server0 i386 1.16.0-1 [33.7 kB] Get: 205 http://deb.debian.org/debian buster/main i386 libgbm1 i386 18.3.6-2+deb10u1 [69.5 kB] Get: 206 http://deb.debian.org/debian buster/main i386 libwayland-client0 i386 1.16.0-1 [27.0 kB] Get: 207 http://deb.debian.org/debian buster/main i386 libxcb-xfixes0 i386 1.13.1-2 [103 kB] Get: 208 http://deb.debian.org/debian buster/main i386 libegl-mesa0 i386 18.3.6-2+deb10u1 [143 kB] Get: 209 http://deb.debian.org/debian buster/main i386 libegl1 i386 1.1.0-1 [35.3 kB] Get: 210 http://deb.debian.org/debian buster/main i386 libgraphite2-3 i386 1.3.13-7 [84.0 kB] Get: 211 http://deb.debian.org/debian buster/main i386 libharfbuzz0b i386 2.3.1-1 [1209 kB] Get: 212 http://deb.debian.org/debian buster/main i386 libevdev2 i386 1.6.0+dfsg-1 [29.8 kB] Get: 213 http://deb.debian.org/debian buster/main i386 libmtdev1 i386 1.1.5-1+b1 [22.9 kB] Get: 214 http://deb.debian.org/debian buster/main i386 libgudev-1.0-0 i386 232-2 [14.2 kB] Get: 215 http://deb.debian.org/debian buster/main i386 libwacom-common all 0.32-1 [39.1 kB] Get: 216 http://deb.debian.org/debian buster/main i386 libwacom2 i386 0.32-1 [20.0 kB] Get: 217 http://deb.debian.org/debian buster/main i386 libinput-bin i386 1.12.6-2 [16.9 kB] Get: 218 http://deb.debian.org/debian buster/main i386 libinput10 i386 1.12.6-2 [118 kB] Get: 219 http://deb.debian.org/debian buster/main i386 libdbus-1-3 i386 1.12.16-1 [226 kB] Get: 220 http://deb.debian.org/debian buster/main i386 libqt5dbus5 i386 5.11.3+dfsg1-1+deb10u3 [258 kB] Get: 221 http://deb.debian.org/debian buster/main i386 libqt5network5 i386 5.11.3+dfsg1-1+deb10u3 [763 kB] Get: 222 http://deb.debian.org/debian buster/main i386 libxcb-icccm4 i386 0.4.1-1.1 [28.1 kB] Get: 223 http://deb.debian.org/debian buster/main i386 libxcb-shm0 i386 1.13.1-2 [99.4 kB] Get: 224 http://deb.debian.org/debian buster/main i386 libxcb-util0 i386 0.3.8-3+b2 [23.3 kB] Get: 225 http://deb.debian.org/debian buster/main i386 libxcb-image0 i386 0.4.0-1+b2 [24.8 kB] Get: 226 http://deb.debian.org/debian buster/main i386 libxcb-keysyms1 i386 0.4.0-1+b2 [16.7 kB] Get: 227 http://deb.debian.org/debian buster/main i386 libxcb-randr0 i386 1.13.1-2 [112 kB] Get: 228 http://deb.debian.org/debian buster/main i386 libxcb-render0 i386 1.13.1-2 [110 kB] Get: 229 http://deb.debian.org/debian buster/main i386 libxcb-render-util0 i386 0.3.9-1+b1 [18.7 kB] Get: 230 http://deb.debian.org/debian buster/main i386 libxcb-shape0 i386 1.13.1-2 [99.7 kB] Get: 231 http://deb.debian.org/debian buster/main i386 libxcb-xinerama0 i386 1.13.1-2 [99.0 kB] Get: 232 http://deb.debian.org/debian buster/main i386 libxcb-xkb1 i386 1.13.1-2 [126 kB] Get: 233 http://deb.debian.org/debian buster/main i386 libxi6 i386 2:1.7.9-1 [85.2 kB] Get: 234 http://deb.debian.org/debian buster/main i386 xkb-data all 2.26-2 [681 kB] Get: 235 http://deb.debian.org/debian buster/main i386 libxkbcommon0 i386 0.8.2-1 [128 kB] Get: 236 http://deb.debian.org/debian buster/main i386 libxkbcommon-x11-0 i386 0.8.2-1 [40.5 kB] Get: 237 http://deb.debian.org/debian buster/main i386 libqt5gui5 i386 5.11.3+dfsg1-1+deb10u3 [4844 kB] Get: 238 http://deb.debian.org/debian buster/main i386 libavahi-common-data i386 0.7-4+b1 [122 kB] Get: 239 http://deb.debian.org/debian buster/main i386 libavahi-common3 i386 0.7-4+b1 [56.2 kB] Get: 240 http://deb.debian.org/debian buster/main i386 libavahi-client3 i386 0.7-4+b1 [60.1 kB] Get: 241 http://deb.debian.org/debian buster/main i386 libcups2 i386 2.2.10-6+deb10u3 [338 kB] Get: 242 http://deb.debian.org/debian buster/main i386 libqt5widgets5 i386 5.11.3+dfsg1-1+deb10u3 [2537 kB] Get: 243 http://deb.debian.org/debian buster/main i386 libqt5printsupport5 i386 5.11.3+dfsg1-1+deb10u3 [234 kB] Get: 244 http://deb.debian.org/debian buster/main i386 libqscintilla2-qt5-13 i386 2.10.4+dfsg-2.1 [1101 kB] Get: 245 http://deb.debian.org/debian buster/main i386 libqt5sql5 i386 5.11.3+dfsg1-1+deb10u3 [157 kB] Get: 246 http://deb.debian.org/debian buster/main i386 libqt5help5 i386 5.11.3-4 [170 kB] Get: 247 http://deb.debian.org/debian buster/main i386 libqt5opengl5 i386 5.11.3+dfsg1-1+deb10u3 [173 kB] Get: 248 http://deb.debian.org/debian buster/main i386 libogg0 i386 1.3.2-1+b1 [19.4 kB] Get: 249 http://deb.debian.org/debian buster/main i386 libflac8 i386 1.3.2-3 [163 kB] Get: 250 http://deb.debian.org/debian buster/main i386 libvorbis0a i386 1.3.6-2 [93.3 kB] Get: 251 http://deb.debian.org/debian buster/main i386 libvorbisenc2 i386 1.3.6-2 [74.0 kB] Get: 252 http://deb.debian.org/debian buster/main i386 libsndfile1 i386 1.0.28-6 [274 kB] Get: 253 http://deb.debian.org/debian buster/main i386 libtext-unidecode-perl all 1.30-1 [103 kB] Get: 254 http://deb.debian.org/debian buster/main i386 libxml-namespacesupport-perl all 1.12-1 [14.8 kB] Get: 255 http://deb.debian.org/debian buster/main i386 libxml-sax-base-perl all 1.09-1 [20.4 kB] Get: 256 http://deb.debian.org/debian buster/main i386 libxml-sax-perl all 1.00+dfsg-1 [58.6 kB] Get: 257 http://deb.debian.org/debian buster/main i386 libxml-libxml-perl i386 2.0134+dfsg-1 [362 kB] Get: 258 http://deb.debian.org/debian buster/main i386 texinfo i386 6.5.0.dfsg.1-4+b1 [1425 kB] Get: 259 http://deb.debian.org/debian buster/main i386 octave-common all 4.4.1-5 [4365 kB] Get: 260 http://deb.debian.org/debian buster/main i386 octave i386 4.4.1-5 [2152 kB] Get: 261 http://deb.debian.org/debian buster/main i386 libncurses-dev i386 6.1+20181013-2+deb10u2 [360 kB] Get: 262 http://deb.debian.org/debian buster/main i386 libreadline-dev i386 7.0-5 [146 kB] Get: 263 http://deb.debian.org/debian buster/main i386 zlib1g-dev i386 1:1.2.11.dfsg-1 [216 kB] Get: 264 http://deb.debian.org/debian buster/main i386 libjpeg62-turbo-dev i386 1:1.5.2-2+b1 [226 kB] Get: 265 http://deb.debian.org/debian buster/main i386 libjpeg-dev all 1:1.5.2-2 [57.5 kB] Get: 266 http://deb.debian.org/debian buster/main i386 libaec-dev i386 1.0.2-1 [21.4 kB] Get: 267 http://deb.debian.org/debian buster/main i386 hdf5-helpers i386 1.10.4+repack-10 [35.2 kB] Get: 268 http://deb.debian.org/debian buster/main i386 libhdf5-cpp-103 i386 1.10.4+repack-10 [155 kB] Get: 269 http://deb.debian.org/debian buster/main i386 libhdf5-dev i386 1.10.4+repack-10 [2738 kB] Get: 270 http://deb.debian.org/debian buster/main i386 xorg-sgml-doctools all 1:1.11-1 [21.9 kB] Get: 271 http://deb.debian.org/debian buster/main i386 x11proto-dev all 2018.4-4 [251 kB] Get: 272 http://deb.debian.org/debian buster/main i386 x11proto-core-dev all 2018.4-4 [3128 B] Get: 273 http://deb.debian.org/debian buster/main i386 libxau-dev i386 1:1.0.8-1+b2 [23.6 kB] Get: 274 http://deb.debian.org/debian buster/main i386 libxdmcp-dev i386 1:1.1.2-3 [42.7 kB] Get: 275 http://deb.debian.org/debian buster/main i386 xtrans-dev all 1.3.5-1 [100 kB] Get: 276 http://deb.debian.org/debian buster/main i386 libpthread-stubs0-dev i386 0.4-1 [5340 B] Get: 277 http://deb.debian.org/debian buster/main i386 libxcb1-dev i386 1.13.1-2 [180 kB] Get: 278 http://deb.debian.org/debian buster/main i386 libx11-dev i386 2:1.6.7-1 [856 kB] Get: 279 http://deb.debian.org/debian buster/main i386 libdrm-dev i386 2.4.97-1 [131 kB] Get: 280 http://deb.debian.org/debian buster/main i386 mesa-common-dev i386 18.3.6-2+deb10u1 [611 kB] Get: 281 http://deb.debian.org/debian buster/main i386 libglvnd-core-dev i386 1.1.0-1 [13.2 kB] Get: 282 http://deb.debian.org/debian buster/main i386 libgles1 i386 1.1.0-1 [13.9 kB] Get: 283 http://deb.debian.org/debian buster/main i386 libgles2 i386 1.1.0-1 [18.8 kB] Get: 284 http://deb.debian.org/debian buster/main i386 libopengl0 i386 1.1.0-1 [31.0 kB] Get: 285 http://deb.debian.org/debian buster/main i386 libglvnd-dev i386 1.1.0-1 [5128 B] Get: 286 http://deb.debian.org/debian buster/main i386 libx11-xcb-dev i386 2:1.6.7-1 [192 kB] Get: 287 http://deb.debian.org/debian buster/main i386 libxcb-dri3-dev i386 1.13.1-2 [101 kB] Get: 288 http://deb.debian.org/debian buster/main i386 libxcb-render0-dev i386 1.13.1-2 [113 kB] Get: 289 http://deb.debian.org/debian buster/main i386 libxcb-randr0-dev i386 1.13.1-2 [116 kB] Get: 290 http://deb.debian.org/debian buster/main i386 libxcb-shape0-dev i386 1.13.1-2 [101 kB] Get: 291 http://deb.debian.org/debian buster/main i386 libxcb-xfixes0-dev i386 1.13.1-2 [106 kB] Get: 292 http://deb.debian.org/debian buster/main i386 libxcb-sync-dev i386 1.13.1-2 [105 kB] Get: 293 http://deb.debian.org/debian buster/main i386 libxcb-present-dev i386 1.13.1-2 [101 kB] Get: 294 http://deb.debian.org/debian buster/main i386 libxshmfence-dev i386 1.3-1 [8560 B] Get: 295 http://deb.debian.org/debian buster/main i386 libxcb-dri2-0-dev i386 1.13.1-2 [102 kB] Get: 296 http://deb.debian.org/debian buster/main i386 libxcb-glx0-dev i386 1.13.1-2 [123 kB] Get: 297 http://deb.debian.org/debian buster/main i386 x11proto-fixes-dev all 1:2018.4-4 [3140 B] Get: 298 http://deb.debian.org/debian buster/main i386 libxfixes-dev i386 1:5.0.3-1 [24.3 kB] Get: 299 http://deb.debian.org/debian buster/main i386 x11proto-damage-dev all 1:2018.4-4 [3140 B] Get: 300 http://deb.debian.org/debian buster/main i386 libxdamage-dev i386 1:1.1.4-3+b3 [14.9 kB] Get: 301 http://deb.debian.org/debian buster/main i386 x11proto-xext-dev all 2018.4-4 [3128 B] Get: 302 http://deb.debian.org/debian buster/main i386 libxext-dev i386 2:1.3.3-1+b2 [110 kB] Get: 303 http://deb.debian.org/debian buster/main i386 x11proto-xf86vidmode-dev all 2018.4-4 [3140 B] Get: 304 http://deb.debian.org/debian buster/main i386 libxxf86vm-dev i386 1:1.1.4-1+b2 [26.3 kB] Get: 305 http://deb.debian.org/debian buster/main i386 libgl1-mesa-dev i386 18.3.6-2+deb10u1 [48.0 kB] Get: 306 http://deb.debian.org/debian buster/main i386 libblas-dev i386 3.8.0-2 [150 kB] Get: 307 http://deb.debian.org/debian buster/main i386 liblapack-dev i386 3.8.0-2 [2035 kB] Get: 308 http://deb.debian.org/debian buster/main i386 libfftw3-long3 i386 3.3.8-2 [326 kB] Get: 309 http://deb.debian.org/debian buster/main i386 libfftw3-quad3 i386 3.3.8-2 [1762 kB] Get: 310 http://deb.debian.org/debian buster/main i386 libfftw3-bin i386 3.3.8-2 [53.5 kB] Get: 311 http://deb.debian.org/debian buster/main i386 libfftw3-dev i386 3.3.8-2 [3170 kB] Get: 312 http://deb.debian.org/debian buster/main i386 libgfortran-8-dev i386 8.3.0-6 [603 kB] Get: 313 http://deb.debian.org/debian buster/main i386 gfortran-8 i386 8.3.0-6 [9465 kB] Get: 314 http://deb.debian.org/debian buster/main i386 gfortran i386 4:8.3.0-1 [1432 B] Get: 315 http://deb.debian.org/debian buster/main i386 liboctave-dev i386 4.4.1-5 [764 kB] Get: 316 http://deb.debian.org/debian buster/main i386 libencode-locale-perl all 1.05-1 [13.7 kB] Get: 317 http://deb.debian.org/debian buster/main i386 libtimedate-perl all 2.3000-2+deb10u1 [38.1 kB] Get: 318 http://deb.debian.org/debian buster/main i386 libhttp-date-perl all 6.02-1 [10.7 kB] Get: 319 http://deb.debian.org/debian buster/main i386 libfile-listing-perl all 6.04-1 [10.3 kB] Get: 320 http://deb.debian.org/debian buster/main i386 libhtml-tagset-perl all 3.20-3 [12.7 kB] Get: 321 http://deb.debian.org/debian buster/main i386 liburi-perl all 1.76-1 [89.9 kB] Get: 322 http://deb.debian.org/debian buster/main i386 libhtml-parser-perl i386 3.72-3+b3 [106 kB] Get: 323 http://deb.debian.org/debian buster/main i386 libhtml-tree-perl all 5.07-2 [213 kB] Get: 324 http://deb.debian.org/debian buster/main i386 libio-html-perl all 1.001-1 [17.6 kB] Get: 325 http://deb.debian.org/debian buster/main i386 liblwp-mediatypes-perl all 6.02-1 [22.1 kB] Get: 326 http://deb.debian.org/debian buster/main i386 libhttp-message-perl all 6.18-1 [77.8 kB] Get: 327 http://deb.debian.org/debian buster/main i386 libhttp-cookies-perl all 6.04-1 [17.8 kB] Get: 328 http://deb.debian.org/debian buster/main i386 libhttp-negotiate-perl all 6.01-1 [12.8 kB] Get: 329 http://deb.debian.org/debian buster/main i386 perl-openssl-defaults i386 3 [6782 B] Get: 330 http://deb.debian.org/debian buster/main i386 libnet-ssleay-perl i386 1.85-2+b1 [314 kB] Get: 331 http://deb.debian.org/debian buster/main i386 libio-socket-ssl-perl all 2.060-3 [207 kB] Get: 332 http://deb.debian.org/debian buster/main i386 libnet-http-perl all 6.18-1 [24.5 kB] Get: 333 http://deb.debian.org/debian buster/main i386 liblwp-protocol-https-perl all 6.07-2 [9242 B] Get: 334 http://deb.debian.org/debian buster/main i386 libwww-robotrules-perl all 6.02-1 [12.9 kB] Get: 335 http://deb.debian.org/debian buster/main i386 libwww-perl all 6.36-2 [188 kB] Get: 336 http://deb.debian.org/debian buster/main i386 liberror-perl all 0.17027-2 [30.9 kB] Get: 337 http://deb.debian.org/debian buster/main i386 libexporter-lite-perl all 0.08-1 [11.1 kB] Get: 338 http://deb.debian.org/debian buster/main i386 libparse-debcontrol-perl all 2.005-4 [25.7 kB] Get: 339 http://deb.debian.org/debian buster/main i386 libconvert-binhex-perl all 1.125-1 [30.5 kB] Get: 340 http://deb.debian.org/debian buster/main i386 libnet-smtp-ssl-perl all 1.04-1 [6184 B] Get: 341 http://deb.debian.org/debian buster/main i386 libmailtools-perl all 2.18-1 [88.5 kB] Get: 342 http://deb.debian.org/debian buster/main i386 libmime-tools-perl all 5.509-1 [212 kB] Get: 343 http://deb.debian.org/debian buster/main i386 gnuplot-data all 5.2.6+dfsg1-1+deb10u1 [180 kB] Get: 344 http://deb.debian.org/debian buster/main i386 libpixman-1-0 i386 0.36.0-1 [541 kB] Get: 345 http://deb.debian.org/debian buster/main i386 libcairo2 i386 1.16.0-4 [744 kB] Get: 346 http://deb.debian.org/debian buster/main i386 libxpm4 i386 1:3.5.12-1 [50.9 kB] Get: 347 http://deb.debian.org/debian buster/main i386 libgd3 i386 2.2.5-5.2 [141 kB] Get: 348 http://deb.debian.org/debian buster/main i386 liblua5.3-0 i386 5.3.3-1.1 [140 kB] Get: 349 http://deb.debian.org/debian buster/main i386 libfribidi0 i386 1.0.5-3.1+deb10u1 [64.3 kB] Get: 350 http://deb.debian.org/debian buster/main i386 libthai-data all 0.1.28-2 [170 kB] Get: 351 http://deb.debian.org/debian buster/main i386 libdatrie1 i386 0.2.12-2 [40.7 kB] Get: 352 http://deb.debian.org/debian buster/main i386 libthai0 i386 0.1.28-2 [55.2 kB] Get: 353 http://deb.debian.org/debian buster/main i386 libpango-1.0-0 i386 1.42.4-8~deb10u1 [192 kB] Get: 354 http://deb.debian.org/debian buster/main i386 libpangoft2-1.0-0 i386 1.42.4-8~deb10u1 [71.3 kB] Get: 355 http://deb.debian.org/debian buster/main i386 libpangocairo-1.0-0 i386 1.42.4-8~deb10u1 [57.5 kB] Get: 356 http://deb.debian.org/debian buster/main i386 gnuplot-nox i386 5.2.6+dfsg1-1+deb10u1 [915 kB] Get: 357 http://deb.debian.org/debian buster/main i386 fonts-freefont-otf all 20120503-9 [3169 kB] Get: 358 http://deb.debian.org/debian buster/main i386 dh-octave-autopkgtest all 0.6.2 [8308 B] Get: 359 http://deb.debian.org/debian buster/main i386 dh-octave all 0.6.2 [19.9 kB] Get: 360 http://deb.debian.org/debian buster/main i386 python3-mpmath all 1.1.0-1 [416 kB] Get: 361 http://deb.debian.org/debian buster/main i386 python3-sympy all 1.3-2 [3500 kB] Fetched 143 MB in 3s (47.8 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libbsd0:i386. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19234 files and directories currently installed.) Preparing to unpack .../0-libbsd0_0.9.1-2_i386.deb ... Unpacking libbsd0:i386 (0.9.1-2) ... Selecting previously unselected package bsdmainutils. Preparing to unpack .../1-bsdmainutils_11.1.2+b1_i386.deb ... Unpacking bsdmainutils (11.1.2+b1) ... Selecting previously unselected package libuchardet0:i386. Preparing to unpack .../2-libuchardet0_0.0.6-3_i386.deb ... Unpacking libuchardet0:i386 (0.0.6-3) ... Selecting previously unselected package groff-base. Preparing to unpack .../3-groff-base_1.22.4-3_i386.deb ... Unpacking groff-base (1.22.4-3) ... Selecting previously unselected package libpipeline1:i386. Preparing to unpack .../4-libpipeline1_1.5.1-2_i386.deb ... Unpacking libpipeline1:i386 (1.5.1-2) ... Selecting previously unselected package man-db. Preparing to unpack .../5-man-db_2.8.5-2_i386.deb ... Unpacking man-db (2.8.5-2) ... Selecting previously unselected package libssl1.1:i386. Preparing to unpack .../6-libssl1.1_1.1.1d-0+deb10u3_i386.deb ... Unpacking libssl1.1:i386 (1.1.1d-0+deb10u3) ... Selecting previously unselected package libpython3.7-minimal:i386. Preparing to unpack .../7-libpython3.7-minimal_3.7.3-2+deb10u1_i386.deb ... Unpacking libpython3.7-minimal:i386 (3.7.3-2+deb10u1) ... Selecting previously unselected package libexpat1:i386. Preparing to unpack .../8-libexpat1_2.2.6-2+deb10u1_i386.deb ... Unpacking libexpat1:i386 (2.2.6-2+deb10u1) ... Selecting previously unselected package python3.7-minimal. Preparing to unpack .../9-python3.7-minimal_3.7.3-2+deb10u1_i386.deb ... Unpacking python3.7-minimal (3.7.3-2+deb10u1) ... Setting up libssl1.1:i386 (1.1.1d-0+deb10u3) ... Setting up libpython3.7-minimal:i386 (3.7.3-2+deb10u1) ... Setting up libexpat1:i386 (2.2.6-2+deb10u1) ... Setting up python3.7-minimal (3.7.3-2+deb10u1) ... Selecting previously unselected package python3-minimal. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20129 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.7.3-1_i386.deb ... Unpacking python3-minimal (3.7.3-1) ... Selecting previously unselected package mime-support. Preparing to unpack .../1-mime-support_3.62_all.deb ... Unpacking mime-support (3.62) ... Selecting previously unselected package libmpdec2:i386. Preparing to unpack .../2-libmpdec2_2.4.2-2_i386.deb ... Unpacking libmpdec2:i386 (2.4.2-2) ... Selecting previously unselected package readline-common. Preparing to unpack .../3-readline-common_7.0-5_all.deb ... Unpacking readline-common (7.0-5) ... Selecting previously unselected package libreadline7:i386. Preparing to unpack .../4-libreadline7_7.0-5_i386.deb ... Unpacking libreadline7:i386 (7.0-5) ... Selecting previously unselected package libpython3.7-stdlib:i386. Preparing to unpack .../5-libpython3.7-stdlib_3.7.3-2+deb10u1_i386.deb ... Unpacking libpython3.7-stdlib:i386 (3.7.3-2+deb10u1) ... Selecting previously unselected package python3.7. Preparing to unpack .../6-python3.7_3.7.3-2+deb10u1_i386.deb ... Unpacking python3.7 (3.7.3-2+deb10u1) ... Selecting previously unselected package libpython3-stdlib:i386. Preparing to unpack .../7-libpython3-stdlib_3.7.3-1_i386.deb ... Unpacking libpython3-stdlib:i386 (3.7.3-1) ... Setting up python3-minimal (3.7.3-1) ... Selecting previously unselected package python3. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20590 files and directories currently installed.) Preparing to unpack .../000-python3_3.7.3-1_i386.deb ... Unpacking python3 (3.7.3-1) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../001-sensible-utils_0.0.12_all.deb ... Unpacking sensible-utils (0.0.12) ... Selecting previously unselected package ucf. Preparing to unpack .../002-ucf_3.0038+nmu1_all.deb ... Moving old data out of the way Unpacking ucf (3.0038+nmu1) ... Selecting previously unselected package tex-common. Preparing to unpack .../003-tex-common_6.11_all.deb ... Unpacking tex-common (6.11) ... Selecting previously unselected package netbase. Preparing to unpack .../004-netbase_5.6_all.deb ... Unpacking netbase (5.6) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../005-libmagic-mgc_1%3a5.35-4+deb10u1_i386.deb ... Unpacking libmagic-mgc (1:5.35-4+deb10u1) ... Selecting previously unselected package libmagic1:i386. Preparing to unpack .../006-libmagic1_1%3a5.35-4+deb10u1_i386.deb ... Unpacking libmagic1:i386 (1:5.35-4+deb10u1) ... Selecting previously unselected package file. Preparing to unpack .../007-file_1%3a5.35-4+deb10u1_i386.deb ... Unpacking file (1:5.35-4+deb10u1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../008-gettext-base_0.19.8.1-9_i386.deb ... Unpacking gettext-base (0.19.8.1-9) ... Selecting previously unselected package aglfn. Preparing to unpack .../009-aglfn_1.7-3_all.deb ... Unpacking aglfn (1.7-3) ... Selecting previously unselected package libsigsegv2:i386. Preparing to unpack .../010-libsigsegv2_2.12-2_i386.deb ... Unpacking libsigsegv2:i386 (2.12-2) ... Selecting previously unselected package m4. Preparing to unpack .../011-m4_1.4.18-2_i386.deb ... Unpacking m4 (1.4.18-2) ... Selecting previously unselected package autoconf. Preparing to unpack .../012-autoconf_2.69-11_all.deb ... Unpacking autoconf (2.69-11) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../013-autotools-dev_20180224.1_all.deb ... Unpacking autotools-dev (20180224.1) ... Selecting previously unselected package automake. Preparing to unpack .../014-automake_1%3a1.16.1-4_all.deb ... Unpacking automake (1:1.16.1-4) ... Selecting previously unselected package autopoint. Preparing to unpack .../015-autopoint_0.19.8.1-9_all.deb ... Unpacking autopoint (0.19.8.1-9) ... Selecting previously unselected package openssl. Preparing to unpack .../016-openssl_1.1.1d-0+deb10u3_i386.deb ... Unpacking openssl (1.1.1d-0+deb10u3) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../017-ca-certificates_20190110_all.deb ... Unpacking ca-certificates (20190110) ... Selecting previously unselected package libcapture-tiny-perl. Preparing to unpack .../018-libcapture-tiny-perl_0.48-1_all.deb ... Unpacking libcapture-tiny-perl (0.48-1) ... Selecting previously unselected package libparams-util-perl. Preparing to unpack .../019-libparams-util-perl_1.07-3+b4_i386.deb ... Unpacking libparams-util-perl (1.07-3+b4) ... Selecting previously unselected package libsub-install-perl. Preparing to unpack .../020-libsub-install-perl_0.928-1_all.deb ... Unpacking libsub-install-perl (0.928-1) ... Selecting previously unselected package libdata-optlist-perl. Preparing to unpack .../021-libdata-optlist-perl_0.110-1_all.deb ... Unpacking libdata-optlist-perl (0.110-1) ... Selecting previously unselected package libb-hooks-op-check-perl. Preparing to unpack .../022-libb-hooks-op-check-perl_0.22-1+b1_i386.deb ... Unpacking libb-hooks-op-check-perl (0.22-1+b1) ... Selecting previously unselected package libdynaloader-functions-perl. Preparing to unpack .../023-libdynaloader-functions-perl_0.003-1_all.deb ... Unpacking libdynaloader-functions-perl (0.003-1) ... Selecting previously unselected package libdevel-callchecker-perl. Preparing to unpack .../024-libdevel-callchecker-perl_0.008-1_i386.deb ... Unpacking libdevel-callchecker-perl (0.008-1) ... Selecting previously unselected package libparams-classify-perl. Preparing to unpack .../025-libparams-classify-perl_0.015-1+b1_i386.deb ... Unpacking libparams-classify-perl (0.015-1+b1) ... Selecting previously unselected package libmodule-runtime-perl. Preparing to unpack .../026-libmodule-runtime-perl_0.016-1_all.deb ... Unpacking libmodule-runtime-perl (0.016-1) ... Selecting previously unselected package libtry-tiny-perl. Preparing to unpack .../027-libtry-tiny-perl_0.30-1_all.deb ... Unpacking libtry-tiny-perl (0.30-1) ... Selecting previously unselected package libmodule-implementation-perl. Preparing to unpack .../028-libmodule-implementation-perl_0.09-1_all.deb ... Unpacking libmodule-implementation-perl (0.09-1) ... Selecting previously unselected package libpackage-stash-perl. Preparing to unpack .../029-libpackage-stash-perl_0.38-1_all.deb ... Unpacking libpackage-stash-perl (0.38-1) ... Selecting previously unselected package libclass-load-perl. Preparing to unpack .../030-libclass-load-perl_0.25-1_all.deb ... Unpacking libclass-load-perl (0.25-1) ... Selecting previously unselected package libio-stringy-perl. Preparing to unpack .../031-libio-stringy-perl_2.111-3_all.deb ... Unpacking libio-stringy-perl (2.111-3) ... Selecting previously unselected package libparams-validate-perl. Preparing to unpack .../032-libparams-validate-perl_1.29-1+b1_i386.deb ... Unpacking libparams-validate-perl (1.29-1+b1) ... Selecting previously unselected package libsub-exporter-perl. Preparing to unpack .../033-libsub-exporter-perl_0.987-1_all.deb ... Unpacking libsub-exporter-perl (0.987-1) ... Selecting previously unselected package libgetopt-long-descriptive-perl. Preparing to unpack .../034-libgetopt-long-descriptive-perl_0.103-2_all.deb ... Unpacking libgetopt-long-descriptive-perl (0.103-2) ... Selecting previously unselected package libio-tiecombine-perl. Preparing to unpack .../035-libio-tiecombine-perl_1.005-1_all.deb ... Unpacking libio-tiecombine-perl (1.005-1) ... Selecting previously unselected package libmodule-pluggable-perl. Preparing to unpack .../036-libmodule-pluggable-perl_5.2-1_all.deb ... Unpacking libmodule-pluggable-perl (5.2-1) ... Selecting previously unselected package libstring-rewriteprefix-perl. Preparing to unpack .../037-libstring-rewriteprefix-perl_0.007-2_all.deb ... Unpacking libstring-rewriteprefix-perl (0.007-2) ... Selecting previously unselected package libapp-cmd-perl. Preparing to unpack .../038-libapp-cmd-perl_0.331-1_all.deb ... Unpacking libapp-cmd-perl (0.331-1) ... Selecting previously unselected package libboolean-perl. Preparing to unpack .../039-libboolean-perl_0.46-1_all.deb ... Unpacking libboolean-perl (0.46-1) ... Selecting previously unselected package libcarp-assert-perl. Preparing to unpack .../040-libcarp-assert-perl_0.21-1_all.deb ... Unpacking libcarp-assert-perl (0.21-1) ... Selecting previously unselected package libcarp-assert-more-perl. Preparing to unpack .../041-libcarp-assert-more-perl_1.16-1_all.deb ... Unpacking libcarp-assert-more-perl (1.16-1) ... Selecting previously unselected package libfile-which-perl. Preparing to unpack .../042-libfile-which-perl_1.23-1_all.deb ... Unpacking libfile-which-perl (1.23-1) ... Selecting previously unselected package libfile-homedir-perl. Preparing to unpack .../043-libfile-homedir-perl_1.004-1_all.deb ... Unpacking libfile-homedir-perl (1.004-1) ... Selecting previously unselected package libclone-choose-perl. Preparing to unpack .../044-libclone-choose-perl_0.010-1_all.deb ... Unpacking libclone-choose-perl (0.010-1) ... Selecting previously unselected package libhash-merge-perl. Preparing to unpack .../045-libhash-merge-perl_0.300-1_all.deb ... Unpacking libhash-merge-perl (0.300-1) ... Selecting previously unselected package libjson-perl. Preparing to unpack .../046-libjson-perl_4.02000-1_all.deb ... Unpacking libjson-perl (4.02000-1) ... Selecting previously unselected package libexporter-tiny-perl. Preparing to unpack .../047-libexporter-tiny-perl_1.002001-1_all.deb ... Unpacking libexporter-tiny-perl (1.002001-1) ... Selecting previously unselected package liblist-moreutils-perl. Preparing to unpack .../048-liblist-moreutils-perl_0.416-1+b4_i386.deb ... Unpacking liblist-moreutils-perl (0.416-1+b4) ... Selecting previously unselected package liblog-log4perl-perl. Preparing to unpack .../049-liblog-log4perl-perl_1.49-1_all.deb ... Unpacking liblog-log4perl-perl (1.49-1) ... Selecting previously unselected package libmouse-perl. Preparing to unpack .../050-libmouse-perl_2.5.6-1+b1_i386.deb ... Unpacking libmouse-perl (2.5.6-1+b1) ... Selecting previously unselected package libmousex-nativetraits-perl. Preparing to unpack .../051-libmousex-nativetraits-perl_1.09-2_all.deb ... Unpacking libmousex-nativetraits-perl (1.09-2) ... Selecting previously unselected package libmousex-strictconstructor-perl. Preparing to unpack .../052-libmousex-strictconstructor-perl_0.02-2_all.deb ... Unpacking libmousex-strictconstructor-perl (0.02-2) ... Selecting previously unselected package libparse-recdescent-perl. Preparing to unpack .../053-libparse-recdescent-perl_1.967015+dfsg-2_all.deb ... Unpacking libparse-recdescent-perl (1.967015+dfsg-2) ... Selecting previously unselected package libpath-tiny-perl. Preparing to unpack .../054-libpath-tiny-perl_0.108-1_all.deb ... Unpacking libpath-tiny-perl (0.108-1) ... Selecting previously unselected package libpod-pom-perl. Preparing to unpack .../055-libpod-pom-perl_2.01-3_all.deb ... Unpacking libpod-pom-perl (2.01-3) ... Selecting previously unselected package libregexp-common-perl. Preparing to unpack .../056-libregexp-common-perl_2017060201-1_all.deb ... Unpacking libregexp-common-perl (2017060201-1) ... Selecting previously unselected package libconfig-model-perl. Preparing to unpack .../057-libconfig-model-perl_2.133-1_all.deb ... Unpacking libconfig-model-perl (2.133-1) ... Selecting previously unselected package libyaml-perl. Preparing to unpack .../058-libyaml-perl_1.27-1_all.deb ... Unpacking libyaml-perl (1.27-1) ... Selecting previously unselected package cme. Preparing to unpack .../059-cme_1.029-1_all.deb ... Unpacking cme (1.029-1) ... Selecting previously unselected package libtool. Preparing to unpack .../060-libtool_2.4.6-9_all.deb ... Unpacking libtool (2.4.6-9) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../061-dh-autoreconf_19_all.deb ... Unpacking dh-autoreconf (19) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../062-libarchive-zip-perl_1.64-1_all.deb ... Unpacking libarchive-zip-perl (1.64-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../063-libfile-stripnondeterminism-perl_1.1.2-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.1.2-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../064-dh-strip-nondeterminism_1.1.2-1_all.deb ... Unpacking dh-strip-nondeterminism (1.1.2-1) ... Selecting previously unselected package libelf1:i386. Preparing to unpack .../065-libelf1_0.176-1.1_i386.deb ... Unpacking libelf1:i386 (0.176-1.1) ... Selecting previously unselected package dwz. Preparing to unpack .../066-dwz_0.12-3_i386.deb ... Unpacking dwz (0.12-3) ... Selecting previously unselected package libglib2.0-0:i386. Preparing to unpack .../067-libglib2.0-0_2.58.3-2+deb10u2_i386.deb ... Unpacking libglib2.0-0:i386 (2.58.3-2+deb10u2) ... Selecting previously unselected package libicu63:i386. Preparing to unpack .../068-libicu63_63.1-6+deb10u1_i386.deb ... Unpacking libicu63:i386 (63.1-6+deb10u1) ... Selecting previously unselected package libxml2:i386. Preparing to unpack .../069-libxml2_2.9.4+dfsg1-7+b3_i386.deb ... Unpacking libxml2:i386 (2.9.4+dfsg1-7+b3) ... Selecting previously unselected package libcroco3:i386. Preparing to unpack .../070-libcroco3_0.6.12-3_i386.deb ... Unpacking libcroco3:i386 (0.6.12-3) ... Selecting previously unselected package libncurses6:i386. Preparing to unpack .../071-libncurses6_6.1+20181013-2+deb10u2_i386.deb ... Unpacking libncurses6:i386 (6.1+20181013-2+deb10u2) ... Selecting previously unselected package gettext. Preparing to unpack .../072-gettext_0.19.8.1-9_i386.deb ... Unpacking gettext (0.19.8.1-9) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../073-intltool-debian_0.35.0+20060710.5_all.deb ... Unpacking intltool-debian (0.35.0+20060710.5) ... Selecting previously unselected package po-debconf. Preparing to unpack .../074-po-debconf_1.0.21_all.deb ... Unpacking po-debconf (1.0.21) ... Selecting previously unselected package debhelper. Preparing to unpack .../075-debhelper_12.1.1_all.deb ... Unpacking debhelper (12.1.1) ... Selecting previously unselected package libsuitesparseconfig5:i386. Preparing to unpack .../076-libsuitesparseconfig5_1%3a5.4.0+dfsg-1_i386.deb ... Unpacking libsuitesparseconfig5:i386 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libamd2:i386. Preparing to unpack .../077-libamd2_1%3a5.4.0+dfsg-1_i386.deb ... Unpacking libamd2:i386 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libgfortran5:i386. Preparing to unpack .../078-libgfortran5_8.3.0-6_i386.deb ... Unpacking libgfortran5:i386 (8.3.0-6) ... Selecting previously unselected package libblas3:i386. Preparing to unpack .../079-libblas3_3.8.0-2_i386.deb ... Unpacking libblas3:i386 (3.8.0-2) ... Selecting previously unselected package liblapack3:i386. Preparing to unpack .../080-liblapack3_3.8.0-2_i386.deb ... Unpacking liblapack3:i386 (3.8.0-2) ... Selecting previously unselected package libarpack2:i386. Preparing to unpack .../081-libarpack2_3.7.0-2_i386.deb ... Unpacking libarpack2:i386 (3.7.0-2) ... Selecting previously unselected package libcamd2:i386. Preparing to unpack .../082-libcamd2_1%3a5.4.0+dfsg-1_i386.deb ... Unpacking libcamd2:i386 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libccolamd2:i386. Preparing to unpack .../083-libccolamd2_1%3a5.4.0+dfsg-1_i386.deb ... Unpacking libccolamd2:i386 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libcolamd2:i386. Preparing to unpack .../084-libcolamd2_1%3a5.4.0+dfsg-1_i386.deb ... Unpacking libcolamd2:i386 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libmetis5:i386. Preparing to unpack .../085-libmetis5_5.1.0.dfsg-5+b2_i386.deb ... Unpacking libmetis5:i386 (5.1.0.dfsg-5+b2) ... Selecting previously unselected package libcholmod3:i386. Preparing to unpack .../086-libcholmod3_1%3a5.4.0+dfsg-1_i386.deb ... Unpacking libcholmod3:i386 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libkeyutils1:i386. Preparing to unpack .../087-libkeyutils1_1.6-6_i386.deb ... Unpacking libkeyutils1:i386 (1.6-6) ... Selecting previously unselected package libkrb5support0:i386. Preparing to unpack .../088-libkrb5support0_1.17-3_i386.deb ... Unpacking libkrb5support0:i386 (1.17-3) ... Selecting previously unselected package libk5crypto3:i386. Preparing to unpack .../089-libk5crypto3_1.17-3_i386.deb ... Unpacking libk5crypto3:i386 (1.17-3) ... Selecting previously unselected package libkrb5-3:i386. Preparing to unpack .../090-libkrb5-3_1.17-3_i386.deb ... Unpacking libkrb5-3:i386 (1.17-3) ... Selecting previously unselected package libgssapi-krb5-2:i386. Preparing to unpack .../091-libgssapi-krb5-2_1.17-3_i386.deb ... Unpacking libgssapi-krb5-2:i386 (1.17-3) ... Selecting previously unselected package libsasl2-modules-db:i386. Preparing to unpack .../092-libsasl2-modules-db_2.1.27+dfsg-1+deb10u1_i386.deb ... Unpacking libsasl2-modules-db:i386 (2.1.27+dfsg-1+deb10u1) ... Selecting previously unselected package libsasl2-2:i386. Preparing to unpack .../093-libsasl2-2_2.1.27+dfsg-1+deb10u1_i386.deb ... Unpacking libsasl2-2:i386 (2.1.27+dfsg-1+deb10u1) ... Selecting previously unselected package libldap-common. Preparing to unpack .../094-libldap-common_2.4.47+dfsg-3+deb10u2_all.deb ... Unpacking libldap-common (2.4.47+dfsg-3+deb10u2) ... Selecting previously unselected package libldap-2.4-2:i386. Preparing to unpack .../095-libldap-2.4-2_2.4.47+dfsg-3+deb10u2_i386.deb ... Unpacking libldap-2.4-2:i386 (2.4.47+dfsg-3+deb10u2) ... Selecting previously unselected package libnghttp2-14:i386. Preparing to unpack .../096-libnghttp2-14_1.36.0-2+deb10u1_i386.deb ... Unpacking libnghttp2-14:i386 (1.36.0-2+deb10u1) ... Selecting previously unselected package libpsl5:i386. Preparing to unpack .../097-libpsl5_0.20.2-2_i386.deb ... Unpacking libpsl5:i386 (0.20.2-2) ... Selecting previously unselected package librtmp1:i386. Preparing to unpack .../098-librtmp1_2.4+20151223.gitfa8646d.1-2_i386.deb ... Unpacking librtmp1:i386 (2.4+20151223.gitfa8646d.1-2) ... Selecting previously unselected package libssh2-1:i386. Preparing to unpack .../099-libssh2-1_1.8.0-2.1_i386.deb ... Unpacking libssh2-1:i386 (1.8.0-2.1) ... Selecting previously unselected package libcurl3-gnutls:i386. Preparing to unpack .../100-libcurl3-gnutls_7.64.0-4+deb10u1_i386.deb ... Unpacking libcurl3-gnutls:i386 (7.64.0-4+deb10u1) ... Selecting previously unselected package libcxsparse3:i386. Preparing to unpack .../101-libcxsparse3_1%3a5.4.0+dfsg-1_i386.deb ... Unpacking libcxsparse3:i386 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libfftw3-double3:i386. Preparing to unpack .../102-libfftw3-double3_3.3.8-2_i386.deb ... Unpacking libfftw3-double3:i386 (3.3.8-2) ... Selecting previously unselected package libfftw3-single3:i386. Preparing to unpack .../103-libfftw3-single3_3.3.8-2_i386.deb ... Unpacking libfftw3-single3:i386 (3.3.8-2) ... Selecting previously unselected package libpng16-16:i386. Preparing to unpack .../104-libpng16-16_1.6.36-6_i386.deb ... Unpacking libpng16-16:i386 (1.6.36-6) ... Selecting previously unselected package libfreetype6:i386. Preparing to unpack .../105-libfreetype6_2.9.1-3+deb10u1_i386.deb ... Unpacking libfreetype6:i386 (2.9.1-3+deb10u1) ... Selecting previously unselected package fonts-dejavu-core. Preparing to unpack .../106-fonts-dejavu-core_2.37-1_all.deb ... Unpacking fonts-dejavu-core (2.37-1) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../107-fontconfig-config_2.13.1-2_all.deb ... Unpacking fontconfig-config (2.13.1-2) ... Selecting previously unselected package libfontconfig1:i386. Preparing to unpack .../108-libfontconfig1_2.13.1-2_i386.deb ... Unpacking libfontconfig1:i386 (2.13.1-2) ... Selecting previously unselected package libglvnd0:i386. Preparing to unpack .../109-libglvnd0_1.1.0-1_i386.deb ... Unpacking libglvnd0:i386 (1.1.0-1) ... Selecting previously unselected package libxau6:i386. Preparing to unpack .../110-libxau6_1%3a1.0.8-1+b2_i386.deb ... Unpacking libxau6:i386 (1:1.0.8-1+b2) ... Selecting previously unselected package libxdmcp6:i386. Preparing to unpack .../111-libxdmcp6_1%3a1.1.2-3_i386.deb ... Unpacking libxdmcp6:i386 (1:1.1.2-3) ... Selecting previously unselected package libxcb1:i386. Preparing to unpack .../112-libxcb1_1.13.1-2_i386.deb ... Unpacking libxcb1:i386 (1.13.1-2) ... Selecting previously unselected package libx11-data. Preparing to unpack .../113-libx11-data_2%3a1.6.7-1_all.deb ... Unpacking libx11-data (2:1.6.7-1) ... Selecting previously unselected package libx11-6:i386. Preparing to unpack .../114-libx11-6_2%3a1.6.7-1_i386.deb ... Unpacking libx11-6:i386 (2:1.6.7-1) ... Selecting previously unselected package libxext6:i386. Preparing to unpack .../115-libxext6_2%3a1.3.3-1+b2_i386.deb ... Unpacking libxext6:i386 (2:1.3.3-1+b2) ... Selecting previously unselected package libdrm-common. Preparing to unpack .../116-libdrm-common_2.4.97-1_all.deb ... Unpacking libdrm-common (2.4.97-1) ... Selecting previously unselected package libdrm2:i386. Preparing to unpack .../117-libdrm2_2.4.97-1_i386.deb ... Unpacking libdrm2:i386 (2.4.97-1) ... Selecting previously unselected package libglapi-mesa:i386. Preparing to unpack .../118-libglapi-mesa_18.3.6-2+deb10u1_i386.deb ... Unpacking libglapi-mesa:i386 (18.3.6-2+deb10u1) ... Selecting previously unselected package libx11-xcb1:i386. Preparing to unpack .../119-libx11-xcb1_2%3a1.6.7-1_i386.deb ... Unpacking libx11-xcb1:i386 (2:1.6.7-1) ... Selecting previously unselected package libxcb-dri2-0:i386. Preparing to unpack .../120-libxcb-dri2-0_1.13.1-2_i386.deb ... Unpacking libxcb-dri2-0:i386 (1.13.1-2) ... Selecting previously unselected package libxcb-dri3-0:i386. Preparing to unpack .../121-libxcb-dri3-0_1.13.1-2_i386.deb ... Unpacking libxcb-dri3-0:i386 (1.13.1-2) ... Selecting previously unselected package libxcb-glx0:i386. Preparing to unpack .../122-libxcb-glx0_1.13.1-2_i386.deb ... Unpacking libxcb-glx0:i386 (1.13.1-2) ... Selecting previously unselected package libxcb-present0:i386. Preparing to unpack .../123-libxcb-present0_1.13.1-2_i386.deb ... Unpacking libxcb-present0:i386 (1.13.1-2) ... Selecting previously unselected package libxcb-sync1:i386. Preparing to unpack .../124-libxcb-sync1_1.13.1-2_i386.deb ... Unpacking libxcb-sync1:i386 (1.13.1-2) ... Selecting previously unselected package libxfixes3:i386. Preparing to unpack .../125-libxfixes3_1%3a5.0.3-1_i386.deb ... Unpacking libxfixes3:i386 (1:5.0.3-1) ... Selecting previously unselected package libxdamage1:i386. Preparing to unpack .../126-libxdamage1_1%3a1.1.4-3+b3_i386.deb ... Unpacking libxdamage1:i386 (1:1.1.4-3+b3) ... Selecting previously unselected package libxshmfence1:i386. Preparing to unpack .../127-libxshmfence1_1.3-1_i386.deb ... Unpacking libxshmfence1:i386 (1.3-1) ... Selecting previously unselected package libxxf86vm1:i386. Preparing to unpack .../128-libxxf86vm1_1%3a1.1.4-1+b2_i386.deb ... Unpacking libxxf86vm1:i386 (1:1.1.4-1+b2) ... Selecting previously unselected package libdrm-amdgpu1:i386. Preparing to unpack .../129-libdrm-amdgpu1_2.4.97-1_i386.deb ... Unpacking libdrm-amdgpu1:i386 (2.4.97-1) ... Selecting previously unselected package libpciaccess0:i386. Preparing to unpack .../130-libpciaccess0_0.14-1_i386.deb ... Unpacking libpciaccess0:i386 (0.14-1) ... Selecting previously unselected package libdrm-intel1:i386. Preparing to unpack .../131-libdrm-intel1_2.4.97-1_i386.deb ... Unpacking libdrm-intel1:i386 (2.4.97-1) ... Selecting previously unselected package libdrm-nouveau2:i386. Preparing to unpack .../132-libdrm-nouveau2_2.4.97-1_i386.deb ... Unpacking libdrm-nouveau2:i386 (2.4.97-1) ... Selecting previously unselected package libdrm-radeon1:i386. Preparing to unpack .../133-libdrm-radeon1_2.4.97-1_i386.deb ... Unpacking libdrm-radeon1:i386 (2.4.97-1) ... Selecting previously unselected package libedit2:i386. Preparing to unpack .../134-libedit2_3.1-20181209-1_i386.deb ... Unpacking libedit2:i386 (3.1-20181209-1) ... Selecting previously unselected package libllvm7:i386. Preparing to unpack .../135-libllvm7_1%3a7.0.1-8_i386.deb ... Unpacking libllvm7:i386 (1:7.0.1-8) ... Selecting previously unselected package libsensors-config. Preparing to unpack .../136-libsensors-config_1%3a3.5.0-3_all.deb ... Unpacking libsensors-config (1:3.5.0-3) ... Selecting previously unselected package libsensors5:i386. Preparing to unpack .../137-libsensors5_1%3a3.5.0-3_i386.deb ... Unpacking libsensors5:i386 (1:3.5.0-3) ... Selecting previously unselected package libgl1-mesa-dri:i386. Preparing to unpack .../138-libgl1-mesa-dri_18.3.6-2+deb10u1_i386.deb ... Unpacking libgl1-mesa-dri:i386 (18.3.6-2+deb10u1) ... Selecting previously unselected package libglx-mesa0:i386. Preparing to unpack .../139-libglx-mesa0_18.3.6-2+deb10u1_i386.deb ... Unpacking libglx-mesa0:i386 (18.3.6-2+deb10u1) ... Selecting previously unselected package libglx0:i386. Preparing to unpack .../140-libglx0_1.1.0-1_i386.deb ... Unpacking libglx0:i386 (1.1.0-1) ... Selecting previously unselected package libgl1:i386. Preparing to unpack .../141-libgl1_1.1.0-1_i386.deb ... Unpacking libgl1:i386 (1.1.0-1) ... Selecting previously unselected package libgl2ps1.4. Preparing to unpack .../142-libgl2ps1.4_1.4.0+dfsg1-2_i386.deb ... Unpacking libgl2ps1.4 (1.4.0+dfsg1-2) ... Selecting previously unselected package libglu1-mesa:i386. Preparing to unpack .../143-libglu1-mesa_9.0.0-2.1+b3_i386.deb ... Unpacking libglu1-mesa:i386 (9.0.0-2.1+b3) ... Selecting previously unselected package libjbig0:i386. Preparing to unpack .../144-libjbig0_2.1-3.1+b2_i386.deb ... Unpacking libjbig0:i386 (2.1-3.1+b2) ... Selecting previously unselected package libjpeg62-turbo:i386. Preparing to unpack .../145-libjpeg62-turbo_1%3a1.5.2-2+b1_i386.deb ... Unpacking libjpeg62-turbo:i386 (1:1.5.2-2+b1) ... Selecting previously unselected package libwebp6:i386. Preparing to unpack .../146-libwebp6_0.6.1-2_i386.deb ... Unpacking libwebp6:i386 (0.6.1-2) ... Selecting previously unselected package libtiff5:i386. Preparing to unpack .../147-libtiff5_4.1.0+git191117-2~deb10u1_i386.deb ... Unpacking libtiff5:i386 (4.1.0+git191117-2~deb10u1) ... Selecting previously unselected package lsb-base. Preparing to unpack .../148-lsb-base_10.2019051400_all.deb ... Unpacking lsb-base (10.2019051400) ... Selecting previously unselected package x11-common. Preparing to unpack .../149-x11-common_1%3a7.7+19_all.deb ... Unpacking x11-common (1:7.7+19) ... Selecting previously unselected package libice6:i386. Preparing to unpack .../150-libice6_2%3a1.0.9-2_i386.deb ... Unpacking libice6:i386 (2:1.0.9-2) ... Selecting previously unselected package liblcms2-2:i386. Preparing to unpack .../151-liblcms2-2_2.9-3_i386.deb ... Unpacking liblcms2-2:i386 (2.9-3) ... Selecting previously unselected package libsm6:i386. Preparing to unpack .../152-libsm6_2%3a1.2.3-1_i386.deb ... Unpacking libsm6:i386 (2:1.2.3-1) ... Selecting previously unselected package libwebpmux3:i386. Preparing to unpack .../153-libwebpmux3_0.6.1-2_i386.deb ... Unpacking libwebpmux3:i386 (0.6.1-2) ... Selecting previously unselected package libwmf0.2-7:i386. Preparing to unpack .../154-libwmf0.2-7_0.2.8.4-14_i386.deb ... Unpacking libwmf0.2-7:i386 (0.2.8.4-14) ... Selecting previously unselected package libgraphicsmagick-q16-3. Preparing to unpack .../155-libgraphicsmagick-q16-3_1.4~hg15978-1+deb10u1_i386.deb ... Unpacking libgraphicsmagick-q16-3 (1.4~hg15978-1+deb10u1) ... Selecting previously unselected package libgraphicsmagick++-q16-12. Preparing to unpack .../156-libgraphicsmagick++-q16-12_1.4~hg15978-1+deb10u1_i386.deb ... Unpacking libgraphicsmagick++-q16-12 (1.4~hg15978-1+deb10u1) ... Selecting previously unselected package libaec0:i386. Preparing to unpack .../157-libaec0_1.0.2-1_i386.deb ... Unpacking libaec0:i386 (1.0.2-1) ... Selecting previously unselected package libsz2:i386. Preparing to unpack .../158-libsz2_1.0.2-1_i386.deb ... Unpacking libsz2:i386 (1.0.2-1) ... Selecting previously unselected package libhdf5-103:i386. Preparing to unpack .../159-libhdf5-103_1.10.4+repack-10_i386.deb ... Unpacking libhdf5-103:i386 (1.10.4+repack-10) ... Selecting previously unselected package libqrupdate1:i386. Preparing to unpack .../160-libqrupdate1_1.1.2-3_i386.deb ... Unpacking libqrupdate1:i386 (1.1.2-3) ... Selecting previously unselected package libumfpack5:i386. Preparing to unpack .../161-libumfpack5_1%3a5.4.0+dfsg-1_i386.deb ... Unpacking libumfpack5:i386 (1:5.4.0+dfsg-1) ... Selecting previously unselected package liboctave6:i386. Preparing to unpack .../162-liboctave6_4.4.1-5_i386.deb ... Unpacking liboctave6:i386 (4.4.1-5) ... Selecting previously unselected package libasound2-data. Preparing to unpack .../163-libasound2-data_1.1.8-1_all.deb ... Unpacking libasound2-data (1.1.8-1) ... Selecting previously unselected package libasound2:i386. Preparing to unpack .../164-libasound2_1.1.8-1_i386.deb ... Unpacking libasound2:i386 (1.1.8-1) ... Selecting previously unselected package libxrender1:i386. Preparing to unpack .../165-libxrender1_1%3a0.9.10-1_i386.deb ... Unpacking libxrender1:i386 (1:0.9.10-1) ... Selecting previously unselected package libxcursor1:i386. Preparing to unpack .../166-libxcursor1_1%3a1.1.15-2_i386.deb ... Unpacking libxcursor1:i386 (1:1.1.15-2) ... Selecting previously unselected package libxft2:i386. Preparing to unpack .../167-libxft2_2.3.2-2_i386.deb ... Unpacking libxft2:i386 (2.3.2-2) ... Selecting previously unselected package libxinerama1:i386. Preparing to unpack .../168-libxinerama1_2%3a1.1.4-2_i386.deb ... Unpacking libxinerama1:i386 (2:1.1.4-2) ... Selecting previously unselected package libfltk1.3:i386. Preparing to unpack .../169-libfltk1.3_1.3.4-9_i386.deb ... Unpacking libfltk1.3:i386 (1.3.4-9) ... Selecting previously unselected package libfltk-gl1.3:i386. Preparing to unpack .../170-libfltk-gl1.3_1.3.4-9_i386.deb ... Unpacking libfltk-gl1.3:i386 (1.3.4-9) ... Selecting previously unselected package libltdl7:i386. Preparing to unpack .../171-libltdl7_2.4.6-9_i386.deb ... Unpacking libltdl7:i386 (2.4.6-9) ... Selecting previously unselected package libglpk40:i386. Preparing to unpack .../172-libglpk40_4.65-2_i386.deb ... Unpacking libglpk40:i386 (4.65-2) ... Selecting previously unselected package libbtf1:i386. Preparing to unpack .../173-libbtf1_1%3a5.4.0+dfsg-1_i386.deb ... Unpacking libbtf1:i386 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libklu1:i386. Preparing to unpack .../174-libklu1_1%3a5.4.0+dfsg-1_i386.deb ... Unpacking libklu1:i386 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libopus0:i386. Preparing to unpack .../175-libopus0_1.3-1_i386.deb ... Unpacking libopus0:i386 (1.3-1) ... Selecting previously unselected package libsamplerate0:i386. Preparing to unpack .../176-libsamplerate0_0.1.9-2_i386.deb ... Unpacking libsamplerate0:i386 (0.1.9-2) ... Selecting previously unselected package libjack-jackd2-0:i386. Preparing to unpack .../177-libjack-jackd2-0_1.9.12~dfsg-2_i386.deb ... Unpacking libjack-jackd2-0:i386 (1.9.12~dfsg-2) ... Selecting previously unselected package libportaudio2:i386. Preparing to unpack .../178-libportaudio2_19.6.0-1_i386.deb ... Unpacking libportaudio2:i386 (19.6.0-1) ... Selecting previously unselected package libqhull7:i386. Preparing to unpack .../179-libqhull7_2015.2-4_i386.deb ... Unpacking libqhull7:i386 (2015.2-4) ... Selecting previously unselected package libqscintilla2-qt5-l10n. Preparing to unpack .../180-libqscintilla2-qt5-l10n_2.10.4+dfsg-2.1_all.deb ... Unpacking libqscintilla2-qt5-l10n (2.10.4+dfsg-2.1) ... Selecting previously unselected package libdouble-conversion1:i386. Preparing to unpack .../181-libdouble-conversion1_3.1.0-3_i386.deb ... Unpacking libdouble-conversion1:i386 (3.1.0-3) ... Selecting previously unselected package libpcre2-16-0:i386. Preparing to unpack .../182-libpcre2-16-0_10.32-5_i386.deb ... Unpacking libpcre2-16-0:i386 (10.32-5) ... Selecting previously unselected package libqt5core5a:i386. Preparing to unpack .../183-libqt5core5a_5.11.3+dfsg1-1+deb10u3_i386.deb ... Unpacking libqt5core5a:i386 (5.11.3+dfsg1-1+deb10u3) ... Selecting previously unselected package fontconfig. Preparing to unpack .../184-fontconfig_2.13.1-2_i386.deb ... Unpacking fontconfig (2.13.1-2) ... Selecting previously unselected package libwayland-server0:i386. Preparing to unpack .../185-libwayland-server0_1.16.0-1_i386.deb ... Unpacking libwayland-server0:i386 (1.16.0-1) ... Selecting previously unselected package libgbm1:i386. Preparing to unpack .../186-libgbm1_18.3.6-2+deb10u1_i386.deb ... Unpacking libgbm1:i386 (18.3.6-2+deb10u1) ... Selecting previously unselected package libwayland-client0:i386. Preparing to unpack .../187-libwayland-client0_1.16.0-1_i386.deb ... Unpacking libwayland-client0:i386 (1.16.0-1) ... Selecting previously unselected package libxcb-xfixes0:i386. Preparing to unpack .../188-libxcb-xfixes0_1.13.1-2_i386.deb ... Unpacking libxcb-xfixes0:i386 (1.13.1-2) ... Selecting previously unselected package libegl-mesa0:i386. Preparing to unpack .../189-libegl-mesa0_18.3.6-2+deb10u1_i386.deb ... Unpacking libegl-mesa0:i386 (18.3.6-2+deb10u1) ... Selecting previously unselected package libegl1:i386. Preparing to unpack .../190-libegl1_1.1.0-1_i386.deb ... Unpacking libegl1:i386 (1.1.0-1) ... Selecting previously unselected package libgraphite2-3:i386. Preparing to unpack .../191-libgraphite2-3_1.3.13-7_i386.deb ... Unpacking libgraphite2-3:i386 (1.3.13-7) ... Selecting previously unselected package libharfbuzz0b:i386. Preparing to unpack .../192-libharfbuzz0b_2.3.1-1_i386.deb ... Unpacking libharfbuzz0b:i386 (2.3.1-1) ... Selecting previously unselected package libevdev2:i386. Preparing to unpack .../193-libevdev2_1.6.0+dfsg-1_i386.deb ... Unpacking libevdev2:i386 (1.6.0+dfsg-1) ... Selecting previously unselected package libmtdev1:i386. Preparing to unpack .../194-libmtdev1_1.1.5-1+b1_i386.deb ... Unpacking libmtdev1:i386 (1.1.5-1+b1) ... Selecting previously unselected package libgudev-1.0-0:i386. Preparing to unpack .../195-libgudev-1.0-0_232-2_i386.deb ... Unpacking libgudev-1.0-0:i386 (232-2) ... Selecting previously unselected package libwacom-common. Preparing to unpack .../196-libwacom-common_0.32-1_all.deb ... Unpacking libwacom-common (0.32-1) ... Selecting previously unselected package libwacom2:i386. Preparing to unpack .../197-libwacom2_0.32-1_i386.deb ... Unpacking libwacom2:i386 (0.32-1) ... Selecting previously unselected package libinput-bin. Preparing to unpack .../198-libinput-bin_1.12.6-2_i386.deb ... Unpacking libinput-bin (1.12.6-2) ... Selecting previously unselected package libinput10:i386. Preparing to unpack .../199-libinput10_1.12.6-2_i386.deb ... Unpacking libinput10:i386 (1.12.6-2) ... Selecting previously unselected package libdbus-1-3:i386. Preparing to unpack .../200-libdbus-1-3_1.12.16-1_i386.deb ... Unpacking libdbus-1-3:i386 (1.12.16-1) ... Selecting previously unselected package libqt5dbus5:i386. Preparing to unpack .../201-libqt5dbus5_5.11.3+dfsg1-1+deb10u3_i386.deb ... Unpacking libqt5dbus5:i386 (5.11.3+dfsg1-1+deb10u3) ... Selecting previously unselected package libqt5network5:i386. Preparing to unpack .../202-libqt5network5_5.11.3+dfsg1-1+deb10u3_i386.deb ... Unpacking libqt5network5:i386 (5.11.3+dfsg1-1+deb10u3) ... Selecting previously unselected package libxcb-icccm4:i386. Preparing to unpack .../203-libxcb-icccm4_0.4.1-1.1_i386.deb ... Unpacking libxcb-icccm4:i386 (0.4.1-1.1) ... Selecting previously unselected package libxcb-shm0:i386. Preparing to unpack .../204-libxcb-shm0_1.13.1-2_i386.deb ... Unpacking libxcb-shm0:i386 (1.13.1-2) ... Selecting previously unselected package libxcb-util0:i386. Preparing to unpack .../205-libxcb-util0_0.3.8-3+b2_i386.deb ... Unpacking libxcb-util0:i386 (0.3.8-3+b2) ... Selecting previously unselected package libxcb-image0:i386. Preparing to unpack .../206-libxcb-image0_0.4.0-1+b2_i386.deb ... Unpacking libxcb-image0:i386 (0.4.0-1+b2) ... Selecting previously unselected package libxcb-keysyms1:i386. Preparing to unpack .../207-libxcb-keysyms1_0.4.0-1+b2_i386.deb ... Unpacking libxcb-keysyms1:i386 (0.4.0-1+b2) ... Selecting previously unselected package libxcb-randr0:i386. Preparing to unpack .../208-libxcb-randr0_1.13.1-2_i386.deb ... Unpacking libxcb-randr0:i386 (1.13.1-2) ... Selecting previously unselected package libxcb-render0:i386. Preparing to unpack .../209-libxcb-render0_1.13.1-2_i386.deb ... Unpacking libxcb-render0:i386 (1.13.1-2) ... Selecting previously unselected package libxcb-render-util0:i386. Preparing to unpack .../210-libxcb-render-util0_0.3.9-1+b1_i386.deb ... Unpacking libxcb-render-util0:i386 (0.3.9-1+b1) ... Selecting previously unselected package libxcb-shape0:i386. Preparing to unpack .../211-libxcb-shape0_1.13.1-2_i386.deb ... Unpacking libxcb-shape0:i386 (1.13.1-2) ... Selecting previously unselected package libxcb-xinerama0:i386. Preparing to unpack .../212-libxcb-xinerama0_1.13.1-2_i386.deb ... Unpacking libxcb-xinerama0:i386 (1.13.1-2) ... Selecting previously unselected package libxcb-xkb1:i386. Preparing to unpack .../213-libxcb-xkb1_1.13.1-2_i386.deb ... Unpacking libxcb-xkb1:i386 (1.13.1-2) ... Selecting previously unselected package libxi6:i386. Preparing to unpack .../214-libxi6_2%3a1.7.9-1_i386.deb ... Unpacking libxi6:i386 (2:1.7.9-1) ... Selecting previously unselected package xkb-data. Preparing to unpack .../215-xkb-data_2.26-2_all.deb ... Unpacking xkb-data (2.26-2) ... Selecting previously unselected package libxkbcommon0:i386. Preparing to unpack .../216-libxkbcommon0_0.8.2-1_i386.deb ... Unpacking libxkbcommon0:i386 (0.8.2-1) ... Selecting previously unselected package libxkbcommon-x11-0:i386. Preparing to unpack .../217-libxkbcommon-x11-0_0.8.2-1_i386.deb ... Unpacking libxkbcommon-x11-0:i386 (0.8.2-1) ... Selecting previously unselected package libqt5gui5:i386. Preparing to unpack .../218-libqt5gui5_5.11.3+dfsg1-1+deb10u3_i386.deb ... Unpacking libqt5gui5:i386 (5.11.3+dfsg1-1+deb10u3) ... Selecting previously unselected package libavahi-common-data:i386. Preparing to unpack .../219-libavahi-common-data_0.7-4+b1_i386.deb ... Unpacking libavahi-common-data:i386 (0.7-4+b1) ... Selecting previously unselected package libavahi-common3:i386. Preparing to unpack .../220-libavahi-common3_0.7-4+b1_i386.deb ... Unpacking libavahi-common3:i386 (0.7-4+b1) ... Selecting previously unselected package libavahi-client3:i386. Preparing to unpack .../221-libavahi-client3_0.7-4+b1_i386.deb ... Unpacking libavahi-client3:i386 (0.7-4+b1) ... Selecting previously unselected package libcups2:i386. Preparing to unpack .../222-libcups2_2.2.10-6+deb10u3_i386.deb ... Unpacking libcups2:i386 (2.2.10-6+deb10u3) ... Selecting previously unselected package libqt5widgets5:i386. Preparing to unpack .../223-libqt5widgets5_5.11.3+dfsg1-1+deb10u3_i386.deb ... Unpacking libqt5widgets5:i386 (5.11.3+dfsg1-1+deb10u3) ... Selecting previously unselected package libqt5printsupport5:i386. Preparing to unpack .../224-libqt5printsupport5_5.11.3+dfsg1-1+deb10u3_i386.deb ... Unpacking libqt5printsupport5:i386 (5.11.3+dfsg1-1+deb10u3) ... Selecting previously unselected package libqscintilla2-qt5-13. Preparing to unpack .../225-libqscintilla2-qt5-13_2.10.4+dfsg-2.1_i386.deb ... Unpacking libqscintilla2-qt5-13 (2.10.4+dfsg-2.1) ... Selecting previously unselected package libqt5sql5:i386. Preparing to unpack .../226-libqt5sql5_5.11.3+dfsg1-1+deb10u3_i386.deb ... Unpacking libqt5sql5:i386 (5.11.3+dfsg1-1+deb10u3) ... Selecting previously unselected package libqt5help5:i386. Preparing to unpack .../227-libqt5help5_5.11.3-4_i386.deb ... Unpacking libqt5help5:i386 (5.11.3-4) ... Selecting previously unselected package libqt5opengl5:i386. Preparing to unpack .../228-libqt5opengl5_5.11.3+dfsg1-1+deb10u3_i386.deb ... Unpacking libqt5opengl5:i386 (5.11.3+dfsg1-1+deb10u3) ... Selecting previously unselected package libogg0:i386. Preparing to unpack .../229-libogg0_1.3.2-1+b1_i386.deb ... Unpacking libogg0:i386 (1.3.2-1+b1) ... Selecting previously unselected package libflac8:i386. Preparing to unpack .../230-libflac8_1.3.2-3_i386.deb ... Unpacking libflac8:i386 (1.3.2-3) ... Selecting previously unselected package libvorbis0a:i386. Preparing to unpack .../231-libvorbis0a_1.3.6-2_i386.deb ... Unpacking libvorbis0a:i386 (1.3.6-2) ... Selecting previously unselected package libvorbisenc2:i386. Preparing to unpack .../232-libvorbisenc2_1.3.6-2_i386.deb ... Unpacking libvorbisenc2:i386 (1.3.6-2) ... Selecting previously unselected package libsndfile1:i386. Preparing to unpack .../233-libsndfile1_1.0.28-6_i386.deb ... Unpacking libsndfile1:i386 (1.0.28-6) ... Selecting previously unselected package libtext-unidecode-perl. Preparing to unpack .../234-libtext-unidecode-perl_1.30-1_all.deb ... Unpacking libtext-unidecode-perl (1.30-1) ... Selecting previously unselected package libxml-namespacesupport-perl. Preparing to unpack .../235-libxml-namespacesupport-perl_1.12-1_all.deb ... Unpacking libxml-namespacesupport-perl (1.12-1) ... Selecting previously unselected package libxml-sax-base-perl. Preparing to unpack .../236-libxml-sax-base-perl_1.09-1_all.deb ... Unpacking libxml-sax-base-perl (1.09-1) ... Selecting previously unselected package libxml-sax-perl. Preparing to unpack .../237-libxml-sax-perl_1.00+dfsg-1_all.deb ... Unpacking libxml-sax-perl (1.00+dfsg-1) ... Selecting previously unselected package libxml-libxml-perl. Preparing to unpack .../238-libxml-libxml-perl_2.0134+dfsg-1_i386.deb ... Unpacking libxml-libxml-perl (2.0134+dfsg-1) ... Selecting previously unselected package texinfo. Preparing to unpack .../239-texinfo_6.5.0.dfsg.1-4+b1_i386.deb ... Unpacking texinfo (6.5.0.dfsg.1-4+b1) ... Selecting previously unselected package octave-common. Preparing to unpack .../240-octave-common_4.4.1-5_all.deb ... Unpacking octave-common (4.4.1-5) ... Selecting previously unselected package octave. Preparing to unpack .../241-octave_4.4.1-5_i386.deb ... Unpacking octave (4.4.1-5) ... Selecting previously unselected package libncurses-dev:i386. Preparing to unpack .../242-libncurses-dev_6.1+20181013-2+deb10u2_i386.deb ... Unpacking libncurses-dev:i386 (6.1+20181013-2+deb10u2) ... Selecting previously unselected package libreadline-dev:i386. Preparing to unpack .../243-libreadline-dev_7.0-5_i386.deb ... Unpacking libreadline-dev:i386 (7.0-5) ... Selecting previously unselected package zlib1g-dev:i386. Preparing to unpack .../244-zlib1g-dev_1%3a1.2.11.dfsg-1_i386.deb ... Unpacking zlib1g-dev:i386 (1:1.2.11.dfsg-1) ... Selecting previously unselected package libjpeg62-turbo-dev:i386. Preparing to unpack .../245-libjpeg62-turbo-dev_1%3a1.5.2-2+b1_i386.deb ... Unpacking libjpeg62-turbo-dev:i386 (1:1.5.2-2+b1) ... Selecting previously unselected package libjpeg-dev. Preparing to unpack .../246-libjpeg-dev_1%3a1.5.2-2_all.deb ... Unpacking libjpeg-dev (1:1.5.2-2) ... Selecting previously unselected package libaec-dev:i386. Preparing to unpack .../247-libaec-dev_1.0.2-1_i386.deb ... Unpacking libaec-dev:i386 (1.0.2-1) ... Selecting previously unselected package hdf5-helpers. Preparing to unpack .../248-hdf5-helpers_1.10.4+repack-10_i386.deb ... Unpacking hdf5-helpers (1.10.4+repack-10) ... Selecting previously unselected package libhdf5-cpp-103:i386. Preparing to unpack .../249-libhdf5-cpp-103_1.10.4+repack-10_i386.deb ... Unpacking libhdf5-cpp-103:i386 (1.10.4+repack-10) ... Selecting previously unselected package libhdf5-dev. Preparing to unpack .../250-libhdf5-dev_1.10.4+repack-10_i386.deb ... Unpacking libhdf5-dev (1.10.4+repack-10) ... Selecting previously unselected package xorg-sgml-doctools. Preparing to unpack .../251-xorg-sgml-doctools_1%3a1.11-1_all.deb ... Unpacking xorg-sgml-doctools (1:1.11-1) ... Selecting previously unselected package x11proto-dev. Preparing to unpack .../252-x11proto-dev_2018.4-4_all.deb ... Unpacking x11proto-dev (2018.4-4) ... Selecting previously unselected package x11proto-core-dev. Preparing to unpack .../253-x11proto-core-dev_2018.4-4_all.deb ... Unpacking x11proto-core-dev (2018.4-4) ... Selecting previously unselected package libxau-dev:i386. Preparing to unpack .../254-libxau-dev_1%3a1.0.8-1+b2_i386.deb ... Unpacking libxau-dev:i386 (1:1.0.8-1+b2) ... Selecting previously unselected package libxdmcp-dev:i386. Preparing to unpack .../255-libxdmcp-dev_1%3a1.1.2-3_i386.deb ... Unpacking libxdmcp-dev:i386 (1:1.1.2-3) ... Selecting previously unselected package xtrans-dev. Preparing to unpack .../256-xtrans-dev_1.3.5-1_all.deb ... Unpacking xtrans-dev (1.3.5-1) ... Selecting previously unselected package libpthread-stubs0-dev:i386. Preparing to unpack .../257-libpthread-stubs0-dev_0.4-1_i386.deb ... Unpacking libpthread-stubs0-dev:i386 (0.4-1) ... Selecting previously unselected package libxcb1-dev:i386. Preparing to unpack .../258-libxcb1-dev_1.13.1-2_i386.deb ... Unpacking libxcb1-dev:i386 (1.13.1-2) ... Selecting previously unselected package libx11-dev:i386. Preparing to unpack .../259-libx11-dev_2%3a1.6.7-1_i386.deb ... Unpacking libx11-dev:i386 (2:1.6.7-1) ... Selecting previously unselected package libdrm-dev:i386. Preparing to unpack .../260-libdrm-dev_2.4.97-1_i386.deb ... Unpacking libdrm-dev:i386 (2.4.97-1) ... Selecting previously unselected package mesa-common-dev:i386. Preparing to unpack .../261-mesa-common-dev_18.3.6-2+deb10u1_i386.deb ... Unpacking mesa-common-dev:i386 (18.3.6-2+deb10u1) ... Selecting previously unselected package libglvnd-core-dev:i386. Preparing to unpack .../262-libglvnd-core-dev_1.1.0-1_i386.deb ... Unpacking libglvnd-core-dev:i386 (1.1.0-1) ... Selecting previously unselected package libgles1:i386. Preparing to unpack .../263-libgles1_1.1.0-1_i386.deb ... Unpacking libgles1:i386 (1.1.0-1) ... Selecting previously unselected package libgles2:i386. Preparing to unpack .../264-libgles2_1.1.0-1_i386.deb ... Unpacking libgles2:i386 (1.1.0-1) ... Selecting previously unselected package libopengl0:i386. Preparing to unpack .../265-libopengl0_1.1.0-1_i386.deb ... Unpacking libopengl0:i386 (1.1.0-1) ... Selecting previously unselected package libglvnd-dev:i386. Preparing to unpack .../266-libglvnd-dev_1.1.0-1_i386.deb ... Unpacking libglvnd-dev:i386 (1.1.0-1) ... Selecting previously unselected package libx11-xcb-dev:i386. Preparing to unpack .../267-libx11-xcb-dev_2%3a1.6.7-1_i386.deb ... Unpacking libx11-xcb-dev:i386 (2:1.6.7-1) ... Selecting previously unselected package libxcb-dri3-dev:i386. Preparing to unpack .../268-libxcb-dri3-dev_1.13.1-2_i386.deb ... Unpacking libxcb-dri3-dev:i386 (1.13.1-2) ... Selecting previously unselected package libxcb-render0-dev:i386. Preparing to unpack .../269-libxcb-render0-dev_1.13.1-2_i386.deb ... Unpacking libxcb-render0-dev:i386 (1.13.1-2) ... Selecting previously unselected package libxcb-randr0-dev:i386. Preparing to unpack .../270-libxcb-randr0-dev_1.13.1-2_i386.deb ... Unpacking libxcb-randr0-dev:i386 (1.13.1-2) ... Selecting previously unselected package libxcb-shape0-dev:i386. Preparing to unpack .../271-libxcb-shape0-dev_1.13.1-2_i386.deb ... Unpacking libxcb-shape0-dev:i386 (1.13.1-2) ... Selecting previously unselected package libxcb-xfixes0-dev:i386. Preparing to unpack .../272-libxcb-xfixes0-dev_1.13.1-2_i386.deb ... Unpacking libxcb-xfixes0-dev:i386 (1.13.1-2) ... Selecting previously unselected package libxcb-sync-dev:i386. Preparing to unpack .../273-libxcb-sync-dev_1.13.1-2_i386.deb ... Unpacking libxcb-sync-dev:i386 (1.13.1-2) ... Selecting previously unselected package libxcb-present-dev:i386. Preparing to unpack .../274-libxcb-present-dev_1.13.1-2_i386.deb ... Unpacking libxcb-present-dev:i386 (1.13.1-2) ... Selecting previously unselected package libxshmfence-dev:i386. Preparing to unpack .../275-libxshmfence-dev_1.3-1_i386.deb ... Unpacking libxshmfence-dev:i386 (1.3-1) ... Selecting previously unselected package libxcb-dri2-0-dev:i386. Preparing to unpack .../276-libxcb-dri2-0-dev_1.13.1-2_i386.deb ... Unpacking libxcb-dri2-0-dev:i386 (1.13.1-2) ... Selecting previously unselected package libxcb-glx0-dev:i386. Preparing to unpack .../277-libxcb-glx0-dev_1.13.1-2_i386.deb ... Unpacking libxcb-glx0-dev:i386 (1.13.1-2) ... Selecting previously unselected package x11proto-fixes-dev. Preparing to unpack .../278-x11proto-fixes-dev_1%3a2018.4-4_all.deb ... Unpacking x11proto-fixes-dev (1:2018.4-4) ... Selecting previously unselected package libxfixes-dev:i386. Preparing to unpack .../279-libxfixes-dev_1%3a5.0.3-1_i386.deb ... Unpacking libxfixes-dev:i386 (1:5.0.3-1) ... Selecting previously unselected package x11proto-damage-dev. Preparing to unpack .../280-x11proto-damage-dev_1%3a2018.4-4_all.deb ... Unpacking x11proto-damage-dev (1:2018.4-4) ... Selecting previously unselected package libxdamage-dev:i386. Preparing to unpack .../281-libxdamage-dev_1%3a1.1.4-3+b3_i386.deb ... Unpacking libxdamage-dev:i386 (1:1.1.4-3+b3) ... Selecting previously unselected package x11proto-xext-dev. Preparing to unpack .../282-x11proto-xext-dev_2018.4-4_all.deb ... Unpacking x11proto-xext-dev (2018.4-4) ... Selecting previously unselected package libxext-dev:i386. Preparing to unpack .../283-libxext-dev_2%3a1.3.3-1+b2_i386.deb ... Unpacking libxext-dev:i386 (2:1.3.3-1+b2) ... Selecting previously unselected package x11proto-xf86vidmode-dev. Preparing to unpack .../284-x11proto-xf86vidmode-dev_2018.4-4_all.deb ... Unpacking x11proto-xf86vidmode-dev (2018.4-4) ... Selecting previously unselected package libxxf86vm-dev:i386. Preparing to unpack .../285-libxxf86vm-dev_1%3a1.1.4-1+b2_i386.deb ... Unpacking libxxf86vm-dev:i386 (1:1.1.4-1+b2) ... Selecting previously unselected package libgl1-mesa-dev:i386. Preparing to unpack .../286-libgl1-mesa-dev_18.3.6-2+deb10u1_i386.deb ... Unpacking libgl1-mesa-dev:i386 (18.3.6-2+deb10u1) ... Selecting previously unselected package libblas-dev:i386. Preparing to unpack .../287-libblas-dev_3.8.0-2_i386.deb ... Unpacking libblas-dev:i386 (3.8.0-2) ... Selecting previously unselected package liblapack-dev:i386. Preparing to unpack .../288-liblapack-dev_3.8.0-2_i386.deb ... Unpacking liblapack-dev:i386 (3.8.0-2) ... Selecting previously unselected package libfftw3-long3:i386. Preparing to unpack .../289-libfftw3-long3_3.3.8-2_i386.deb ... Unpacking libfftw3-long3:i386 (3.3.8-2) ... Selecting previously unselected package libfftw3-quad3:i386. Preparing to unpack .../290-libfftw3-quad3_3.3.8-2_i386.deb ... Unpacking libfftw3-quad3:i386 (3.3.8-2) ... Selecting previously unselected package libfftw3-bin. Preparing to unpack .../291-libfftw3-bin_3.3.8-2_i386.deb ... Unpacking libfftw3-bin (3.3.8-2) ... Selecting previously unselected package libfftw3-dev:i386. Preparing to unpack .../292-libfftw3-dev_3.3.8-2_i386.deb ... Unpacking libfftw3-dev:i386 (3.3.8-2) ... Selecting previously unselected package libgfortran-8-dev:i386. Preparing to unpack .../293-libgfortran-8-dev_8.3.0-6_i386.deb ... Unpacking libgfortran-8-dev:i386 (8.3.0-6) ... Selecting previously unselected package gfortran-8. Preparing to unpack .../294-gfortran-8_8.3.0-6_i386.deb ... Unpacking gfortran-8 (8.3.0-6) ... Selecting previously unselected package gfortran. Preparing to unpack .../295-gfortran_4%3a8.3.0-1_i386.deb ... Unpacking gfortran (4:8.3.0-1) ... Selecting previously unselected package liboctave-dev. Preparing to unpack .../296-liboctave-dev_4.4.1-5_i386.deb ... Unpacking liboctave-dev (4.4.1-5) ... Selecting previously unselected package libencode-locale-perl. Preparing to unpack .../297-libencode-locale-perl_1.05-1_all.deb ... Unpacking libencode-locale-perl (1.05-1) ... Selecting previously unselected package libtimedate-perl. Preparing to unpack .../298-libtimedate-perl_2.3000-2+deb10u1_all.deb ... Unpacking libtimedate-perl (2.3000-2+deb10u1) ... Selecting previously unselected package libhttp-date-perl. Preparing to unpack .../299-libhttp-date-perl_6.02-1_all.deb ... Unpacking libhttp-date-perl (6.02-1) ... Selecting previously unselected package libfile-listing-perl. Preparing to unpack .../300-libfile-listing-perl_6.04-1_all.deb ... Unpacking libfile-listing-perl (6.04-1) ... Selecting previously unselected package libhtml-tagset-perl. Preparing to unpack .../301-libhtml-tagset-perl_3.20-3_all.deb ... Unpacking libhtml-tagset-perl (3.20-3) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../302-liburi-perl_1.76-1_all.deb ... Unpacking liburi-perl (1.76-1) ... Selecting previously unselected package libhtml-parser-perl. Preparing to unpack .../303-libhtml-parser-perl_3.72-3+b3_i386.deb ... Unpacking libhtml-parser-perl (3.72-3+b3) ... Selecting previously unselected package libhtml-tree-perl. Preparing to unpack .../304-libhtml-tree-perl_5.07-2_all.deb ... Unpacking libhtml-tree-perl (5.07-2) ... Selecting previously unselected package libio-html-perl. Preparing to unpack .../305-libio-html-perl_1.001-1_all.deb ... Unpacking libio-html-perl (1.001-1) ... Selecting previously unselected package liblwp-mediatypes-perl. Preparing to unpack .../306-liblwp-mediatypes-perl_6.02-1_all.deb ... Unpacking liblwp-mediatypes-perl (6.02-1) ... Selecting previously unselected package libhttp-message-perl. Preparing to unpack .../307-libhttp-message-perl_6.18-1_all.deb ... Unpacking libhttp-message-perl (6.18-1) ... Selecting previously unselected package libhttp-cookies-perl. Preparing to unpack .../308-libhttp-cookies-perl_6.04-1_all.deb ... Unpacking libhttp-cookies-perl (6.04-1) ... Selecting previously unselected package libhttp-negotiate-perl. Preparing to unpack .../309-libhttp-negotiate-perl_6.01-1_all.deb ... Unpacking libhttp-negotiate-perl (6.01-1) ... Selecting previously unselected package perl-openssl-defaults:i386. Preparing to unpack .../310-perl-openssl-defaults_3_i386.deb ... Unpacking perl-openssl-defaults:i386 (3) ... Selecting previously unselected package libnet-ssleay-perl. Preparing to unpack .../311-libnet-ssleay-perl_1.85-2+b1_i386.deb ... Unpacking libnet-ssleay-perl (1.85-2+b1) ... Selecting previously unselected package libio-socket-ssl-perl. Preparing to unpack .../312-libio-socket-ssl-perl_2.060-3_all.deb ... Unpacking libio-socket-ssl-perl (2.060-3) ... Selecting previously unselected package libnet-http-perl. Preparing to unpack .../313-libnet-http-perl_6.18-1_all.deb ... Unpacking libnet-http-perl (6.18-1) ... Selecting previously unselected package liblwp-protocol-https-perl. Preparing to unpack .../314-liblwp-protocol-https-perl_6.07-2_all.deb ... Unpacking liblwp-protocol-https-perl (6.07-2) ... Selecting previously unselected package libwww-robotrules-perl. Preparing to unpack .../315-libwww-robotrules-perl_6.02-1_all.deb ... Unpacking libwww-robotrules-perl (6.02-1) ... Selecting previously unselected package libwww-perl. Preparing to unpack .../316-libwww-perl_6.36-2_all.deb ... Unpacking libwww-perl (6.36-2) ... Selecting previously unselected package liberror-perl. Preparing to unpack .../317-liberror-perl_0.17027-2_all.deb ... Unpacking liberror-perl (0.17027-2) ... Selecting previously unselected package libexporter-lite-perl. Preparing to unpack .../318-libexporter-lite-perl_0.08-1_all.deb ... Unpacking libexporter-lite-perl (0.08-1) ... Selecting previously unselected package libparse-debcontrol-perl. Preparing to unpack .../319-libparse-debcontrol-perl_2.005-4_all.deb ... Unpacking libparse-debcontrol-perl (2.005-4) ... Selecting previously unselected package libconvert-binhex-perl. Preparing to unpack .../320-libconvert-binhex-perl_1.125-1_all.deb ... Unpacking libconvert-binhex-perl (1.125-1) ... Selecting previously unselected package libnet-smtp-ssl-perl. Preparing to unpack .../321-libnet-smtp-ssl-perl_1.04-1_all.deb ... Unpacking libnet-smtp-ssl-perl (1.04-1) ... Selecting previously unselected package libmailtools-perl. Preparing to unpack .../322-libmailtools-perl_2.18-1_all.deb ... Unpacking libmailtools-perl (2.18-1) ... Selecting previously unselected package libmime-tools-perl. Preparing to unpack .../323-libmime-tools-perl_5.509-1_all.deb ... Unpacking libmime-tools-perl (5.509-1) ... Selecting previously unselected package gnuplot-data. Preparing to unpack .../324-gnuplot-data_5.2.6+dfsg1-1+deb10u1_all.deb ... Unpacking gnuplot-data (5.2.6+dfsg1-1+deb10u1) ... Selecting previously unselected package libpixman-1-0:i386. Preparing to unpack .../325-libpixman-1-0_0.36.0-1_i386.deb ... Unpacking libpixman-1-0:i386 (0.36.0-1) ... Selecting previously unselected package libcairo2:i386. Preparing to unpack .../326-libcairo2_1.16.0-4_i386.deb ... Unpacking libcairo2:i386 (1.16.0-4) ... Selecting previously unselected package libxpm4:i386. Preparing to unpack .../327-libxpm4_1%3a3.5.12-1_i386.deb ... Unpacking libxpm4:i386 (1:3.5.12-1) ... Selecting previously unselected package libgd3:i386. Preparing to unpack .../328-libgd3_2.2.5-5.2_i386.deb ... Unpacking libgd3:i386 (2.2.5-5.2) ... Selecting previously unselected package liblua5.3-0:i386. Preparing to unpack .../329-liblua5.3-0_5.3.3-1.1_i386.deb ... Unpacking liblua5.3-0:i386 (5.3.3-1.1) ... Selecting previously unselected package libfribidi0:i386. Preparing to unpack .../330-libfribidi0_1.0.5-3.1+deb10u1_i386.deb ... Unpacking libfribidi0:i386 (1.0.5-3.1+deb10u1) ... Selecting previously unselected package libthai-data. Preparing to unpack .../331-libthai-data_0.1.28-2_all.deb ... Unpacking libthai-data (0.1.28-2) ... Selecting previously unselected package libdatrie1:i386. Preparing to unpack .../332-libdatrie1_0.2.12-2_i386.deb ... Unpacking libdatrie1:i386 (0.2.12-2) ... Selecting previously unselected package libthai0:i386. Preparing to unpack .../333-libthai0_0.1.28-2_i386.deb ... Unpacking libthai0:i386 (0.1.28-2) ... Selecting previously unselected package libpango-1.0-0:i386. Preparing to unpack .../334-libpango-1.0-0_1.42.4-8~deb10u1_i386.deb ... Unpacking libpango-1.0-0:i386 (1.42.4-8~deb10u1) ... Selecting previously unselected package libpangoft2-1.0-0:i386. Preparing to unpack .../335-libpangoft2-1.0-0_1.42.4-8~deb10u1_i386.deb ... Unpacking libpangoft2-1.0-0:i386 (1.42.4-8~deb10u1) ... Selecting previously unselected package libpangocairo-1.0-0:i386. Preparing to unpack .../336-libpangocairo-1.0-0_1.42.4-8~deb10u1_i386.deb ... Unpacking libpangocairo-1.0-0:i386 (1.42.4-8~deb10u1) ... Selecting previously unselected package gnuplot-nox. Preparing to unpack .../337-gnuplot-nox_5.2.6+dfsg1-1+deb10u1_i386.deb ... Unpacking gnuplot-nox (5.2.6+dfsg1-1+deb10u1) ... Selecting previously unselected package fonts-freefont-otf. Preparing to unpack .../338-fonts-freefont-otf_20120503-9_all.deb ... Unpacking fonts-freefont-otf (20120503-9) ... Selecting previously unselected package dh-octave-autopkgtest. Preparing to unpack .../339-dh-octave-autopkgtest_0.6.2_all.deb ... Unpacking dh-octave-autopkgtest (0.6.2) ... Selecting previously unselected package dh-octave. Preparing to unpack .../340-dh-octave_0.6.2_all.deb ... Unpacking dh-octave (0.6.2) ... Selecting previously unselected package python3-mpmath. Preparing to unpack .../341-python3-mpmath_1.1.0-1_all.deb ... Unpacking python3-mpmath (1.1.0-1) ... Selecting previously unselected package python3-sympy. Preparing to unpack .../342-python3-sympy_1.3-2_all.deb ... Unpacking python3-sympy (1.3-2) ... Setting up libmodule-pluggable-perl (5.2-1) ... Setting up libpipeline1:i386 (1.5.1-2) ... Setting up libgraphite2-3:i386 (1.3.13-7) ... Setting up liblcms2-2:i386 (2.9-3) ... Setting up libpixman-1-0:i386 (0.36.0-1) ... Setting up libwayland-server0:i386 (1.16.0-1) ... Setting up lsb-base (10.2019051400) ... Setting up libx11-xcb1:i386 (2:1.6.7-1) ... Setting up libpciaccess0:i386 (0.14-1) ... Setting up libfile-which-perl (1.23-1) ... Setting up libxau6:i386 (1:1.0.8-1+b2) ... Setting up libkeyutils1:i386 (1.6-6) ... Setting up libpsl5:i386 (0.20.2-2) ... Setting up libfftw3-single3:i386 (3.3.8-2) ... Setting up libogg0:i386 (1.3.2-1+b1) ... Setting up libmouse-perl (2.5.6-1+b1) ... Setting up mime-support (3.62) ... Setting up libpod-pom-perl (2.01-3) ... Setting up libglvnd-core-dev:i386 (1.1.0-1) ... Setting up hdf5-helpers (1.10.4+repack-10) ... Setting up libdynaloader-functions-perl (0.003-1) ... Setting up libdatrie1:i386 (0.2.12-2) ... Setting up libmagic-mgc (1:5.35-4+deb10u1) ... Setting up libarchive-zip-perl (1.64-1) ... Setting up libglib2.0-0:i386 (2.58.3-2+deb10u2) ... No schema files found: doing nothing. Setting up libglvnd0:i386 (1.1.0-1) ... Setting up libio-stringy-perl (2.111-3) ... Setting up libhtml-tagset-perl (3.20-3) ... Setting up libqscintilla2-qt5-l10n (2.10.4+dfsg-2.1) ... Setting up libconvert-binhex-perl (1.125-1) ... Setting up liblwp-mediatypes-perl (6.02-1) ... Setting up fonts-freefont-otf (20120503-9) ... Setting up x11-common (1:7.7+19) ... update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults invoke-rc.d: could not determine current runlevel Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix. Setting up libtry-tiny-perl (0.30-1) ... Setting up libsensors-config (1:3.5.0-3) ... Setting up libnghttp2-14:i386 (1.36.0-2+deb10u1) ... Setting up libmagic1:i386 (1:5.35-4+deb10u1) ... Setting up perl-openssl-defaults:i386 (3) ... Setting up libxml-namespacesupport-perl (1.12-1) ... Setting up libfftw3-long3:i386 (3.3.8-2) ... Setting up gettext-base (0.19.8.1-9) ... Setting up libclone-choose-perl (0.010-1) ... Setting up xkb-data (2.26-2) ... Setting up libencode-locale-perl (1.05-1) ... Setting up libqhull7:i386 (2015.2-4) ... Setting up libmetis5:i386 (5.1.0.dfsg-5+b2) ... Setting up file (1:5.35-4+deb10u1) ... Setting up libldap-common (2.4.47+dfsg-3+deb10u2) ... Setting up libyaml-perl (1.27-1) ... Setting up libpthread-stubs0-dev:i386 (0.4-1) ... Setting up libjbig0:i386 (2.1-3.1+b2) ... Setting up octave-common (4.4.1-5) ... Setting up libregexp-common-perl (2017060201-1) ... Setting up libpcre2-16-0:i386 (10.32-5) ... Setting up libaec0:i386 (1.0.2-1) ... Setting up libicu63:i386 (63.1-6+deb10u1) ... Setting up libopengl0:i386 (1.1.0-1) ... Setting up libsub-install-perl (0.928-1) ... Setting up libflac8:i386 (1.3.2-3) ... Setting up libkrb5support0:i386 (1.17-3) ... Setting up libsasl2-modules-db:i386 (2.1.27+dfsg-1+deb10u1) ... Setting up liberror-perl (0.17027-2) ... Setting up libasound2-data (1.1.8-1) ... Setting up libxml-sax-base-perl (1.09-1) ... Setting up libboolean-perl (0.46-1) ... Setting up xtrans-dev (1.3.5-1) ... Setting up autotools-dev (20180224.1) ... Setting up libgles2:i386 (1.1.0-1) ... Setting up liblog-log4perl-perl (1.49-1) ... Setting up libjpeg62-turbo:i386 (1:1.5.2-2+b1) ... Setting up libx11-data (2:1.6.7-1) ... Setting up libjpeg62-turbo-dev:i386 (1:1.5.2-2+b1) ... Setting up librtmp1:i386 (2.4+20151223.gitfa8646d.1-2) ... Setting up libio-tiecombine-perl (1.005-1) ... Setting up aglfn (1.7-3) ... Setting up libavahi-common-data:i386 (0.7-4+b1) ... Setting up libncurses6:i386 (6.1+20181013-2+deb10u2) ... Setting up libgles1:i386 (1.1.0-1) ... Setting up libdbus-1-3:i386 (1.12.16-1) ... Setting up libsigsegv2:i386 (2.12-2) ... Setting up libfftw3-quad3:i386 (3.3.8-2) ... Setting up libfribidi0:i386 (1.0.5-3.1+deb10u1) ... Setting up libopus0:i386 (1.3-1) ... Setting up libpng16-16:i386 (1.6.36-6) ... Setting up libvorbis0a:i386 (1.3.6-2) ... Setting up libio-html-perl (1.001-1) ... Setting up autopoint (0.19.8.1-9) ... Setting up libwebp6:i386 (0.6.1-2) ... Setting up libb-hooks-op-check-perl (0.22-1+b1) ... Setting up fonts-dejavu-core (2.37-1) ... Setting up libsensors5:i386 (1:3.5.0-3) ... Setting up libk5crypto3:i386 (1.17-3) ... Setting up libltdl7:i386 (2.4.6-9) ... Setting up libfftw3-double3:i386 (3.3.8-2) ... Setting up libglapi-mesa:i386 (18.3.6-2+deb10u1) ... Setting up libparams-util-perl (1.07-3+b4) ... Setting up libsasl2-2:i386 (2.1.27+dfsg-1+deb10u1) ... Setting up libgfortran5:i386 (8.3.0-6) ... Setting up libmtdev1:i386 (1.1.5-1+b1) ... Setting up libcapture-tiny-perl (0.48-1) ... Setting up libtimedate-perl (2.3000-2+deb10u1) ... Setting up libexporter-lite-perl (0.08-1) ... Setting up zlib1g-dev:i386 (1:1.2.11.dfsg-1) ... Setting up libparse-recdescent-perl (1.967015+dfsg-2) ... Setting up sensible-utils (0.0.12) ... Setting up libxshmfence1:i386 (1.3-1) ... Setting up libpath-tiny-perl (0.108-1) ... Setting up libuchardet0:i386 (0.0.6-3) ... Setting up liblua5.3-0:i386 (5.3.3-1.1) ... Setting up libjson-perl (4.02000-1) ... Setting up libasound2:i386 (1.1.8-1) ... Setting up libmousex-strictconstructor-perl (0.02-2) ... Setting up libthai-data (0.1.28-2) ... Setting up libssh2-1:i386 (1.8.0-2.1) ... Setting up xorg-sgml-doctools (1:1.11-1) ... Setting up netbase (5.6) ... Setting up libkrb5-3:i386 (1.17-3) ... Setting up libtiff5:i386 (4.1.0+git191117-2~deb10u1) ... Setting up libmpdec2:i386 (2.4.2-2) ... Setting up libexporter-tiny-perl (1.002001-1) ... Setting up libtext-unidecode-perl (1.30-1) ... Setting up libfile-homedir-perl (1.004-1) ... Setting up libsamplerate0:i386 (0.1.9-2) ... Setting up openssl (1.1.1d-0+deb10u3) ... Setting up libwebpmux3:i386 (0.6.1-2) ... Setting up libbsd0:i386 (0.9.1-2) ... Setting up libdrm-common (2.4.97-1) ... Setting up libelf1:i386 (0.176-1.1) ... Setting up libevdev2:i386 (1.6.0+dfsg-1) ... Setting up readline-common (7.0-5) ... Setting up libxml2:i386 (2.9.4+dfsg1-7+b3) ... Setting up libdouble-conversion1:i386 (3.1.0-3) ... Setting up libsuitesparseconfig5:i386 (1:5.4.0+dfsg-1) ... Setting up liburi-perl (1.76-1) ... Setting up libcarp-assert-perl (0.21-1) ... Setting up libgudev-1.0-0:i386 (232-2) ... Setting up libsz2:i386 (1.0.2-1) ... Setting up libvorbisenc2:i386 (1.3.6-2) ... Setting up libreadline7:i386 (7.0-5) ... Setting up libwacom-common (0.32-1) ... Setting up libmousex-nativetraits-perl (1.09-2) ... Setting up libxkbcommon0:i386 (0.8.2-1) ... Setting up libwayland-client0:i386 (1.16.0-1) ... Setting up libnet-ssleay-perl (1.85-2+b1) ... Setting up x11proto-dev (2018.4-4) ... Setting up libfile-stripnondeterminism-perl (1.1.2-1) ... Setting up gnuplot-data (5.2.6+dfsg1-1+deb10u1) ... Setting up libgfortran-8-dev:i386 (8.3.0-6) ... Setting up libamd2:i386 (1:5.4.0+dfsg-1) ... Setting up libice6:i386 (2:1.0.9-2) ... Setting up libhttp-date-perl (6.02-1) ... Setting up libcarp-assert-more-perl (1.16-1) ... Setting up libxdmcp6:i386 (1:1.1.2-3) ... Setting up libpython3.7-stdlib:i386 (3.7.3-2+deb10u1) ... Setting up libncurses-dev:i386 (6.1+20181013-2+deb10u2) ... Setting up libxcb1:i386 (1.13.1-2) ... Setting up libxcb-xfixes0:i386 (1.13.1-2) ... Setting up libfile-listing-perl (6.04-1) ... Setting up libxau-dev:i386 (1:1.0.8-1+b2) ... Setting up libcolamd2:i386 (1:5.4.0+dfsg-1) ... Setting up libtool (2.4.6-9) ... Setting up libxcb-render0:i386 (1.13.1-2) ... Setting up libxshmfence-dev:i386 (1.3-1) ... Setting up libfftw3-bin (3.3.8-2) ... Setting up liblist-moreutils-perl (0.416-1+b4) ... Setting up gfortran-8 (8.3.0-6) ... Setting up libxcb-glx0:i386 (1.13.1-2) ... Setting up libedit2:i386 (3.1-20181209-1) ... Setting up libhash-merge-perl (0.300-1) ... Setting up libxcb-keysyms1:i386 (0.4.0-1+b2) ... Setting up libaec-dev:i386 (1.0.2-1) ... Setting up libxcb-shape0:i386 (1.13.1-2) ... Setting up libavahi-common3:i386 (0.7-4+b1) ... Setting up libjpeg-dev (1:1.5.2-2) ... Setting up libldap-2.4-2:i386 (2.4.47+dfsg-3+deb10u2) ... Setting up libnet-http-perl (6.18-1) ... Setting up m4 (1.4.18-2) ... Setting up libxcb-render-util0:i386 (0.3.9-1+b1) ... Setting up libxcb-shm0:i386 (1.13.1-2) ... Setting up libxcb-icccm4:i386 (0.4.1-1.1) ... Setting up libxcb-util0:i386 (0.3.8-3+b2) ... Setting up libreadline-dev:i386 (7.0-5) ... Setting up libdevel-callchecker-perl (0.008-1) ... Setting up gfortran (4:8.3.0-1) ... update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f95 (f95) in auto mode update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f77 (f77) in auto mode Setting up libbtf1:i386 (1:5.4.0+dfsg-1) ... Setting up libxcb-xkb1:i386 (1.13.1-2) ... Setting up libxcb-image0:i386 (0.4.0-1+b2) ... Setting up libxcb-present0:i386 (1.13.1-2) ... Setting up libthai0:i386 (0.1.28-2) ... Setting up ca-certificates (20190110) ... Updating certificates in /etc/ssl/certs... 128 added, 0 removed; done. Setting up libcamd2:i386 (1:5.4.0+dfsg-1) ... Setting up libxdmcp-dev:i386 (1:1.1.2-3) ... Setting up libblas3:i386 (3.8.0-2) ... update-alternatives: using /usr/lib/i386-linux-gnu/blas/libblas.so.3 to provide /usr/lib/i386-linux-gnu/libblas.so.3 (libblas.so.3-i386-linux-gnu) in auto mode Setting up libxcb-xinerama0:i386 (1.13.1-2) ... Setting up x11proto-damage-dev (1:2018.4-4) ... Setting up libfreetype6:i386 (2.9.1-3+deb10u1) ... Setting up libglpk40:i386 (4.65-2) ... Setting up libxcb-sync1:i386 (1.13.1-2) ... Setting up x11proto-core-dev (2018.4-4) ... Setting up libconfig-model-perl (2.133-1) ... Setting up libhdf5-103:i386 (1.10.4+repack-10) ... Setting up bsdmainutils (11.1.2+b1) ... update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode Setting up libxkbcommon-x11-0:i386 (0.8.2-1) ... Setting up libgssapi-krb5-2:i386 (1.17-3) ... Setting up libdata-optlist-perl (0.110-1) ... Setting up libcroco3:i386 (0.6.12-3) ... Setting up ucf (3.0038+nmu1) ... Setting up libqt5core5a:i386 (5.11.3+dfsg1-1+deb10u3) ... Setting up autoconf (2.69-11) ... Setting up libxcb-dri2-0:i386 (1.13.1-2) ... Setting up libwww-robotrules-perl (6.02-1) ... Setting up x11proto-xf86vidmode-dev (2018.4-4) ... Setting up libjack-jackd2-0:i386 (1.9.12~dfsg-2) ... Setting up x11proto-xext-dev (2018.4-4) ... Setting up libdrm2:i386 (2.4.97-1) ... Setting up dwz (0.12-3) ... Setting up groff-base (1.22.4-3) ... Setting up libklu1:i386 (1:5.4.0+dfsg-1) ... Setting up libqt5dbus5:i386 (5.11.3+dfsg1-1+deb10u3) ... Setting up libccolamd2:i386 (1:5.4.0+dfsg-1) ... Setting up libxcb-randr0:i386 (1.13.1-2) ... Setting up libhtml-parser-perl (3.72-3+b3) ... Setting up libllvm7:i386 (1:7.0.1-8) ... Setting up libx11-6:i386 (2:1.6.7-1) ... Setting up libharfbuzz0b:i386 (2.3.1-1) ... Setting up libcxsparse3:i386 (1:5.4.0+dfsg-1) ... Setting up libsndfile1:i386 (1.0.28-6) ... Setting up x11proto-fixes-dev (1:2018.4-4) ... Setting up libwacom2:i386 (0.32-1) ... Setting up libsm6:i386 (2:1.2.3-1) ... Setting up libfftw3-dev:i386 (3.3.8-2) ... Setting up libavahi-client3:i386 (0.7-4+b1) ... Setting up libio-socket-ssl-perl (2.060-3) ... Setting up libblas-dev:i386 (3.8.0-2) ... update-alternatives: using /usr/lib/i386-linux-gnu/blas/libblas.so to provide /usr/lib/i386-linux-gnu/libblas.so (libblas.so-i386-linux-gnu) in auto mode Setting up libsub-exporter-perl (0.987-1) ... Setting up libpython3-stdlib:i386 (3.7.3-1) ... Setting up libhttp-message-perl (6.18-1) ... Setting up libdrm-amdgpu1:i386 (2.4.97-1) ... Setting up automake (1:1.16.1-4) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libxcb-dri3-0:i386 (1.13.1-2) ... Setting up python3.7 (3.7.3-2+deb10u1) ... Setting up libportaudio2:i386 (19.6.0-1) ... Setting up libhttp-negotiate-perl (6.01-1) ... Setting up liblapack3:i386 (3.8.0-2) ... update-alternatives: using /usr/lib/i386-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/i386-linux-gnu/liblapack.so.3 (liblapack.so.3-i386-linux-gnu) in auto mode Setting up libdrm-nouveau2:i386 (2.4.97-1) ... Setting up gettext (0.19.8.1-9) ... Setting up libxcb1-dev:i386 (1.13.1-2) ... Setting up libxpm4:i386 (1:3.5.12-1) ... Setting up libxrender1:i386 (1:0.9.10-1) ... Setting up libgbm1:i386 (18.3.6-2+deb10u1) ... Setting up libhttp-cookies-perl (6.04-1) ... Setting up libwmf0.2-7:i386 (0.2.8.4-14) ... Setting up libdrm-radeon1:i386 (2.4.97-1) ... Setting up fontconfig-config (2.13.1-2) ... Setting up libhtml-tree-perl (5.07-2) ... Setting up libparams-classify-perl (0.015-1+b1) ... Setting up libdrm-intel1:i386 (2.4.97-1) ... Setting up libgl1-mesa-dri:i386 (18.3.6-2+deb10u1) ... Setting up libhdf5-cpp-103:i386 (1.10.4+repack-10) ... Setting up libarpack2:i386 (3.7.0-2) ... Setting up libx11-dev:i386 (2:1.6.7-1) ... Setting up libxext6:i386 (2:1.3.3-1+b2) ... Setting up libxcb-dri3-dev:i386 (1.13.1-2) ... Setting up libcurl3-gnutls:i386 (7.64.0-4+deb10u1) ... Setting up python3 (3.7.3-1) ... Setting up libqrupdate1:i386 (1.1.2-3) ... Setting up man-db (2.8.5-2) ... Not building database; man-db/auto-update is not 'true'. Setting up libxml-sax-perl (1.00+dfsg-1) ... update-perl-sax-parsers: Registering Perl SAX parser XML::SAX::PurePerl with priority 10... update-perl-sax-parsers: Updating overall Perl SAX parser modules info file... Creating config file /etc/perl/XML/SAX/ParserDetails.ini with new version Setting up libqt5network5:i386 (5.11.3+dfsg1-1+deb10u3) ... Setting up libxxf86vm1:i386 (1:1.1.4-1+b2) ... Setting up libinput-bin (1.12.6-2) ... Setting up intltool-debian (0.35.0+20060710.5) ... Setting up libqt5sql5:i386 (5.11.3+dfsg1-1+deb10u3) ... Setting up tex-common (6.11) ... update-language: texlive-base not installed and configured, doing nothing! Setting up libegl-mesa0:i386 (18.3.6-2+deb10u1) ... Setting up libxcb-dri2-0-dev:i386 (1.13.1-2) ... Setting up libnet-smtp-ssl-perl (1.04-1) ... Setting up libmodule-runtime-perl (0.016-1) ... Setting up libmailtools-perl (2.18-1) ... Setting up libxfixes3:i386 (1:5.0.3-1) ... Setting up libxinerama1:i386 (2:1.1.4-2) ... Setting up libhdf5-dev (1.10.4+repack-10) ... update-alternatives: using /usr/lib/i386-linux-gnu/pkgconfig/hdf5-serial.pc to provide /usr/lib/i386-linux-gnu/pkgconfig/hdf5.pc (hdf5.pc) in auto mode Setting up liblapack-dev:i386 (3.8.0-2) ... update-alternatives: using /usr/lib/i386-linux-gnu/lapack/liblapack.so to provide /usr/lib/i386-linux-gnu/liblapack.so (liblapack.so-i386-linux-gnu) in auto mode Setting up libgraphicsmagick-q16-3 (1.4~hg15978-1+deb10u1) ... Setting up libxcb-render0-dev:i386 (1.13.1-2) ... Setting up libxcb-glx0-dev:i386 (1.13.1-2) ... Setting up libxcb-shape0-dev:i386 (1.13.1-2) ... Setting up libxext-dev:i386 (2:1.3.3-1+b2) ... Setting up libxml-libxml-perl (2.0134+dfsg-1) ... update-perl-sax-parsers: Registering Perl SAX parser XML::LibXML::SAX::Parser with priority 50... update-perl-sax-parsers: Registering Perl SAX parser XML::LibXML::SAX with priority 50... update-perl-sax-parsers: Updating overall Perl SAX parser modules info file... Replacing config file /etc/perl/XML/SAX/ParserDetails.ini with new version Setting up libcups2:i386 (2.2.10-6+deb10u3) ... Setting up libegl1:i386 (1.1.0-1) ... Setting up libxcb-sync-dev:i386 (1.13.1-2) ... Setting up libgraphicsmagick++-q16-12 (1.4~hg15978-1+deb10u1) ... Setting up libxcb-xfixes0-dev:i386 (1.13.1-2) ... Setting up libfontconfig1:i386 (2.13.1-2) ... Setting up python3-mpmath (1.1.0-1) ... Setting up libcholmod3:i386 (1:5.4.0+dfsg-1) ... Setting up libstring-rewriteprefix-perl (0.007-2) ... Setting up libinput10:i386 (1.12.6-2) ... Setting up python3-sympy (1.3-2) ... Setting up libx11-xcb-dev:i386 (2:1.6.7-1) ... Setting up fontconfig (2.13.1-2) ... Regenerating fonts cache... done. Setting up libdrm-dev:i386 (2.4.97-1) ... Setting up libxft2:i386 (2.3.2-2) ... Setting up libxdamage1:i386 (1:1.1.4-3+b3) ... Setting up libxi6:i386 (2:1.7.9-1) ... Setting up libmodule-implementation-perl (0.09-1) ... Setting up libpackage-stash-perl (0.38-1) ... Setting up po-debconf (1.0.21) ... Setting up libxxf86vm-dev:i386 (1:1.1.4-1+b2) ... Setting up libxcursor1:i386 (1:1.1.15-2) ... Setting up libpango-1.0-0:i386 (1.42.4-8~deb10u1) ... Setting up libmime-tools-perl (5.509-1) ... Setting up libcairo2:i386 (1.16.0-4) ... Setting up libclass-load-perl (0.25-1) ... Setting up libxfixes-dev:i386 (1:5.0.3-1) ... Setting up libumfpack5:i386 (1:5.4.0+dfsg-1) ... Setting up libxcb-randr0-dev:i386 (1.13.1-2) ... Setting up libxcb-present-dev:i386 (1.13.1-2) ... Setting up libgd3:i386 (2.2.5-5.2) ... Setting up texinfo (6.5.0.dfsg.1-4+b1) ... Setting up mesa-common-dev:i386 (18.3.6-2+deb10u1) ... Setting up libpangoft2-1.0-0:i386 (1.42.4-8~deb10u1) ... Setting up libparams-validate-perl (1.29-1+b1) ... Setting up libpangocairo-1.0-0:i386 (1.42.4-8~deb10u1) ... Setting up libxdamage-dev:i386 (1:1.1.4-3+b3) ... Setting up libglx-mesa0:i386 (18.3.6-2+deb10u1) ... Setting up libglx0:i386 (1.1.0-1) ... Setting up libfltk1.3:i386 (1.3.4-9) ... Setting up libgl1:i386 (1.1.0-1) ... Setting up libgetopt-long-descriptive-perl (0.103-2) ... Setting up libglu1-mesa:i386 (9.0.0-2.1+b3) ... Setting up gnuplot-nox (5.2.6+dfsg1-1+deb10u1) ... update-alternatives: using /usr/bin/gnuplot-nox to provide /usr/bin/gnuplot (gnuplot) in auto mode Setting up libapp-cmd-perl (0.331-1) ... Setting up libfltk-gl1.3:i386 (1.3.4-9) ... Setting up libqt5gui5:i386 (5.11.3+dfsg1-1+deb10u3) ... Setting up libglvnd-dev:i386 (1.1.0-1) ... Setting up libqt5widgets5:i386 (5.11.3+dfsg1-1+deb10u3) ... Setting up libqt5help5:i386 (5.11.3-4) ... Setting up libgl2ps1.4 (1.4.0+dfsg1-2) ... Setting up liboctave6:i386 (4.4.1-5) ... Setting up libqt5printsupport5:i386 (5.11.3+dfsg1-1+deb10u3) ... Setting up dh-octave-autopkgtest (0.6.2) ... Setting up cme (1.029-1) ... Setting up libqscintilla2-qt5-13 (2.10.4+dfsg-2.1) ... Setting up libqt5opengl5:i386 (5.11.3+dfsg1-1+deb10u3) ... Setting up libgl1-mesa-dev:i386 (18.3.6-2+deb10u1) ... Setting up octave (4.4.1-5) ... Setting up liboctave-dev (4.4.1-5) ... Setting up libwww-perl (6.36-2) ... Setting up libparse-debcontrol-perl (2.005-4) ... Setting up dh-autoreconf (19) ... Setting up dh-strip-nondeterminism (1.1.2-1) ... Setting up liblwp-protocol-https-perl (6.07-2) ... Setting up debhelper (12.1.1) ... Setting up dh-octave (0.6.2) ... Processing triggers for libc-bin (2.28-10) ... Processing triggers for ca-certificates (20190110) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/octave-symbolic-2.7.1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b dpkg-buildpackage: info: source package octave-symbolic dpkg-buildpackage: info: source version 2.7.1-2 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Rafael Laboissiere dpkg-source --before-build . dpkg-buildpackage: info: host architecture i386 debian/rules clean dh clean --buildsystem=octave --with=octave dh_auto_clean -O--buildsystem=octave dh_octave_clean make[1]: *** src: No such file or directory. Stop. dh_autoreconf_clean -O--buildsystem=octave dh_clean -O--buildsystem=octave debian/rules binary dh binary --buildsystem=octave --with=octave dh_update_autotools_config -O--buildsystem=octave dh_autoreconf -O--buildsystem=octave dh_octave_version -O--buildsystem=octave Checking the Octave version... ok dh_auto_configure -O--buildsystem=octave dh_auto_build -O--buildsystem=octave dh_auto_test -O--buildsystem=octave create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=octave dh_prep -O--buildsystem=octave debian/rules override_dh_auto_install make[1]: Entering directory '/build/octave-symbolic-2.7.1' dh_auto_install octave --no-gui --no-history --silent --no-init-file --no-window-system /usr/share/dh-octave/install-pkg.m warning: pkg: creating the directory /build/octave-symbolic-2.7.1/debian/octave-symbolic/usr/share/octave/packages warning: pkg: creating the directory /build/octave-symbolic-2.7.1/debian/octave-symbolic/usr/lib/i386-linux-gnu/octave/packages For information about changes from previous versions of the symbolic package, run 'news symbolic'. # Remove the extraneous Windows batch script rm -rf $(find debian/octave-symbolic -name bin) make[1]: Leaving directory '/build/octave-symbolic-2.7.1' dh_octave_check -O--buildsystem=octave Checking package... Checking m files ... [inst/heaviside.m] >>>>> /build/octave-symbolic-2.7.1/inst/heaviside.m ***** assert (heaviside (0) == 0.5) ***** assert (isnan (heaviside (nan))) ***** assert (isequal (heaviside ([-inf -eps 0 eps inf]), [0 0 0.5 1 1])) ***** assert (isequaln (heaviside ([-1 1 nan]), [0 1 nan])) ***** assert (heaviside (0, 1) == 1) ***** error heaviside (1i) ***** assert (isa (heaviside (single (0)), 'single')) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/python_cmd.m] >>>>> /build/octave-symbolic-2.7.1/inst/python_cmd.m ***** test % general test x = 10; y = 6; cmd = '(x,y) = _ins; return (x+y,x-y)'; [a,b] = python_cmd (cmd, x, y); assert (a == x + y && b == x - y) Symbolic pkg v2.7.1: Python communication link active, SymPy v1.3. ***** test % bool assert (python_cmd ('return True,')) assert (~python_cmd ('return False,')) ***** test % float assert (abs(python_cmd ('return 1.0/3,') - 1/3) < 1e-15) ***** test % int r = python_cmd ('return 123456'); assert (r == 123456) assert (isinteger (r)) ***** test % long (on python2) r = python_cmd ('return 42 if sys.version_info >= (3,0) else long(42)'); assert (r == 42) assert (isinteger (r)) ***** test % string x = 'octave'; cmd = 's = _ins[0]; return s.capitalize(),'; y = python_cmd (cmd, x); assert (strcmp(y, 'Octave')) ***** test % string with escaped newlines, comes back as escaped newlines x = 'a string\nbroke off\nmy guitar\n'; y = python_cmd ('return _ins', x); assert (strcmp(y, x)) ***** test % string with actual newlines, comes back as actual newlines x = sprintf('a string\nbroke off\nmy guitar\n'); y = python_cmd ('return _ins', x); y2 = strrep(y, sprintf('\n'), sprintf('\r\n')); % windows assert (strcmp(x, y) || strcmp(x, y2)) ***** test % cmd string with newlines, works with cell y = python_cmd ('return "string\nbroke",'); y2 = sprintf('string\nbroke'); y3 = strrep(y2, sprintf('\n'), sprintf('\r\n')); % windows assert (strcmp(y, y2) || strcmp(y, y3)) ***** test % string with XML escapes x = '<> >< <<>>'; y = python_cmd ('return _ins', x); assert (strcmp(y, x)) x = '&'; y = python_cmd ('return _ins', x); assert (strcmp(y, x)) ***** test % strings with double quotes x = 'a\"b\"c'; y = python_cmd ('return _ins', x); assert (strcmp(y, x)) x = '\"'; y = python_cmd ('return _ins', x); assert (strcmp(y, x)) ***** test % cmd has double quotes, these must be escaped by user % (of course: she is writing python code) expy = 'a"b"c'; y = python_cmd ('return "a\"b\"c",'); assert (strcmp(y, expy)) ***** test % strings with quotes x = 'a''b'; % this is a single quote y = python_cmd ('return _ins', x); assert (strcmp(y, x)) ***** test % strings with quotes x = '\"a''b\"c''\"d'; y = python_cmd ('return _ins[0]', x); assert (strcmp(y, x)) ***** test % strings with quotes expy = '"a''b"c''"d'; y = python_cmd ('s = "\"a''b\"c''\"d"; return s'); assert (strcmp(y, expy)) ***** test % strings with printf escapes x = '% %% %%% %%%% %s %g %%s'; y = python_cmd ('return _ins', x); assert (strcmp(y, x)) ***** test % cmd with printf escapes x = '% %% %%% %%%% %s %g %%s'; y = python_cmd (['return "' x '",']); assert (strcmp(y, x)) ***** test % cmd w/ backslash and \n must be escaped by user expy = 'a\b\\c\nd\'; y = python_cmd ('return "a\\b\\\\c\\nd\\",'); assert (strcmp(y, expy)) ***** test % slashes x = '/\\ // \\\\ \\/\\/\\'; z = '/\ // \\ \/\/\'; y = python_cmd ('return _ins', x); assert (strcmp(y, x)) ***** test % slashes z = '/\ // \\ \/\/\'; y = python_cmd ('return "/\\ // \\\\ \\/\\/\\"'); assert (strcmp(y, z)) ***** test % strings with special chars x = '!@#$^&* you!'; y = python_cmd ('return _ins', x); assert (strcmp(y, x)) x = '~-_=+[{]}|;:,.?'; y = python_cmd ('return _ins', x); assert (strcmp(y, x)) ***** xtest % string with backtick trouble for system -c (sysoneline) x = '`'; y = python_cmd ('return _ins', x); assert (strcmp(y, x)) ***** test % unicode s1 = '我爱你'; cmd = 'return u"\u6211\u7231\u4f60",'; s2 = python_cmd (cmd); assert (strcmp (s1, s2)) ***** test % unicode with \x s1 = '我'; cmd = 'return b"\xe6\x88\x91".decode("utf-8")'; s2 = python_cmd (cmd); assert (strcmp (s1, s2)) ***** test % unicode with \x and some escaped backslashes s1 = '\我\'; cmd = 'return b"\\\xe6\x88\x91\\".decode("utf-8")'; s2 = python_cmd (cmd); assert (strcmp (s1, s2)) ***** xtest % unicode passthru s = '我爱你'; s2 = python_cmd ('return _ins', s); assert (strcmp (s, s2)) s = '我爱你<>\&//\#%% %\我'; s2 = python_cmd ('return _ins', s); assert (strcmp (s, s2)) ***** xtest % unicode w/ slashes, escapes s = '我<>\&//\#%% %\我'; s2 = python_cmd ('return "我<>\\&//\\#%% %\\我"'); assert (strcmp (s, s2)) ***** test % list, tuple assert (isequal (python_cmd ('return [1,2,3],'), {1, 2, 3})) assert (isequal (python_cmd ('return (4,5),'), {4, 5})) assert (isequal (python_cmd ('return (6,),'), {6,})) assert (isequal (python_cmd ('return [],'), {})) ***** test % dict cmd = 'd = dict(); d["a"] = 6; d["b"] = 10; return d,'; d = python_cmd (cmd); assert (d.a == 6 && d.b == 10) ***** test r = python_cmd ('return 6'); assert (isequal (r, 6)) ***** test r = python_cmd ('return "Hi"'); assert (strcmp (r, 'Hi')) ***** test % blank lines, lines with spaces a = python_cmd({ '', '', ' ', 'return 6', ' ', ''}); assert (isequal (a, 6)) ***** test % blank lines, strange comment lines cmd = {'a = 1', '', '#', '', '# ', ' #', 'a = a + 2', ' #', 'return a'}; a = python_cmd(cmd); assert (isequal (a, 3)) ***** test % return empty string (was https://bugs.python.org/issue25270) assert (isempty (python_cmd ('return ""'))) ***** test % return nothing (via an empty list) % note distinct from 'return [],' python_cmd('return []') ***** test % return nothing (because no return command) python_cmd('dummy = 1') ***** test % return nothing (because no command) python_cmd('') ***** test % return nothing (because no command) python_cmd({}) ***** error % python exception while passing variables to python % This tests the "INTERNAL_PYTHON_ERROR" path. % FIXME: this is a very specialized test, relies on internal octsympy % implementation details, and may need to be adjusted for changes. b = sym([], 'S.make_an_attribute_err_exception', [1 1], 'Test', 'Test', 'Test'); c = b + 1; Traceback (most recent call last): File "", line 4, in File "/usr/lib/python3/dist-packages/sympy/core/singleton.py", line 116, in __getattr__ name, self)) AttributeError: Attribute 'make_an_attribute_err_exception' was not installed on SymPy registry S ***** test % ...and after the above test, the pipe should still work a = python_cmd('return _ins[0]*2', 3); assert (isequal (a, 6)) ***** error % This command does not fail with native interface and '@pyobject' if (strcmp (sympref ('ipc'), 'native')) error ('does not know how to export type') else python_cmd({'return type(int)'}); end Traceback (most recent call last): File "", line 2, in File "", line 12, in octoutput_drv File "", line 99, in octoutput ValueError: octoutput does not know how to export type ***** test % ...and after the above test, the pipe should still work a = python_cmd('return _ins[0]*2', 3); assert (isequal (a, 6)) ***** test % complex input [A, B] = python_cmd ('z = 2*_ins[0]; return (z.real,z.imag)', 3+4i); assert (A, 6) assert (B, 8) ***** test % complex output z = python_cmd ('return 3+2j'); assert (z, 3+2i) ***** error s = char ('abc', 'defgh', '12345'); r = python_cmd ('return _ins[0]', s); ***** test r = python_cmd ('return len(_ins[0])', ''); assert (r == 0) 46 tests, 46 passed, 0 known failure, 0 skipped [inst/lambertw.m] >>>>> /build/octave-symbolic-2.7.1/inst/lambertw.m ***** assert (isequal (lambertw (0), 0)) ***** assert (isequal (lambertw (0, 0), 0)) ***** assert (lambertw (-1/exp(1)), -1, 2*eps) ***** assert (lambertw (0, -1/exp(1)), -1, 2*eps) ***** assert (lambertw (-1, -1/exp(1)), -1, 2*eps) ***** test x = [1 2 3 pi 10 100 1000 12345]; W = lambertw (x); assert (W.*exp (W), x, -3*eps) ***** test x = [1 2 3 pi 10 100 1000 12345]; k = [-3 -2 -1 0 1 2 3 4]; W = lambertw (k, x); assert (W.*exp (W), x, -10*eps) ***** test % input shape preserved x = [0 1; 2 3]; b = x; W = lambertw (b, x); assert (W.*exp (W), x, -10*eps) ***** test % input shape preserved x = [0 1; 2 3]; b = 0; W = lambertw (b, x); assert (W.*exp (W), x, -10*eps) ***** test % input shape preserved x = 10; b = [0 1; 2 3]; W = lambertw (b, x); assert (W.*exp (W), x*ones (size (b)), -10*eps) ***** assert (isnan (lambertw (nan))) ***** test % limiting behaviour as z large k = 3; A = lambertw (k, 1e100); assert (abs (imag (A) - 2*pi*k) < 0.1) ***** test % limiting behaviour as z large, up imag axis k = 1; A = lambertw (k, 1e100*1i); assert (abs (imag (A) - (2*k+0.5)*pi) < 0.1) ***** test % limiting behaviour as z large, down imag axis k = -2; A = lambertw (k, -1e100*1i); assert (abs (imag (A) - (2*k-0.5)*pi) < 0.1) ***** test % limiting behaviour as z large, near branch k = 3; A = lambertw (k, -1e100); B = lambertw (k, -1e100 + 1i); C = lambertw (k, -1e100 - 1i); assert (abs (imag (A) - (2*k+1)*pi) < 0.1) assert (abs (imag (B) - (2*k+1)*pi) < 0.1) assert (abs (imag (C) - (2*k-1)*pi) < 0.1) ***** test % infinities and nan A = lambertw ([inf exp(1) -inf nan]); B = [inf 1 inf + pi*1i nan]; assert (isequaln (A, B)) ***** test % infinities and nan A = lambertw (3, [inf 1 -inf nan]); B = [inf + 2*3*pi*1i lambertw(3,1) inf + (2*3+1)*pi*1i nan]; assert (isequaln (A, B)) ***** test % infinities and nan A = lambertw ([0 1 2 0], [inf -inf nan exp(1)]); B = [inf inf+3*pi*1i nan 1]; assert (isequaln (A, B)) ***** test % scalar infinity z, vector b A = lambertw ([1 2 -3], inf); B = [lambertw(1, inf) lambertw(2, inf) lambertw(-3, inf)]; assert (isequal (A, B)) ***** test % scalar -infinity z, vector b A = lambertw ([1 2 -3], -inf); B = [lambertw(1, -inf) lambertw(2, -inf) lambertw(-3, -inf)]; assert (isequal (A, B)) ***** test % scalar z nan, vector b A = lambertw ([1 2 -3], nan); B = [nan nan nan]; assert (isequaln (A, B)) 21 tests, 21 passed, 0 known failure, 0 skipped [inst/cell2sym.m] >>>>> /build/octave-symbolic-2.7.1/inst/cell2sym.m ***** test A = {1 2 3; 4 5 6}; B = [1 2 3; 4 5 6]; assert (isequal (cell2sym(A), sym(B))) ***** test A = {'a' 'b'; 'c' 10}; B = [sym('a') sym('b'); sym('c') sym(10)]; assert (isequal (cell2sym(A), B)) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/assume.m] >>>>> /build/octave-symbolic-2.7.1/inst/assume.m ***** error a = assume('a', 'real') ***** error assume positive integer ***** error assume x y ***** error assume x clear real ***** error assume a>0 ***** error assume 'x/pi' integer ***** test syms x assume x positive a = assumptions(x); assert(strcmp(a, 'x: positive')) assume x even a = assumptions(x); assert(strcmp(a, 'x: even')) ***** test % multiple assumptions syms x assume x positive integer [tilde, a] = assumptions(x, 'dict'); assert(a{1}.integer) assert(a{1}.positive) ***** test % does workspace syms x positive x2 = x; f = sin(x); assume x negative a = assumptions(x); assert(strcmp(a, 'x: negative')) a = assumptions(x2); assert(strcmp(a, 'x: negative')) a = assumptions(f); assert(strcmp(a, 'x: negative')) ***** error % does not create new variable x clear x assume x real ***** error % no explicit variable named x clear x f = 2*sym('x'); assume x real ***** test % clear does workspace syms x positive f = 2*x; assume x clear assert (isempty (assumptions (f))); assert (isempty (assumptions ())); ***** test syms x y f = sin (2*x); assume x y real assert (strcmp (assumptions (x), 'x: real')) assert (strcmp (assumptions (y), 'y: real')) assert (strcmp (assumptions (f), 'x: real')) ***** test syms x y f = sin (2*x); assume x y positive even assert (strcmp (assumptions (x), 'x: positive, even') || strcmp (assumptions (x), 'x: even, positive')) assert (strcmp (assumptions (y), 'y: positive, even') || strcmp (assumptions (y), 'y: even, positive')) assert (strcmp (assumptions (f), 'x: positive, even') || strcmp (assumptions (f), 'x: even, positive')) ***** test % works from variable names not symbols syms x y a = [x y]; assume a real assert (strcmp (assumptions (x), 'x: real')) assert (strcmp (assumptions (y), 'y: real')) ***** test % works from variable names not symbols y = sym('x'); f = 2*y; assume y real assert (strcmp (assumptions (f), 'x: real')) ***** test % matrix of symbols syms a b c d A = [a b; c d]; assume A real assert (strcmp (assumptions (a), 'a: real')) assert (strcmp (assumptions (b), 'b: real')) assert (strcmp (assumptions (c), 'c: real')) assert (strcmp (assumptions (d), 'd: real')) ***** test % assume after symfun clear x syms f(x) assume x real assert (~ isempty (assumptions (formula (f)))) assert (~ isempty (assumptions (argnames (f)))) 18 tests, 18 passed, 0 known failure, 0 skipped [inst/poly2sym.m] >>>>> /build/octave-symbolic-2.7.1/inst/poly2sym.m ***** shared x,y,a,b,c,p syms x y a b c p = x^3 + 2*x^2 + 3*x + 4; ***** assert(isAlways( poly2sym([1 2 3 4]) == p )) ***** assert(isAlways( poly2sym([1 2 3 4],x) == p )) ***** assert(isAlways( poly2sym([1 2 3 4],y) == subs(p,x,y) )) ***** assert(isAlways( poly2sym([1 2 3 4],5) == subs(p,x,5) )) ***** assert(isequal( poly2sym ([1]), 1 )) ***** assert(isequal( poly2sym ([]), 0 )) ***** assert(isAlways( poly2sym(sym([1 2 3 4]),x) == p )) ***** assert(isAlways( poly2sym([a b c],x) == a*x^2 + b*x + c )) ***** assert(isAlways( poly2sym([a b c]) == a*x^2 + b*x + c )) ***** assert(isequal( poly2sym(sym([])), 0 )) ***** assert(isAlways( poly2sym({sym(1) sym(2)}, x) == x + 2 )) ***** assert(isequal( poly2sym ({1}), 1 )) ***** assert(isequal( poly2sym ({}), 0 )) ***** assert(isequal( poly2sym ({1}, x), 1 )) ***** assert(isequal( poly2sym ({}, x), 0 )) ***** assert(isAlways( poly2sym([x x], x) == x^2 + x )) ***** test % mixed cell array with doubles and syms assert (isequal (poly2sym ({2.0 sym(3) int64(4)}), 2*x^2 + 3*x + 4)) ***** test % string for x p = poly2sym ([1 2], 's'); syms s assert (isequal (p, s + 2)) 18 tests, 18 passed, 0 known failure, 0 skipped [inst/catalan.m] >>>>> /build/octave-symbolic-2.7.1/inst/catalan.m ***** error catalan (sym(1)) ***** assert (double (catalan ()) > 0.915965594177) ***** assert (double (catalan ()) < 0.915965594178) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@double/cosint.m] >>>>> /build/octave-symbolic-2.7.1/inst/@double/cosint.m ***** test x = 1.1; y = sym(11)/10; A = cosint (x); B = double (cosint (y)); assert (A, B, -4*eps); ***** test y = [2 3 sym(pi); exp(sym(1)) 5 6]; x = double (y); A = cosint (x); B = double (cosint (y)); assert (A, B, -4*eps); ***** test % maple: % > A := [1+2*I, -2 + 5*I, 100, 10*I, -1e-4 + 1e-6*I, -20 + I]; % > for a in A do evalf(Ci(a)) end do; x = [1+2i; -2+5i; 100; 10i; -1e-4 + 1e-6*1i; -20-1i]; A = [ 2.0302963932917216378 - 0.15190715517585688438*1i 1.6153896382910774851 + 19.725754055338264980*1i -0.0051488251426104921444 1246.1144860424544147 + 1.5707963267948966192*1i -8.6330747120742332203 + 3.1315929869531280002*1i 0.069822228467306149311 - 3.1184744625477294643*1i ]; B = cosint (x); assert (A, B, -eps) ***** xtest % is it nan or -inf? SymPy says zoo. assert (isnan (cosint (0))) ***** assert (cosint (inf), 0) ***** assert (cosint (-inf), pi*1i, -eps) ***** assert (cosint (1), 0.33740392290096813466, -eps) ***** assert (cosint (-1), 0.33740392290096813466 + pi*1i, -eps) ***** assert (cosint (pi), 0.073667912046425485978, -5*eps) ***** assert (cosint (-pi), 0.07366791204642548597821 + pi*1i, -5*eps) ***** assert (cosint (300), -3.3321999185921117800e-3, -2*eps) ***** assert (cosint (1e4), -3.0551916724485212665e-5, -2*eps) ***** assert (cosint (1 + 1i), 0.8821721805559363250506+0.2872491335199559395273*1i, eps) ***** assert (cosint (1i), 0.8378669409802082408947 + pi/2*1i, -2*eps) ***** test % compare both sinint and cosint to expint x = pi; C1 = cosint (x); S1 = sinint (x); R = expint (1i*x); C2 = -real (R); S2 = imag (R) + pi/2; assert (C1, C2, -100*eps); assert (S1, S2, -100*eps); 15 tests, 15 passed, 0 known failure, 0 skipped [inst/@double/fresnels.m] >>>>> /build/octave-symbolic-2.7.1/inst/@double/fresnels.m ***** test x = 1.1; y = sym(11)/10; A = fresnels (x); B = double (fresnels (y)); assert (A, B, -4*eps); ***** test y = [2 3 sym(pi); exp(sym(1)) 5 6]; x = double (y); A = fresnels (x); B = double (fresnels (y)); assert (A, B, -4*eps); ***** test % maple: % > A := [1+2*I, -2 + 5*I, 100, 10*I, -1e-4 + 1e-6*I, -20 + I]; % > for a in A do evalf(FresnelS(a)) end do; x = [1+2i; -2+5i; 100; 10i; -1e-4 + 1e-6*1i; -20-1i]; A = [ 36.725464883991438430 + 15.587751104404587334*1i 0.12213736710980573217e13 - 0.47688568479924574726e12*1i 0.49681690114783755327 -0.46816997858488224040*1i -0.52344169596561937423e-12 + 0.15707439669173367248e-13*1i 0.75738824160998910399e24 + 0.15391592966931193100e26*1i ]; B = fresnels (x); assert (A, B, -eps) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@double/sinint.m] >>>>> /build/octave-symbolic-2.7.1/inst/@double/sinint.m ***** test x = 1.1; y = sym(11)/10; A = sinint (x); B = double (sinint (y)); assert (A, B, -4*eps); ***** test y = [2 3 sym(pi); exp(sym(1)) 5 6]; x = double (y); A = sinint (x); B = double (sinint (y)); assert (A, B, -4*eps); ***** assert (sinint (0), 0) ***** assert (sinint (inf), pi/2) ***** assert (sinint (-inf), -pi/2) ***** assert (sinint (1), 0.9460830703671830149414, -2*eps) ***** assert (sinint (-1), -0.9460830703671830149414, -2*eps) ***** assert (sinint (pi), 1.851937051982466170361, -2*eps) ***** assert (sinint (-pi), -1.851937051982466170361, -2*eps) ***** assert (sinint (300), 1.5708810882137495193, -2*eps) ***** assert (sinint (1e4), 1.5708915453859619157, -2*eps) ***** assert (sinint (20i), 1.2807826332028294459e7*1i, -2*eps) ***** test % maple: % > A := [1+2*I, -2 + 5*I, 100, 10*I, -1e-4 + 1e-6*I, -20 + I]; % > for a in A do evalf(Si(a)) end do; x = [1+2i; -2+5i; 100; 10i; -1e-4 + 1e-6*1i; -20-1i]; A = [ 1.6782404878293681180 + 2.0396845546022061045*1i -18.154174221650281533 + 1.6146414539230479060*1i 1.5622254668890562934 1246.1144901994233444*1i -0.000099999999944461111128 + 0.99999999833338888972e-6*1i -1.5386156269726011209 - 0.053969388020443786229*1i ]; B = sinint (x); assert (A, B, -eps) 13 tests, 13 passed, 0 known failure, 0 skipped [inst/@double/euler.m] >>>>> /build/octave-symbolic-2.7.1/inst/@double/euler.m ***** error euler (1, 2, 3) ***** error euler ([1 2], [1 2 3]) ***** error euler ([1 2], [1; 2]) ***** assert (isequal (euler (0), 1)) ***** assert (isequal (euler (1), 0)) ***** assert (isequal (euler (10), -50521)) ***** test n = sym(88); m = 88; A = euler (m); B = double (euler (n)); assert (A, B, -eps); ***** test m = [0 1; 2 4]; n = sym(m); A = euler (m); B = double (euler (n)); assert (isequal (A, B)); ***** test if (python_cmd('return Version(spver) > Version("1.1.1")')) y = sym(19)/10; n = sym(2); x = 1.9; m = 2; A = euler (m, x); B = double (euler (n, y)); assert (A, B, -eps); end ***** test if (python_cmd('return Version(spver) > Version("1.1.1")')) assert (isequal (euler (4, inf), inf)) assert (isequal (euler (4, -inf), inf)) assert (isequal (euler (3, inf), inf)) assert (isequal (euler (3, -inf), -inf)) assert (isnan (euler(3, nan))) assert (isnumeric (euler(3, nan))) end ***** test % maple, complex input if (python_cmd('return Version(spver) > Version("1.1.1")')) A = 113.33970046079423204 - 46.991080726974811540i; B = euler(7, 2.12345 + 1.23i); assert (A, B, -eps); end ***** test % maple, complex input, large m, small x if (python_cmd('return Version(spver) > Version("1.1.1")')) A = 0.18034673393294025238e276 + 0.27756266681280689172e276*i; B = euler (200, 0.123+0.234i); assert (A, B, -eps); end ***** test % x matrix, m scalar if (python_cmd('return Version(spver) > Version("1.1.1")')) y = [1 2 sym(pi); exp(sym(1)) 5 6]; n = sym(2); x = double (y); m = 2; A = euler (m, x); B = double (euler (n, y)); assert (A, B, -eps); end ***** test % m matrix, x scalar if (python_cmd('return Version(spver) > Version("1.1.1")')) m = [1 2 3; 4 5 6]; n = sym(m); y = sym(21)/10; x = 2.1; A = euler (m, x); B = double (euler (n, y)); assert (A, B, -3*eps); end 14 tests, 14 passed, 0 known failure, 0 skipped [inst/@double/chebyshevU.m] >>>>> /build/octave-symbolic-2.7.1/inst/@double/chebyshevU.m ***** error chebyshevU ([1 2], [1 2 3]) ***** error chebyshevU ([1 2], [1; 2]) ***** error chebyshevU (1, 2, 3) ***** error chebyshevU (1) ***** test y = sym(11)/10; t = sym(2); x = 1.1; s = 2; A = chebyshevU (s, x); B = double (chebyshevU (t, y)); assert (A, B, -2*eps); ***** test % maple A = 1.661891066691338157; B = chebyshevU (18.1, 0.9); assert (A, B, -3*eps) ***** test % maple, complex inputs> % ChebyshevU(12.1+3.1*I, 0.5+0.2*I); A = 1.046959313670290818 - 0.03386773634958834846*1i; B = chebyshevU (12.1+3.1*i, 0.5+0.2i); assert (A, B, -3*eps); ***** test % maple, matrix inputs A = [2.2543638828875776000 -1.3872651600553574400]; B = chebyshevU ([16 17], [0.9 0.8]); assert (A, B, -10*eps); ***** test % x matrix, s scalar y = [1 2 sym(pi); exp(sym(1)) 5 6]; t = sym(2); x = double (y); s = 2; A = chebyshevU (s, x); B = double (chebyshevU (t, y)); assert (A, B, -eps); ***** test % s matrix, x scalar t = [1 2 sym(pi); exp(sym(1)) 5 6]; y = sym(2); s = double (t); x = 2; A = chebyshevU (s, x); B = double (chebyshevU (t, y)); assert (A, B, -eps); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/@double/zeta.m] >>>>> /build/octave-symbolic-2.7.1/inst/@double/zeta.m ***** error zeta (1, 2, 3) ***** assert (isnan (zeta (nan))) ***** test x = 1.1; y = sym(11)/10; A = zeta (x); B = double (zeta (y)); assert (A, B, -4*eps); ***** test y = [2 3 sym(pi); exp(sym(1)) 5 6]; x = double (y); A = zeta (x); B = double (zeta (y)); assert (A, B, -4*eps); ***** test % maple: % > A := [1+2*I, -2 + 5*I, 100, 10*I, -1e-4 + 1e-6*I, -20 + I]; % > for a in A do evalf(Zeta(a)) end do; x = [1+2i; -2+5i; 100; 10i; -1e-4 + 1e-6*1i; -20-1i]; A = [ 0.59816556976238173670 - 0.35185474521784529050*1i 0.21425967567391921717 + 0.52503846985036050707*1i 1.0 1.7564685929749629608 - 0.10151198543617116894*1i -0.49990811617645824900 - 0.91873792757763831501e-6*1i 175.09070083717643866 - 71.512541417467273425*1i ]; B = zeta (x); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@double/logint.m] >>>>> /build/octave-symbolic-2.7.1/inst/@double/logint.m ***** test x = 1.1; y = sym(11)/10; A = logint (x); B = double (logint (y)); assert (A, B, -4*eps); ***** test y = [2 3 sym(pi); exp(sym(1)) 5 6]; x = double (y); A = logint (x); B = double (logint (y)); assert (A, B, -4*eps); ***** test % maple: % > A := [1+2*I, -2 + 5*I, 100, 10*I, -1e-4 + 1e-6*I, -20 + I]; % > for a in A do evalf(Li(a)) end do; x = [1+2i; -2+5i; 100; 10i; -1e-4 + 1e-6*1i; -20-1i]; A = [ 1.3876787420229375511 + 2.5087546988592328752*1i 1.6987684473874802274 + 4.5936366057115204667*1i 30.126141584079629926 3.4936715673748995398 + 5.5260023797127391973*1i 0.90264689772681592152e-5 + 3.1415953634267361942*1i -2.3996350854560916779 - 7.6971739096353664559*1i ]; B = logint (x); assert (A, B, -eps) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@double/bernoulli.m] >>>>> /build/octave-symbolic-2.7.1/inst/@double/bernoulli.m ***** error bernoulli (1, 2, 3) ***** error bernoulli ([1 2], [1 2 3]) ***** error bernoulli ([1 2], [1; 2]) ***** assert (bernoulli (0), 1) ***** assert (bernoulli (3), 0) ***** assert (bernoulli (1), -0.5, -eps) ***** test n = sym(88); m = 88; A = bernoulli (m); B = double (bernoulli (n)); assert (A, B, -eps); ***** xtest m = [0 1; 2 4]; n = sym(m); A = bernoulli (m); B = double (bernoulli (n)); assert (isequal (A, B)); ***** test y = sym(19)/10; n = sym(2); x = 1.9; m = 2; A = bernoulli (m, x); B = double (bernoulli (n, y)); assert (A, B, -eps); ***** xtest % these give nan, need upstream fix in sympy assert (isequal (bernoulli (4, inf), inf)) assert (isequal (bernoulli (4, -inf), inf)) assert (isequal (bernoulli (3, inf), inf)) assert (isequal (bernoulli (3, -inf), -inf)) !!!!! known failure assert (isequal (bernoulli (4, inf), inf)) failed ***** test assert (isnan (bernoulli(3, nan))) assert (isnumeric (bernoulli(3, nan))) ***** test % maple, complex input A = 34.21957245745810513 - 130.0046256649829101i; B = bernoulli(7, 2.123 + 1.234i); assert (A, B, -5*eps); ***** test % x matrix, m scalar y = [1 2 sym(pi); exp(sym(1)) 5 6]; n = sym(2); x = double (y); m = 2; A = bernoulli (m, x); B = double (bernoulli (n, y)); assert (A, B, -eps); ***** test % m matrix, x scalar m = [1 2 3; 4 5 6]; n = sym(m); y = sym(21)/10; x = 2.1; A = bernoulli (m, x); B = double (bernoulli (n, y)); assert (A, B, -3*eps); 14 tests, 13 passed, 1 known failure, 0 skipped [inst/@double/coshint.m] >>>>> /build/octave-symbolic-2.7.1/inst/@double/coshint.m ***** test x = 1.1; y = sym(11)/10; A = coshint (x); B = double (coshint (y)); assert (A, B, -4*eps); ***** test y = [2 3 sym(pi); exp(sym(1)) 5 6]; x = double (y); A = coshint (x); B = double (coshint (y)); assert (A, B, -4*eps); ***** test % maple: % > A := [1+2*I, -2 + 5*I, 100, 10*I, -1e-4 + 1e-6*I, -20 + I]; % > for a in A do evalf(Chi(a)) end do; x = [1+2i; -2+5i; 100; 10i; -1e-4 + 1e-6*1i; -20-1i]; A = [ 0.58447599687824767874 + 1.8682915044330306402*1i -0.63131069034703116988 + 1.8986171211850702957*1i 0.13577763724269399110e42 -0.045456433004455372635 + 1.5707963267948966192*1i -8.6330747070747332203 + 3.1315929868531280002*1i 0.74701205140887966531e7 + 0.10381444259644068585e8*1i ]; B = coshint (x); assert (A, B, -eps) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@double/chebyshevT.m] >>>>> /build/octave-symbolic-2.7.1/inst/@double/chebyshevT.m ***** error chebyshevT ([1 2], [1 2 3]) ***** error chebyshevT ([1 2], [1; 2]) ***** error chebyshevT (1, 2, 3) ***** error chebyshevT (1) ***** test y = sym(11)/10; t = sym(2); x = 1.1; s = 2; A = chebyshevT (s, x); B = double (chebyshevT (t, y)); assert (A, B, -2*eps); ***** test % maple A = -0.304681164165948269030369; B = chebyshevT (18.1, 0.9); assert (A, B, -10*eps) ***** test % maple, complex inputs % ChebyshevT(12.1+3.1*I, 0.5+0.2*I); A = 0.637229289490379273451 - 0.475324703778957991318*1i; B = chebyshevT (12.1+3.1*i, 0.5+0.2i); assert (A, B, -5*eps); ***** test % maple, matrix inputs A = [0.59523064198266880000 0.57727442996887552000]; B = chebyshevT ([16 17], [0.9 0.7]); assert (A, B, -10*eps); ***** test % x matrix, s scalar y = [1 2 sym(pi); exp(sym(1)) 5 6]; t = sym(2); x = double (y); s = 2; A = chebyshevT (s, x); B = double (chebyshevT (t, y)); assert (A, B, -eps); ***** test % s matrix, x scalar t = [1 2 sym(pi); exp(sym(1)) 5 6]; y = sym(2); s = double (t); x = 2; A = chebyshevT (s, x); B = double (chebyshevT (t, y)); assert (A, B, -eps); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/@double/sinhint.m] >>>>> /build/octave-symbolic-2.7.1/inst/@double/sinhint.m ***** test x = 1.1; y = sym(11)/10; A = sinhint (x); B = double (sinhint (y)); assert (A, B, -4*eps); ***** test y = [2 3 sym(pi); exp(sym(1)) 5 6]; x = double (y); A = sinhint (x); B = double (sinhint (y)); assert (A, B, -4*eps); ***** test % maple: % > A := [1+2*I, -2 + 5*I, 100, 10*I, -1e-4 + 1e-6*I, -20 + I]; % > for a in A do evalf(Shi(a)) end do; x = [1+2i; -2+5i; 100; 10i; -1e-4 + 1e-6*1i; -20-1i]; A = [ 0.45769171128668800567 + 1.8332099215048436239*1i 0.60888490416819746440 + 1.2482232175376056201*1i 0.13577763724269399110e42 1.6583475942188740493*1i -0.00010000000005553888891 + 0.10000000016666111119e-5*1i -0.74701205140887967022e7 - 0.10381447401236722090e8*1i ]; B = sinhint (x); assert (A, B, -eps) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@double/dilog.m] >>>>> /build/octave-symbolic-2.7.1/inst/@double/dilog.m ***** test x = 1.1; y = sym(11)/10; A = dilog (x); B = double (dilog (y)); assert (A, B, -4*eps); ***** test y = [2 2 sym(pi); exp(sym(1)) 5 6]; x = double (y); A = dilog (x); B = double (dilog (y)); assert (A, B, -eps); ***** test % maple: % > A := [1+2*I, -2 + 5*I, 100, 10*I, -1e-4 + 1e-6*I, -20 + I]; % > for a in A do evalf(dilog(a)) end do; x = [1+2i; -2+5i; 100; 10i; -1e-4 + 1e-6*1i; -20-1i]; A = [ -0.59248494924959145800 - 1.5760154034463234224*1i -1.0549087538833908441 - 3.8759788000863368495*1i -12.192421669033171348 -2.9195729380904939394 - 3.9540920181102973073*1i 1.6459519160623984119 - 0.00032335296277550987686*1i -1.5445800511775466879 + 9.4256034277816069684*1i ]; B = dilog (x); assert (A, B, -eps) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@double/harmonic.m] >>>>> /build/octave-symbolic-2.7.1/inst/@double/harmonic.m ***** test x = 1.1; y = sym(11)/10; A = harmonic (x); B = double (harmonic (y)); assert (A, B, -4*eps); ***** test y = [2 3 sym(pi); exp(sym(1)) 5 6]; x = double (y); A = harmonic (x); B = double (harmonic (y)); assert (A, B, -4*eps); 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@double/polylog.m] >>>>> /build/octave-symbolic-2.7.1/inst/@double/polylog.m ***** error polylog ([1 2], [1 2 3]) ***** error polylog ([1 2], [1; 2]) ***** error polylog (1, 2, 3) ***** error polylog (1) ***** test y = sym(11)/10; t = sym(2); x = 1.1; s = 2; A = polylog (s, x); B = double (polylog (t, y)); assert (A, B, -eps); ***** test % maple A = 2.3201804233130983964 - 3.4513922952232026614*1i; B = polylog (2, 3); assert (A, B, -eps) ***** test % maple, complex inputs A = -11.381456201167411758 + 6.2696695219721651947*1i; B = polylog (1+2i, 3+4i); assert (A, B, -eps); ***** test % maple, matrix inputs A1 = 0.47961557317612748431 - 0.52788287823025778869*1i; A2 = -0.0049750526563452645369 - 0.024579343612396884851*1i; B = polylog ([-1-2i -3], [30+40i 40i]); assert ([A1 A2], B, -eps); ***** test % x matrix, s scalar y = [1 2 sym(pi); exp(sym(1)) 5 6]; t = sym(2); x = double (y); s = 2; A = polylog (s, x); B = double (polylog (t, y)); assert (A, B, -eps); ***** test % s matrix, x scalar t = [1 2 sym(pi); exp(sym(1)) 5 6]; y = sym(2); s = double (t); x = 2; A = polylog (s, x); B = double (polylog (t, y)); assert (A, B, -eps); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/@double/fresnelc.m] >>>>> /build/octave-symbolic-2.7.1/inst/@double/fresnelc.m ***** test x = 1.1; y = sym(11)/10; A = fresnelc (x); B = double (fresnelc (y)); assert (A, B, -4*eps); ***** test y = [2 3 sym(pi); exp(sym(1)) 5 6]; x = double (y); A = fresnelc (x); B = double (fresnelc (y)); assert (A, B, -4*eps); ***** test % maple: % > A := [1+2*I, -2 + 5*I, 100, 10*I, -1e-4 + 1e-6*I, -20 + I]; % > for a in A do evalf(FresnelC(a)) end do; x = [1+2i; -2+5i; 100; 10i; -1e-4 + 1e-6*1i; -20-1i]; A = [ 16.087871374125480424 - 36.225687992881650217*1i 0.47688568479874574722e12 + 0.12213736710985573216e13*1i 0.49999989867881789756 0.49989869420551572361*1i -0.000099999999999999997535 + 0.99999999999999987665e-6*1i 0.15391592966931193100e26 - 0.75738824160998910388e24*1i ]; B = fresnelc (x); assert (A, B, -eps) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@double/pochhammer.m] >>>>> /build/octave-symbolic-2.7.1/inst/@double/pochhammer.m ***** error pochhammer ([1 2], [1 2 3]) ***** error pochhammer ([1 2], [1; 2]) ***** error pochhammer (1, 2, 3) ***** error pochhammer (1) ***** test y = sym(11)/10; t = sym(3); x = 1.1; s = 3; A = pochhammer (x, s); B = double (pochhammer (y, t)); assert (A, B, -2*eps); ***** test % maple A = 256.798558090310131720; B = pochhammer (18.1, 1.9); assert (A, B, -20*eps) ***** test % maple, complex inputs> A = 2.67921619474318221972 + 1.96716724764630702653*1i; B = pochhammer (12.1+3.1*i, 0.5+0.2i); assert (A, B, -4*eps); ***** test % maple, matrix inputs A = [5.61467232547723663908 20.6144884613920190965]; B = pochhammer ([0.9 0.8], [3.1 4.2]); assert (A, B, -3*eps); ***** xtest % broken upstream, https://github.com/sympy/sympy/issues/14822 % x matrix, s scalar y = [1 2 sym(pi); exp(sym(1)) 5 6]; t = sym(2); x = double (y); s = 2; A = pochhammer (s, x); B = double (pochhammer (t, y)); assert (A, B, -eps); !!!!! known failure ASSERT errors for: assert (A,B,-eps) Location | Observed | Expected | Reason (2,1) 15.8429 15.8429 Rel err 2.2425e-16 exceeds tol 2.2204e-16 by 2e-18 (1,3) 29.7701 29.7701 Rel err 2.3868e-16 exceeds tol 2.2204e-16 by 2e-17 ***** test % s matrix, x scalar t = [1 2 sym(pi); exp(sym(1)) 5 6]; y = sym(2); s = double (t); x = 2; A = pochhammer (s, x); B = double (pochhammer (t, y)); assert (A, B, -5*eps); 10 tests, 9 passed, 1 known failure, 0 skipped [inst/dirac.m] >>>>> /build/octave-symbolic-2.7.1/inst/dirac.m ***** assert (isinf (dirac (0))) ***** assert (dirac (1) == 0) ***** assert (isnan (dirac (nan))) ***** assert (isequaln (dirac ([-1 1 0 eps inf -inf nan]), [0 0 inf 0 0 0 nan])) ***** error dirac (1i) ***** assert (isa (dirac (single (0)), 'single')) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/vpa.m] >>>>> /build/octave-symbolic-2.7.1/inst/vpa.m ***** test a = vpa(0, 4); b = double(a); assert(b == 0) ***** test a = vpa(pi, 4); b = sin(a); assert(abs(double(b)) < 1e-4) ***** test % vpa from double is ok, doesn't warn (c.f., sym(2.3)) a = vpa(2.3); assert(true) ***** test % vpa from double not more than 16 digits a = vpa(sqrt(pi), 32); b = sin(a^2); assert(abs(double(b)) > 1e-20) assert(abs(double(b)) < 1e-15) ***** test a = vpa(sym(pi), 32); b = sin(a); assert(abs(double(b)) < 1e-30) ***** test a = vpa(sym(pi), 256); b = sin(a); assert(abs(double(b)) < 1e-256) ***** test % pi str a = vpa('pi', 32); b = sin(a); assert(abs(double(b)) < 1e-32) ***** test % pi str a = vpa('pi', 32); b = vpa(sym('pi'), 32); assert (double (a - b) == 0) ***** test spi = sym(pi); a = vpa(spi, 10); b = double(a); assert(~isAlways(spi == a)) ***** test % matrix of sym a = [sym(pi) 0; sym(1)/2 1]; b = [pi 0; 0.5 1]; c = vpa(a, 6); assert(max(max(abs(double(c)-b))) < 1e-6) ***** test % matrix of double b = [pi 0; 0.5 1]; c = vpa(b, 6); assert(max(max(abs(double(c)-b))) < 1e-6) ***** test % integer type a = vpa(int32(6), 64); b = vpa(6, 64); assert (isequal (a, b)) ***** test % matrix of int b = int32([pi 0; 6.25 1]); c = vpa(b, 6); assert (isequal (double(c), [3 0; 6 1])) ***** test % can pass pi directly to vpa a = vpa(sym(pi), 128); b = vpa(pi, 128); assert (isequal (a, b)) ***** test % if sym does sth special for e so should vpa a = vpa(sym(exp(1)), 64); b = vpa(exp(1), 64); assert (isequal (a, b)) ***** test % can pass pi directly to vpa, even in array a = vpa(sym([2 pi]), 128); b = vpa([2 pi], 128); assert (isequal (a, b)) ***** test % can pass i directly to vpa a = vpa(sym(i)); b = vpa(i); ***** test % 'i' and 'I' just make vars a = vpa(sym(1i)); b = vpa('i'); c = vpa('I'); assert (~isequal (a, b)) assert (~isequal (a, c)) ***** test % '1i' and '1j' strings a = vpa(sym(1i)); b = vpa('1i'); c = vpa('1j'); assert (isequal (a, b)) assert (isequal (a, c)) ***** test % Issue #868, precision loss on '0.33j' a = vpa('0.33j', 40); b = vpa('0.33i', 40); assert (double (abs (imag (a)*100/33) - 1) < 1e-39) assert (isequal (a, b)) ***** test % inf/-inf do not become symbol('inf') S = {'oo', '-oo', 'inf', 'Inf', '-inf', '+inf'}; for j = 1:length(S) a = vpa(S{j}); b = vpa(sym(S{j})); assert (isequal (a, b)) end ***** test a = vpa('2.3', 20); s = strtrim(disp(a, 'flat')); assert (strcmp (s, '2.3000000000000000000')) ***** test % these should *not* be the same a = vpa(2.3, 40); b = vpa('2.3', 40); sa = sympy (a); sb = sympy (b); assert (~isequal (a, b)) assert (abs(double(a - b)) > 1e-20) assert (abs(double(a - b)) < 1e-15) assert (~strcmp(sa, sb)) ***** test % these should *not* be the same x = vpa('1/3', 32); y = vpa(sym(1)/3, 32); z = vpa(1/3, 32); assert (isequal (x, y)) assert (~isequal (x, z)) ***** test % big integers a = int64(12345678); a = a*a; b = vpa(a); c = vpa('152415765279684'); assert (isequal (b, c)) ***** test % big integers (workaround poor num2str, works in 4.0?) a = int64(1234567891); a = a*a; b = vpa(a); c = vpa('1524157877488187881'); assert (isequal (b, c)) ***** warning vpa ('sqrt(2.0)'); ***** warning % https://github.com/sympy/sympy/issues/13425 a = vpa('2**0.5'); b = vpa(sqrt(sym(2))); assert (isequal (a, b)) ***** test a = vpa('2.3e1'); b = vpa(' 2.3e+1 '); assert (isequal (a, b)) a = vpa('21e-1'); b = vpa('2.1'); assert (isequal (a, b)) ***** test % Issue #859, operations on immutable matrices x = vpa (sym ([1 2])); % If vpa no longer makes an ImmutableDenseMatrix, % may need to adjust or remove this test. assert (~ isempty (strfind (sympy (x), 'Immutable'))) y = sin(x); y2 = [sin(vpa(sym(1))) sin(vpa(sym(2)))]; assert (isequal (y, y2)) 30 tests, 30 passed, 0 known failure, 0 skipped [inst/octsympy_tests.m] >>>>> /build/octave-symbolic-2.7.1/inst/octsympy_tests.m ***** assert(true) 1 test, 1 passed, 0 known failure, 0 skipped [inst/finiteset.m] >>>>> /build/octave-symbolic-2.7.1/inst/finiteset.m ***** test s1 = finiteset(sym(1), 2, 2); s2 = finiteset(sym(1), 2, 2, 2); assert (isequal (s1, s2)) ***** test s1 = finiteset(sym(0), 1); s2 = finiteset(sym(0), 2, 3); s = finiteset(sym(0), 1, 2, 3); assert (isequal (s1 + s2, s)) ***** test e = finiteset(); s = finiteset(sym(1)); s2 = e + s; assert (isequal (s, s2)) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/digits.m] >>>>> /build/octave-symbolic-2.7.1/inst/digits.m ***** test orig = digits(32); % to reset later m = digits(64); p = vpa(sym(pi)); assert (abs (double (sin(p))) < 1e-64) n = digits(m); assert (n == 64) p = vpa(sym(pi)); assert (abs (double (sin(p))) < 1e-32) assert (abs (double (sin(p))) > 1e-40) digits(orig) 1 test, 1 passed, 0 known failure, 0 skipped [inst/evalpy.m] >>>>> /build/octave-symbolic-2.7.1/inst/evalpy.m ***** test s = warning ('off', 'OctSymPy:deprecated'); x = 6; evalpy('y = 2*x;;', x); assert( y == 12 ) warning (s) ***** test s = warning ('off', 'OctSymPy:deprecated'); x = 6; evalpy('y = 2*x; x = 10; z = 3*x;;', x); assert( isequal( [x y z], [10 12 30] )) warning (s) ***** test s = warning ('off', 'OctSymPy:deprecated'); evalpy('_y = 42; x_ = 42'); assert( ~exist('_y', 'var')) assert( ~exist('x_', 'var')) warning (s) ***** test s = warning ('off', 'OctSymPy:deprecated'); evalpy('_y = "GNU Octave Rocks"; z = _y.split();;'); assert( iscell(z) ) assert( isequal (z, {'GNU', 'Octave','Rocks'} )) warning (s) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/fibonacci.m] >>>>> /build/octave-symbolic-2.7.1/inst/fibonacci.m ***** assert (isequal ( fibonacci (sym(0)), 0)) ***** assert (isequal ( fibonacci (sym(14)), sym(377))) ***** assert (isequal ( fibonacci (14), 377)) ***** test syms x assert (isequal (fibonacci (5,x), x^4 + 3*x^2 + 1)) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/jordan.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/jordan.m ***** test % basic A = sym ([2 1 0 0; 0 2 1 0; 0 0 3 0; 0 1 -1 3]); [V, J] = jordan (A); assert (isequal (inv (V) * A * V, J)); assert (isequal (J, sym ([2 1 0 0; 0 2 0 0; 0 0 3 0; 0 0 0 3]))) % the first 2 generalized eigenvectors form a cycle assert (isequal ((A - J(1, 1) * eye (4)) * V(:, 1), zeros (4, 1))); assert (isequal ((A - J(2, 2) * eye (4)) * V(:, 2), V(:, 1))); % the last 2 generalized eigenvectors are eigenvectors assert (isequal ((A - J(3, 3) * eye (4)) * V(:, 3), zeros (4, 1))); assert (isequal ((A - J(4, 4) * eye (4)) * V(:, 4), zeros (4, 1))); ***** test % scalars assert (isequal (jordan (sym (-10)), sym (-10))); assert (isequal (jordan (sym ('x')), sym ('x'))); ***** test % diagonal matrices A = diag (sym ([6 6 7])); [V1, D] = eig (A); [V2, J] = jordan (A); assert (isequal (V1, V2)); assert (isequal (D, J)); ***** test % matrices of unknown entries A = [sym('a') sym('b'); sym('c') sym('d')]; [V, D] = eig (A); J = jordan (A); assert (isequal (simplify (D), simplify (J))); ***** test % matrices of mixed entries A = [sym('x')+9 sym('y'); sym(0) 6]; [V, D] = eig (A); J = jordan (A); assert (isequal (simplify (D), simplify (J))); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/heaviside.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/heaviside.m ***** error heaviside (sym(1), 2, 3) ***** assert (isequal (heaviside (sym(1)), sym(1))) ***** assert (isequal (heaviside (-sym(1)), sym(0))) ***** assert (double (heaviside (1)), heaviside (1)) ***** test D = [1 -1; -10 20]; A = sym(D); assert (double (heaviside (A)), heaviside (D)) ***** test if (python_cmd ('return Version(spver) <= Version("1.0")')) disp ('skipping test, sympy too old') else H0 = sym([1 -2 0; 3 0 pi]); A = heaviside (sym(0), H0); assert (isequal (A, H0)) end ***** test if (python_cmd ('return Version(spver) > Version("1.0")')) A = heaviside ([-1 0 1], sym(1)/2); assert (isequal (A, [0 sym(1)/2 1])) end ***** test if (python_cmd ('return Version(spver) > Version("1.0")')) A = heaviside ([-1 0 1], sym(1)/2); assert (isequal (A, [0 sym(1)/2 1])) end ***** assert (isequaln (heaviside (sym(nan)), sym(nan))) ***** test if (python_cmd ('return Version(spver) > Version("1.0")')) assert (isequaln (heaviside (sym(nan), sym(nan)), sym(nan))) assert (isequaln (heaviside (0, sym(nan)), sym(nan))) assert (isequaln (heaviside (2, sym(nan)), sym(1))) assert (isequaln (heaviside (-2, sym(nan)), sym(0))) end ***** test % round trip syms x A = heaviside (1); f = heaviside (x); h = function_handle (f); B = h (1); assert (A, B, -eps) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) syms x h0 f = heaviside (x, h0); h = function_handle (f, 'vars', {x h0}); A = heaviside (1, 1/2); B = h (1, 1/2); assert (A, B, -eps) A = heaviside (0, 1/2); B = h (0, 1/2); assert (A, B, -eps) end 12 tests, 12 passed, 0 known failure, 0 skipped [inst/@sym/mrdivide.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/mrdivide.m ***** test % scalar syms x assert (isa( x/x, 'sym')) assert (isequal( x/x, sym(1))) assert (isa( 2/x, 'sym')) assert (isa( x/2, 'sym')) ***** test % matrix / scalar D = 2*[0 1; 2 3]; A = sym(D); assert (isequal ( A/2 , D/2 )) assert (isequal ( A/sym(2) , D/2 )) ***** test % I/A: either invert A or leave unevaluated: not bothered which A = sym([1 2; 3 4]); B = sym(eye(2)) / A; assert (isequal (B, inv(A)) || strncmpi (sympy (B), 'MatPow', 6)) ***** xtest % immutable test, upstream: TODO A = sym([1 2; 3 4]); B = sym('ImmutableDenseMatrix([[Integer(1), Integer(2)], [Integer(3), Integer(4)]])'); assert (isequal (A/A, B/B)) !!!!! known failure Python exception: NotImplementedError occurred at line 1 of the Python code block: return _ins[0]/_ins[1], ***** test % A = C/B is C = A*B A = sym([1 2; 3 4]); B = sym([1 3; 4 8]); C = A*B; A2 = C / B; assert (isequal (A, A2)) ***** test A = [1 2; 3 4]; B = A / A; % assert (isequal (B, sym(eye(2)) assert (isequal (B(1,1), 1)) assert (isequal (B(2,2), 1)) assert (isequal (B(2,1), 0)) assert (isequal (B(1,2), 0)) ***** test A = sym([5 6]); B = sym([1 2; 3 4]); C = A*B; A2 = C / B; assert (isequal (A, A2)) 7 tests, 6 passed, 1 known failure, 0 skipped [inst/@sym/dawson.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/dawson.m ***** test if (exist ('OCTAVE_VERSION', 'builtin')) % dawson missing on Matlab, Issue #742 A = dawson([1 2]); B = double(dawson(sym([1 2]))); assert(A, B, -eps) end 1 test, 1 passed, 0 known failure, 0 skipped [inst/@sym/findsym.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/findsym.m ***** assert (strcmp (findsym (sym(2)), '')); ***** shared x,y,f x=sym('x'); y=sym('y'); f=x^2+3*x*y-y^2; ***** assert (strcmp (findsym (f), 'x,y')); ***** assert (strcmp (findsym (f,1), 'x')); ***** test % test order of returned vars syms x y a b c xx % https://www.mathworks.com/matlabcentral/newsreader/view_thread/237730 alpha = sym('alpha'); assert (strcmp (findsym(b*xx*exp(alpha) + c*sin(a*y), 2), 'xx,y')) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/uminus.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/uminus.m ***** test % scalar syms x assert (isa (-x, 'sym')) assert (isequal (-(-x), x)) ***** test % matrix D = [0 1; 2 3]; A = sym(D); assert( isequal( -A, -D )) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/degree.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/degree.m ***** error degree (sym(1), 2, 3) ***** test syms x assert (isequal (degree(x^3), 3)) assert (isequal (degree(x^3 + 6), 3)) ***** test % specify variable syms x y p = x^2 + y*x + 1; assert (isequal (degree(p), 2)) assert (isequal (degree(p, x), 2)) assert (isequal (degree(p, y), 1)) ***** test syms x a oo assert (isequal (degree(x^3, a), 0)) assert (isequal (degree(sym(1), a), 0)) assert (isequal (degree(sym(0), a), -oo)) ***** xtest % constant inputs syms oo assert (isequal (degree(sym(1)), 0)) assert (isequal (degree(sym(0)), -oo)) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/colon.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/colon.m ***** test a = sym(1):5; b = sym(1:5); assert(isequal(a,b)); a = 1:sym(5); b = sym(1:5); assert(isequal(a,b)); ***** test a = 2:sym(2):8; b = sym(2:2:8); assert(isequal(a,b)); ***** test a = sym(10):-2:-4; b = sym(10:-2:-4); assert(isequal(a,b)); ***** test % symbolic intervals p = sym(pi); L = 0:p/4:p; assert(isa(L,'sym')); assert(isequal(L, [0 p/4 p/2 3*p/4 p])); ***** test % mixed symbolic and double intervals p = sym(pi); s = warning ('off', 'OctSymPy:sym:rationalapprox'); L = 0.1:(sym(pi)/3):2.3; warning(s) assert(isa(L,'sym')); t = sym(1)/10; assert(isequal(L, [t p/3+t 2*p/3+t])); ***** error syms x; a = 0:x; ***** error syms x; a = 1:x; 7 tests, 7 passed, 0 known failure, 0 skipped [inst/@sym/tan.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/tan.m ***** error tan (sym(1), 2) ***** assert (isequaln (tan (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = tan(x); f2 = tan(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = tan(A); f2 = tan(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = tan (d); f = tan (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/jacobian.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/jacobian.m ***** shared x,y,z syms x y z ***** test % 1D f = x^2; assert (isequal (jacobian(f), diff(f,x))) assert (isequal (jacobian(f,{x}), diff(f,x))) assert (isequal (jacobian(f,x), diff(f,x))) ***** test % const f = sym(1); g = sym(0); assert (isequal (jacobian(f), g)) assert (isequal (jacobian(f,x), g)) ***** test % double const f = 1; g = sym(0); assert (isequal (jacobian(f,x), g)) ***** test % diag f = [x y^2]; g = [sym(1) 0; 0 2*y]; assert (isequal (jacobian(f), g)) assert (isequal (jacobian(f, [x y]), g)) assert (isequal (jacobian(f, {x y}), g)) ***** test % anti-diag f = [y^2 x]; g = [0 2*y; sym(1) 0]; assert (isequal (jacobian(f), g)) assert (isequal (jacobian(f, {x y}), g)) ***** test % shape f = [x y^2]; assert (isequal (size(jacobian(f, {x y z})), [2 3])) assert (isequal (size(jacobian(f, [x y z])), [2 3])) assert (isequal (size(jacobian(f, [x; y; z])), [2 3])) assert (isequal (size(jacobian(f.', {x y z})), [2 3])) ***** test % scalar f f = x*y; assert (isequal (size(jacobian(f, {x y})), [1 2])) g = gradient(f, {x y}); assert (isequal (jacobian(f, {x y}), g.')) ***** test % vect f wrt 1 var f = [x x^2]; assert (isequal (size(jacobian(f, x)), [2 1])) f = f.'; % same shape output assert (isequal (size(jacobian(f, x)), [2 1])) ***** error jacobian([sym(1) 2; sym(3) 4]) ***** error jacobian(sym(1), 2, 3) 10 tests, 10 passed, 0 known failure, 0 skipped [inst/@sym/ipermute.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ipermute.m ***** error permute (sym(1)) ***** test syms x A = [1 x]; perm = [2 1]; B = permute(A, perm); C = ipermute(B, perm); assert (isequal(C, A)) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/norm.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/norm.m ***** assert (isequal (norm(sym(-6)), 6)) ***** test % 2-norm default A = [1 2; 3 4]; n1 = norm (sym (A)); assert (isequal (n1, sqrt (sqrt (sym(221)) + 15))) assert (norm (A), double (n1), -eps) ***** test syms x y real assert (isequal (norm([x 1; 3 y], 'fro'), sqrt(x^2 + y^2 + 10))) ***** test syms x real assert (isequal (norm([x 1], 2), sqrt(x^2 + 1))) ***** test % test sym vs double ord syms x assert (isequal (norm([x 2 1], 1), abs(x) + 3)) assert (isequal (norm([x 2 1], sym(1)), abs(x) + 3)) assert (isequal (norm([sym(-3) 2 1], inf), sym(3))) assert (isequal (norm([sym(-3) 2 1], sym(inf)), sym(3))) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/setdiff.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/setdiff.m ***** test A = sym([1 2 3]); B = sym([1 2 4]); C = setdiff(A, B); D = sym([3]); assert (isequal (C, D)) ***** test % one nonsym A = sym([1 2 3]); B = [1 2 4]; C = setdiff(A, B); D = sym([3]); assert (isequal (C, D)) ***** test % empty A = sym([1 2 3]); C = setdiff(A, A); assert (isempty (C)) ***** test % empty input A = sym([1 2]); C = setdiff(A, []); assert (isequal (C, A) || isequal (C, sym([2 1]))) ***** test % scalar syms x assert (isequal (setdiff([x 1], x), sym(1))) assert (isempty (setdiff(x, x))) ***** test A = interval(sym(1), 3); B = interval(sym(2), 5); C = setdiff(A, B); assert( isequal( C, interval(sym(1), 2, false, true))) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@sym/isnan.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/isnan.m ***** shared x,zoo,oo,snan oo = sym(inf); zoo = sym('zoo'); x = sym('x'); snan = sym(nan); ***** test % various ops that give nan assert (isnan(0*oo)) assert (isnan(0*zoo)) assert (isnan(snan)) assert (isnan(snan-snan)) assert (isnan(oo+snan)) assert (isnan(oo-oo)) assert (isnan(oo-zoo)) assert (isnan(oo+zoo)) assert (~isnan(oo)) assert (~isnan(zoo)) assert (~isnan(oo+oo)) ***** test % more ops give nan assert(isnan(x+snan)) assert(isnan(x*snan)) assert(isnan(0*snan)) assert(isnan(x+nan)) assert(isnan(x*nan)) assert(isnan(sym(0)*nan)) ***** test % array assert (isequal( isnan([oo zoo]), [0 0] )) assert (isequal( isnan([10 snan]), [0 1] )) assert (isequal( isnan([snan snan]), [1 1] )) assert (isequal( isnan([snan x]), [1 0] )) ***** test % sub in to algebraic expression gives nan y = x - oo; y = subs(y, x, oo); assert(isnan(y)) ***** test % Must not contain string 'symbol'; these all should make an % actual nan. Actually a ctor test, not isnan. y = sym(nan); assert (isempty (strfind (sympy (y), 'Symbol'))) y = sym('nan'); assert (isempty (strfind (sympy (y), 'Symbol'))) y = sym('NaN'); assert (isempty( strfind (sympy (y), 'Symbol'))) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/coeffs.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/coeffs.m ***** error coeffs (sym(1), 2, 3, 4) ***** error coeffs (sym(1), 2, 'al') ***** error coeffs (sym(1), 'al') ***** test % simple syms x [c, t] = coeffs(6*x*x + 27); assert (isequal (c, [6 27])) assert (isequal (t, [x*x 1])) ***** test % specify a variable syms x [c, t] = coeffs(6*x*x + 27, x); assert (isequal (c, [6 27])) assert (isequal (t, [x*x 1])) ***** test % specify another variable syms x y [c, t] = coeffs(6*x + 27, y); assert (isequal (c, 6*x + 27)) assert (isequal (t, 1)) ***** test % weird SMT order syms x a1 = [27 6]; a2 = [6 27]; c = coeffs(6*x*x + 27); assert (isequal (c, a1)) coeffs(6*x*x + 27); assert (isequal (ans, a1)) [c, t] = coeffs(6*x*x + 27); assert (isequal (c, a2)) ***** test % no weird order with "all" syms x c = coeffs(6*x*x + 27, 'all'); assert (isequal (c, [6 0 27])) ***** test % "all" syms x [c, t] = coeffs(6*x*x + 27, 'all'); assert (isequal (c, [6 0 27])) assert (isequal (t, [x^2 x 1])) ***** test % "All" syms x [c, t] = coeffs(6*x, 'All'); assert (isequal (c, [6 0])) assert (isequal (t, [x 1])) ***** test % multivariable array syms x y [c, t] = coeffs(6*x*x + 27*y*x + 36, [x y]); a = [6 27 36]; s = [x^2 x*y 1]; assert (isequal (c, a)) assert (isequal (t, s)) % with list [c, t] = coeffs(6*x*x + 27*y*x + 36, {x y}); assert (isequal (c, a)) assert (isequal (t, s)) ***** test % other symbols treated as part of coeffs syms x y [c, t] = coeffs(6*x*x + 27*y*x + 36, x); a = [6 27*y 36]; s = [x^2 x 1]; assert (isequal (c, a)) assert (isequal (t, s)) ***** error % TODO: multivariate all not working (https://github.com/cbm755/octsympy/issues/720) syms x y [c, t] = coeffs(6*x^2 + 7*y + 19, [x y], 'all'); ***** test % empty same as not specifying; maybe not SMT compatible: % https://github.com/cbm755/octsympy/pull/708#discussion_r94292831 syms x y [c, t] = coeffs(6*x*x + 27*y*x + 36, {}); a = [6 27 36]; assert (isequal (c, a)) [c, t] = coeffs(6*x*x + 27*y*x + 36); assert (isequal (c, a)) ***** test % no input defaults to all symbols (not symvar to get x) syms x y [c, t] = coeffs(6*x*x + 27*y*x + 36); assert (isequal (c, [6 27 36])) ***** test % non sym input syms x assert (isequal (coeffs(6, x), sym(6))) ***** test % constant input without x assert (isequal (coeffs(sym(6)), sym(6))) ***** test % constant input without x assert (isequal (coeffs (sym(6), {}), sym(6))) % irrational coefficients syms x f = x^2 + sqrt(sym(2))*x; [c1, t1] = coeffs (f); [c2, t2] = coeffs (f, x); assert (isequal (c1, c2)) assert (isequal (t1, t2)) 18 tests, 18 passed, 0 known failure, 0 skipped [inst/@sym/solve.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/solve.m ***** test % Simple, single variable, single solution syms x d = solve(10*x == 50); assert (isequal (d, 5)) ***** test % Single variable, multiple solutions syms x d = solve(x^2 == 4); assert (length(d) == 2); assert (isequal (d, [2; -2]) || isequal (d, [-2; 2])) ***** shared x,y,eq syms x y eq = 10*x == 20*y; ***** test d = solve(eq, x); assert (isequal (d, 2*y)) ***** test d = solve(eq, y); assert (isequal (d, x/2)) ***** test d = solve(eq); assert (isequal (d, 2*y)) ***** shared x,y syms x y ***** test d = solve(2*x - 3*y == 0, x + y == 1); assert (isequal (d.x, sym(3)/5) && isequal(d.y, sym(2)/5)) ***** test d = solve(2*x - 3*y == 0, x + y == 1, x, y); assert (isequal (d.x, sym(3)/5) && isequal(d.y, sym(2)/5)) ***** test % Multiple solutions, multiple variables d = solve(x^2 == 4, x + y == 1); assert (length(d) == 2); % FIXME: SMT has d.x gives vector and d.y giving vector, what is % more intuitive? for i = 1:2 assert (isequal (d{i}.x + d{i}.y, 1)) assert (isequal ((d{i}.x)^2, 4)) end ***** test % No solutions syms x y z d = solve(x == y, z); assert (isempty (d)); ***** test % Multiple outputs with single solution [X, Y] = solve(2*x + y == 5, x + y == 3); assert (isequal (X, 2)) assert (isequal (Y, 1)) ***** test % system: vector of equations, vector of vars [X, Y] = solve([2*x + y == 5, x + y == 3], [x y]); assert (isequal (X, 2)) assert (isequal (Y, 1)) ***** test % system: vector of equations, individual vars [X, Y] = solve([2*x + y == 5, x + y == 3], x, y); assert (isequal (X, 2)) assert (isequal (Y, 1)) ***** test % system: individual equations, vector of vars [X, Y] = solve(2*x + y == 5, x + y == 3, [x y]); assert (isequal (X, 2)) assert (isequal (Y, 1)) ***** test % Multiple outputs with multiple solns [X, Y] = solve(x*x == 4, x == 2*y); assert ((isequal (X, [2; -2]) && isequal (Y, [1; -1])) || ... (isequal (X, [-2; 2]) && isequal (Y, [-1; 1]))) ***** test % Multiple outputs with multiple solns, specify vars [X, Y] = solve(x*x == 4, x == 2*y, x, y); assert ((isequal (X, [2; -2]) && isequal (Y, [1; -1])) || ... (isequal (X, [-2; 2]) && isequal (Y, [-1; 1]))) ***** error % mult outputs not allowed for scalar equation, even with mult soln (?) [s1, s2] = solve(x^2 == 4, x); ***** test % overdetermined X = solve(2*x - 10 == 0, 3*x - 15 == 0, x); assert (isequal (X, sym(5))) ***** test a = solve(2*x >= 10, 10*x <= 50); assert (isequal( a, x==sym(5))) ***** test A = solve([2*x == 4*y, 2 == 3], x); assert (isequal (A, sym(false))) ***** test % Issue #850 if (python_cmd('return Version(spver) > Version("1.1.1")')) A = solve (sym(pi)^2*x + y == 0); assert (isequal (A, -y/sym(pi)^2)) end ***** test % https://github.com/sympy/sympy/issues/14632 A = solve([2*x == 4*y, sym(2) == 2], x); assert (isequal (A, 2*y)) ***** test % https://github.com/sympy/sympy/issues/14632 A = solve([2*x^2 == 32*y^2, sym(2) == 2], x); B = solve([2*x^2 == 32*y^2], x); assert (isequal (A, B) || isequal (A, flip (B))) ***** test A = solve ([x+1 0], x); assert (isequal (A, sym (-1))) ***** test A = solve (x + 1, x); assert (isequal (A, sym (-1))) A = solve (x, x); assert (isequal (A, sym (0))) 24 tests, 24 passed, 0 known failure, 0 skipped [inst/@sym/eig.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/eig.m ***** test % basic A = [1 2; 3 4]; B = sym(A); sd = eig(A); s = eig(B); s2 = double(s); assert (norm(sort(s2) - sort(sd)) <= 10*eps) ***** test % scalars syms x a = sym(-10); assert (isequal (eig(a), a)) assert (isequal (eig(x), x)) ***** test % diag, multiplicity A = diag([6 6 7]); B = sym(A); e = eig(B); assert (isequal (size (e), [3 1])) assert (sum(logical(e == 6)) == 2) assert (sum(logical(e == 7)) == 1) ***** test % matrix with symbols syms x y positive A = [x+9 y; sym(0) 6]; s = eig(A); s = simplify(s); assert (isequal (s, [x+9; 6]) || isequal (s, [6; x+9])) ***** test % eigenvects e = sym([5 5 5 6 7]); A = diag(e); [V, D] = eig(A); assert (isequal (diag(D), e.')) assert (isequal (V, diag(sym([1 1 1 1 1])))) ***** test % alg/geom mult, eigenvects e = sym([5 5 5 6]); A = diag(e); A(1,2) = 1; [V, D] = eig(A); assert (isequal (diag(D), e.')) assert (sum(logical(V(1,:) ~= 0)) == 2) assert (sum(logical(V(2,:) ~= 0)) == 0) assert (sum(logical(V(3,:) ~= 0)) == 1) assert (sum(logical(V(4,:) ~= 0)) == 1) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@sym/acoth.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/acoth.m ***** error acoth (sym(1), 2) ***** assert (isequaln (acoth (sym(nan)), sym(nan))) ***** shared x, d d = 2; x = sym('2'); ***** test f1 = acoth(x); f2 = acoth(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = acoth(A); f2 = acoth(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = acoth (d); f = acoth (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/rows.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/rows.m ***** test a = sym([1 2 3]); assert (rows(a) == 1) ***** test a = sym([1 2 3; 4 5 6]); assert (rows(a) == 2) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/ismatrix.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ismatrix.m ***** assert(ismatrix(sym('x'))) ***** assert(ismatrix(sym([1 2 3]))) ***** assert(ismatrix(sym([1; 2]))) ***** assert(ismatrix(sym([1 2; 3 4]))) ***** assert(ismatrix(sym([]))) ***** assert(ismatrix(sym(ones(1,0)))) ***** assert(ismatrix(sym(ones(0,3)))) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/@sym/svd.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/svd.m ***** test % basic A = [1 2; 3 4]; B = sym(A); sd = svd(A); s = svd(B); s2 = double(s); assert (norm(s2 - sd) <= 10*eps) ***** test % scalars syms x syms y positive a = sym(-10); assert (isequal (svd(a), sym(10))) assert (isequal (svd(x), sqrt(x*conj(x)))) assert (isequal (svd(y), y)) ***** test % matrix with symbols syms x positive A = [x+1 0; sym(0) 2*x+1]; s = svd(A); s2 = subs(s, x, 2); assert (isequal (s2, [sym(5); 3])) ***** test % matrix with symbols syms x positive A = [x+1 0; sym(0) 2*x+1]; s = svd(A); s2 = subs(s, x, 2); assert (isequal (s2, [sym(5); 3])) ***** test % matrix with symbols, nonneg sing values syms x real A = [x 0; 0 sym(-5)]; s = svd(A); assert (isequal (s, [abs(x); 5])) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/ellipticCE.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ellipticCE.m ***** error ellipticCE (sym (1), 2) ***** assert (isequal (ellipticCE (sym (0)), sym (1))) ***** assert (isequal (ellipticCE (sym (1)), sym (pi)/2)) ***** assert (double (ellipticCE (sym (pi)/4)), 1.482786927, 10e-10) ***** assert (double (ellipticCE (sym (pi)/2)), 1.775344699, 10e-10) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/besselh.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/besselh.m ***** test % default to k=1 syms z a A = besselh(a, z); B = besselh(a, 1, z); assert (isequal (A, B)) ***** error besselh(sym('z')) ***** error besselh(2, 0, sym('z')) ***** error besselh(2, 3, sym('z')) ***** test % doubles, relative error X = [1 2 pi; 4i 5 6+6i]; Xs = sym(X); Alpha = [pi 3 1; 3 2 0]; Alphas = sym(Alpha); for k = 1:2 A = double(besselh(Alphas, k, Xs)); B = besselh(Alpha, k, X); assert (all (all (abs(A - B) < 10*eps*abs(A)))) end ***** test % round-trip syms x for k = 1:2 A = besselh(4, k, 10); q = besselh(4, k, x); h = function_handle(q); B = h(10); assert (abs(A - B) <= eps*abs(A)) end 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@sym/symvar.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/symvar.m ***** error symvar (sym(1), 2, 3) ***** test %% some empty cases assert (isempty (symvar (sym(1)))); assert (isempty (symvar (sym(1),1))); assert (isempty (symvar (sym(1),0))); assert (isempty (symvar (sym('x'),0))); ***** shared x,y,f x=sym('x'); y=sym('y'); f=x^2+3*x*y-y^2; ***** assert (isequal (symvar (f), [x y])); ***** assert (isequal (symvar (f, 1), x)); ***** test %% closest to x syms x y a b c xx alpha = sym('alpha'); % https://www.mathworks.com/matlabcentral/newsreader/view_thread/237730 assert( isequal (symvar (b*xx*exp(alpha) + c*sin(a*y), 2), [xx y])) %% tests to match Matlab R2013b ***** shared x,y,z,a,b,c,X,Y,Z syms x y z a b c X Y Z ***** test %% X,Y,Z first if no 2nd argument s = prod([x y z a b c X Y Z]); assert (isequal( symvar (s), [X Y Z a b c x y z] )) ***** test %% uppercase have *low* priority with argument? s = prod([x y z a b c X Y Z]); assert (isequal (symvar (s,4), [x, y, z, c] )) ***** test %% closest to x s = prod([y z a b c Y Z]); assert (isequal( symvar (s,6), [ y, z, c, b, a, Y] )) s = prod([a b c Y Z]); assert (isequal( symvar (s,4), [ c, b, a, Y] )) ***** test %% upper case letters in correct order s = X*Y*Z; assert (isequal( symvar (s,3), [X Y Z] )) ***** test % diff. assumptions make diff. symbols x1 = sym('x'); x2 = sym('x', 'positive'); f = x1*x2; assert (length (symvar (f)) == 2) z = symvar (f, 1); assert (xor (isequal (z, x1), isequal (z, x2))) 10 tests, 10 passed, 0 known failure, 0 skipped [inst/@sym/asinh.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/asinh.m ***** error asinh (sym(1), 2) ***** assert (isequaln (asinh (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = asinh(x); f2 = asinh(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = asinh(A); f2 = asinh(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = asinh (d); f = asinh (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/ellipticCK.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ellipticCK.m ***** error ellipticCK (sym (1), 2) ***** assert (double (ellipticCK (sym (1)/2)), 1.8541, 10e-5) ***** assert (double (ellipticCK (sym (101)/10)), 0.812691836806976, -3*eps) ***** assert (isequal (ellipticCK (sym (1)), sym(pi)/2)) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/atand.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/atand.m ***** error atand (sym(1), 2) ***** assert (isequaln (atand (sym(nan)), sym(nan))) ***** test f1 = atand (sym(1)/2); f2 = atand (1/2); assert (double (f1), f2, -eps) ***** test D = [1 2; 3 4]/4; A = sym([1 2; 3 4])/4; f1 = atand (A); f2 = atand (D); assert (double (f1), f2, -eps) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/all.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/all.m ***** test % matrix a = [0 3; 1 2]; s = sym (a); assert (isequal (all (s), all (a))) assert (isequal (all (s,1), all (a,1))) assert (isequal (all (s,2), all (a,2))) ***** test % vector a = [1 2 3]; s = sym (a); assert (isequal (all (s), all (a))) assert (isequal (all (s,1), all (a,1))) assert (isequal (all (s,2), all (a,2))) ***** test % should fail on symbols syms x s = [1 2 x]; try all (s) waserr = false; catch waserr = true; end assert (waserr) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/children.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/children.m ***** test % basics, sum syms x y f = 2*x + x*x + sin(y); assert (isempty (setxor (children(f), [2*x x*x sin(y)]))) ***** test % basics, product syms x y f = 2*x*sin(y); assert (isempty (setxor (children(f), [2 x sin(y)]))) ***** test % basics, product and powers syms x y f = 2*x^2*y^3; assert (isempty (setxor (children(f), [2 x^2 y^3]))) ***** test % eqn, ineq syms x y lhs = 2*x^2; rhs = y^3 + 7; assert (isequal (children(lhs == rhs), [lhs rhs])) assert (isequal (children(lhs < rhs), [lhs rhs])) assert (isequal (children(lhs >= rhs), [lhs rhs])) ***** test % matrix syms x y f = [4 + y 1 + x; 2 + x 3 + x]; c = children(f); ec = {[4 y], [1 x]; [2 x], [3 x]}; assert (isequal (size(c), size(ec))) for i=1:length(c) assert (isempty (setxor (c{i}, ec{i}))) end ***** test % matrix, sum/prod syms x y f = [x + y; x*sin(y); sin(x)]; ec = {[x y]; [x sin(y)]; [x]}; c = children(f); assert (isequal (size(c), size(ec))) for i=1:length(c) assert (isempty (setxor (c{i}, ec{i}))) end ***** test % scalar symbol syms x assert (isequal (children(x), x)) ***** test % scalar number x = sym(6); assert (isequal (children(x), x)) ***** test % symbolic size matrix syms n m integer A = sym('a', [n m]); assert (isequal (children(A), [sym('a') n m])) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/angle.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/angle.m ***** test Z = [sqrt(sym(3)) + 3*sym(i), 3 + sqrt(sym(3))*sym(i); 1 + sym(i), sym(i)]; Q = [sym(pi)/3 sym(pi)/6; sym(pi)/4 sym(pi)/2]; assert( isequal( angle(Z), Q)); ***** test % roundtrip if (python_cmd ('return Version(spver) > Version("1.1.1")')) syms x A = angle (2+2i); f = angle (x); h = function_handle (f); B = h (2+2i); assert (A, B, -eps) end 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/divisors.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/divisors.m ***** test assert( isequal( divisors(sym(150)), divisors(sym(-150)) )) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@sym/gamma.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/gamma.m ***** error gamma (sym(1), 2) ***** assert (isequaln (gamma (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = gamma(x); f2 = gamma(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = gamma(A); f2 = gamma(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = gamma (d); f = gamma (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/abs.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/abs.m ***** error abs (sym(1), 2) ***** assert (isequaln (abs (sym(nan)), sym(nan))) ***** shared x, d d = -1; x = sym('-1'); ***** test f1 = abs(x); f2 = abs(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = abs(A); f2 = abs(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = abs (d); f = abs (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/subsasgn.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/subsasgn.m ***** shared a,b b = [1:4]; a = sym(b); ***** test a(1) = 10; b(1) = 10; assert(isequal( a, b )) ***** test I = logical([1 0 1 0]); a(I) = 2; b(I) = 2; assert(isequal( a, b )) ***** test I = logical([1 0 1 0]); a(I) = [2 4]; b(I) = [2 4]; assert(isequal( a, b )) ***** test I = logical([1 0 1 0]); a(I) = [2; 4]; b(I) = [2; 4]; assert(isequal( a, b )) ***** shared ***** test b = 1:4; b = [b; 2*b; 3*b]; a = sym(b); rhs = [10 11; 12 13]; a([1:2],[1:2]) = rhs; b([1:2],[1:2]) = rhs; assert(isequal( a, b )) a(1:2,1:2) = rhs; assert(isequal( a, b )) ***** test % slice : b = 1:4; b = [b; 2*b]; a = sym(b); rhs = [10 11; 12 13]; a(:,2:3) = rhs; b(:,2:3) = rhs; assert(isequal( a, b )) ***** test % grow 2D b = 1:4; b = [b; 2*b]; a = sym(b); rhs = [10 11; 12 13]; a([1 end+1],end:end+1) = rhs; b([1 end+1],end:end+1) = rhs; assert(isequal( a, b )) ***** test % grow from nothing clear a a(3) = sym (1); b = sym ([0 0 1]); assert (isequal (a, b)) ***** test % grow from nothing, 2D clear a a(2, 3) = sym (1); b = sym ([0 0 0; 0 0 1;]); assert (isequal (a, b)) ***** test % linear indices of 2D b = 1:4; b = [b; 2*b; 3*b]; a = sym(b); b(1:4) = [10 11 12 13]; a(1:4) = [10 11 12 13]; assert(isequal( a, b )) b(1:4) = [10 11; 12 13]; a(1:4) = [10 11; 12 13]; assert(isequal( a, b )) ***** test % 1D growth and 'end' g = sym([1 2 3]); g(3:4) = [67 68]; g(end:end+1) = [12 14]; assert(isequal( g, [1 2 67 12 14] )) ***** test % expanding empty and scalar syms x c = sym([]); c(1) = x; assert(isequal( c, x )) c(2) = 2*x; assert(isequal( c, [x 2*x] )) ***** shared a,b,I,J b = 1:4; b = [b; 3*b; 5*b]; a = sym(b); I = logical([1 0 1]); J = logical([1 0 1 0]); ***** assert(isequal( a(I,J), b(I,J) )) ***** test rhs = [90 91; 92 93]; b(I, J) = rhs; a(I, J) = rhs; assert(isequal( a, b )) ***** test b(I, J) = 100; a(I, J) = 100; assert(isequal( a, b )) ***** shared ***** test % logical with all false syms x y = x; y(false) = 6; assert(isequal( y, x )); a = [x x]; a([false false]) = [6 6]; assert(isequal( a, [x x] )); ***** test % issue #18, scalar access syms x x(1) = sym(6); assert(isequal( x, sym(6) )); x(1) = 6; assert(isequal( x, sym(6) )); x(true) = 88; assert(isequal( x, sym(88) )); ***** test % bug: assignment to column vector used to fail A = sym(zeros(3,1)); A(1) = 5; ***** test % symfun creation (generic function) syms x g(x) = x*x; assert(isa(g,'symfun')) ***** test % symfun creation (generic function) syms x g(x) assert(isa(g,'symfun')) ***** test % symfun creation when g already exists and is a sym/symfun syms x g = x; syms g(x) assert(isa(g,'symfun')) clear g g(x) = x; g(x) = x*x; assert(isa(g,'symfun')) ***** test % Issue #443: assignment with sym indices A = sym([10 11]); A(sym(1)) = 12; assert (isequal (A, sym([12 11]))) ***** test % Issue #443: assignment with sym indices A = sym([10 11]); A(sym(1), 1) = 12; assert (isequal (A, sym([12 11]))) A(sym(1), sym(1)) = 13; assert (isequal (A, sym([13 11]))) ***** test % Issue #443: assignment with sym indices, increase size A = sym([10 11]); A(sym(2), 1) = 12; assert (isequal (A, sym([10 11; 12 0]))) ***** error % Issue #443 A = sym([10 11]); A(2, sym('x')) = sym(12); ***** error % Issue #443 A = sym([10 11]); A(sym(2), sym('x')) = sym(12); ***** error % issue #445 A = sym([10 11]); A(1.1) = 13 ***** error % issue #445 A = sym([10 11]); A(sym(pi)) = 13 ***** error % issue #445 A = sym([1 2; 3 4]); A(1.3, 1.2) = 13 ***** test % older expansion tests syms x f = [2*x 3*x]; f(2) = 4*x; assert (isequal (f, [2*x 4*x])) f(2) = 2; assert (isequal(f, [2*x 2])) g = f; g(1,3) = x*x; assert (isequal(g, [2*x 2 x^2])) g = f; g(3) = x*x; assert (isequal(g, [2*x 2 x^2])) g = f; g(3) = 4; assert (isequal(g, [2*x 2 4])) ***** test % older slicing tests syms x f = [1 x^2 x^4]; f(1:2) = [x x]; assert (isequal( f, [x x x^4] )) f(1:2) = [1 2]; assert (isequal( f, [1 2 x^4] )) f(end-1:end) = [3 4]; assert (isequal( f, [1 3 4] )) f(3:4) = [10 11]; assert (isequal( f, [1 3 10 11] )) f(end:end+1) = [12 14]; assert (isequal( f, [1 3 10 12 14] )) ***** test % struct.str = sym, sometimes calls subsasgn d = struct(); syms x d.a = x; assert (isa (d, 'struct')) assert (isequal (d.a, x)) d.('a') = x; assert (isa (d, 'struct')) assert (isequal (d.a, x)) d = setfield(d, 'a', x); assert (isa (d, 'struct')) assert (isequal (d.a, x)) % at least on Oct 3.8, this calls sym's subsasgn d = struct(); d = setfield(d, 'a', x); assert (isa (d, 'struct')) assert (isequal (d.a, x)) ***** test % bool scalar assignments of true/false into sym syms x a = sym([1 2 x 3]); b = [1 2 10 4]; e = a == b; assert (logical (e(2))) e(2) = false; assert (~logical (e(2))) ***** test % bool vector assignments of true/false into sym syms x a = sym([1 2 x 3]); b = [1 2 10 4]; e = a == b; e(1:2) = [true true]; assert (isequal (e, [sym(1)==1 sym(2)==2 x==10 sym(3)==4])) ***** test % bool scalar promoted to vector assignments into sym syms x a = sym([1 2 x 3]); b = [1 2 10 4]; e = a == b; e(1:2) = true; assert (isequal (e, [sym(1)==1 sym(2)==2 x==10 sym(3)==4])) ***** shared a, b, I b = [1:4]; b = [b; 3*b; 5*b]; a = sym(b); I = mod (b, 5) > 1; ***** test A = a; A(I) = 2*b(I); B = b; B(I) = 2*b(I); assert (isequal (A, B)) ***** test % scalar RHS A = a; A(I) = 17; B = b; B(I) = 17; assert (isequal (A, B)) ***** test % nonetheless, above strange case should give right answer I = logical([1 0 1 0; 0 1 0 1; 1 0 1 0]); rhs = 2*b(I); rhs2 = reshape(rhs, 2, 3); A0 = a; A1 = a; A0(I) = rhs; A1(I) = rhs2; assert (isequal (A0, A1)) ***** shared AA, BB BB = [1 2 3; 4 5 6]; AA = sym(BB); ***** test A = AA; B = BB; B([1 6]) = [8 9]; A([1 6]) = [8 9]; assert (isequal (A, B)) ***** test % rhs scalar A = AA; B = BB; B([1 6]) = 88; A([1 6]) = 88; assert (isequal (A, B)) ***** test % If rhs is not a vector, make sure col-based access works rhs = [18 20; 19 21]; A = AA; B = BB; B([1 6]) = 88; A([1 6]) = 88; B([1 2 3 4]) = rhs; A([1 2 3 4]) = rhs; assert (isequal (A, B)) ***** test % Growth A = AA; B = BB; A(1,5) = 10; B(1,5) = 10; assert (isequal (A, B)) ***** test % Check row deletion 1D a = sym([1; 3; 5]); b = sym([3; 5]); a(1) = []; assert( isequal( a, b)) ***** test % Check column deletion 1D a = sym([1, 4, 8]); b = sym([4, 8]); a(1) = []; assert( isequal( a, b)) ***** test % Check row deletion 2D a = sym([1, 2; 3, 4]); b = sym([3, 4]); a(1, :) = []; assert( isequal( a, b)) ***** test % Check column deletion 2D a = sym([1, 2; 3, 4]); b = sym([2; 4]); a(:, 1) = []; assert( isequal( a, b)) ***** test % General assign a = sym([1, 2; 3, 4]); b = sym([5, 5; 5, 5]); a(:) = 5; assert( isequal( a, b)) ***** test % Empty matrix a = sym([1, 2; 3, 4]); a(:) = []; assert( isequal( a, sym([]))) ***** test % Disassemble matrix a = sym([1 2; 3 4; 5 6]); b = sym([3 5 2 4 6]); a(1) = []; assert (isequal (a, b)); ***** error a = sym([1, 2; 3, 4]); a(1, 2) = []; ***** test % 2D indexing with length in one dimension more than 2 a = sym ([1 2; 3 4; 5 6]); indices = [1 4; 2 5; 3 6]; b = [10 11; 12 13; 14 15]; a(indices) = b; assert (isequal (a, sym (b))); ***** test A = sym ([0 0 0]); indices = [false true false]; A(indices) = 1; assert (isequal (A, sym ([0 1 0]))); A(indices) = []; assert (isequal (A, sym ([0 0]))); indices = [false false]; A(indices) = []; assert (isequal (A, sym ([0 0]))); ***** shared a, b a = [1 2 3 5; 4 5 6 9; 7 5 3 2]; b = sym (a); ***** test A = a; B = b; A(true) = 0; B(true) = 0; assert (isequal (A, B)) ***** test A = a; B = b; A(false) = 0; B(false) = 0; assert (isequal (A, B)) ***** test c = [false true]; A = a; B = b; A(c) = 0; B(c) = 0; assert (isequal (A, B)) d = c | true; A(d) = 1; B(d) = 1; assert (isequal (A, B)) d = c & false; A(d) = 2; B(d) = 2; assert (isequal (A, B)) ***** test c = [false true false true; true false true false; false true false true]; A = a; B = b; A(c) = 0; B(c) = 0; assert (isequal (A, B)) d = c | true; A(d) = 1; B(d) = 1; assert (isequal (A, B)) d = c & false; A(d) = 2; B(d) = 2; assert (isequal (A, B)) ***** test c = [false true false true false]; A = a; B = b; A(c) = 0; B(c) = 0; assert (isequal (A, B)) d = c | true; A(d) = 1; B(d) = 1; assert (isequal (A, B)) d = c & false; A(d) = 2; B(d) = 2; assert (isequal (A, B)) ***** test c = [false; true; false; true; false]; A = a; B = b; A(c) = 0; B(c) = 0; assert (isequal (A, B)) d = c | true; A(d) = 1; B(d) = 1; assert (isequal (A, B)) d = c & false; A(d) = 2; B(d) = 2; assert (isequal (A, B)) ***** test c = [false true; false true; true false]; A = a; B = b; A(c) = 0; B(c) = 0; assert (isequal (A, B)) d = c | true; A(d) = 1; B(d) = 1; assert (isequal (A, B)) d = c & false; A(d) = 2; B(d) = 2; assert (isequal (A, B)) 59 tests, 59 passed, 0 known failure, 0 skipped [inst/@sym/cosint.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/cosint.m ***** error cosint (sym(1), 2) ***** xtest assert (isequaln (cosint (sym(nan)), sym(nan))) !!!!! known failure assert (isequaln (cosint (sym (nan)), sym (nan))) failed ***** shared x, d d = 1; x = sym('1'); ***** test f1 = cosint(x); f2 = 0.3374039229009681346626; assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = cosint(A); f2 = 0.3374039229009681346626; f2 = [f2 f2; f2 f2]; assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) y = sym('y'); A = cosint (d); f = cosint (y); h = function_handle (f); B = h (d); assert (A, B, -eps) end 5 tests, 4 passed, 1 known failure, 0 skipped [inst/@sym/acsch.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/acsch.m ***** error acsch (sym(1), 2) ***** test if (python_cmd ('return Version(spver) > Version("1.0")')) assert (isequaln (acsch (sym(nan)), sym(nan))) end ***** shared x, d d = 1; x = sym('1'); ***** test if (python_cmd ('return Version(spver) > Version("1.0")')) f1 = acsch(x); f2 = acsch(d); assert( abs(double(f1) - f2) < 1e-15 ) end ***** test if (python_cmd ('return Version(spver) > Version("1.0")')) D = [d d; d d]; A = [x x; x x]; f1 = acsch(A); f2 = acsch(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) end ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) y = sym('y'); A = acsch (d); f = acsch (y); h = function_handle (f); B = h (d); assert (A, B, -eps) end 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/has.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/has.m ***** shared A, x, y syms x y A = [sym(pi) 2*sym(pi); x*y x+y]; ***** assert (isequal (has(A, x), [false false; true true])); ***** assert (isequal (has(A, x+y), [false false; false true])); ***** assert (isequal (has(A, 2), [false true; false false])); ***** assert (isequal (has(A, sym(pi)), [true true; false false])); 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/prod.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/prod.m ***** error prod (sym(1), 2, 3) ***** error prod (sym(1), 42) ***** shared x,y,z syms x y z ***** assert (isequal (prod (x), x)) ***** assert (isequal (prod ([x y z]), x*y*z)) ***** assert (isequal (prod ([x; y; z]), x*y*z)) ***** assert (isequal (prod ([x y z], 1), [x y z])) ***** assert (isequal (prod ([x y z], 2), x*y*z)) ***** shared a,b b = [1 2; 3 4]; a = sym(b); ***** assert (isequal (prod(a), prod(b))) ***** assert (isequal (prod(a,1), prod(b,1))) ***** assert (isequal (prod(a,2), prod(b,2))) ***** test % weird inputs a = prod('xx', sym(1)); assert (isequal (a, sym('xx'))) 11 tests, 11 passed, 0 known failure, 0 skipped [inst/@sym/hessian.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/hessian.m ***** shared x,y,z syms x y z ***** test % 1D f = x^2; assert (isequal (hessian(f), diff(f,x,x))) assert (isequal (hessian(f,{x}), diff(f,x,x))) assert (isequal (hessian(f,x), diff(f,x,x))) ***** test % const f = sym(1); g = sym(0); assert (isequal (hessian(f), g)) assert (isequal (hessian(f,x), g)) ***** test % double const f = 1; g = sym(0); assert (isequal (hessian(f,x), g)) ***** test % linear f = 42*x; g = sym(0); assert (isequal (hessian(f), g)) assert (isequal (hessian(f,x), g)) ***** test % linear f = 42*x - sym('a')*y; g = [0 0; 0 0]; assert (isequal (hessian(f, {x y}), g)) ***** test % 2d f = x*cos(y); g = [0 -sin(y); -sin(y) -f]; assert (isequal (hessian(f), g)) assert (isequal (hessian(f, {x y}), g)) ***** test % 3d f = x*cos(z); Hexp = [0 0 -sin(z); sym(0) 0 0; -sin(z) 0 -f]; H = hessian(f, {x y z}); assert (isequal (H, Hexp)) ***** error hessian([sym(1) sym(2)]) ***** error hessian(sym(1), 2, 3) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/asin.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/asin.m ***** error asin (sym(1), 2) ***** assert (isequaln (asin (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = asin(x); f2 = asin(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = asin(A); f2 = asin(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = asin (d); f = asin (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/lambertw.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/lambertw.m ***** test % W(x)*exp(W(x)) == x syms x T = lambertw(x)*exp(lambertw(x)); T = double (subs (T, x, 10)); assert (isequal (T, 10)); ***** test % k, x not x, k to match SMT syms x T = lambertw(2, x)*exp(lambertw(2, x)); T = double (subs (T, x, 10)); assert (abs(T - 10) < 1e-15) ***** assert (isequal (lambertw(sym(0)), sym(0))) ***** assert ( isequal (lambertw (-1/exp(sym(1))), -sym(1))) ***** assert ( isequal (lambertw (0, -1/exp(sym(1))), -sym(1))) ***** assert ( isequal (lambertw (-1, -1/exp(sym(1))), -sym(1))) ***** xtest % W(x)*exp(W(x)) == x; FIXME: a failure in SymPy? syms x T = simplify(lambertw(x)*exp(lambertw(x))); assert (isequal (T, x)) !!!!! known failure assert (isequal (T, x)) failed ***** assert (abs (lambertw(pi) - double(lambertw(sym(pi)))) < 5*eps) ***** assert (abs (lambertw(-1, 5) - double(lambertw(-1, sym(5)))) < 5*eps) ***** assert (abs (lambertw(2, 2) - double(lambertw(2, sym(2)))) < 5*eps) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) syms x k A = lambertw (5); f = lambertw (x); h = function_handle (f); B = h (5); assert (A, B) A = lambertw (3, 5); f = lambertw (k, x); h = function_handle (f); B = h (3, 5); assert (A, B) end 11 tests, 10 passed, 1 known failure, 0 skipped [inst/@sym/disp.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/disp.m ***** test syms x s = disp(sin(x)); assert(strcmp(s, sprintf(' sin(x)\n'))) ***** test syms x s = disp(sin(x/2), 'flat'); assert(strcmp(s, sprintf(' sin(x/2)\n'))) ***** test % Examples of 2x0 and 0x2 empty matrices: a = sym([1 2; 3 4]); b2x0 = a([true true], [false false]); b0x2 = a([false false], [true true]); assert (isequal (size (b2x0), [2 0])) assert (isequal (size (b0x2), [0 2])) s = disp(b2x0); assert(strcmp(s, sprintf(' []\n'))) s = disp(b0x2); assert(strcmp(s, sprintf(' []\n'))) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/xor.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/xor.m ***** shared t, f t = sym(true); f = sym(false); ***** test % simple assert (isequal (xor(t, f), t)) assert (isequal (xor(t, t), f)) ***** test % array w = [t t f f]; z = [t f t f]; assert (isequal (xor(w, z), [f t t f])) ***** xtest % output is sym even for scalar t/f % ₣IXME: should match other bool fcns assert (isa (xor(t, f), 'sym')) ***** test % eqns syms x e = xor(x == 4, x == 5); assert (isequal (subs(e, x, [3 4 5 6]), [f t t f])) ***** test % eqns, exclusive syms x e = xor(x == 3, x^2 == 9); assert (isequal (subs(e, x, [-3 0 3]), [t f f])) ***** error xor (sym('x'), 1, 2) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@sym/bessely.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/bessely.m ***** test X = [1 2 3; 4 5 6]; ns = [sym(0) 1 -2; sym(1)/2 -sym(3)/2 pi]; n = double(ns); A = double(bessely(ns, X)); B = bessely(n, X); assert (all (all (abs (A - B) < 50*eps*abs(A)))) ***** test % roundtrip syms x A = bessely(2, 10); q = bessely(2, x); h = function_handle(q); B = h(10); assert (abs (A - B) <= eps*abs(A)) ***** error bessely(sym('x')) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/fresnels.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/fresnels.m ***** test a = fresnels(sym(0)); assert (isequal (a, sym(0))) ***** test b = fresnels(sym('oo')); assert (isequal (b, sym(1)/2)) ***** test % values in a matrix syms x a = fresnels([sym(0) sym('oo') x 1]); b = [sym(0) sym(1)/2 fresnels(x) fresnels(sym(1))]; assert (isequal (a, b)) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) syms x f = fresnels (x); h = function_handle (f); A = h (1.1); B = fresnels (1.1); assert (A, B) end 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/symsum.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/symsum.m ***** error symsum (sym(1), 2, 3, 4, 5) ***** test % finite sums syms n assert (isequal (symsum(n,n,1,10), 55)) assert(isa(symsum(n,n,1,10), 'sym')) assert (isequal (symsum(n,n,sym(1),sym(10)), 55)) assert (isequal (symsum(n,n,sym(1),sym(10)), 55)) assert (isequal (symsum(1/n,n,1,10), sym(7381)/2520)) ***** test % negative limits syms n assert (isequal (symsum(n,n,-3,3), sym(0))) assert (isequal (symsum(n,n,-3,0), sym(-6))) assert (isequal (symsum(n,n,-3,-1), sym(-6))) ***** test % one input syms n f = symsum (n); g = n^2/2 - n/2; assert (isequal (f, g)) f = symsum (2*n); g = n^2 - n; assert (isequal (f, g)) ***** test % constant input f = symsum (sym(2)); syms x g = 2*x; assert (isequal (f, g)) ***** test % two inputs syms n f = symsum (2*n, n); g = n^2 - n; assert (isequal (f, g)) ***** test % two inputs, second is range syms n f = symsum (n, [1 6]); g = 21; assert (isequal (f, g)) f = symsum (n, [sym(1) 6]); g = 21; assert (isequal (f, g)) f = symsum (2*n, [1 6]); g = 2*21; assert (isequal (f, g)) ***** test % three inputs, last is range syms n f = symsum (2*n, n, [1 4]); g = sym(20); assert (isequal (f, g)) f = symsum (2*n, n, [sym(1) 4]); g = sym(20); assert (isequal (f, g)) f = symsum (2, n, [sym(1) 4]); g = sym(8); assert (isequal (f, g)) ***** test % three inputs, no range syms n f = symsum (2*n, 1, 4); g = sym(20); assert (isequal (f, g)) f = symsum (5, sym(1), 3); g = sym(15); assert (isequal (f, g)) ***** test % ok to use double's for arguments in infinite series syms n oo assert(isequal(symsum(1/n^2,n,1,oo), sym(pi)^2/6)) assert(isequal(symsum(1/n^2,n,1,inf), sym(pi)^2/6)) ***** test % should be oo because 1 is real but seems to be % zoo/oo depending on sympy version syms n oo zoo = sym('zoo'); assert (isequal (symsum(1/n,n,1,oo), oo) || ... isequal (symsum(1/n,n,1,oo), zoo)) 11 tests, 11 passed, 0 known failure, 0 skipped [inst/@sym/rank.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/rank.m ***** test A = sym([1 2; 3 4]); assert (rank(A) == 2); ***** test A = sym([1 2 3; 3 4 5]); assert (rank(A) == 2); ***** test A = sym([1 2; 1 2]); assert (rank(A) == 1); ***** test A = sym([1 2; 3 4]); assert (rank(A) == 2); ***** assert (rank(sym(1)) == 1); ***** assert (rank(sym(0)) == 0); ***** assert (rank(sym('x', 'positive')) == 1); 7 tests, 7 passed, 0 known failure, 0 skipped [inst/@sym/asech.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/asech.m ***** error asech (sym(1), 2) ***** assert (isequaln (asech (sym(nan)), sym(nan))) ***** shared x, d d = 1/2; x = sym('1/2'); ***** test f1 = asech(x); f2 = asech(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = asech(A); f2 = asech(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) y = sym('y'); A = asech (d); f = asech (y); h = function_handle (f); B = h (d); assert (A, B, -eps) end 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/besseli.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/besseli.m ***** test X = [1 2 3; 4 5 6]; ns = [sym(0) 1 -2; sym(1)/2 -sym(3)/2 pi]; n = double(ns); A = double(besseli(ns, X)); B = besseli(n, X); assert (all (all (abs (A - B) < 100*eps*abs(A)))) ***** test % roundtrip syms x A = besseli(2, 10); q = besseli(2, x); h = function_handle(q); B = h(10); assert (abs (A - B) <= eps*abs(A)) ***** error besseli(sym('x')) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/acsc.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/acsc.m ***** error acsc (sym(1), 2) ***** assert (isequaln (acsc (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = acsc(x); f2 = acsc(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = acsc(A); f2 = acsc(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) y = sym('y'); A = acsc (d); f = acsc (y); h = function_handle (f); B = h (d); assert (A, B, -eps) end 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/factorial.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/factorial.m ***** error factorial (sym(1), 2) ***** xtest assert (isequaln (factorial (sym(nan)), sym(nan))) !!!!! known failure assert (isequaln (factorial (sym (nan)), sym (nan))) failed ***** shared x, d d = 1; x = sym('1'); ***** test f1 = factorial(x); f2 = factorial(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = factorial(A); f2 = factorial(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = factorial (d); f = factorial (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 4 passed, 1 known failure, 0 skipped [inst/@sym/not.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/not.m ***** shared t, f t = sym(true); f = sym(false); ***** test % simple assert (isequal( ~t, f)) assert (isequal( ~t, f)) ***** test % array w = [t t f t]; z = [f f t f]; assert (isequal( ~w, z)) ***** test % number assert (isequal( ~sym(5), f)) assert (isequal( ~sym(0), t)) ***** test % output is sym syms x e = ~(x == 4); assert (isa (e, 'sym')) assert (strncmp (sympy(e), 'Unequality', 10)) ***** test % output is sym even for scalar t/f (should match other bool fcns) assert (isa (~t, 'sym')) ***** test % symbol ineq syms x a = [t f x == 1 x ~= 2 x < 3 x <= 4 x > 5 x >= 6]; b = [f t x ~= 1 x == 2 x >= 3 x > 4 x <= 5 x < 6]; assert (isequal( ~a, b)) ***** test syms x y = ~x; s = disp(y, 'flat'); assert (strcmp (strtrim (s), '~x') || strcmpi (strtrim (s), 'Not(x)')) ***** error not (sym(1), 2) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/@sym/asec.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/asec.m ***** error asec (sym(1), 2) ***** assert (isequaln (asec (sym(nan)), sym(nan))) ***** shared x, d d = 2; x = sym('2'); ***** test f1 = asec(x); f2 = asec(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = asec(A); f2 = asec(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) y = sym('y'); A = asec (d); f = asec (y); h = function_handle (f); B = h (d); assert (A, B, -eps) end 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/sym.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/sym.m ***** test % integers x = sym ('2'); y = sym (2); assert (isa (x, 'sym')) assert (isa (y, 'sym')) assert (isequal (x, y)) ***** test % infinity for x = {'inf', '-inf', inf, -inf, 'Inf'} y = sym (x{1}); assert (isa (y, 'sym')) assert (isinf (double (y))) assert (isinf (y)) end ***** test % pi x = sym ('pi'); assert (isa (x, 'sym')) assert (isequal (sin (x), sym (0))) assert (abs (double (x) - pi) < 2*eps ) x = sym (pi); assert (isa (x, 'sym')) assert (isequal (sin (x), sym (0))) assert (abs (double (x) - pi) < 2*eps ) ***** test % rationals x = sym(1) / 3; assert (isa (x, 'sym')) assert (isequal (3*x - 1, sym (0))) x = 1 / sym (3); assert (isa (x, 'sym')) assert (isequal (3*x - 1, sym (0))) x = sym ('1/3'); assert (isa (x, 'sym')) assert (isequal (3*x - 1, sym (0))) ***** test % passing small rationals x = sym ('1/2'); assert (double (x) == 1/2 ) assert (isequal (2*x, sym (1))) ***** warning x = sym (1/2); ***** test % passing small rationals w/o quotes: despite the warning, % it should work s = warning ('off', 'OctSymPy:sym:rationalapprox'); x = sym (1/2); warning (s) assert (double (x) == 1/2 ) assert (isequal (2*x, sym (1))) ***** test assert (isa (sym (pi), 'sym')) assert (isa (sym ('beta'), 'sym')) ***** test % sym from array D = [0 1; 2 3]; A = [sym(0) 1; sym(2) 3]; assert (isa (sym (D), 'sym')) assert (isequal (size (sym (D)), size (D))) assert (isequal (sym (D), A)) ***** test % more sym from array syms x A = [x x]; assert (isequal (sym (A), A)) A = [1 x]; assert (isequal (sym (A), A)) ***** test %% assumptions and clearing them clear variables % for matlab test script x = sym('x', 'real'); f = {x {2*x}}; asm = assumptions(); assert ( ~isempty(asm)) s = warning ('off', 'OctSymPy:deprecated'); x = sym('x', 'clear'); warning (s) asm = assumptions(); assert ( isempty(asm)) ***** test %% matlab compat, syms x clear should add x to workspace x = sym('x', 'real'); f = 2*x; clear x assert (~logical(exist('x', 'var'))) s = warning ('off', 'OctSymPy:deprecated'); x = sym('x', 'clear'); warning (s) assert (logical(exist('x', 'var'))) ***** test %% assumptions should work if x is already a sym x = sym('x'); x = sym(x, 'real'); assert (~isempty(assumptions(x))) ***** test %% likewise for clear x = sym('x', 'real'); f = 2*x; s = warning ('off', 'OctSymPy:deprecated'); x = sym(x, 'clear'); warning (s) assert (isempty(assumptions(x))) assert (isempty(assumptions(f))) ***** test % bool t = sym (false); t = sym (true); assert (logical (t)) ***** test % bool vec/mat a = sym (1); t = sym ([true false]); assert (isequal (t, [a == 1 a == 0])) t = sym ([true false; false true]); assert (isequal (t, [a == 1 a == 0; a == 0 a == 1])) ***** test % symbolic matrix A = sym ('A', [2 3]); assert (isa (A, 'sym')) assert (isequal (size (A), [2 3])) A(1, 1) = 7; assert (isa (A, 'sym')) A = A + 1; assert (isa (A, 'sym')) ***** test % symbolic matrix, symbolic but Integer size A = sym ('A', sym([2 3])); assert (isa (A, 'sym')) assert (isequal (size (A), [2 3])) ***** test % symbolic matrix, subs in for size syms n m integer A = sym ('A', [n m]); B = subs (A, [n m], [5 6]); assert (isa (B, 'sym')) assert (isequal (size (B), [5 6])) ***** error sym('2*a', [2 3]) ***** error sym(2*sym('a'), [2 3]) ***** error sym('1', [2 3]) ***** error sym(1, [2 3]) ***** error % TODO: symbolic tensor, maybe supported someday sym('a', [2 3 4]) ***** test % 50 shapes of empty a = sym (ones (0, 3)); assert (isa (a, 'sym')) assert (isequal (size (a), [0 3])) a = sym (ones (2, 0)); assert (isequal (size (a), [2 0])) a = sym ([]); assert (isequal (size (a), [0 0])) ***** test % moar empty a = sym ('a', [0 3]); assert (isa (a, 'sym')) assert (isequal (size (a), [0 3])) a = sym ('a', [2 0]); assert (isa (a, 'sym')) assert (isequal (size (a), [2 0])) ***** test % embedded sympy commands, various quotes, issue #143 a = sym ('a'); a1 = sym ('Symbol("a")'); a2 = sym ('Symbol(''a'')'); assert (isequal (a, a1)) assert (isequal (a, a2)) % Octave only, and eval to hide from Matlab parser if exist ('OCTAVE_VERSION', 'builtin') eval( 'a3 = sym("Symbol(''a'')");' ); eval( 'a4 = sym("Symbol(\"a\")");' ); assert (isequal (a, a3)) assert (isequal (a, a4)) end ***** test % complex x = sym(1 + 2i); assert (isequal (x, sym(1)+sym(2)*1i)) ***** test % doubles bigger than int32 INTMAX should not fail d = 4294967295; a = sym (d); assert (isequal (double (a), d)) d = d + 123456; a = sym (d); assert (isequal (double (a), d)) ***** test % int32 integer types a = sym (100); b = sym (int32 (100)); assert (isequal (a, b)) ***** test % int32 MAXINT integers a = sym ('2147483647'); b = sym (int32 (2147483647)); assert (isequal (a, b)) a = sym ('-2147483647'); b = sym (int32 (-2147483647)); assert (isequal (a, b)) a = sym ('4294967295'); b = sym (uint32 (4294967295)); assert (isequal (a, b)) ***** test % int64 integer types a = sym ('123456789012345'); b = sym (int64(123456789012345)); c = sym (uint64(123456789012345)); assert (isequal (a, b)) assert (isequal (a, c)) ***** test % integer arrays a = int64 ([1 2 100]); s = sym (a); assert (isequal (double (a), [1 2 100])) ***** test % bigger int64 integer types q = int64 (123456789012345); w = 10000*q + 123; a = sym ('1234567890123450123'); b = sym (w); assert (isequal (a, b)) ***** test % sym(double) heuristic s = warning ('off', 'OctSymPy:sym:rationalapprox'); x = sym(2*pi/3); assert (isequal (x/sym(pi), sym(2)/3)) x = sym(22*pi); assert (isequal (x/sym(pi), sym(22))) x = sym(pi/123); assert (isequal (x/sym(pi), sym(1)/123)) warning (s) ***** test % sym(double) with 'r': no warning a = 0.1; x = sym(a, 'r'); assert (isequal (x, sym(1)/10)) ***** test % sym(double, 'f') a = 0.1; x = sym(a, 'f'); assert (~isequal (x, sym(1)/10)) assert (isequal (x, sym('3602879701896397')/sym('36028797018963968'))) ***** test x = sym(pi, 'f'); assert (~isequal (x, sym('pi'))) assert (isequal (x, sym('884279719003555')/sym('281474976710656'))) ***** test q = sym('3602879701896397')/sym('36028797018963968'); x = sym(1 + 0.1i, 'f'); assert (isequal (x, 1 + 1i*q)) x = sym(0.1 + 0.1i, 'f'); assert (isequal (x, q + 1i*q)) ***** test assert (isequal (sym(inf, 'f'), sym(inf))) assert (isequal (sym(-inf, 'f'), sym(-inf))) assert (isequaln (sym(nan, 'f'), sym(nan))) assert (isequal (sym(complex(inf, -inf), 'f'), sym(complex(inf, -inf)))) assert (isequaln (sym(complex(nan, inf), 'f'), sym(complex(nan, inf)))) assert (isequaln (sym(complex(-inf, nan), 'f'), sym(complex(-inf, nan)))) ***** test assert (isequal (sym (sqrt(2), 'r'), sqrt (sym (2)))) assert (isequal (sym (sqrt(12345), 'r'), sqrt (sym (12345)))) ***** test % symbols with special sympy names syms Ei Eq assert (~isempty (regexp (sympy (Eq), '^Symbol'))) assert (~isempty (regexp (sympy (Ei), '^Symbol'))) ***** test % more symbols with special sympy names x = sym('FF'); assert (~isempty (regexp (x.pickle, '^Symbol'))) x = sym('ff'); assert (~isempty (regexp (x.pickle, '^Symbol'))) ***** test % E can be a sym not just exp(sym(1)) syms E assert (~logical (E == exp(sym(1)))) ***** test % e can be a symbol, not exp(sym(1)) syms e assert (~ logical (e == exp(sym(1)))) ***** test % double e x = sym (exp (1)); y = exp (sym (1)); assert (isequal (x, y)) if (exist ('OCTAVE_VERSION', 'builtin')) x = sym (e); assert (isequal (x, y)) end ***** test x = sym (-exp (1)); y = -exp (sym (1)); assert (isequal (x, y)) ***** assert (~ isequal (sym (exp(1)), sym (exp(1), 'f'))) ***** warning sym (1e16); ***** warning sym (-1e16); ***** warning sym (10.33); ***** warning sym (-5.23); ***** warning sym (sqrt (1.4142135623731)); ***** error x = sym ('x', 'positive2'); ***** error x = sym ('x', 'integer', 'positive2'); ***** error x = sym ('x', 'integer2', 'positive'); ***** error x = sym ('-pi', 'positive') ***** error x = sym ('pi', 'integer') ***** test % multiple assumptions n = sym ('n', 'negative', 'even'); a = assumptions (n); assert (strcmp (a, 'n: negative, even') || strcmp (a, 'n: even, negative')) ***** error % multiple assumptions as a list % TODO: should this be allowed? n = sym ('n', {'negative', 'even'}); a = assumptions (n); assert (strcmp (a, 'n: negative, even') || strcmp (a, 'n: even, negative')) ***** error n = sym ('n', {{'negative', 'even'}}); ***** test % save/load sym objects syms x y = 2*x; a = 42; myfile = tempname (); save (myfile, 'x', 'y', 'a') clear x y a load (myfile) assert (isequal (y, 2*x)) assert (a == 42) if (exist ('OCTAVE_VERSION', 'builtin')) assert (unlink (myfile) == 0) else delete ([myfile '.mat']) end ***** test a = sym ('2.1'); b = sym (21) / 10; %% https://github.com/sympy/sympy/issues/11703 assert (python_cmd ('return _ins[0] == _ins[1] and hash(_ins[0]) == hash(_ins[1])', a, b)) ***** test % issue #706 a = sym('Float("1.23")'); assert (~ isempty (strfind (char (a), '.'))) ***** assert (isequal (sym({1 2 'a'}), [sym(1) sym(2) sym('a')])); ***** error sym({1 2 'a'}, 'positive'); ***** error sym({'a' 'b'}, 'positive'); ***** test a = sym ('--1'); b = sym ('---1'); assert (isequal (a, sym (1))) assert (isequal (b, sym (-1))) ***** test % num2cell works on sym arrays syms x C1 = num2cell ([x 2 3; 4 5 6*x]); assert (iscell (C1)) assert (isequal (size (C1), [2 3])) assert (isequal (C1{1,1}, x)) assert (isequal (C1{2,3}, 6*x)) assert (isequal (C1{1,3}, sym(3))) assert (isa (C1{1,3}, 'sym')) ***** test % function_handle f = @(x, y) y*sin(x); syms x y assert (isequal (sym (f), y*sin(x))); f = @(x) 42; assert (isequal (sym (f), sym (42))); f = @() 42; assert (isequal (sym (f), sym (42))); ***** error % function_handle f = @(x) A*sin(x); sym (f) ***** test % Issue #885 clear f x % if test not isolated (e.g., on matlab) syms x f(x) = sym('S(x)'); f(x) = sym('I(x)'); f(x) = sym('O(x)'); ***** test % sym(sympy(x) == x identity, Issue #890 syms x f = exp (1i*x); s = sympy (f); g = sym (s); assert (isequal (f, g)) ***** test % sym(sympy(x) == x identity % Don't mistake "pi" (which is "srepr(S.Pi)") for a symfun variable f = sym ('ff(pi, pi)'); s1 = sympy (f); s2 = 'FallingFactorial(pi, pi)'; assert (strcmp (s1, s2)) ***** test % sym(sympy(x) == x identity % Don't mistake "I" (which is "srepr(S.ImaginaryUnit)") for a symfun variable f = sym ('sin(I)'); g = 1i*sinh (sym (1)); assert (isequal (f, g)) s = sympy (f); assert (isempty (strfind (s, 'Function'))) ***** error % sym(sympy(x) == x identity % Don't mistake "true/false" (which is "srepr(S.true)") for a symfun variable % (Used to print as `S.true` but just `true` in sympy 1.2) sym ('E(true,false)') ***** test % some variable names that are special to sympy but should not be for us f = sym ('f(S, Q, C, O, N)'); s1 = sympy (f); s2 = 'Function(''f'')(Symbol(''S''), Symbol(''Q''), Symbol(''C''), Symbol(''O''), Symbol(''N''))'; assert (strcmp (s1, s2)) ***** test % For SMT 2014 compatibilty, I and E would become ImaginaryUnit and Exp(1) % but I'm not sure this is by design. This test would need to change if % we want stricter SMT compatibilty. f = sym ('f(x, I, E)'); s1 = sympy (f); s2 = 'Function(''f'')(Symbol(''x''), Symbol(''I''), Symbol(''E''))'; assert (strcmp (s1, s2)) ***** test % not the identity, force symfun f = sym ('FF(w)'); s1 = sympy (f); s2 = 'Function(''FF'')(Symbol(''w''))'; assert (strcmp (s1, s2)) ***** test % not the identity, force symfun f = sym ('FF(w, pi)'); s1 = sympy (f); s2 = 'Function(''FF'')(Symbol(''w''), pi)'; assert (strcmp (s1, s2)) 80 tests, 80 passed, 0 known failure, 0 skipped [inst/@sym/isprime.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/isprime.m ***** assert (isprime (sym(5))) ***** assert (~isprime (sym(4))) ***** assert (~isprime (sym(0))) ***** assert (~isprime (sym(1))) ***** test a = [5 7 6; 1 2 337]; assert (isequal (isprime (a), [true true false; false true true])) ***** assert (~isprime(sym(-4))) ***** assert (~isprime(sym(4i))) ***** assert (~isprime(sym(3)/5)) ***** error isprime(sym('x')); 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/tand.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/tand.m ***** error tand (sym(1), 2) ***** assert (isequaln (tand (sym(nan)), sym(nan))) ***** test f1 = tand (sym(1)); f2 = tand (1); assert (double (f1), f2, -eps) ***** test D = [10 30; 110 -45]; A = sym(D); f1 = tand (A); f2 = tand (D); assert (double (f1), f2, -eps) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/subsindex.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/subsindex.m ***** test i = sym(1); a = 7; assert(a(i)==a); i = sym(2); a = 2:2:10; assert(a(i)==4); ***** test i = sym([1 3 5]); a = 1:10; assert( isequal (a(i), [1 3 5])) ***** test i = sym([1 3 5]); a = sym(1:10); assert( isequal (a(i), sym([1 3 5]))); ***** test % should be an error if it doesn't convert to double syms x a = 1:10; try a(x) waserr = false; catch waserr = true; end assert(waserr) ***** test syms x assert (isequal (x(sym (true)), x)) assert (isequal (x(sym (false)), sym ([]))) ***** test x = 6; assert (isequal (x(sym (true)), 6)) assert (isequal (x(sym (false)), [])) ***** test a = sym([10 12 14]); assert (isequal (a(sym ([true false true])), a([1 3]))) assert (isequal (a(sym ([false false false])), sym (ones(1,0)))) ***** test a = [10 11; 12 13]; p = [true false; true true]; assert (isequal (a(sym (p)), a(p))) p = [false false false]; assert (isequal (a(sym (p)), a(p))) ***** error a = [10 12]; I = [sym(true) 2]; b = a(I); 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/isna.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/isna.m ***** test % no sym should be NA syms x oo assert (~isna(sym(1))) assert (~isna(x)) assert (~isna(oo)) assert (~isna(sym(nan))) assert (isequal (isna (sym ([1 nan])), [false false])) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@sym/sympy.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/sympy.m ***** assert (strcmp (sympy (sym(pi)), 'pi')) ***** assert (strcmp (sympy (sym(1)), 'Integer(1)')) ***** assert (strcmp (sympy (sym(2)/3), 'Rational(2, 3)')) ***** assert (strcmp (sympy (sym('x')), 'Symbol(''x'')')) ***** test x = sym('x'); assert (isequal (sym(sympy(x)), x)) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/ellipticF.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ellipticF.m ***** error ellipticF (sym(1)) ***** error ellipticF (sym(1), 2, 3) ***** assert (double (ellipticF (sym (pi)/3, sym (-105)/10)), 0.6184459461, 10e-11) ***** assert (double (ellipticF (sym (pi)/4, sym (-pi))), 0.6485970495, 10e-11) ***** assert (double (ellipticF (sym (1), sym (-1))), 0.8963937895, 10e-11) ***** assert (double (ellipticF (sym (pi)/6, sym (0))), 0.5235987756, 10e-11) ***** test % compare to Maple us = vpa (ellipticF (sym(11)/10, sym(9)/4), 40); % > evalf(EllipticF(sin(11/10), sqrt(9/4)), 40); maple = vpa ('1.206444996991058996424988192917728014427', 40) - ... vpa ('0.8157358125823472313001683083685348517476j', 40); assert (abs (double (maple - us)), 0, 1e-39) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/@sym/factor.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/factor.m ***** test % n = 152862; % [p,m] = factor(n); % only works on Octave, no Matlab as of 2014a n = 330; % so we use an output without repeated factors p = factor(n); m = ones(size(p)); [ps,ms] = factor(sym(n)); assert (isequal (p, ps)) assert (isequal (m, ms)) ***** test n = sym(2)^4*13; [p,m] = factor(n); assert (isequal (p, [2 13])) assert (isequal (m, [4 1])) ***** test syms x assert( logical (factor(x^2 + 6*x + 5) == (x+5)*(x+1))) ***** test syms x f = [ x^4/2 + 5*x^3/12 - x^2/3 x^2 - 1 10]; g = [ x^2*(2*x - 1)*(3*x + 4)/12 (x+1)*(x-1) 10]; assert (isequal (factor(f), g)) ***** test % "fragile form" works A = factor(sym(124)); B = strtrim(disp(A, 'flat')); assert (strcmp (B, '2**2*31**1')) ***** error [p, m] = factor(sym('x')); ***** error [p, m] = factor(sym(42), sym('x')); ***** test % if polynomial happens to be a constant, don't attempt integer % factorization if a variable is specified f = sym(42); q = factor(f, sym('x')); assert (isequal (f, q)); 8 tests, 8 passed, 0 known failure, 0 skipped [inst/@sym/mod.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/mod.m ***** error mod (sym(1), 2, 3 ,4) ***** assert (isequal (mod (sym(5), 4), sym(1))) ***** assert (isequal (mod ([sym(5) 8], 4), [1 0] )) ***** assert (isequal (mod (sym(5), [2 3]), [1 2] )) ***** assert (isequal (mod ([sym(5) sym(6)], [2 3]), [1 0] )) ***** test syms x assert (isequal ( mod (5*x, 3), 2*x )) ***** test syms x a = [7*x^2 + 3*x + 3 3*x; 13*x^4 6*x]; assert (isequal ( mod (a,3), [x^2 0; x^4 0] )) ***** test % vector of polys with mix of vars: symvar on each syms x y a = [6*x 7*y]; b = mod(a, 4); c = [2*x 3*y]; assert (isequal (b, c)) ***** test % coeff has variable syms x n = sym('n', 'integer'); p = (3*n + 2)*x; q = mod(p, 3); assert (isequal (q, 2*x)) ***** test % coeff has variable syms x a p = a*x; q = mod(p, 3); q = children(q); q = q(2); % order might be fragile! w = subs(q, a, 5); assert (isequal (w, 2)) ***** test % different modulo syms x y q = mod([5*x + 10 5*y + 10], [2 3]); assert (isequal (q, [x 2*y + 1])) 11 tests, 11 passed, 0 known failure, 0 skipped [inst/@sym/zeros.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/zeros.m ***** test y = zeros(sym(2)); x = [0 0; 0 0]; assert( isequal( y, sym(x))) ***** test y = zeros(sym(2), 1); x = [0; 0]; assert( isequal( y, sym(x))) ***** test y = zeros(sym(1), 2); x = [0 0]; assert( isequal( y, sym(x))) ***** assert( isa( zeros(sym(2), 'double'), 'double')) ***** assert( isa( zeros(3, sym(3), 'single') , 'single')) ***** assert( isa( zeros(3, sym(3)), 'sym')) ***** assert( isa( zeros(3, sym(3), 'sym'), 'sym')) ***** xtest % Issue #13 assert( isa( zeros(3, 3, 'sym'), 'sym')) !!!!! known failure invalid data type specified 8 tests, 7 passed, 1 known failure, 0 skipped [inst/@sym/erfcinv.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/erfcinv.m ***** error erfcinv (sym(1), 2) ***** assert (isequaln (erfcinv (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = erfcinv(x); f2 = erfcinv(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = erfcinv(A); f2 = erfcinv(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = erfcinv (d); f = erfcinv (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/ellipticK.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ellipticK.m ***** error ellipticK (sym(1), 2) ***** assert (isequal (ellipticK (sym (0)), sym (pi)/2)) ***** assert (isequal (ellipticK (sym (-inf)), sym (0))) ***** assert (double (ellipticK (sym (1)/2)), 1.854074677, 10e-10) ***** assert (double (ellipticK (sym (pi)/4)), 2.225253684, 10e-10) ***** assert (double (ellipticK (sym (-55)/10)), 0.9324665884, 10e-11) ***** test % compare to double ellipke m = 1/5; ms = sym(1)/5; [K, E] = ellipke (m); assert (double (ellipticK (ms)), K, -1e-15) assert (double (ellipticE (ms)), E, -1e-15) ***** test % compare to double ellipke if (exist ('OCTAVE_VERSION', 'builtin')) m = -10.3; ms = -sym(103)/10; [K, E] = ellipke (m); assert (double (ellipticK (ms)), K, -1e-15) assert (double (ellipticE (ms)), E, -1e-15) end ***** test % compare to Maple us = vpa (ellipticK (sym (7)), 40); % > evalf(EllipticK(sqrt(7)), 40); maple = vpa ('0.6168027921799632674669917683443602673441', 40) - ... vpa ('0.9114898734184488922164103102629560336918j', 40); assert (abs (double (maple - us)), 0, 1e-39) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/isAlways.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/isAlways.m ***** test % basics assert(isAlways(true)) assert(isAlways(1==1)) assert(isAlways(sym(1)==sym(1))) assert(isAlways(sym(1)==1)) ***** test % numbers to logic? assert (isAlways(sym(1))) assert (isAlways(sym(-1))) assert (~isAlways(sym(0))) ***** shared x syms x ***** test % in this case it is boolean expr = x - x == 0; assert (logical(expr)) assert (isAlways(expr)) % and both are logical type assert (islogical(logical(expr))) assert (islogical(isAlways(expr))) ***** test % structurally same and mathematically true % (here expr should be sym, non-boolean) expr = x == x; assert (logical(expr)) assert (isAlways(expr)) %assert (~islogical(expr)) % FIXME: Issue #56 %assert (isa(expr, 'sym)) ***** test % structurally same and mathematically true % (here expr should be sym, non-boolean) expr = 1 + x == x + 1; assert (logical(expr)) assert (isAlways(expr)) ***** test % non-zero numbers are true assert (isAlways(sym(1))) assert (isAlways(sym(-10))) assert (~isAlways(sym(0))) ***** shared x, y syms x y ***** test % structurally same and mathematically true % (here expr should be sym, non-boolean) expr = x*(1+y) == x*(y+1); assert (logical(expr)) assert (isAlways(expr)) assert (islogical(isAlways(expr))) ***** test % Now for some differences % simplest example from SymPy FAQ expr = x*(1+y) == x+x*y; assert (~logical(expr)) assert (isAlways(expr)) ***** test % more differences 1, these don't simplify in sympy (as of 2016-01) expr = (x+1)^2 == x*x + 2*x + 1; assert (~logical(expr)) assert (isAlways(expr)) ***** test % more differences 2 expr = sin(2*x) == 2*sin(x)*cos(x); assert (~logical(expr)) assert (isAlways(expr)) ***** test % more differences 3, false expr = x*(x+y) == x^2 + x*y + 1; assert (~logical(expr)) assert (~isAlways(expr)) assert (~isAlways(expr, 'unknown', 'error')) ***** test % logically not equal, math equal exprn = x*(x+y) ~= x^2 + x*y; assert (logical(exprn)) assert (~isAlways(exprn)) ***** test % logically not equal, math not equal exprn = x*(x+y) ~= x^2 + x*y + 1; assert (logical(exprn)) assert (isAlways(exprn)) ***** test % equal and not equal e1 = sin(x)^2 + cos(x)^2 == 1; e2 = sin(x)^2 + cos(x)^2 == 2; assert (~logical(e1)) assert (isAlways(e1)) assert (~logical(e2)) assert (~isAlways(e2)) assert (~isAlways(e2, 'unknown', 'error')) ***** error isAlways(x, 'unknown', 'kevin') ***** error isAlways(x, 'unknown') ***** error isAlways(x, 'kevin', 'true') ***** error a = [x*(x+y)==x^2+x*y x==y]; b = isAlways(a, 'unknown', 'error'); ***** error a = x==y; b = isAlways(a, 'unknown', 'error'); ***** test % array, unknown keyword a = [x==x x==x+1 x==y x*(x+y)==x^2+x*y cos(x)^2+sin(x)^2==2]; b = isAlways(a, 'unknown', false); c = isAlways(a, 'unknown', 'false'); expect = [true false false true false]; assert (islogical(b)) assert (isequal (b, expect)) assert (isequal (c, expect)) b = isAlways(a, 'unknown', true); c = isAlways(a, 'unknown', 'true'); expect = [true false true true false]; assert (islogical(b)) assert (isequal (b, expect)) assert (isequal (c, expect)) ***** test % ineq e = x*(x+y) >= x^2 + x*y + 1; assert (~logical(e)) assert (isAlways(e)) e = x*(x+y) <= x^2 + x*y; assert (~logical(e)) assert (isAlways(e)) 21 tests, 21 passed, 0 known failure, 0 skipped [inst/@sym/sinint.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/sinint.m ***** error sinint (sym(1), 2) ***** xtest assert (isequaln (sinint (sym(nan)), sym(nan))) !!!!! known failure assert (isequaln (sinint (sym (nan)), sym (nan))) failed ***** shared x, d d = 1; x = sym('1'); ***** test f1 = sinint(x); f2 = 0.9460830703671830149414; assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = sinint(A); f2 = 0.9460830703671830149414; f2 = [f2 f2; f2 f2]; assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) y = sym('y'); A = sinint (d); f = sinint (y); h = function_handle (f); B = h (d); assert (A, B, -eps) end 5 tests, 4 passed, 1 known failure, 0 skipped [inst/@sym/dsolve.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/dsolve.m ***** test syms y(x) de = diff(y, 2) - 4*y == 0; f = dsolve(de); syms C1 C2 g1 = C1*exp(-2*x) + C2*exp(2*x); g2 = C2*exp(-2*x) + C1*exp(2*x); assert (isequal (rhs(f), g1) || isequal (rhs(f), g2)) ***** test % Not enough initial conditions syms y(x) C1 de = diff(y, 2) + 4*y == 0; g = 3*cos(2*x) + C1*sin(2*x); try f = dsolve(de, y(0) == 3); waserr = false; catch waserr = true; expectederr = regexp (lasterr (), 'Perhaps.*under-specified'); end assert ((waserr && expectederr) || isequal (rhs(f), g)) ***** test % Solution in implicit form syms y(x) C1 sol=dsolve((2*x*y(x)-exp(-2*y(x)))*diff(y(x),x)+y(x)==0); eq=x*exp(2*y(x))-log(y(x))==C1; assert (isequal (rhs(sol), rhs(eq)) && isequal (lhs(sol), lhs(eq)) ) ***** test % Compute solution and classification syms y(x) C1 [sol,classy]=dsolve((2*x*y(x)-exp(-2*y(x)))*diff(y(x),x)+y(x)==0); eq=x*exp(2*y(x))-log(y(x))==C1; assert (isequal (rhs(sol), rhs(eq)) && isequal (lhs(sol), lhs(eq))) assert (strcmp (classy, '1st_exact')) ***** test % initial conditions (first order ode) syms y(x) de = diff(y, x) + 4*y == 0; f = dsolve(de, y(0) == 3); g = 3*exp(-4*x); assert (isequal (rhs(f), g)) ***** test % initial conditions (second order ode) syms y(x) de = diff(y, 2) + 4*y == 0; f = dsolve(de, y(0) == 3, subs(diff(y,x),x,0)==0); g = 3*cos(2*x); assert (isequal (rhs(f), g)) ***** test % Dirichlet boundary conditions (second order ode) syms y(x) de = diff(y, 2) + 4*y == 0; f = dsolve(de, y(0) == 2, y(1) == 0); g = -2*sin(2*x)/tan(sym('2'))+2*cos(2*x); assert (isequal (rhs(f), g)) ***** test % Neumann boundary conditions (second order ode) syms y(x) de = diff(y, 2) + 4*y == 0; f = dsolve(de, subs(diff(y,x),x,0)==1, subs(diff(y,x),x,1)==0); g = sin(2*x)/2+cos(2*x)/(2*tan(sym('2'))); assert (isequal (rhs(f), g)) ***** test % Dirichlet-Neumann boundary conditions (second order ode) syms y(x) de = diff(y, 2) + 4*y == 0; f = dsolve(de, y(0) == 3, subs(diff(y,x),x,1)==0); g = 3*sin(2*x)*tan(sym('2'))+3*cos(2*x); assert (isequal (rhs(f), g)) ***** test % System of ODEs syms x(t) y(t) C1 C2 ode1 = diff(x(t),t) == 2*y(t); ode2 = diff(y(t),t) == 2*x(t); soln = dsolve([ode1, ode2]); g1 = [2*C1*exp(-2*t) + 2*C2*exp(2*t), -2*C1*exp(-2*t) + 2*C2*exp(2*t)]; g2 = [2*C1*exp(2*t) + 2*C2*exp(-2*t), 2*C1*exp(2*t) - 2*C2*exp(-2*t)]; assert (isequal ([rhs(soln{1}), rhs(soln{2})], g1) || ... isequal ([rhs(soln{1}), rhs(soln{2})], g2)) ***** test % System of ODEs (initial-value problem) syms x(t) y(t) ode_1=diff(x(t),t) == 2*y(t); ode_2=diff(y(t),t) == 2*x(t); sol_ivp=dsolve([ode_1,ode_2],x(0)==1,y(0)==0); g_ivp=[exp(-2*t)/2+exp(2*t)/2,-exp(-2*t)/2+exp(2*t)/2]; assert (isequal ([rhs(sol_ivp{1}),rhs(sol_ivp{2})], g_ivp)) ***** test syms y(x) de = diff(y, 2) + 4*y == 0; f = dsolve(de, y(0) == 0, y(sym(pi)/4) == 1); g = sin(2*x); assert (isequal (rhs(f), g)) ***** test % Nonlinear example syms y(x) C1 e = diff(y, x) == y^2; g = -1 / (C1 + x); soln = dsolve(e); assert (isequal (rhs(soln), g)) ***** test % Nonlinear example with initial condition syms y(x) e = diff(y, x) == y^2; g = -1 / (x - 1); soln = dsolve(e, y(0) == 1); assert (isequal (rhs(soln), g)) ***** xtest % forcing, Issue #183 syms x(t) y(t) ode1 = diff(x) == x + sin(t) + 2; ode2 = diff(y) == y - t - 3; soln = dsolve([ode1 ode2], x(0) == 1, y(0) == 2); X = rhs(soln{1}); Y = rhs(soln{2}); assert (isequal (diff(X) - (X + sin(t) + 2), 0)) assert (isequal (diff(Y) - (Y - t - 3), 0)) !!!!! known failure Python exception: NotImplementedError occurred at line 6 of the Python code block: sol = sp.dsolve(ode, ics=ics2) ***** test if (python_cmd ('return Version(spver) > Version("1.1.1")')) syms f(x) a b de = diff(f, x) == 4*f; s = dsolve(de, f(a) == b); assert (isequal (subs(rhs(s), x, a), b)) end 16 tests, 15 passed, 1 known failure, 0 skipped [inst/@sym/coth.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/coth.m ***** error coth (sym(1), 2) ***** assert (isequaln (coth (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = coth(x); f2 = coth(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = coth(A); f2 = coth(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = coth (d); f = coth (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/besselj.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/besselj.m ***** test X = [1 2 3; 4 5 6]; ns = [sym(0) 1 -2; sym(1)/2 -sym(3)/2 pi]; n = double(ns); A = double(besselj(ns, X)); B = besselj(n, X); assert (all (all (abs (A - B) < 50*eps*abs(A)))) ***** test % roundtrip syms x A = besselj(2, 10); q = besselj(2, x); h = function_handle(q); B = h(10); assert (abs (A - B) <= eps*abs(A)) ***** error besselj(sym('x')) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/mldivide.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/mldivide.m ***** test % scalar syms x assert (isa( x\x, 'sym')) assert (isequal( x\x, sym(1))) assert (isa( 2\x, 'sym')) assert (isa( x\2, 'sym')) ***** test % scalar \ matrix: easy, no system D = 2*[0 1; 2 3]; A = sym(D); assert (isequal ( 2 \ A , D/2 )) assert (isequal ( sym(2) \ A , D/2 )) ***** test % singular matrix A = sym([1 2; 2 4]); b = sym([5; 10]); x = A \ b; syms c1 y = [-2*c1 + 5; c1]; assert (isequal (x, y)) ***** test % singular matrix, mult RHS A = sym([1 2; 2 4]); B = sym([[5; 10] [0; 2] [0; 0]]); x = A \ B; syms c1 c5 y = [-2*c1 + 5 nan -2*c5; c1 nan c5]; assert (isequaln (x, y)) ***** warning % vpa, nearly singular matrix A = sym([1 2; 2 4]); A(1,1) = vpa('1.001'); b = sym([1; 2]); x = A \ b; y = [sym(0); vpa('0.5')]; assert (isequal (x, y)) ***** warning % vpa, singular rhs A = sym([1 2; 2 4]); b = [vpa('1.01'); vpa('2')]; x = A \ b; assert (all(isnan(x))) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@sym/isrow.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/isrow.m ***** assert (isrow (sym ([1]))) ***** assert (isrow (sym ([1 2 3]))) ***** assert (~isrow (sym ([]))) ***** assert (~isrow (sym ([1 2 3]'))) ***** assert (~isrow (sym ([1 2; 3 4]))) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/conj.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/conj.m ***** test a = sym(6); b = sym(5i); assert (isequal (conj(a), a)) assert (isequal (conj(b), -b)) assert (isequal (conj(a+b), a-b)) ***** test syms x assert (isequal (conj(conj(x)), x)) ***** test syms x real assert (isequal (conj(x), x)) ***** test % array syms x A = [x 6+1i; sym(1) x+2i]; B = [conj(x) 6-1i; sym(1) conj(x)-2i]; assert (isequal (conj(A), B)) ***** test % true/false t = sym(true); f = sym(false); assert (isequal ( conj(t), t)) assert (isequal ( conj(f), f)) ***** test % round trip syms x d = 3 - 5i; f = conj (x); A = conj (d); h = function_handle (f); B = h (d); assert (A, B) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@sym/numel.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/numel.m ***** test a = sym([1 2 3]); assert(numel(a) == 3); ***** test % 2D array a = sym([1 2 3; 4 5 6]); assert(numel(a) == 6); ***** test % empty a = sym([]); assert(numel(a) == 0); 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/hypergeom.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/hypergeom.m ***** assert (isequal (double (hypergeom ([1, 2], [2, 3], sym(0))), 1)) ***** test % matrix input syms z a = sym([1 2]); b = sym([3 4]); A = hypergeom (a, b, [0 sym(1); 2 z]); B = [hypergeom(a,b,0) hypergeom(a,b,1); hypergeom(a,b,2) hypergeom(a,b,z)]; assert (isequal (A, B)) ***** test % scalars for a and/or b syms z assert (isequal (hypergeom(1, 2, z), hypergeom({sym(1)}, {sym(2)}, z))) assert (isequal (hypergeom([1 2], 3, z), hypergeom([1 2], {sym(3)}, z))) assert (isequal (hypergeom(1, [2 3], z), hypergeom({sym(1)}, [2 3], z))) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/numden.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/numden.m ***** test [n, d] = numden(sym(2)); assert (isequal (n, 2)); assert (isequal (d, 1)); ***** test syms x y [n, d] = numden((x + pi)/(y + 6)); assert (isequal (n, x + pi)); assert (isequal (d, y + 6)); ***** test syms x y [n, d] = numden((x^2 + y^2)/(x*y)); assert (isequal (n, x^2 + y^2)); assert (isequal (d, x*y)); 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/unique.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/unique.m ***** test A = sym([1 2 3 3 5 3 2 6 5]); B = sym([1 2 3 5 6]); assert (isequal (unique(A), B)) ***** test syms x y A = [1 2 3 3 4 5 5 6 7 7 x x y y]; B = [1 2 3 4 5 6 7 x y]; assert (isequal (unique(A), B)) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/gammaln.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/gammaln.m ***** assert (isequal (gammaln (sym (3)), log (sym (2)))) ***** assert (isequal (gammaln (sym (10)), log (gamma (sym (10))))) ***** test % compare to Maple: evalf(lnGAMMA(Pi)); maple = vpa ('0.827694592323437101529578558452359951153502', 40); us = vpa (gammaln (sym(pi)), 40); assert (abs(double(maple-us)) < 1e-39) ***** test % compare to Maple: evalf(lnGAMMA(3+2*I)); maple = vpa ('-0.0316390593739611898037677296008797172022603', 40) + ... vpa ('2.02219319750132712401643376238334982100512j', 40); us = vpa (gammaln (sym(3) + 2i), 40); assert (abs(double(maple-us)) < 1e-39) ***** test % compare to Maple: evalf(lnGAMMA(-1.5)); % notably, @double/gammaln has zero imag part maple = vpa ('0.8600470153764810145109326816703567873271571', 40) - ... vpa ('6.2831853071795864769252867665590057683943388j', 40); us = vpa (gammaln (-sym(3)/2), 40); assert (abs(double(maple-us)) < 1e-39) ***** assert (gammaln (pi), double (gammaln (sym (pi))), -3*eps) ***** assert (gammaln (100), double (gammaln (sym (100))), -3*eps) ***** assert (gammaln (1e-3), double (gammaln (1/sym (1e3))), -100*eps) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) syms x f = gammaln (x); h = function_handle (f); A = h (1.1); B = gammaln (1.1); assert (A, B) end 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/intersect.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/intersect.m ***** test A = sym([1 2 3]); B = sym([1 2 4]); C = intersect(A, B); D = sym([1 2]); assert (isequal (C, D)) ***** test % one nonsym A = sym([1 2 3]); B = [1 2 4]; C = intersect(A, B); D = sym([1 2]); assert (isequal (C, D)) ***** test % empty A = sym([1 2 3]); C = intersect(A, A); assert (isequal (C, A)) ***** test % empty input A = sym([1 2]); C = intersect(A, []); assert (isequal (C, sym([]))) ***** test % scalar syms x assert (isequal (intersect([x 1], x), x)) assert (isequal (intersect(x, x), x)) ***** test A = interval(sym(1), 3); B = interval(sym(2), 5); C = intersect(A, B); assert( isequal( C, interval(sym(2), 3))) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@sym/min.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/min.m ***** test % scalars with dim a = min(sym(pi), [], 1); b = sym(pi); assert (isequal (a, b)); a = min(sym(pi), [], 2); assert (isequal (a, b)); a = max(sym(pi), [], 1); assert (isequal (a, b)); a = max(sym(pi), [], 2); assert (isequal (a, b)); ***** shared A, D D = [0 1 2 3]; A = sym(D); ***** test % row vectors assert (isequal (min(A), sym(min(D)))) assert (isequal (min(A), sym(0))) assert (isequal (max(A), sym(max(D)))) assert (isequal (max(A), sym(3))) ***** test % row vectors with dim assert (isequal (min(A, [], 1), sym(min(D, [], 1)))) assert (isequal (min(A, [], 2), sym(min(D, [], 2)))) assert (isequal (max(A, [], 1), sym(max(D, [], 1)))) assert (isequal (max(A, [], 2), sym(max(D, [], 2)))) ***** test % column vectors A = A.'; D = D.'; assert (isequal (min(A), sym(min(D)))) assert (isequal (min(A), sym(0))) assert (isequal (max(A), sym(max(D)))) assert (isequal (max(A), sym(3))) ***** test % row vectors with dim assert (isequal (min(A, [], 1), sym(min(D, [], 1)))) assert (isequal (min(A, [], 2), sym(min(D, [], 2)))) assert (isequal (max(A, [], 1), sym(max(D, [], 1)))) assert (isequal (max(A, [], 2), sym(max(D, [], 2)))) ***** shared ***** test % empty a = min(sym([])); assert(isempty(a)) a = max(sym([])); assert(isempty(a)) ***** test % matrix A = [1 4 6; 2 2 5]; A = sym(A); assert (isequal (min(A), sym([1 2 5]))) assert (isequal (min(A, [], 1), sym([1 2 5]))) assert (isequal (min(A, [], 2), sym([1; 2]))) assert (isequal (max(A), sym([2 4 6]))) assert (isequal (max(A, [], 1), sym([2 4 6]))) assert (isequal (max(A, [], 2), sym([6; 5]))) ***** test % index output is double not sym [m, I] = min(sym(2), [], 1); assert (strcmp(class(I), 'double')) [m, I] = max(sym(2), [], 1); assert (strcmp(class(I), 'double')) ***** test % empty rows/columns, I is double A = sym(zeros(0, 4)); [m, I] = min(A, [], 1); assert (strcmp(class(I), 'double')) [m, I] = max(A, [], 1); assert (strcmp(class(I), 'double')) A = sym(zeros(3, 0)); [m, I] = min(A, [], 2); assert (strcmp(class(I), 'double')) [m, I] = max(A, [], 2); assert (strcmp(class(I), 'double')) ***** test % index output A = [0 1 9; 10 7 4]; B = sym(A); [m1, I1] = min(A); [m2, I2] = min(B); assert (isequal (I1, I2)) assert (isequal (m1, double(m2))) [m1, I1] = max(A); [m2, I2] = max(B); assert (isequal (I1, I2)) assert (isequal (m1, double(m2))) ***** test % index output, with dim A = [0 1 9; 10 7 4]; B = sym(A); [m1, I1] = min(A, [], 1); [m2, I2] = min(B, [], 1); assert (isequal (I1, I2)) assert (isequal (m1, double(m2))) [m1, I1] = min(A, [], 2); [m2, I2] = min(B, [], 2); assert (isequal (I1, I2)) assert (isequal (m1, double(m2))) [m1, I1] = max(A, [], 1); [m2, I2] = max(B, [], 1); assert (isequal (I1, I2)) assert (isequal (m1, double(m2))) [m1, I1] = max(A, [], 2); [m2, I2] = max(B, [], 2); assert (isequal (I1, I2)) assert (isequal (m1, double(m2))) ***** test % empty columns A = sym(zeros(0, 4)); [m, I] = min(A, [], 1); assert (isequal (size(m), [0 4])) assert (isequal (size(I), [0 4])) [m, I] = max(A, [], 1); assert (isequal (size(m), [0 4])) assert (isequal (size(I), [0 4])) ***** test % empty rows A = sym(zeros(3, 0)); [m, I] = min(A, [], 2); assert (isequal (size(m), [3 0])) assert (isequal (size(I), [3 0])) [m, I] = max(A, [], 2); assert (isequal (size(m), [3 0])) assert (isequal (size(I), [3 0])) ***** test % another empty case % we differ slightly from double which gives 1x0/0x1 A = sym(zeros(3, 0)); [m, I] = min(A, [], 1); assert (isempty (m)) assert (isempty (I)) A = sym(zeros(0, 3)); [m, I] = min(A, [], 2); assert (isempty (m)) assert (isempty (I)) ***** test % binary op form, one a scalar A = sym([3 1 9]); m = min(A, sym(2)); M = max(A, sym(2)); assert (isequal (m, sym([2 1 2]))) assert (isequal (M, sym([3 2 9]))) m = min(sym(2), A); M = max(sym(2), A); assert (isequal (m, sym([2 1 2]))) assert (isequal (M, sym([3 2 9]))) ***** test % binary op form, both scalar m = min(sym(1), sym(2)); M = max(sym(2), sym(2)); assert (isequal (m, sym(1))) assert (isequal (M, sym(2))) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/@sym/int.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/int.m ***** shared x,y,a syms x y a ***** assert(logical(int(cos(x)) - sin(x) == 0)) ***** assert(logical(int(cos(x),x) - sin(x) == 0)) ***** assert(logical(int(cos(x),x,0,1) - sin(sym(1)) == 0)) ***** test %% limits might be syms assert( isequal (int(cos(x),x,sym(0),sym(1)), sin(sym(1)))) assert( isequal (int(cos(x),x,0,a), sin(a))) ***** test %% other variables present assert( isequal (int(y*cos(x),x), y*sin(x))) ***** test %% limits as array assert( isequal (int(cos(x),x,[0 1]), sin(sym(1)))) assert( isequal (int(cos(x),x,sym([0 1])), sin(sym(1)))) assert( isequal (int(cos(x),x,[0 a]), sin(a))) ***** test %% no x given assert( isequal (int(cos(x),[0 1]), sin(sym(1)))) assert( isequal (int(cos(x),sym([0 1])), sin(sym(1)))) assert( isequal (int(cos(x),[0 a]), sin(a))) assert( isequal (int(cos(x),0,a), sin(a))) ***** test %% integration of const assert( isequal (int(sym(2),y), 2*y)) assert( isequal (int(sym(2)), 2*x)) assert( isequal (int(sym(2),[0 a]), 2*a)) assert( isequal (int(sym(2),0,a), 2*a)) ***** test % componentwise int of array A = [x x*x]; assert (isequal (int(A, x), [x^2/2 x^3/3])) ***** test % NonElementaryIntegral bug % https://savannah.gnu.org/bugs/index.php?46831 f = int(exp(exp(x))); f = f + 2; g = diff(f); assert (isequal (g, exp(exp(x)))) 10 tests, 10 passed, 0 known failure, 0 skipped [inst/@sym/curl.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/curl.m ***** shared x,y,z syms x y z ***** test % double const f = [1 2 3]; g = [sym(0); 0; 0]; assert (isequal (curl(f, [x y z]), g)) % should fail, calls @double: curl(f, {x y z}), g)) ***** test % div curl always 0 v = [exp(x); x*y; sin(z)]; g = curl(v); a = divergence(g, [x y z]); assert (isAlways (a == sym(0))) assert (isa (a, 'sym')) g = curl(v, [x y z]); a = divergence(g, [x y z]); assert (isAlways (a == sym(0))) assert (isa (a, 'sym')) ***** test % div curl always 0 v = [exp(x); erfc(x*y); sin(exp(x)*y+sinh(z))]; g = curl(v, [x y z]); a = divergence(g, [x y z]); assert (isAlways (a == sym(0))) assert (isa (a, 'sym')) ***** test % curl grad is vec zero f = sin(exp(x)*y+sinh(z)); g = curl(gradient(f, [x,y,z])); assert (isequal (g, sym([0;0;0]))) ***** test % 2d fcn in 2d/3d u = sin(exp(x)*y); v = x^2*y^3; vorticity2d = diff(v,x) - diff(u,y); omega = curl([u; v; 0], [x y z]); assert (isequal (omega, [0; 0; vorticity2d])) ***** error <3D vector> curl([sym(1) 2 3 4]) ***** error curl([sym(1) 2 3], {sym('x') sym('y') sym('z') sym('t')}) ***** error curl([sym(1) 2 3], 42, 42) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/@sym/repmat.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/repmat.m ***** test % simple syms x A = [x x x; x x x]; assert (isequal (repmat(x, 2, 3), A)) ***** test % block cf double A = [1 2 3; 4 5 6]; B = sym(A); C = repmat(A, 2, 3); D = repmat(B, 2, 3); assert (isequal (C, D)) ***** test % empty A = repmat(sym([]), 2, 3); assert (isempty(A)); assert (isequal (size(A), [0 0])) ***** test % more empties A = repmat(sym(pi), [0 0]); assert (isequal (size(A), [0 0])) A = repmat(sym(pi), [0 3]); assert (isequal (size(A), [0 3])) A = repmat(sym(pi), [2 0]); assert (isequal (size(A), [2 0])) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/exp.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/exp.m ***** error exp (sym(1), 2) ***** assert (isequaln (exp (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = exp(x); f2 = exp(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = exp(A); f2 = exp(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = exp (d); f = exp (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/equationsToMatrix.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/equationsToMatrix.m ***** test syms x y z [A, B] = equationsToMatrix ([x + y - z == 1, 3*x - 2*y + z == 3, 4*x - 2*y + z + 9 == 0], [x, y, z]); a = sym ([1 1 -1; 3 -2 1; 4 -2 1]); b = sym ([1; 3; -9]); assert (isequal (A, a)) assert (isequal (B, b)) ***** test syms x y z A = equationsToMatrix ([3*x + -3*y - 5*z == 9, 4*x - 7*y + -3*z == -1, 4*x - 9*y - 3*z + 2 == 0], [x, y, z]); a = sym ([3 -3 -5; 4 -7 -3; 4 -9 -3]); assert (isequal (A, a)) ***** test syms x y [A, B] = equationsToMatrix ([3*x + 9*y - 5 == 0, -8*x - 3*y == -2]); a = sym ([3 9; -8 -3]); b = sym ([5; -2]); assert (isequal (A, a)) assert (isequal (B, b)) ***** test % override symvar order syms x y [A, B] = equationsToMatrix ([3*x + 9*y - 5 == 0, -8*x - 3*y == -2], [y x]); a = sym ([9 3; -3 -8]); b = sym ([5; -2]); assert (isequal (A, a)) assert (isequal (B, b)) ***** test syms x y z [A, B] = equationsToMatrix ([x - 9*y + z == -5, -9*y*z == -5], [y, x]); a = sym ([[-9 1]; -9*z 0]); b = sym ([-5 - z; -5]); assert (isequal (A, a)) assert (isequal (B, b)) ***** test syms x y [A, B] = equationsToMatrix (-6*x + 4*y == 5, 4*x - 4*y - 5, x, y); a = sym ([-6 4; 4 -4]); b = sym ([5; 5]); assert (isequal (A, a)) assert (isequal (B, b)) ***** test % vertical list of equations syms x y [A, B] = equationsToMatrix ([-6*x + 4*y == 5; 4*x - 4*y - 5], [x y]); a = sym ([-6 4; 4 -4]); b = sym ([5; 5]); assert (isequal (A, a)) assert (isequal (B, b)) ***** test syms x y [A, B] = equationsToMatrix (5*x == 1, y, x - 6*y - 7, y); a = sym ([0; 1; -6]); b = sym ([1 - 5*x; 0; -x + 7]); assert (isequal (A, a)) assert (isequal (B, b)) ***** error syms x y [A, B] = equationsToMatrix (x^2 + y^2 == 1, x - y + 1, x, y); ***** test % single equation syms x [A, B] = equationsToMatrix (3*x == 2, x); a = sym (3); b = sym (2); assert (isequal (A, a)) assert (isequal (B, b)) ***** test % single equation w/ symvar syms x [A, B] = equationsToMatrix (3*x == 2); a = sym (3); b = sym (2); assert (isequal (A, a)) assert (isequal (B, b)) ***** error if (python_cmd ('return Version(spver) <= Version("1.3")')) error ('unique') end syms x equationsToMatrix (3*x == 2, [x x]) 12 tests, 12 passed, 0 known failure, 0 skipped [inst/@sym/and.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/and.m ***** shared t, f t = sym(true); f = sym(false); ***** test % simple assert (isequal (t & f, f)) assert (isequal (t & t, t)) ***** test % mix wih nonsym assert (isequal (t & false, f)) assert (isequal (t & true, t)) assert (isequal (t & 0, f)) assert (isequal (t & 1, t)) assert (isa (t & false, 'sym')) assert (isa (t & 1, 'sym')) ***** test % array w = [t t f f]; z = [t f t f]; assert (isequal (w & z, [t f f f])) ***** test % number assert (isequal( sym(1) & t, t)) assert (isequal( sym(0) & t, f)) ***** test % output is sym even for scalar t/f assert (isa (t & f, 'sym')) ***** test % eqns, exclusive syms x e = (x == 3) & (x^2 == 9); assert (isequal (subs(e, x, [-3 0 3]), [f f t])) ***** error and (sym('x'), 2, 3) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/@sym/log.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/log.m ***** error log (sym(1), 2) ***** assert (isequaln (log (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = log(x); f2 = log(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = log(A); f2 = log(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = log (d); f = log (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/assume.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/assume.m ***** test syms x x = assume(x, 'positive'); a = assumptions(x); assert(strcmp(a, 'x: positive')) x = assume(x, 'even'); a = assumptions(x); assert(strcmp(a, 'x: even')) x = assume(x, 'odd'); a = assumptions(x); assert(strcmp(a, 'x: odd')) ***** error syms x x = assume (x, x); ***** error syms x x = assume (x/pi, 'integer') ***** test % multiple assumptions syms x x = assume(x, 'positive', 'integer'); [tilde, a] = assumptions(x, 'dict'); assert(a{1}.integer) assert(a{1}.positive) ***** test % multiple assumptions syms x x = assume(x, 'even', 'positive'); [tilde, a] = assumptions(x, 'dict'); assert(a{1}.even) assert(a{1}.positive) ***** test % has output so avoids workspace syms x positive x2 = x; f = sin(x); x = assume(x, 'negative'); a = assumptions(x); assert(strcmp(a, 'x: negative')) a = assumptions(x2); assert(strcmp(a, 'x: positive')) a = assumptions(f); assert(strcmp(a, 'x: positive')) ***** test % clear: has output so avoids workspace syms x positive f = 2*x; x2 = assume(x, 'clear'); assert (~ isempty (assumptions (f))); ***** test % has no output so does workspace syms x positive x2 = x; f = sin(x); assume(x, 'negative'); a = assumptions(x); assert(strcmp(a, 'x: negative')) a = assumptions(x2); assert(strcmp(a, 'x: negative')) a = assumptions(f); assert(strcmp(a, 'x: negative')) ***** test % clear: has not output so does workspace syms x positive f = 2*x; assume(x, 'clear'); assert (isempty (assumptions (f))); assert (isempty (assumptions ())); ***** test syms x positive assume (x, 'clear') assert (isempty (assumptions ())) ***** error syms x x2 = assume (x, 'clear', 'real'); ***** error syms a assume (a > 0) ***** test syms x y assume ([x y], 'real') assert (strcmp (assumptions (x), 'x: real')) assert (strcmp (assumptions (y), 'y: real')) ***** test syms x y assume ([x y], 'positive', 'even') assert (strcmp (assumptions (x), 'x: positive, even') || strcmp (assumptions (x), 'x: even, positive')) assert (strcmp (assumptions (y), 'y: positive, even') || strcmp (assumptions (y), 'y: even, positive')) ***** test % with output, original x and y are unchanged syms x y [p, q] = assume ([x y], 'real'); assert (isempty (assumptions (x))) assert (isempty (assumptions (y))) assert (strcmp (assumptions (p), 'x: real')) assert (strcmp (assumptions (q), 'y: real')) ***** test % matrix input syms a b c d assume ([a b; c d], 'real') assert (strcmp (assumptions (a), 'a: real')) assert (strcmp (assumptions (b), 'b: real')) assert (strcmp (assumptions (c), 'c: real')) assert (strcmp (assumptions (d), 'd: real')) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/@sym/argnames.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/argnames.m ***** test % basic tests syms x f = 2*x; assert (isempty (argnames(x))) assert (isempty (argnames(f))) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@sym/trace.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/trace.m ***** test % scalar syms x assert (isequal (trace(x), x)) ***** test syms x A = [x 3; 2*x 5]; assert (isequal (trace(A), x + 5)) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/ellipticCPi.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ellipticCPi.m ***** error ellipticCPi (sym (1)) ***** error ellipticCPi (sym (1), 2, 3) ***** assert (double (ellipticCPi (0, sym (1)/2)), 1.854074677, 10e-10) ***** assert (double (ellipticCPi (sym (6)/10, sym(71)/10)), 1.29469534336658, -20*eps) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/max.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/max.m ***** test % simple assert (isequal (max([sym(10) sym(11)]), sym(11))) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@sym/ei.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ei.m ***** test syms x f = ei(sym(0)); assert (double(f) == -inf) ***** test D = [1.895117816355937 4.954234356001890]; A = ei(sym([1 2])); assert (all (abs(double(A) - D) < 1e-15)) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/laplace.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/laplace.m ***** test % basic syms t s u w assert(logical( laplace(cos(3*t)) == s/(s^2+9) )) assert(logical( laplace(t^3) == 6/s^4 )) ***** test % matlab SMT compat syms t s u w z assert(logical( laplace(exp(2*t)) == 1/(s-2) )) assert(logical( laplace(exp(2*s)) == 1/(z-2) )) assert(logical( laplace(exp(2*u),w) == 1/(w-2) )) assert(logical( laplace(exp(2*u),u,w) == 1/(w-2) )) ***** test syms x s t z % matlab SMT prefers t over x (WTF not symvar like we do?) assert (isequal (laplace(x*exp(t), z), exp(t)/z^2)) % as usual, you can just specify: assert (isequal (laplace(x*exp(t), t, z), x/(z - 1))) % SMT result assert (isequal (laplace(x*exp(t), x, z), exp(t)/z^2)) ***** test % constant, issue #250 syms s f = laplace(2, s); assert (isequal (f, 2/s)) ***** test % Dirac delta and Heaviside tests syms t s assert (isequal (laplace(dirac(t-3)), exp(-3*s))) assert (isequal (laplace((t-3)*heaviside(t-3)), exp(-3*s)/s^2)) ***** xtest % Differential operator to algebraic % SymPy cannot evaluate? (Issue #170) syms s f(t) assert(logical( laplace(diff(f(t),t),t,s) == s*laplace(f(t),t,s)-f(0) )) !!!!! known failure assert (logical (laplace (diff (f (t), t), t, s) == s * laplace (f (t), t, s) - f (0))) failed 6 tests, 5 passed, 1 known failure, 0 skipped [inst/@sym/transpose.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/transpose.m ***** test x = sym(1); assert (isequal (x.', x)) ***** assert (isempty (sym([]).')) ***** test syms x; assert (isequal (x.', x)) ***** test A = [1 2; 3 4]; assert(isequal( sym(A).' , sym(A.') )) ***** test A = [1 2] + 1i; assert(isequal( sym(A).' , sym(A.') )) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/plus.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/plus.m ***** test % basic addition syms x assert (isa (x+5, 'sym')) assert (isa (5+x, 'sym')) assert (isa (5+sym(4), 'sym')) assert (isequal (5+sym(4), sym(9))) ***** test % array addition syms x D = [0 1; 2 3]; A = [sym(0) 1; sym(2) 3]; DZ = D - D; assert( isequal ( A + D , 2*D )) assert( isequal ( D + A , 2*D )) assert( isequal ( A + A , 2*D )) assert( isequal ( A + 2 , D + 2 )) assert( isequal ( 4 + A , 4 + D )) ***** test % ensure MatrixExpr can be manipulated somewhat syms n m integer A = sym('A', [n m]); B = subs(A, [n m], [5 6]); B = B + 1; assert (isa (B, 'sym')) C = B(1, 1); % currently makes a MatrixElement C = C + 1; assert (isa (C, 'sym')) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/cosd.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/cosd.m ***** error cosd (sym(1), 2) ***** assert (isequaln (cosd (sym(nan)), sym(nan))) ***** test f1 = cosd (sym(1)); f2 = cosd (1); assert (double (f1), f2, -eps) ***** test D = [10 30; 110 -45]; A = sym(D); f1 = cosd (A); f2 = cosd (D); assert (double (f1), f2, -eps) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/kron.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/kron.m ***** test syms x y A = [sin(x), sin(y); x, y]; B = ones(2); expected = sym([sin(x), sin(x), sin(y), sin(y); sin(x), sin(x), sin(y), sin(y); x, x, y, y; x, x, y, y]); assert (isequal (kron(A, B), expected)) ***** test syms x y A = [sin(x), sin(y); x, y]; B = 2; assert (isequal (kron(A, B), 2*A)) ***** test syms x y A = [sin(x), sin(y)]; B = 2; assert (isequal( kron(B, A), 2*A)) ***** test syms x y; X = [tan(x), tan(x)]; Y = [cot(x); cot(x)]; expected = sym(ones(2)); assert (isequal (simplify(kron(X, Y)), expected)) ***** test syms x y z X = [x, y, z]; Y = [y, y; x, x]; expected = [x*y, x*y, y^2, y^2, y*z, y*z; x^2, x^2, x*y, x*y, x*z, x*z]; assert (isequal (kron(X, Y), expected)) ***** test syms x y X = [x, x^2; y, y^2]; Y = [1, 0; 0, 1]; expected = [x, x^2, 0, 0; y, y^2, 0, 0; 0, 0, x, x^2; 0, 0, y, y^2]; assert (isequal (kron(Y, X), expected)) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@sym/rdivide.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/rdivide.m ***** test % scalar syms x assert (isa (x ./ 1, 'sym')) assert (isa (x ./ x, 'sym')) assert (isequal (x ./ 1, x)) assert (isequal (x ./ x, sym(1))) ***** test % matrix-scalar D = 2*[0 1; 2 3]; A = sym(D); assert (isequal ( A./2 , D/2 )) assert (isequal ( A./sym(2) , D/2 )) assert (isequal ( D./sym(2) , D/2 )) ***** test % matrix ./ matrix D = [1 2; 3 4]; A = sym(D); assert (isequal ( A./A , D./D )) assert (isequal ( A./D , D./D )) assert (isequal ( D./A , D./D )) ***** test % matrix ./ matrix with symbols syms x y A = [x y; x^2 2*y]; B = [y x; x y]; assert (isequal ( A./A , sym(ones(2,2)) )) assert (isequal ( A./B , [x/y y/x; x 2] )) ***** test % scalar ./ matrix D = [1 2; 3 4]; A = sym(D); assert (isequal ( 12./A , 12./D )) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/airy.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/airy.m ***** test syms z a = airy(0, z); ap = airy(1, z); assert (isequal (diff (a), ap)) assert (isequal (diff (ap), z*a)) ***** test syms z b = airy(2, z); bp = airy(3, z); assert (isequal (diff (b), bp)) assert (isequal (diff (bp), z*b)) ***** test % default to k=0 syms z a = airy(0, z); a2 = airy(z); assert (isequal (a, a2)) ***** error airy(0, sym('x'), 2) ***** error airy(4, sym('z')) ***** error airy(-1, sym('z')) ***** test % symbolic k syms z b1 = airy(2, z); b2 = airy(sym(2), z); assert (isequal (b1, b2)) ***** test % doubles, relative error X = [1 2 pi; 4i 5 6+6i]; Xs = sym(X); for k = 0:3 A = double(airy(k, Xs)); B = airy(k, X); assert (all (all (abs(A - B) < 500*eps*abs(A)))) end ***** test % round-trip syms x for k = 0:3 A = airy(k, 10); q = airy(k, x); h = function_handle(q); B = h(10); assert (abs(A-B) < 500*eps*abs(A)) end 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/display.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/display.m ***** test assert(true) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@sym/acos.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/acos.m ***** error acos (sym(1), 2) ***** assert (isequaln (acos (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = acos(x); f2 = acos(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = acos(A); f2 = acos(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = acos (d); f = acos (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/ne.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ne.m ***** test % simple x = sym(1); y = sym(1); e = x ~= y; assert (~logical (e)) x = sym(1); y = sym(2); e = x ~= y; assert (logical(e)) ***** test % array -- array syms x a = sym([1 3 3 2*x]); b = sym([2 x 3 10]); e = a ~= b; assert (isa (e, 'sym')) assert (logical (e(1))) assert (isa (e(2), 'sym')) assert (isequal (e(2), 3 ~= x)) assert (~logical (e(3))) assert (isa (e(4), 'sym')) assert (isequal (e(4), 2*x ~= 10)) ***** test % oo syms oo x e = oo ~= x; assert (isa (e, 'sym')) s = strtrim (disp (e, 'flat')); % SymPy <= 0.7.6.x will be '!=', newer gives 'Ne', test both assert (strcmp (s, 'oo != x') || strcmp (s, 'Ne(oo, x)')) ***** test % nan syms oo x snan = sym(nan); e = snan ~= sym(0); assert (logical (e)) e = snan ~= snan; assert (logical (e)) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/ctranspose.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ctranspose.m ***** test x = sym(1); assert (isequal (x', x)) ***** assert (isempty (sym([])')) ***** test % conjugate does nothing to real x syms x real assert (isequal (x', x)) ***** test % complex syms x assert (isequal (x', conj(x))) ***** test % complex array syms x A = [x 2*x]; B = [conj(x); 2*conj(x)]; assert(isequal(A', B)) ***** test A = [1 2; 3 4]; assert(isequal( sym(A)' , sym(A') )) ***** test A = [1 2] + 1i; assert(isequal( sym(A)' , sym(A') )) ***** test % true/false t = sym(true); f = sym(false); assert (isequal ( t', t)) assert (isequal ( f', f)) ***** test % more true/false syms x A = [x true 1i]; B = [conj(x); true; -sym(1i)]; assert (isequal ( A', B)) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/qr.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/qr.m ***** test % scalar [q, r] = qr(sym(6)); assert (isequal (q, sym(1))) assert (isequal (r, sym(6))) syms x [q, r] = qr(x); assert (isequal (q*r, x)) % could hardcode this if desired %assert (isequal (q, sym(1))) %assert (isequal (r, x)) ***** test A = [1 2; 3 4]; B = sym(A); [Q, R] = qr(B); assert (isequal (Q*R, B)) assert (isequal (R(2,1), sym(0))) assert (isequal (Q(:,1)'*Q(:,2), sym(0))) %[QA, RA] = qr(A) %assert ( max(max(double(Q)-QA)) <= 10*eps) %assert ( max(max(double(Q)-QA)) <= 10*eps) ***** test % non square: tall skinny A = sym([1 2; 3 4; 5 6]); [Q, R] = qr (A, 0); assert (size (Q), [3 2]) assert (size (R), [2 2]) assert (isequal (Q*R, A)) ***** error % non square: short fat: not yet implemented upstream [Q, R] = qr (sym([1 2]), 0); ***** error [Q, R, P] = qr (sym(1)) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/fliplr.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/fliplr.m ***** test % simple syms x A = [x 2; sym(pi) x]; B = [2 x; x sym(pi)]; assert (isequal (fliplr(A), B)) ***** test % simple, odd # cols syms x A = [x 2 sym(pi); x 1 2]; B = [sym(pi) 2 x; 2 1 x]; assert (isequal (fliplr(A), B)) ***** test % scalar syms x assert (isequal (fliplr(x), x)) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/lgamma.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/lgamma.m ***** test % tested by gammaln assert (isequal (lgamma (sym ('x')), gammaln (sym ('x')))) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@sym/ones.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ones.m ***** test y = ones(sym(2)); x = [1 1; 1 1]; assert( isequal( y, sym(x))) ***** test y = ones(sym(2), 1); x = [1; 1]; assert( isequal( y, sym(x))) ***** test y = ones(sym(1), 2); x = [1 1]; assert( isequal( y, sym(x))) ***** assert( isa( ones(sym(2), 'double'), 'double')) ***** assert( isa( ones(3, sym(3), 'single') , 'single')) ***** assert( isa( ones(3, sym(3)), 'sym')) ***** assert( isa( ones(3, sym(3), 'sym'), 'sym')) ***** xtest % Issue #13 assert( isa( ones(3, 3, 'sym'), 'sym')) !!!!! known failure invalid data type specified 8 tests, 7 passed, 1 known failure, 0 skipped [inst/@sym/iscolumn.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/iscolumn.m ***** assert (iscolumn (sym ([1]))) ***** assert (iscolumn (sym ([1 2 3]'))) ***** assert (~iscolumn (sym ([]))) ***** assert (~iscolumn (sym ([1 2 3]))) ***** assert (~iscolumn (sym ([1 2; 3 4]))) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/cot.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/cot.m ***** error cot (sym(1), 2) ***** assert (isequaln (cot (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = cot(x); f2 = cot(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = cot(A); f2 = cot(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = cot (d); f = cot (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/null.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/null.m ***** test A = sym([1 2; 3 4]); assert (isempty (null (A))) ***** assert (isempty (null (sym(4)))) ***** test A = sym([1 2 3; 3 4 5]); assert (isequal (null(A), sym([1;-2;1]))) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/orth.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/orth.m ***** test A = [1 2; 3 6]; K = orth(A); L = orth(sym(A)); assert (isequal (size(L), [2 1])) dif1 = abs (double(L) - K); dif2 = abs (double(L) + K); assert (all (dif1 < 1e-15) || all (dif2 < 1e-15)) ***** test A = [1; 3]; K = orth(A); L = orth(sym(A)); assert (isequal (size(L), [2 1])) dif1 = abs (double(L) - K); dif2 = abs (double(L) + K); assert (all (dif1 < 1e-16) || all (dif2 < 1e-16)) ***** test A = sym([1 2; 3 4]); L = orth(sym(A)); assert (isequal (size(L), [2 2])) v = L(:, 1); w = L(:, 2); assert (isAlways (v' * v == 1)) assert (isAlways (w' * w == 1)) assert (isAlways (v' * w == 0)) ***** test A = sym([1 1; 1 0; 1 0]); L = orth(sym(A)); assert (isequal (size(L), [3 2])) v = L(:, 1); w = L(:, 2); assert (isAlways (v' * v == 1)) assert (isAlways (w' * w == 1)) assert (isAlways (v' * w == 0)) % y and z components must be equal assert (isAlways (v(2) == v(3))) assert (isAlways (w(2) == w(3))) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/cbrt.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/cbrt.m ***** error cbrt (sym(1), 2) ***** assert (isequaln (cbrt (sym(nan)), sym(nan))) ***** shared x, d d = 2; x = sym('2'); ***** test f1 = cbrt(x); f2 = 1.2599210498948731647; assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = cbrt(A); f2 = 1.2599210498948731647; f2 = [f2 f2; f2 f2]; assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); if (exist ('OCTAVE_VERSION', 'builtin')) A = cbrt (d); else % Issue #742 A = d^(1/3); end f = cbrt (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/imag.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/imag.m ***** assert (isequal (imag (sym (4) + 3i),3)) ***** test syms x y real z = x + 1i*y; assert (isequal (imag (z),y)) ***** test syms x y real Z = [4 x + 1i*y; 1i*y 4 + 3i]; assert (isequal (imag (Z),[0 y; y 3])) ***** test syms x real d = exp (x*i); assert (isequal (imag (d), sin (x))) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.1.1")')) syms x d = 3 - 5i; f = imag (x); A = imag (d); h = function_handle (f); B = h (d); assert (A, B) end 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/power.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/power.m ***** test % scalar .^ scalar syms x assert (isa (x.^2, 'sym')) assert (isa (2.^x, 'sym')) assert (isa (x.^x, 'sym')) assert (isequal (x.^2, x^2)) assert (isequal (2.^x, 2^x)) assert (isequal (x.^x, x^x)) ***** test % scalar .^ matrix D = [0 1; 2 3]; A = sym(D); assert (isequal ( sym(2).^D , 2.^D )) assert (isequal ( sym(2).^A , 2.^A )) assert (isequal ( 2.^D , 2.^A )) assert (isequal ( 2.^A , 2.^A )) ***** test % matrix .^ matrix syms x A = [x 2*x; 3*x 4*x]; D = [0 1; 2 3]; B = sym(D); assert (isequal ( A.^D, [1 2*x; 9*x^2 64*x^3] )) assert (isequal ( A.^B, [1 2*x; 9*x^2 64*x^3] )) ***** test % matrix .^ scalar syms x A = [x 2*x]; assert (isequal ( A.^2, [x^2 4*x^2] )) assert (isequal ( A.^sym(2), [x^2 4*x^2] )) ***** test % 1^oo % (sympy >= 0.7.5 gives NaN, SMT R2013b: gives 1) oo = sym(inf); assert (isnan (1^oo)) ***** test % 1^zoo % (1 on sympy 0.7.4--0.7.6, but nan in git (2014-12-12, a210908d4)) zoo = sym('zoo'); assert (isnan (1^zoo)) ***** test % immutable test A = sym([1 2]); B = sym('ImmutableDenseMatrix([[Integer(1), Integer(2)]])'); assert (isequal (A.^A, B.^B)) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/@sym/horner.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/horner.m ***** error horner (sym(1), 2, 3) ***** assert (isAlways (horner(sym(1)) == 1)) ***** test syms x assert (isAlways (horner(x) == x)) ***** test syms x a p = a^2 + a*x + 2*a + 2*x; assert (isequal (horner (p, a), a*(a+x+2) + 2*x)) q = a^2 + 2*a + x*(a + 2); assert (isequal (horner (p, x), q)) assert (isequal (horner (p), q)) ***** test syms x p = poly2sym ([2 4 6 8], x); q = horner (p); assert (isAlways (p == q)) assert (isAlways (horner(2*x^3 + 4*x^2 + 6*x + 8) == q)) ***** test % non-sym input syms x assert (isequal (horner(6, x), sym(6))) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@sym/euler.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/euler.m ***** error euler (sym(1), 2, 3) ***** assert (isequal (euler (sym(0)), sym(1))) ***** test m = sym([0 1 2; 8 10 888889]); A = euler (m); B = sym([1 0 -1; 1385 -50521 0]); assert (isequal (A, B)) ***** test if (python_cmd('return Version(spver) > Version("1.1.1")')) syms x assert (isequal (euler(6, x), x^6 - 3*x^5 + 5*x^3 - 3*x)) end ***** test if (python_cmd('return Version(spver) > Version("1.1.1")')) assert (isnan (euler (3, sym(nan)))) end ***** test if (python_cmd('return Version(spver) > Version("1.1.1")')) syms m x em = euler (m, x); A = subs(em, [m x], [2 sym(pi)]); assert (isequal (A, sym(pi)^2 - sym(pi))) end ***** test % vectorized if (python_cmd('return Version(spver) > Version("1.1.1")')) syms x y A = euler([1; 2], [x; y]); B = [x - sym(1)/2; y^2 - y]; assert (isequal (A, B)) end ***** test % round trip if (python_cmd('return Version(spver) > Version("1.1.1")')) syms m z f = euler (m, z); h = function_handle (f, 'vars', [m z]); A = h (2, 2.2); B = euler (2, 2.2); assert (A, B) end ***** test % compare vpa to maple: Digits:=34; evalf(euler(13, exp(1)+Pi*I/13)); if (python_cmd('return Version(spver) > Version("1.1.1")')) A = vpa('1623.14184180556920918624604530515') + ... vpa('4270.98066989140286451493108809574')*1i; z = vpa (exp(1), 32) + vpa(pi, 32)/13*1i; B = euler (13, z); relerr = double(abs((B - A)/A)); assert (abs(relerr) < 2e-31); end 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/symreplace.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/symreplace.m ***** test % start with assumptions on x then remove them syms x positive f = x*10; symreplace(x, sym('x')) assert(isempty(assumptions(x))) ***** test % replace x with y syms x f = x*10; symreplace(x, sym('y')) assert( isequal (f, 10*sym('y'))) ***** test % gets inside cells syms x f = {x 1 2 {3 4*x}}; symreplace(x, sym('y')) syms y assert( isequal (f{1}, y)) assert( isequal (f{4}{2}, 4*y)) ***** test % gets inside structs/cells syms x my.foo = {x 1 2 {3 4*x}}; my.bar = x; g = {'ride' my 'motor' 'sicle'}; symreplace(x, sym('y')) syms y f = g{2}; assert( isequal (f.foo{1}, y)) assert( isequal (f.foo{4}{2}, 4*y)) assert( isequal (f.bar, y)) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/resize.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/resize.m ***** test B = sym([1 0 0; 0 0 0]); assert (isequal (resize (sym(1), 2, 3), B)) assert (isequal (resize (sym(1), [2 3]), B)) ***** test B = sym([1 0; 0 0]); assert (isequal (resize (sym(1), 2), B)) ***** test A = sym([pi 2; 3 4]); assert (isequal (resize (A, 1), sym(pi))) ***** assert (isequal (size (resize (sym(1), 0, 0)), [0 0])) ***** assert (isequal (size (resize (sym(1), 6, 0)), [6 0])) ***** assert (isequal (size (resize (sym(1), 0, 3)), [0 3])) ***** error resize (sym(1)) ***** error resize (sym(1), 2, 3, 4) ***** error resize (sym(1), [2 3 4]) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/dirac.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/dirac.m ***** error dirac (sym(1), 2) ***** assert (isequaln (dirac (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = dirac(x); f2 = dirac(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = dirac(A); f2 = dirac(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = dirac (d); f = dirac (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/sinh.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/sinh.m ***** error sinh (sym(1), 2) ***** assert (isequaln (sinh (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = sinh(x); f2 = sinh(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = sinh(A); f2 = sinh(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = sinh (d); f = sinh (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/sin.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/sin.m ***** error sin (sym(1), 2) ***** assert (isequaln (sin (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = sin(x); f2 = sin(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = sin(A); f2 = sin(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = sin (d); f = sin (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/chebyshevU.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/chebyshevU.m ***** error chebyshevU (sym(1)) ***** error chebyshevU (sym(1), 2, 3) ***** assert (isequaln (chebyshevU (2, sym(nan)), sym(nan))) ***** shared x syms x ***** assert(isequal(chebyshevU(0, x), sym(1))) ***** assert(isequal(chebyshevU(1, x), 2*x)) ***** assert(isequal(chebyshevU(2, x), 4*x*x - 1)) ***** assert(isequal(chebyshevU([0 1 2], x), [sym(1) 2*x (4*x*x-1)])) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.2")')) syms n z f = chebyshevU (n, z); h = function_handle (f, 'vars', [n z]); A = h (1.1, 2.2); B = chebyshevU (1.1, 2.2); assert (A, B) end 8 tests, 8 passed, 0 known failure, 0 skipped [inst/@sym/cond.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/cond.m ***** test A = [1 2; 3 4]; B = sym(A); k1 = cond(A); k2 = cond(B); k3 = double(k2); assert (k1 - k3 <= 100*eps) ***** test % matrix with symbols syms x positive A = [x 0; sym(0) 2*x]; k1 = cond(A); assert (isequal (k1, sym(2))) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/isinf.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/isinf.m ***** shared x,zoo,oo,snan oo = sym(inf); zoo = sym('zoo'); x = sym('x'); snan = sym(nan); ***** test % various ops that give inf and nan assert (isinf(oo)) assert (isinf(zoo)) assert (isinf(oo+oo)) assert (~isinf(oo+zoo)) assert (~isinf(0*oo)) assert (~isinf(0*zoo)) assert (~isinf(snan)) assert (~isinf(oo-oo)) assert (~isinf(oo-zoo)) ***** test % arrays assert (isequal( isinf([oo zoo]), [1 1] )) assert (isequal( isinf([oo 1]), [1 0] )) assert (isequal( isinf([10 zoo]), [0 1] )) assert (isequal( isinf([x oo x]), [0 1 0] )) ***** test % Must not contain string 'symbol'; these all should make an % actual infinity. Actually a ctor test, not isinf. % IIRC, SMT in Matlab 2013b fails. oo = sym(inf); assert (isempty (strfind (sympy (oo), 'Symbol'))) oo = sym(-inf); assert (isempty (strfind (sympy (oo), 'Symbol'))) oo = sym('inf'); assert (isempty (strfind (sympy (oo), 'Symbol'))) oo = sym('-inf'); assert (isempty (strfind (sympy (oo), 'Symbol'))) oo = sym('Inf'); assert (isempty (strfind (sympy (oo), 'Symbol'))) ***** test % ops with infinity shouldn't collapse syms x oo zoo y = x + oo; assert (~isempty (strfind (lower (sympy (y)), 'add') )) y = x - oo; assert (~isempty (strfind (lower (sympy (y)), 'add') )) y = x - zoo; assert (~isempty (strfind (lower (sympy (y)), 'add') )) y = x*oo; assert (~isempty (strfind (lower (sympy (y)), 'mul') )) ***** test % ops with infinity are not necessarily infinite syms x oo zoo y = x + oo; assert(~isinf(y)) % SMT 2014a says "true", I disagree y = x - zoo; assert(~isinf(y)) y = x*oo; assert(~isinf(y)) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/vertcat.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/vertcat.m ***** test % basic syms x A = [x; x]; B = vertcat(x, x); C = vertcat(x, x, x); assert (isa (A, 'sym')) assert (isa (B, 'sym')) assert (isa (C, 'sym')) assert (isequal (size(A), [2 1])) assert (isequal (size(B), [2 1])) assert (isequal (size(C), [3 1])) ***** test % basic, part 2 syms x A = [x; 1]; B = [1; x]; C = [1; 2; x]; assert (isa (A, 'sym')) assert (isa (B, 'sym')) assert (isa (C, 'sym')) assert (isequal (size(A), [2 1])) assert (isequal (size(B), [2 1])) assert (isequal (size(C), [3 1])) ***** test % column vectors a = [sym(1); 2]; b = [sym(3); 4]; assert (isequal ( [a;b] , [1; 2; 3; 4] )) assert (isequal ( [a;b;a] , [1; 2; 3; 4; 1; 2] )) ***** test % row vectors a = [sym(1) 2]; b = [sym(3) 4]; assert (isequal ( [a;b] , [1 2; 3 4] )) assert (isequal ( [a;b;a] , [1 2; 3 4; 1 2] )) ***** test % row vector, other row a = [sym(1) 2]; assert (isequal ( [a; [sym(3) 4]] , [1 2; 3 4] )) ***** test % empty vectors v = [sym(1) sym(2)]; a = [v; []]; assert (isequal (a, v)) a = [[]; v; []]; assert (isequal (a, v)) a = [v; []; []]; assert (isequal (a, v)) ***** xtest % FIXME: is this Octave bug? worth worrying about syms x a = [x; [] []]; assert (isequal (a, x)) !!!!! known failure octave_base_value::map_value(): wrong type argument 'null_matrix' ***** test % more empty vectors v = [sym(1) sym(2)]; q = sym(ones(0, 2)); assert (isequal ([v; q], v)) ***** error v = [sym(1) sym(2)]; q = sym(ones(0, 3)); w = vertcat(v, q); ***** test % Octave 3.6 bug: should pass on 3.8.1 and matlab a = [sym(1) 2]; assert (isequal ( [a; [3 4]] , [1 2; 3 4] )) assert (isequal ( [a; sym(3) 4] , [1 2; 3 4] )) % more examples syms x [x [x x]; x x x]; [[x x] x; x x x]; [[x x] x; [x x] x]; [x x x; [x x] x]; ***** test % issue #700 A = sym ([1 2]); B = simplify (A); assert (isequal ([B; A], [A; B])) 11 tests, 10 passed, 1 known failure, 0 skipped [inst/@sym/inv.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/inv.m ***** test % scalar syms x assert (isequal (inv(x), 1/x)) ***** test % diagonal syms x A = [sym(1) 0; 0 x]; B = [sym(1) 0; 0 1/x]; assert (isequal (inv(A), B)) ***** test % 2x2 inverse A = [1 2; 3 4]; assert (max (max (abs (double (inv (sym (A))) - inv(A)))) <= 3*eps) ***** error syms a; A = [a a; a a]; inv(A) ***** error syms a; A = [a a]; inv(A) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/psi.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/psi.m ***** assert (isequal (psi (sym (1)), -eulergamma)) ***** assert (isequal (psi (1, sym (1)), sym (pi)^2/6)) ***** assert (isinf (psi (sym ('inf')))) ***** test % compare to Maple: evalf(Psi(-101/100)); maple = vpa ('100.3963127058453949545769053445198842332424', 40); us = vpa (psi (sym (-101)/100), 40); assert (abs(double(maple-us)) < 1e-39) ***** test % compare to Maple: evalf(Psi(1, 3*I-2)); maple = vpa ('-0.1651414829219882371561038184133243839778799', 40) - ... vpa ('0.1960040752985823275302034466611711263617296j', 40); us = vpa (psi (1, sym (-2) + sym(3i)), 40); assert (abs(double(maple-us)) < 1e-39) ***** test % should match @double/psi if (exist ('psi','builtin')) assert (psi (pi), double (psi (sym (pi))), -3*eps) assert (psi (100), double (psi (sym (100))), -3*eps) assert (psi (1e-3), double (psi (1/sym (1e3))), -3*eps) if (exist ('OCTAVE_VERSION', 'builtin')) % 2014a doesn't support negative or complex arguments assert (psi (-1.5), double (psi (sym (-3)/2)), -3*eps) assert (psi (-8.3), double (psi (sym (-83)/10)),-4*eps) assert (psi (2i), double (psi (sym (2i))), -3*eps) assert (psi (10i+3), double (psi (sym (10i)+3)), -3*eps) end end ***** test % @double/psi loses accuracy near the poles: note higher rel tol if (exist ('psi','builtin')) if (exist ('OCTAVE_VERSION', 'builtin')) assert (psi (-1.1), double (psi (sym (-11)/10)), -6*eps) assert (psi (-1.01), double (psi (sym (-101)/100)), -50*eps) end end ***** test if (exist ('psi','builtin')) assert (psi (1, pi), double (psi (1, sym (pi))), -3*eps) assert (psi (1, 100), double (psi (1, sym (100))), -3*eps) assert (psi (1, 1e-4), double (psi (1, 1/sym (1e4))), -3*eps) end ***** test if (exist ('psi','builtin')) assert (psi (2, pi), double (psi (2, sym (pi))), -3*eps) assert (psi (2, 1000), double (psi (2, sym (1000))), -3*eps) assert (psi (2, 1e-4), double (psi (2, 1/sym (1e4))), -3*eps) end ***** test % round trip if (exist ('psi','builtin')) if (python_cmd ('return Version(spver) > Version("1.0")')) syms x f = psi (x); h = function_handle (f); A = h (1.1); B = psi (1.1); assert (A, B) end end 10 tests, 10 passed, 0 known failure, 0 skipped [inst/@sym/csc.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/csc.m ***** error csc (sym(1), 2) ***** assert (isequaln (csc (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = csc(x); f2 = csc(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = csc(A); f2 = csc(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = csc (d); f = csc (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/sech.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/sech.m ***** error sech (sym(1), 2) ***** assert (isequaln (sech (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = sech(x); f2 = sech(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = sech(A); f2 = sech(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) y = sym('y'); A = sech (d); f = sech (y); h = function_handle (f); B = h (d); assert (A, B, -eps) end 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/rref.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/rref.m ***** test A = sym([1 2; 3 4]); [r, k] = rref(A); assert (isequal (r, eye(2))) assert (isequal (k, [1 2])) ***** assert (isequal (rref(sym([2 1])), [1 sym(1)/2])) ***** assert (isequal (rref(sym([1 2; 2 4])), [1 2; 0 0])) ***** assert (isequal (rref(sym([0 0; 2 4])), [1 2; 0 0])) ***** test A = sym([1 2 3; 2 3 4]); [r, k] = rref(A); assert (isequal (r, [1 0 -1; 0 1 2])) assert (isequal (k, [1 2])); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/mpower.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/mpower.m ***** test syms x assert(isequal(x^(sym(4)/5), x.^(sym(4)/5))) ***** test % integer powers of scalars syms x assert (isequal (x^2, x*x)) assert (isequal (x^sym(3), x*x*x)) ***** test % array ^ integer syms x y A = [x 2; y 4]; assert (isequal (A^2, A*A)) assert (isequal (simplify(A^3 - A*A*A), [0 0; 0 0])) ***** test % array ^ rational Ad = [1 2; 0 3]; A = sym(Ad); B = A^(sym(1)/3); Bd = Ad^(1/3); assert (max(max(abs(double(B) - Bd))) < 1e-14) ***** test % non-integer power A = sym([1 2; 0 3]); B = A^pi; C = [1 -1+3^sym(pi); 0 sym(3)^pi]; assert (isequal (B, C)) ***** test % matpow syms n A = sym([1 2; 3 4]); B = A^n; C = 10 + B + B^2; D = subs(C, n, 1); E = 10 + A + A^2; assert (isequal (simplify(D), simplify(E))) ***** test % matpow, sub in zero gives identity A = sym([1 2; 0 3]); syms n; B = A^n; C = subs(B, n, 1); assert (isequal (C, A)) C = subs(B, n, 0); assert (isequal (C, sym(eye(2)))) ***** test % scalar^array works in SymPy > 1.0.0, otherwise not implemented syms x A = [1 2; 3 4]; try B = x^A; waserr = false; catch waserr = true; notimpl = any (strfind (lasterr (), 'NotImplementedError')); end assert ((~ waserr && strcmp (regexprep (disp (B, 'flat'), '\s+', ''), 'x**Matrix([[1,2],[3,4]])')) || (waserr && notimpl)) ***** error A = sym([1 2; 3 4]); B = A^A; 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/double.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/double.m ***** test % numeric scalar a = double(sym(10)); assert (a == 10) assert (isa (a, 'double')) ***** test % numeric vectors a = double(sym([10 12])); assert (isequal (a, [10 12])) assert (isa (a, 'double')) ***** test % complex a = 3 + 4i; b = sym(a); assert (isequal (double (b), a)) ***** xtest % unexpected, precisely same floating point a = 3 + 4i; b = sym(a); assert (isequal (double (b/pi), a/pi)) ***** test % floating point x = sqrt(sym(2)); assert( abs(double(x) - sqrt(2)) < 2*eps) x = sym(pi); assert( abs(double(x) - pi) < 2*eps) ***** test oo = sym(inf); assert( double(oo) == inf ) assert( double(-oo) == -inf ) assert( isnan(double(0*oo)) ) ***** test zoo = sym('zoo'); assert (double(zoo) == complex(inf, inf)) ***** test zoo = sym('zoo'); assert (double(-zoo) == double(zoo) ) assert( isnan(double(0*zoo)) ) ***** test % nan snan = sym(nan); assert( isnan(double(snan))) ***** test % don't want NaN+NaNi snan = sym(nan); assert (isreal (double (snan))) ***** test % arrays a = [1 2; 3 4]; assert( isequal( double(sym(a)), a )) assert( isequal( double(sym(a)), a )) % should fail with error for non-double ***** error syms x; double(x) ***** error syms x; double([1 2 x]) 13 tests, 13 passed, 0 known failure, 0 skipped [inst/@sym/ccode.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ccode.m ***** shared x,y,z syms x y z ***** test % basic test f = x*sin(y) + abs(z); source = ccode(f); expected = 'x*sin(y) + fabs(z)'; assert(strcmp(source, expected)) ***** test % output test f = x*sin(y) + abs(z); [C, H] = ccode(f, 'file', '', 'show_header', false); expected_c_code = sprintf('#include \"file.h\"\n#include \n\ndouble myfun(double x, double y, double z) {\n\n double myfun_result;\n myfun_result = x*sin(y) + fabs(z);\n return myfun_result;\n\n}\n'); expected_h_code = sprintf('\n#ifndef PROJECT__FILE__H\n#define PROJECT__FILE__H\n\ndouble myfun(double x, double y, double z);\n\n#endif\n\n'); assert(strcmp(C.name, 'file.c')) assert(strcmp(H.name, 'file.h')) hwin = strrep(expected_h_code, sprintf('\n'), sprintf('\r\n')); assert (strcmp (H.code, expected_h_code) || strcmp (H.code, hwin)) s1 = expected_c_code; s2 = strrep(expected_c_code, sprintf('\n'), sprintf('\r\n')); assert (strcmp (C.code, s1) || strcmp (C.code, s2)) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/invhilb.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/invhilb.m ***** test A = invhilb(sym(3)); B = sym([9 -36 30;-36 192 -180;30 -180 180]); assert( isequal( A, B)) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@sym/isempty.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/isempty.m ***** shared se, a se = sym ([]); a = sym ([1 2]); ***** assert (~isempty (sym (1))) ***** assert (isempty (sym (se))) ***** assert (isempty (se == [])) ***** test ***** test se(1) = 10; ***** test assert ( isa (se, 'sym')) ***** test assert ( isequal (se, 10)) ***** shared ***** test % empty matrices A = sym('A', [3 0]); assert (isempty (A)) A = sym(ones(3,0)); assert (isempty (A)) ***** test % non-empty symbolic-size matrices syms n integer A = sym('A', [3 n]); assert (~isempty (A)) ***** xtest % empty symbolic-size matrices % FIXME: will fail until size stop lying by saying 1x1 syms n integer A = sym('A', [0 n]); assert (isempty (A)) A = sym('A', [n 0]); assert (isempty (A)) !!!!! known failure assert (isempty (A)) failed 10 tests, 9 passed, 1 known failure, 0 skipped [inst/@sym/lhs.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/lhs.m ***** test syms x y f = x + 1 == 2*y; assert (isequal (lhs(f), x + 1)) assert (isequal (rhs(f), 2*y)) ***** test syms x y f = x + 1 < 2*y; assert (isequal (lhs(f), x + 1)) assert (isequal (rhs(f), 2*y)) ***** test syms x y f = x + 1 >= 2*y; assert (isequal (lhs(f), x + 1)) assert (isequal (rhs(f), 2*y)) ***** test syms x y A = [x == y 2*x < 2*y; 3*x > 3*y 4*x <= 4*y; 5*x >= 5*y x < 0]; L = [x 2*x; 3*x 4*x; 5*x x]; R = [y 2*y; 3*y 4*y; 5*y 0]; assert (isequal( lhs(A), L)) assert (isequal( rhs(A), R)) ***** error syms x lhs(x) ***** error lhs(sym(true)) ***** error syms x A = [1 + x == 2*x sym(6)]; lhs(A) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/@sym/zeta.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/zeta.m ***** error zeta (sym(1), 2, 3) ***** assert (isequaln (zeta (sym(nan)), sym(nan))) ***** test f1 = zeta (sym(2)); f2 = pi^2/6; assert (double (f1), f2, -1e-15) ***** test A = sym([0 2; 4 6]); f1 = zeta (A); f2 = [-1/2 pi^2/6; pi^4/90 pi^6/945]; assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) y = sym('y'); f = zeta (y); h = function_handle (f); A = zeta (2); B = h (2); assert (A, B, -eps) end ***** xtest % https://github.com/sympy/sympy/issues/11802 if (python_cmd ('return Version(spver) > Version("1.1.1")')) assert (double (zeta (sym (3), 4)), -0.07264084989132137196, -1e-14) end !!!!! known failure Python exception: RecursionError: maximum recursion depth exceeded in __instancecheck__ occurred at line 6 of the Python code block: x = complex(x) ***** test if (python_cmd ('return Version(spver) > Version("1.1.1")')) syms x assert (isequal (zeta (0, x), zeta(x))) end ***** test % ensure its the nth deriv wrt x, not the n deriv if (python_cmd ('return Version(spver) > Version("1.1.1")')) syms x n F = zeta (n, x); F = subs(F, n, 3); assert (isequal (F, diff (zeta (x), x, x, x))) end 8 tests, 7 passed, 1 known failure, 0 skipped [inst/@sym/tanh.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/tanh.m ***** error tanh (sym(1), 2) ***** assert (isequaln (tanh (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = tanh(x); f2 = tanh(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = tanh(A); f2 = tanh(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = tanh (d); f = tanh (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/isconstant.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/isconstant.m ***** test syms x A = [x 2 3]; B = [false true true]; assert (isequal (isconstant(A), B)) ***** test syms x A = [x 2; 3 x]; B = [false true; true false]; assert (isequal (isconstant(A), B)) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/pinv.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/pinv.m ***** test % scalar syms x assert (isequal (pinv(x), 1/x)) ***** test % 2x3 A = [1 2 3; 4 5 6]; assert (max (max (abs (double (pinv (sym (A))) - pinv(A)))) <= 10*eps) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/logint.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/logint.m ***** error logint (sym(1), 2) ***** xtest assert (isequaln (logint (sym(nan)), sym(nan))) !!!!! known failure assert (isequaln (logint (sym (nan)), sym (nan))) failed ***** shared x, d d = 2; x = sym('2'); ***** test f1 = logint(x); f2 = 1.045163780117492784845; assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = logint(A); f2 = 1.045163780117492784845; f2 = [f2 f2; f2 f2]; assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) y = sym('y'); A = logint (d); f = logint (y); h = function_handle (f); B = h (d); assert (A, B, -eps) end 5 tests, 4 passed, 1 known failure, 0 skipped [inst/@sym/fortran.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/fortran.m ***** shared x,y,z syms x y z ***** test % basic test f = x*sin(y) + abs(z); source = fortran(f); expected = ' x*sin(y) + abs(z)'; s1 = strrep (expected, 'abs', 'Abs'); assert (strcmp (source, expected) || strcmp (source, s1)) ***** test % output test f = x*sin(y) + abs(z); [F,H] = fortran(f, 'file', '', 'show_header', false); expected_h_code = sprintf('\ninterface\nREAL*8 function myfun(x, y, z)\nimplicit none\nREAL*8, intent(in) :: x\nREAL*8, intent(in) :: y\nREAL*8, intent(in) :: z\nend function\nend interface\n\n'); expected_f_code = sprintf('\nREAL*8 function myfun(x, y, z)\nimplicit none\nREAL*8, intent(in) :: x\nREAL*8, intent(in) :: y\nREAL*8, intent(in) :: z\n\nmyfun = x*sin(y) + abs(z)\n\nend function\n'); assert(strcmp(F.name, 'file.f90')) assert(strcmp(H.name, 'file.h')) %disp(expected_f_code); disp(F.code) s1 = strrep (expected_f_code, 'abs', 'Abs'); s2 = strrep (expected_f_code, sprintf ('\n'), sprintf ('\r\n')); s3 = strrep (s2, 'abs', 'Abs'); s4 = strrep (expected_h_code, sprintf ('\n'), sprintf ('\r\n')); assert (strcmp (F.code, expected_f_code) || strcmp (F.code, s1) || strcmp (F.code, s2) || strcmp (F.code, s3)) assert (strcmp (H.code, expected_h_code) || strcmp (H.code, s4)) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/acot.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/acot.m ***** error acot (sym(1), 2) ***** assert (isequaln (acot (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = acot(x); f2 = acot(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = acot(A); f2 = acot(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = acot (d); f = acot (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/uplus.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/uplus.m ***** test syms x assert (isa (+x, 'sym')) assert (isequal (+x, x)) ***** test A = sym([0 -1 inf]); assert( isequal ( +A, A)) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/eye.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/eye.m ***** test y = eye(sym(2)); x = [1 0; 0 1]; assert( isequal( y, sym(x))) ***** test y = eye(sym(2), 1); x = [1; 0]; assert( isequal( y, sym(x))) ***** test y = eye(sym(1), 2); x = [1 0]; assert( isequal( y, sym(x))) ***** assert( isa( eye(sym(2), 'double'), 'double')) ***** assert( isa( eye(3, sym(3), 'single') , 'single')) ***** assert( isa( eye(3, sym(3)), 'sym')) ***** assert( isa( eye(3, sym(3), 'sym'), 'sym')) ***** xtest % Issue #13 assert( isa( eye(3, 3, 'sym'), 'sym')) !!!!! known failure invalid data type specified 8 tests, 7 passed, 1 known failure, 0 skipped [inst/@sym/logspace.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/logspace.m ***** test % default argument for N A = logspace(0, 2); assert (length (A) == 50); ***** test % special case: pi as end pt A = logspace(-sym(3), sym(pi), 3); assert (isequal (A(end), sym(pi))) ***** test A = logspace(-sym(4), 0, 3); B = [sym(1)/10000 sym(1)/100 sym(1)]; assert (isequal (A, B)) ***** test % vpa support, might need recent sympy for sympy issue #10063 n = 32; A = logspace(-vpa(1,n), 0, 3); B = [10^(-vpa(1,n)) 10^(-vpa(sym(1)/2,n)) vpa(1,n)]; assert (isequal (A, B)) assert (max(abs(double(A) - logspace(-1, 0, 3))) < 1e-15) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/erf.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/erf.m ***** error erf (sym(1), 2) ***** assert (isequaln (erf (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = erf(x); f2 = erf(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = erf(A); f2 = erf(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = erf (d); f = erf (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/function_handle.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/function_handle.m ***** shared x,y,z syms x y z ***** test % basic test h = function_handle(2*x); assert(isa(h, 'function_handle')) assert(h(3)==6) ***** test % autodetect inputs h = function_handle(2*x*y, x+y); [t1, t2] = h(3,5); assert(t1 == 30 && t2 == 8) ***** test % specified inputs h = function_handle(2*x*y, 'vars', [x y]); assert(h(3,5)==30) h = function_handle(2*x*y, x+y, 'vars', [x y]); [t1, t2] = h(3,5); assert(t1 == 30 && t2 == 8) ***** test % cell arrays for vars list h = function_handle(2*x*y, x+y, 'vars', {x y}); [t1, t2] = h(3,5); assert(t1 == 30 && t2 == 8) h = function_handle(2*x*y, x+y, 'vars', {'x' 'y'}); [t1, t2] = h(3,5); assert(t1 == 30 && t2 == 8) ***** test % cell arrays specfies order, overriding symvar order h = function_handle(x*y, 12/y, 'vars', {y x}); [t1, t2] = h(3, 6); assert(t1 == 18 && t2 == 4) h = function_handle(x*y, 12/y, 'vars', [y x]); [t1, t2] = h(3, 6); assert(t1 == 18 && t2 == 4) ***** test % cell arrays specfies order, overriding symvar order h = function_handle(x*y, 12/y, 'vars', {y x}); [t1, t2] = h(3, 6); assert(t1 == 18 && t2 == 4) h = function_handle(x*y, 12/y, 'vars', [y x]); [t1, t2] = h(3, 6); assert(t1 == 18 && t2 == 4) ***** test % Functions with different names in Sympy. f = abs(x); % becomes Abs(x) h = function_handle(f); assert(h(-10) == 10) f = ceil(x); h = function_handle(f); assert(h(10.1) == 11) ***** test % 'file' with empty filename returns handle h = function_handle(2*x*y, 'file', ''); assert(isa(h, 'function_handle')) assert(h(3,5)==30) h = function_handle(2*x*y, 'vars', {x y}, 'file', ''); assert(isa(h, 'function_handle')) assert(h(3,5)==30) ***** test % output to disk fprintf('\n') if (exist ('OCTAVE_VERSION', 'builtin')) temp_file = tempname('', 'oct_'); else temp_file = tempname(); end % allow loading function from temp_file [temp_path, ans, ans] = fileparts(temp_file); addpath(temp_path); f = function_handle(2*x*y, 2^x, 'vars', {x y z}, 'file', temp_file); assert( isa(f, 'function_handle')) addpath(temp_path); % Matlab 2014a needs this? [a,b] = f(10,20,30); assert (isnumeric (a) && isnumeric (b)) assert (a == 400) assert (b == 1024) if (exist ('OCTAVE_VERSION', 'builtin')) assert (unlink([temp_file '.m']) == 0) else delete ([temp_file '.m']) end % remove temp_path from load path rmpath(temp_path); Wrote file /tmp/oct_GuPm5R.m. ***** test % output to disk: also works with .m specified if (exist ('OCTAVE_VERSION', 'builtin')) temp_file = [tempname('', 'oct_') '.m']; else temp_file = [tempname() '.m']; end % allow loading function from temp_file [temp_path, ans, ans] = fileparts(temp_file); addpath(temp_path); f = function_handle(2*x*y, 2^x, 'vars', {x y z}, 'file', temp_file); assert( isa(f, 'function_handle')) addpath(temp_path); % Matlab 2014a needs this? [a,b] = f(10,20,30); assert (isnumeric (a) && isnumeric (b)) assert (a == 400) assert (b == 1024) if (exist ('OCTAVE_VERSION', 'builtin')) assert (unlink(temp_file) == 0) else delete (temp_file) end % remove temp_path from load path rmpath(temp_path); Wrote file /tmp/oct_UEshEP.m. ***** test % non-scalar outputs H = [x y z]; M = [x y; z 16]; V = [x;y;z]; h = function_handle(H, M, V); [t1,t2,t3] = h(1,2,3); assert(isequal(t1, [1 2 3])) assert(isequal(t2, [1 2; 3 16])) assert(isequal(t3, [1;2;3])) ***** test % non-scalar outputs in .m files H = [x y z]; M = [x y; z 16]; V = [x;y;z]; if (exist ('OCTAVE_VERSION', 'builtin')) temp_file = tempname('', 'oct_'); else temp_file = tempname(); end % allow loading function from temp_file [temp_path, ans, ans] = fileparts(temp_file); addpath(temp_path); h = function_handle(H, M, V, 'vars', {x y z}, 'file', temp_file); assert( isa(h, 'function_handle')) addpath(temp_path); % Matlab 2014a needs this? [t1,t2,t3] = h(1,2,3); assert(isequal(t1, [1 2 3])) assert(isequal(t2, [1 2; 3 16])) assert(isequal(t3, [1;2;3])) if (exist ('OCTAVE_VERSION', 'builtin')) assert (unlink([temp_file '.m']) == 0) else delete ([temp_file '.m']) end % remove temp_path from load path rmpath(temp_path); Wrote file /tmp/oct_VUXUd8.m. ***** test % order of outputs is lexiographic syms a A x y f = y + 10*a + 100*x + 1000*A; h = function_handle(f); assert (h(1, 2, 3, 4) == 1000 + 20 + 300 + 4) ***** test % https://github.com/cbm755/octsympy/issues/854 if (python_cmd ('return Version(spver) > Version("1.1.1")')) f = function_handle (x + 1i*sqrt (sym(3))); assert (f (1), complex (1, sqrt (3)), -eps) end 14 tests, 14 passed, 0 known failure, 0 skipped [inst/@sym/ifourier.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ifourier.m ***** error ifourier (sym(1), 2, 3, 4) ***** test % matlab SMT compat syms t r u x w Pi=sym('pi'); assert(logical( ifourier(exp(-abs(w))) == 1/(Pi*(x^2 + 1)) )) assert(logical( ifourier(exp(-abs(x))) == 1/(Pi*(t^2 + 1)) )) assert(logical( ifourier(exp(-abs(r)),u) == 1/(Pi*(u^2 + 1)) )) assert(logical( ifourier(exp(-abs(r)),r,u) == 1/(Pi*(u^2 + 1)) )) ***** test % basic syms x w Pi=sym('pi'); assert(logical( ifourier(exp(-w^2/4)) == 1/(sqrt(Pi)*exp(x^2)) )) assert(logical( ifourier(sqrt(Pi)/exp(w^2/4)) == exp(-x^2) )) ***** test % Dirac delta tests syms x w Pi=sym('pi'); assert(logical( ifourier(dirac(w-2)) == exp(2*1i*x)/(2*Pi) )) assert (logical( ifourier(sym(2), w, x) == 2*dirac(x) )) ***** test % advanced test syms x w c d Pi=sym('pi'); f=(Pi*(dirac(x-c)+dirac(x+c))+2*Pi*1i*(-dirac(x+3*d)+dirac(x-3*d))+2/(x^2+1))/(2*Pi); assert(logical( simplify(ifourier(cos(c*w)+2*sin(3*d*w)+exp(-abs(w)))-f) == 0 )) ***** xtest % Inverse Fourier transform cannot recover non-smooth functions % SymPy cannot evaluate correctly?? syms x w assert(logical( ifourier(2/(w^2 + 1)) == exp(-abs(x)) )) assert(logical( ifourier(2/(w^2 + 1)) == heaviside(x)/exp(x) + heaviside(-x)*exp(x) )) assert(logical( ifourier(-(w*4)/(w^4 + 2*w^2 + 1) )== -x*exp(-abs(x))*1i )) assert(logical( ifourier(-(w*4)/(w^4 + 2*w^2 + 1) )== -x*(heaviside(x)/exp(x) + heaviside(-x)*exp(x))*1i )) !!!!! known failure assert (logical (ifourier (2 / (w ^ 2 + 1)) == exp (-abs (x)))) failed ***** error ifourier (sym('k', 'positive')*sym('k')) ***** test % SMT compact, prefers k over symvar syms k x y assert (isequal (ifourier(y*exp(-k^2/4)), y/sqrt(sym(pi))*exp(-x^2))) 8 tests, 7 passed, 1 known failure, 0 skipped [inst/@sym/simplify.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/simplify.m ***** shared x,p,q syms x p = x^2 + x + 1; q = horner (p); ***** assert(~isequal( p - q, 0)) ***** assert(isequal( simplify(p - q), 0)) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/setxor.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/setxor.m ***** test A = sym([1 2 3]); B = sym([1 2 4]); C = setxor(A, B); D1 = sym([3 4]); D2 = sym([4 3]); assert (isequal (C, D1) || isequal (C, D2)) ***** test % one nonsym A = sym([1 2 3]); B = [1 2 4]; C = setxor(A, B); D1 = sym([3 4]); D2 = sym([4 3]); assert (isequal (C, D1) || isequal (C, D2)) ***** test % empty A = sym([1 2 3]); C = setxor(A, A); assert (isempty (C)) ***** test % empty input A = sym([1 2]); C = setxor(A, []); assert (isequal (C, A) || isequal (C, sym([2 1]))) ***** test % scalar syms x assert (isequal (setxor([x 1], x), sym(1))) assert (isempty (setxor(x, x))) ***** test A = interval(sym(1), 3); B = interval(sym(2), 5); C = setxor(A, B); D = union (interval (sym(1), 2, false, true), interval (sym(3), 5, true, false)); assert( isequal( C, D)) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@sym/le.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/le.m ***** test % simple x = sym(1); y = sym(1); e = x <= y; assert (logical (e)) x = sym(1); y = sym(2); e = x <= y; assert (logical (e)) ***** test % array -- array syms x a = sym([1 3 3 2*x]); b = sym([2 x 3 10]); e = a <= b; assert (isa (e, 'sym')) assert (logical (e(1))) assert (isa (e(2), 'sym')) assert (isequal (e(2), 3 <= x)) assert (logical (e(3))) assert (isa (e(4), 'sym')) assert (isequal (e(4), 2*x <= 10)) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/mtimes.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/mtimes.m ***** test % scalar syms x assert (isa (x*2, 'sym')) assert (isequal (2*sym(3), sym(6))) assert (isequal (sym(2)*3, sym(6))) ***** test % matrix-scalar D = [0 1; 2 3]; A = sym(D); assert (isa (2*A, 'sym')) assert (isequal ( 2*A , 2*D )) assert (isequal ( A*2 , 2*D )) ***** test % matrix-matrix D = [0 1; 2 3]; A = sym(D); assert (isa (A*A, 'sym')) assert (isequal ( A*A , D*D )) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/dot.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/dot.m ***** error dot (sym(1), 2, 3) ***** test a = sym([1; 1; 0]); b = sym([1; 2; 4]); c = dot(a, b); assert (isequal (c, sym(3))) ***** test syms x a = sym([x; 0; 0]); b = sym([0; 1; 0]); c = dot(a, b); assert (isequal (c, sym(0))) ***** test assert (isequal (dot (sym([1 i]), sym([i 2])), sym(-i))) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/expint.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/expint.m ***** test f1 = expint(sym(1)); f2 = expint(1); assert( abs(double(f1) - f2) < 1e-15 ) ***** test f1 = expint(sym(1i)); f2 = expint(1i); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [1 2; 3 4]; A = sym(D); f1 = expint(A); f2 = expint(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test syms x A = expint(x); B = expint(1, x); assert (isequal (A, B)) ***** test syms x A = exp(-x)/x; B = expint(0, x); assert (isequal (A, B)) ***** error expint(sym(1), 2, 3) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.2")')) syms x A = expint (3); f = expint (x); h = function_handle (f); B = h (3); assert (A, B, -eps) end ***** error % round trip syms n x f = expint (n, x); h = function_handle (f); 8 tests, 8 passed, 0 known failure, 0 skipped [inst/@sym/log10.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/log10.m ***** assert (isequal (log10 (sym (1000)), sym (3))) ***** assert (isequal (log10 (sym ([10 100])), sym ([1 2]))) ***** test % round-trip syms x f = log10 (x); h = function_handle (f); A = h (1.1); B = log10 (1.1); assert (A, B, -eps) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/rhs.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/rhs.m ***** test syms x f = x + 1 == 2*x; assert (isequal (rhs(f), 2*x)) ***** error syms x rhs(x) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/acosd.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/acosd.m ***** error acosd (sym(1), 2) ***** assert (isequaln (acosd (sym(nan)), sym(nan))) ***** test f1 = acosd (sym(1)/2); f2 = acosd (1/2); assert (double (f1), f2, -eps) ***** test D = [1 2; 3 4]/4; A = sym([1 2; 3 4])/4; f1 = acosd (A); f2 = acosd (D); assert (double (f1), f2, -eps) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/isfinite.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/isfinite.m ***** assert (isfinite(sym(1))) ***** assert (isfinite(sym(-10))) ***** assert (~isfinite(sym('oo'))) ***** assert (~isfinite(sym('-oo'))) ***** assert (~isfinite(sym(1)/0)) ***** assert (~isfinite(sym(nan))) ***** assert (isequal (isfinite (sym ([1 inf])), [true false])) ***** test % finite-by-assumption syms x finite assert (isfinite (x)) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/@sym/bernoulli.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/bernoulli.m ***** error bernoulli (sym(1), 2, 3) ***** assert (isequal (bernoulli (sym(8)), -sym(1)/30)) ***** assert (isequal (bernoulli (sym(9)), sym(0))) ***** test syms x assert (isequal (bernoulli(3,x), x^3 - 3*x^2/2 + x/2)) ***** test m = sym([0 1; 8 888889]); A = bernoulli (m); B = [1 -sym(1)/2; -sym(1)/30 0]; assert (isequal (A, B)) ***** test syms x A = bernoulli ([0; 1], x); B = [sym(1); x - sym(1)/2]; assert (isequal (A, B)) ***** test % round trip if (python_cmd('return Version(spver) > Version("1.2")')) syms n x f = bernoulli (n, x); h = function_handle (f, 'vars', [n x]); A = h (2, 2.2); B = bernoulli (2, 2.2); assert (A, B) end 7 tests, 7 passed, 0 known failure, 0 skipped [inst/@sym/char.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/char.m ***** test % issue #91: expose as string a = sym(pi); assert (strcmp (char (a), 'pi')) ***** shared x x = sym('x'); ***** assert (strcmp (char (x), 'x')) ***** assert (strcmp (char (2*x), '2*x')) ***** assert (strcmp (char ([2*x x]), 'Matrix([[2*x, x]])')) ***** assert (strcmp (char ([2*x 2; 1 x]), 'Matrix([[2*x, 2], [1, x]])')) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/sec.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/sec.m ***** error sec (sym(1), 2) ***** assert (isequaln (sec (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = sec(x); f2 = sec(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = sec(A); f2 = sec(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = sec (d); f = sec (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/matlabFunction.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/matlabFunction.m ***** test % autodetect inputs syms x y s = warning('off', 'OctSymPy:function_handle:nocodegen'); h = matlabFunction(2*x*y, x+y); warning(s) [t1, t2] = h(3,5); assert(t1 == 30 && t2 == 8) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@sym/prevprime.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/prevprime.m ***** assert (isequal (prevprime(sym(3)), 2)); ***** assert (isequal (prevprime(sym(20)), 19)); ***** assert (isequal (prevprime(sym([3 5 10])), [2 3 7])); ***** error prevprime(sym(2)) ***** error prevprime(sym(-2)) ***** test % result is a sym p = prevprime(sym(3)); assert (isa (p, 'sym')) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@sym/logical.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/logical.m ***** test % basics, many others in isAlways.m assert (logical(true)) assert (~(logical(false))) ***** test % numbers to logic? assert (logical(sym(1))) assert (logical(sym(-1))) assert (~logical(sym(0))) ***** test % eqns, "structurally equivalent" syms x e = logical(x == x); assert ( islogical (e)) assert (e) e = logical(x == 1); assert ( islogical (e)) assert (~e) ***** test % eqn could have solutions but are false in general syms x e = logical(x^2 == x); assert ( islogical (e)) assert (~e) e = logical(2*x == x); assert ( islogical (e)) assert (~e) ***** test % FIXME: (not sure yet) T/F matrices should stay sym until logical() a = sym(1); e = a == a; assert (isa (e, 'sym')) assert (islogical (logical (e))) e = [a == a a == 0 a == a]; assert (isa (e, 'sym')) assert (islogical (logical (e))) ***** test % sym vectors of T/F to logical a = sym(1); e = [a == a a == 0 a == a]; w = logical(e); assert (islogical (w)) assert (isequal (w, [true false true])) e = e'; w = logical(e); assert (islogical (w)) assert (isequal (w, [true; false; true])) ***** test % sym matrix of T/F to logical a = sym([1 2 3; 4 5 6]); b = sym([1 2 0; 4 0 6]); e = a == b; w = logical(e); assert (islogical (w)) assert (isequal (w, [true true false; true false true])) ***** error syms x logical(x); ***** error logical(sym(nan)) ***** test % but oo and zoo are non-zero so we call those true % (SMT errors on these) FIXME syms oo zoo assert (logical (oo)) % assert (logical (zoo)) ***** xtest % FIXME: bug in Octave: if should automatically use logical % (want "if (obj)" same as "if (logical(obj))") e = sym(true); if (e) assert(true); else assert(false); end 11 tests, 11 passed, 0 known failure, 0 skipped [inst/@sym/coshint.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/coshint.m ***** error coshint (sym(1), 2) ***** xtest assert (isequaln (coshint (sym(nan)), sym(nan))) !!!!! known failure assert (isequaln (coshint (sym (nan)), sym (nan))) failed ***** shared x, d d = 1; x = sym('1'); ***** test f1 = coshint(x); f2 = 0.8378669409802082408947; assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = coshint(A); f2 = 0.8378669409802082408947; f2 = [f2 f2; f2 f2]; assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) y = sym('y'); A = coshint (d); f = coshint (y); h = function_handle (f); B = h (d); assert (A, B, -eps) end 5 tests, 4 passed, 1 known failure, 0 skipped [inst/@sym/linspace.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/linspace.m ***** test a = linspace(sym(3), 5, 5); b = [sym(6) 7 8 9 10]/2; assert (isequal (a, b)) ***** test % non-integers A = linspace(0, sym(pi), 10); assert (length (A) == 10); assert (isequal (A(6), 5*sym(pi)/9)); ***** test % default argument for N A = linspace(1, 100); assert (length (A) == 100); ***** test % special case for just N = 1 A = linspace(sym(2), 3, 1); assert (isequal (A, 3)) A = linspace(sym(2), 3, 0); assert (isequal (A, 3)) A = linspace(sym(2), 3, sym(3)/2); assert (isequal (A, 3)) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/chebyshevT.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/chebyshevT.m ***** error chebyshevT (sym(1)) ***** error chebyshevT (sym(1), 2, 3) ***** assert (isequaln (chebyshevT (2, sym(nan)), sym(nan))) ***** shared x syms x ***** assert(isequal(chebyshevT(0, x), sym(1))) ***** assert(isequal(chebyshevT(1, x), x)) ***** assert(isequal(chebyshevT(2, x), 2*x*x - 1)) ***** assert(isequal(chebyshevT([0 1 2], x), [sym(1) x (2*x*x-1)])) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.2")')) syms n z f = chebyshevT (n, z); h = function_handle (f, 'vars', [n z]); A = h (1.1, 2.2); B = chebyshevT (1.1, 2.2); assert (A, B) end 8 tests, 8 passed, 0 known failure, 0 skipped [inst/@sym/interval.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/interval.m ***** test a = interval(sym(1), 2); assert (isa (a, 'sym')) ***** test % some set subtraction a = interval(sym(0), 4); b = interval(sym(0), 1); c = interval(sym(1), 4, true); q = a - b; assert (isequal( q, c)) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/adjoint.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/adjoint.m ***** test syms x A = [x x^2; x^3 x^4]; B = [x^4 -x^2; -x^3 x]; assert( isequal( adjoint(A), B )) ***** test syms x assert( isequal( adjoint(x), 1)) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/pretty.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/pretty.m ***** test % simple syms x s1 = pretty(sin(x)); s2 = sprintf(' sin(x)\n'); assert (strcmp (s1, s2)) ***** test % force ascii syms x s1 = pretty(sin(x/2), 'ascii'); s2 = sprintf(' /x\\\n sin|-|\n \\2/\n'); swin = strrep(s1, sprintf('\r\n'), sprintf('\n')); assert (strcmp (s1, s2) || strcmp (swin, s2)) ***** test % force unicode syms x s1 = pretty(sin(x/2), 'unicode'); s2 = sprintf(' ⎛x⎞\n sin⎜─⎟\n ⎝2⎠\n'); swin = strrep(s1, sprintf('\r\n'), sprintf('\n')); assert (strcmp (s1, s2) || strcmp (swin, s2)) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/ismember.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ismember.m ***** assert (ismember (2, interval(sym(0),2))) ***** assert (~ismember (3, interval(sym(0),2))) ***** test % something in a matrix syms x A = [1 x; sym(pi) 4]; assert (ismember (sym(pi), A)) assert (ismember (x, A)) assert (~ismember (2, A)) ***** test % set syms x S = finiteset(2, sym(pi), x); assert (ismember (x, S)) ***** test % set with positive symbol syms p positive S = finiteset(2, sym(pi), p); assert (~ismember (-1, S)) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/lu.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/lu.m ***** test % scalar [l, u, p] = lu(sym(6)); assert (isequal (l, sym(1))) assert (isequal (u, sym(6))) assert (isequal (p, sym(1))) syms x [l, u, p] = lu(x); assert (isequal (l*u, p*x)) [l, u] = lu(x); assert (isequal (l*u, x)) ***** test % perm A = sym(fliplr(2*eye(3))); [L, U, P] = lu(A); assert (isequal (L*U, P*A)) [L, U, P] = lu(A, 'matrix'); assert (isequal (L*U, P*A)) [L, U, p] = lu(A, 'vector'); assert (isequal (L*U, A(p,:))) [L, U] = lu(A); assert (isequal (L*U, A)) ***** test % p is col vectpr A = sym([0 2; 3 4]); [L, U, p] = lu(A, 'vector'); assert(iscolumn(p)) ***** test % simple matrix A = [1 2; 3 4]; B = sym(A); [L, U, P] = lu(B); assert (isequal (L*U, P*A)) assert (isequal (U(2,1), sym(0))) % needs pivot A = [0 2; 3 4]; B = sym(A); [L, U, P] = lu(B); [Ld, Ud, Pd] = lu(A); assert (isequal (L*U, P*A)) assert (isequal (U(2,1), sym(0))) % matches regular LU assert ( max(max(double(L)-Ld)) <= 10*eps) assert ( max(max(double(U)-Ud)) <= 10*eps) assert ( isequal (P, Pd)) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/nnz.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/nnz.m ***** assert (nnz (sym ([1])) == 1) ***** assert (nnz (sym ([0])) == 0) ***** assert (nnz (sym ([])) == 0) ***** assert (nnz (sym ([1 0; 0 3])) == 2) ***** test syms x assert (nnz ([x 0]) == 1) ***** assert (nnz (sym (true)) == 1) ***** assert (nnz (sym (false)) == 0) ***** assert (nnz (sym (inf)) == 1) ***** assert (nnz (sym (nan)) == 1) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/partfrac.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/partfrac.m ***** test % basic syms x y z assert(logical( partfrac(y/(x + 2)/(x + 1),x) == -y/(x + 2) + y/(x + 1) )) assert(logical( factor(partfrac(x^2/(x^2 - y^2),y)) == factor(x/(2*(x + y)) + x/(2*(x - y)) ))) assert(logical( factor(partfrac(x^2/(x^2 - y^2),x)) == factor(-y/(2*(x + y)) + y/(2*(x - y)) + 1 ))) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@sym/diag.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/diag.m ***** test % scalar syms x assert (isequal (diag(x), x)) ***** test % row,col vec input syms x r = [1 x 2]; c = [sym(1); x]; assert (isequal (diag(diag(c)), c)) assert (isequal (diag(c), [sym(1) 0; 0 x])) assert (isequal (diag(diag(r)), r.')) assert (isequal (diag(r), [sym(1) 0 0; 0 x 0; sym(0) 0 2])) ***** test % create matrix, kth diag syms x r = [1 x]; z = sym(0); assert (isequal (diag (x, 0), x)) assert (isequal (diag (x, 1), [z x; z z])) assert (isequal (diag (x, -1), [z z; x z])) assert (isequal (diag (x, 2), [z z x; z z z; z z z])) assert (isequal (diag (r, 1), [z 1 z; z z x; z z z])) ***** test % extract kth diag A = sym([1 2 3; 4 5 6]); assert (isequal (diag(A), sym([1; 5]))) assert (isequal (diag(A, 0), sym([1; 5]))) assert (isequal (diag(A, 1), sym([2; 6]))) assert (isequal (diag(A, 2), sym(3))) assert (isequal (diag(A, -1), sym(4))) assert (isempty (diag(A, -2))) assert (isempty (diag(A, 3))) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/limit.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/limit.m ***** error limit (sym(1), 2, 3, 4, 5) ***** shared x, oo syms x oo = sym(inf); ***** assert (isa (limit(x, x, pi), 'sym')) ***** assert (isequal (limit(x, x, pi), sym(pi))) ***** assert (isequal (limit(sin(x)/x, x, 0), 1)) ***** test % left/right-hand limit assert (isequal (limit(1/x, x, 0, 'right'), oo)) assert (isequal (limit(1/x, x, 0), oo)) assert (isequal (limit(1/x, x, 0, 'left'), -oo)) assert (isequal (limit(1/x, x, oo), 0)) assert (isequal (limit(sign(x), x, 0, 'left'), -1)) assert (isequal (limit(sign(x), x, 0, 'right'), 1)) assert (isequal (limit(sign(x), x, 0, '-'), -1)) assert (isequal (limit(sign(x), x, 0, '+'), 1)) ***** test % matrix syms y A = [x 1/x x*y]; B = sym([3 sym(1)/3 3*y]); assert (isequal (limit(A, x, 3), B)) ***** test % omitting arguments syms a assert (isequal (limit(a), 0)) assert (isequal (limit(a*x+a+2), a+2)) assert (isequal (limit(a*x+a+2, 6), 7*a+2)) ***** test % constants assert (isequal (limit(sym(6)), 6)) assert (isequal (limit(sym(6), 7), 6)) assert (isequal (limit([sym(6) sym(2)], 7), [6 2])) ***** test % double constant, with sym limit a = limit (6, sym(0)); assert (isa (a, 'sym')) assert (isequal (a, sym(6))) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/laplacian.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/laplacian.m ***** shared x,y,z syms x y z ***** test % 1D f = x^2; g = diff(f,x,x); assert (isequal (laplacian(f), g)) assert (isequal (laplacian(f,{x}), g)) assert (isequal (laplacian(f,[x]), g)) assert (isequal (laplacian(f,x), g)) ***** test % const f = sym(1); g = sym(0); assert (isequal (laplacian(f), g)) assert (isequal (laplacian(f,x), g)) f = sym('c'); assert (isequal (laplacian(f,x), g)) ***** test % double const f = 1; g = sym(0); assert (isequal (laplacian(f,x), g)) ***** test % 1D fcn in 2d/3d f = sin(2*y); g = -4*f; assert (isequal (laplacian(f), g)) assert (isequal (laplacian(f, {x,y}), g)) assert (isequal (laplacian(f, {x,y,z}), g)) ***** test % 2d fcn in 2d/3d f = sin(exp(x)*y); g = diff(f,x,x) + diff(f,y,y); assert (isequal (laplacian(f), g)) assert (isequal (laplacian(f, {x,y}), g)) ***** test % 2d fcn in 2d/3d f = sin(exp(x)*y+sinh(z)); gr2 = gradient(f, {x,y}); divgr2 = divergence(gr2, {x,y}); l2 = laplacian(f,{x,y}); gr3 = gradient(f, {x,y,z}); divgr3 = divergence(gr3, {x,y,z}); l3 = laplacian(f,{x,y,z}); assert (isAlways (l2 == divgr2)) assert (isAlways (l3 == divgr3)) ***** error laplacian(sym('x'), sym('x'), 42) ***** error laplacian([sym('x'), sym('x')]) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/@sym/expand.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/expand.m ***** test syms x assert (logical (x^2 + 6*x + 5 == expand ((x+5)*(x+1)))) assert (isequal (x^2 + 6*x + 5, expand ((x+5)*(x+1)))) ***** test % array syms x assert (isequal (expand ([x (x+1)*x]), [x x^2+x])) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/ge.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ge.m ***** test % simple x = sym(1); y = sym(1); e = x >= y; assert (logical (e)) x = sym(1); y = sym(2); e = x >= y; assert (~logical(e)) ***** test % array -- array syms x a = sym([1 3 3 2*x]); b = sym([2 x 3 10]); e = a >= b; assert (isa (e, 'sym')) assert (~logical (e(1))) assert (isa (e(2), 'sym')) assert (isequal (e(2), 3 >= x)) assert (logical (e(3))) assert (isa (e(4), 'sym')) assert (isequal (e(4), 2*x >= 10)) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/ldivide.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ldivide.m ***** test % scalar syms x assert (isa (x .\ 1, 'sym')) assert (isa (x .\ x, 'sym')) assert (isequal (x .\ 1, 1/x)) assert (isequal (x .\ x, sym(1))) ***** test % matrix-scalar D = [1 1; 2 3]; A = sym(D); assert (isequal ( A .\ 6 , D .\ 6 )) assert (isequal ( A .\ sym(6) , D .\ 6 )) assert (isequal ( D .\ sym(6) , D .\ 6 )) ***** test % matrix-matrix D = [1 2; 3 4]; A = sym(D); assert (isequal ( A .\ A , D .\ D )) assert (isequal ( A .\ D , D .\ D )) assert (isequal ( D .\ A , D .\ D )) ***** test % matrix .\ matrix with symbols syms x y A = [x y; x^2 2*y]; B = [y x; x y]; assert (isequal ( A .\ A , sym(ones(2, 2)) )) assert (isequal ( B .\ A , [x/y y/x; x 2] )) ***** test % scalar .\ matrix D = 3*[1 2; 3 4]; A = sym(D); assert (isequal ( 3 .\ A , 3 .\ D )) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/arg.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/arg.m ***** test syms x assert (isequal (angle (x), arg (x))); 1 test, 1 passed, 0 known failure, 0 skipped [inst/@sym/atanh.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/atanh.m ***** error atanh (sym(1), 2) ***** assert (isequaln (atanh (sym(nan)), sym(nan))) ***** shared x, d d = 1/2; x = sym('1/2'); ***** test f1 = atanh(x); f2 = atanh(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = atanh(A); f2 = atanh(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = atanh (d); f = atanh (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/hypot.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/hypot.m ***** assert (isequal (hypot (sym(3), 4), sym(5))) ***** test % compare to @double (note Matlab hypot only takes 2 inputs) A = hypot (hypot ([1 2 3], [4 5 6]), [7 8 9]); B = double (hypot (sym([1 2 3]), [4 5 6], [7 8 9])); assert (A, B, -eps) ***** test % compare to @double, with complex A = hypot ([1+2i 3+4i], [1 3+1i]); B = double (hypot (sym([1+2i 3+4i]), [1 3+1i])); assert (A, B, -eps) ***** test % matrices x = sym([1 -2; 0 3]); y = sym([0 0; 8 4]); A = hypot (x, y); B = sym([1 2; 8 5]); assert (isequal (A, B)) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/sind.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/sind.m ***** error sind (sym(1), 2) ***** assert (isequaln (sind (sym(nan)), sym(nan))) ***** test f1 = sind (sym(1)); f2 = sind (1); assert (double (f1), f2, -eps) ***** test D = [10 30; 110 -45]; A = sym(D); f1 = sind (A); f2 = sind (D); assert (double (f1), f2, -eps) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/isscalar.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/isscalar.m ***** assert(isscalar(sym('x'))) ***** test a = sym([1 2 3]); assert(~isscalar(a)) ***** assert(~isscalar(sym([]))) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/ilaplace.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ilaplace.m ***** error ilaplace (sym(1), 2, 3, 4) ***** test % basic SMT compact: no heaviside syms s syms t positive assert (isequal (ilaplace(1/s^2), t)) assert (isequal (ilaplace(s/(s^2+9)), cos(3*t))) assert (isequal (ilaplace(6/s^4), t^3)) ***** test % more SMT compact syms r syms u positive assert (isequal (ilaplace(1/r^2, u), u)) assert (isequal (ilaplace(1/r^2, r, u), u)) ***** test % if t specified and not positive, we expect heaviside clear s t syms s t assert (isequal (ilaplace(1/s^2, s, t), t*heaviside(t))) assert (isequal (ilaplace(s/(s^2+9), t), cos(3*t)*heaviside(t))) assert (isequal (ilaplace(6/s^4, t), t^3*heaviside(t))) ***** test % Heaviside test syms s t=sym('t', 'positive'); assert(logical( ilaplace(exp(-5*s)/s^2,t) == (t-5)*heaviside(t-5) )) ***** test % Delta dirac test syms s t = sym('t'); assert (isequal (ilaplace (sym('2'), t), 2*dirac(t))) ***** test % Delta dirac test 2 syms s c t = sym('t', 'positive'); assert (isequal (ilaplace (5*exp(-3*s) + 2*exp(c*s) - 2*exp(-2*s)/s,t), ... 5*dirac(t-3) + 2*dirac(c+t) - 2*heaviside(t-2))) ***** error ilaplace (sym('s', 'positive')*sym('s')) ***** test % SMT compact, prefers s over symvar syms s x syms t positive assert (isequal (ilaplace(x/s^4), x*t^3/6)) t = sym('t'); assert (isequal (ilaplace(x/s^4, t), x*t^3/6*heaviside(t))) ***** test % pick s even it has assumptions syms s real syms x t assert (isequal (ilaplace (x/s^2, t), x*t*heaviside(t))) 10 tests, 10 passed, 0 known failure, 0 skipped [inst/@sym/latex.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/latex.m ***** test syms x y = sin(x); assert ( strcmp( latex(y), '\sin{\left (x \right )}')) assert ( strcmp( latex(exp(x)), 'e^{x}')) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@sym/frac.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/frac.m ***** test f1 = frac(sym(11)/10); f2 = sym(1)/10; assert (isequal (f1, f2)) ***** test d = sym(-11)/10; c = sym(9)/10; assert (isequal (frac (d), c)) ***** test d = sym(-19)/10; c = sym(1)/10; assert (isequal (frac (d), c)) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/sinhint.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/sinhint.m ***** error sinhint (sym(1), 2) ***** xtest assert (isequaln (sinhint (sym(nan)), sym(nan))) !!!!! known failure assert (isequaln (sinhint (sym (nan)), sym (nan))) failed ***** shared x, d d = 1; x = sym('1'); ***** test f1 = sinhint(x); f2 = 1.057250875375728514572; assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = sinhint(A); f2 = 1.057250875375728514572; f2 = [f2 f2; f2 f2]; assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) y = sym('y'); A = sinhint (d); f = sinhint (y); h = function_handle (f); B = h (d); assert (A, B, -eps) end 5 tests, 4 passed, 1 known failure, 0 skipped [inst/@sym/gt.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/gt.m ***** test % simple x = sym(1); y = sym(1); e = x > y; assert (~logical (e)) x = sym(1); y = sym(2); e = x > y; assert (~logical (e)) ***** test % array -- array syms x a = sym([1 3 3 2*x]); b = sym([2 x 3 10]); e = a > b; assert (isa (e, 'sym')) assert (~logical (e(1))) assert (isa (e(2), 'sym')) assert (isequal (e(2), 3 > x)) assert (~logical (e(3))) assert (isa (e(4), 'sym')) assert (isequal (e(4), 2*x > 10)) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/tril.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/tril.m ***** test syms x assert (isequal (tril(x), x)) ***** test % with symbols syms x A = [x 2*x; 3*x 4*x]; assert (isequal (tril(A), [x 0; 3*x 4*x])) ***** test % diagonal shifts B = round(10*rand(3,4)); A = sym(B); assert (isequal (tril(A), tril(B))) assert (isequal (tril(A,0), tril(B,0))) assert (isequal (tril(A,1), tril(B,1))) assert (isequal (tril(A,-1), tril(B,-1))) ***** test % double array pass through B = round(10*rand(3,4)); assert (isequal (tril(B,sym(1)), tril(B,1))) assert (isa (tril(B,sym(1)), 'double')) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/columns.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/columns.m ***** test a = sym([1 2 3]); assert (columns(a) == 3) ***** test a = sym([1; 2]); assert (columns(a) == 1) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/atan2.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/atan2.m ***** test % some angles e = sym(1); a = atan2(0, e); assert (isequal (a, sym(0))) a = atan2(e, 0); assert (isequal (a, sym(pi)/2)) ***** test % symbols can give numerical answer syms x positive a = atan2(0, x); assert (isequal (a, sym(0))) a = atan2(x, 0); assert (isequal (a, sym(pi)/2)) a = atan2(-x, 0); assert (isequal (a, -sym(pi)/2)) ***** test % matrices x = sym([1 -2; 0 0]); y = sym([0 0; 8 -3]); a = atan2(y, x); sp = sym(pi); aex = [0 sp; sp/2 -sp/2]; assert (isequal (a, aex)) ***** test % round trip syms x y xd = -2; yd = -3; f = atan2 (x, y); A = atan2 (xd, yd); h = function_handle (f); B = h (xd, yd); assert (A, B, -eps) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/isequaln.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/isequaln.m ***** test a = sym([1 2]); b = a; assert (isequaln (a, b)) b(1) = 42; assert (~isequaln (a, b)) ***** test a = sym([1 2; 3 4]); b = a; assert (isequaln (a, b)) b(1) = 42; assert (~isequaln (a, b)) ***** test a = sym([nan; 2]); b = a; assert (isequaln (a, b)) ***** test a = sym([nan 2; 3 4]); b = a; assert (isequaln (a, b)) ***** test % more than two arrays a = sym([nan 2 3]); b = a; c = a; assert (isequaln (a, b, c)) c(1) = 42; assert (~isequaln (a, b, c)) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/eq.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/eq.m ***** test % simple tests with scalar numbers assert (logical (sym(1) == sym(1))) assert (logical (sym(1) == 1)) assert (~logical (sym(1) == 0)) assert (isequal (sym(1) == sym(1), sym(true))) assert (isequal (sym(1) == 1, sym(true))) assert (isequal (sym(1) == 0, sym(false))) ***** test % Type of the output is sym or logical? % FIXME: in current version, they are sym e = sym(1) == sym(1); %assert (islogical (e)) assert (isa (e, 'sym')) ***** test % things involving a variable are usually not bool but sym. % (SMT behaviour says always, FIXME: currently we differ.) syms x e = x == 0; assert (~islogical (e)) assert (isa (e, 'sym')) ***** test % ... except of course via cancelation syms x e = x - x == 0; assert (logical (e)) assert (isequal (e, sym(true))) ***** test % array == array a = sym([1 2; 3 4]); y = a == a; assert (isequal( size(y), [2 2])) assert (isequal (y, sym([true true; true true]))) assert (all(all(y))) y = a == 1; assert (isequal( size(y), [2 2])) assert (isequal (y, sym([true false; false false]))) assert (any(any(y))) y = a == 42; assert (isequal( size(y), [2 2])) assert (isequal (y, sym([false false; false false]))) ***** test % more array == array D = [0 1; 2 3]; A = [sym(0) 1; sym(2) 3]; DZ = D - D; assert (isequal (logical(A == A), [true true; true true])) assert (isequal (logical(A == D), [true true; true true])) assert (isequal (logical(A - D == DZ), [true true; true true])) assert (all (all ( A == A ))) assert (all (all ( A == D ))) assert (all (all ( A - D == DZ ))) ***** test % logical output, right shape, etc t = true; f = false; a = sym([0 1 2; 3 4 5]); b = sym([0 1 1; 3 5 5]); e = a == b; eexp = sym(logical([1 1 0; 1 0 1])); assert (isequal (e, eexp)) a = sym([0 1 2]); b = sym([0 1 1]); e = a == b; eexp = sym(logical([1 1 0])); assert (isequal (e, eexp)) e = a' == b'; eexp = eexp.'; % is/was bug here with ' assert (isequal (e, eexp)) ***** test % empty matrices compare to correct empty size a = zeros (sym(3), 0); assert (size (a == a), [3, 0]) a = zeros (sym(0), 2); assert (size (a == a), [0, 2]) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/@sym/private_disp_name.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/private_disp_name.m ***** test syms x s = private_disp_name(x, 'x'); assert (strcmp (s, 'x')) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@sym/rewrite.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/rewrite.m ***** test syms x assert (isequal (rewrite(x, 'exp'), x)) ***** test % empty e = sym([]); assert (isequal (rewrite(e, 'sin'), e)) ***** test syms x A = [exp(x) exp(2*x)]; B = [sinh(x) + cosh(x) sinh(2*x) + cosh(2*x)]; assert (isequal (rewrite(A, 'sin'), B)) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/isvector.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/isvector.m ***** assert(isvector(sym('x'))) ***** assert(isvector(sym([1 2 3]))) ***** assert(isvector(sym([1; 2]))) ***** assert(~isvector(sym([1 2; 3 4]))) ***** assert(~isvector(sym([]))) ***** assert(isvector(sym(ones(1,0)))) ***** assert(~isvector(sym(ones(0,3)))) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/@sym/isallconstant.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/isallconstant.m ***** assert (isallconstant([sym(1) 2 3])) ***** test syms x assert (~isallconstant([sym(1) x 3])) ***** test syms x assert (~isallconstant([sym(1) x; sym(2) 3])) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/cos.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/cos.m ***** error cos (sym(1), 2) ***** assert (isequaln (cos (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = cos(x); f2 = cos(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = cos(A); f2 = cos(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = cos (d); f = cos (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/besselyn.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/besselyn.m ***** test % roundtrip syms x A = double(besselyn(sym(2), sym(10))); q = besselyn(sym(2), x); h = function_handle(q); B = h(10); assert (abs (A - B) <= eps) ***** error yn(sym('x')) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/formula.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/formula.m ***** test syms x assert (isequal (formula(x), x)) assert (isequal (formula(2*x), 2*x)) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@sym/real.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/real.m ***** assert (isequal (real (sym (4) + 3i),4)) ***** test syms x y real z = x + 1i*y; assert (isequal (real (z),x)) ***** test syms x y real Z = [4 x + 1i*y; x 4 + 3i]; assert (isequal (real (Z),[4 x; x 4])) ***** test syms x real d = exp (x*i); assert (isequal (real (d), cos (x))) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.1.1")')) syms x d = 3 - 5i; f = real (x); A = real (d); h = function_handle (f); B = h (d); assert (A, B) end 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/acosh.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/acosh.m ***** error acosh (sym(1), 2) ***** assert (isequaln (acosh (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = acosh(x); f2 = acosh(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = acosh(A); f2 = acosh(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = acosh (d); f = acosh (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/ssinint.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ssinint.m ***** assert (isequal (ssinint(sym(0)), -sym(pi)/2)) ***** test A = ssinint (sym ([0 1])); B = [-pi/2 -0.62471325642771360426]; assert( all(all( abs(double(A)-B) < 1e-15 ))) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/erfi.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/erfi.m ***** error erfi (sym(1), 2) ***** assert (isequaln (erfi (sym(nan)), sym(nan))) ***** shared x, d d = 0; x = sym('0'); ***** test f1 = erfi(x); f2 = 0; assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = erfi(A); f2 = 0; f2 = [f2 f2; f2 f2]; assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) y = sym('y'); A = erfi (d); f = erfi (y); h = function_handle (f); B = h (d); assert (A, B, -eps) end 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/sort.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/sort.m ***** error sort (sym(1), 2) ***** test f = [sym(1), sym(0)]; expected = sym([0, 1]); assert (isequal (sort(f), expected)) ***** test f = [sym(1)]; expected = sym(1); assert (isequal (sort(f), expected)) ***** test f = [sym(3), sym(2), sym(6)]; s = sort(f); expected_s = sym([2, 3, 6]); assert (isequal (s, expected_s)) ***** test f = [sym(pi), sin(sym(2)), sqrt(sym(6))]; s = sort(f); expected_s = sym([sin(sym(2)), sqrt(sym(6)), sym(pi)]); assert (isequal (s, expected_s)) ***** test f = [sym(1), sym(2); sym(2), sym(pi); sym(pi), sym(1)]; s = sort(f); expected_s = ([sym(1), sym(1); sym(2), sym(2); sym(pi), sym(pi)]); assert (isequal (s, expected_s)) ***** assert (isequal (sort(sym([])), sym([]))) ***** error sort([sym('x') 1]) ***** test % but with assumptions, symbols can be sorted p = sym('p', 'positive'); n = sym('n', 'negative'); expected_s = [n p]; s = sort ([p n]); assert (isequal (s, expected_s)) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/length.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/length.m ***** test a = sym([1 2 3]); assert(length(a) == 3); ***** test % 2D array a = sym([1 2 3; 4 5 6]); assert(length(a) == 3); ***** test % empty a = sym([]); assert(length(a) == 0); 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/nchoosek.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/nchoosek.m ***** assert (isequal (nchoosek(sym(5), sym(2)), sym(10))) ***** assert (isequal (nchoosek(sym(5), 2), sym(10))) ***** assert (isequal (nchoosek(5, sym(2)), sym(10))) ***** assert (isequal (nchoosek(sym(10), 0), 1)) ***** assert (isequal (nchoosek(sym(10), -1), 0)) ***** test n = sym('n', 'nonnegative', 'integer'); assert (isequal (nchoosek (n, n), sym(1))) ***** test n = sym('n', 'integer'); q = nchoosek(n, 2); w = subs(q, n, 5); assert (isequal (w, 10)) ***** test n = sym('n', 'integer'); k = sym('k', 'integer'); q = nchoosek(n, k); w = subs(q, {n k}, {5 2}); assert (isequal (w, 10)) ***** test % negative input assert (isequal (nchoosek (sym(-2), sym(5)), sym(-6))) ***** test % complex input n = sym(1 + 3i); k = sym(5); A = nchoosek (n, k); B = gamma (n + 1) / (gamma (k + 1) * gamma (n - k + 1)); assert (double (A), double (B), -2*eps) ***** test % complex input n = sym(-2 + 3i); k = sym(1 + i); A = nchoosek (n, k); B = gamma (n + 1) / (gamma (k + 1) * gamma (n - k + 1)); assert (double (A), double (B), -2*eps) 11 tests, 11 passed, 0 known failure, 0 skipped [inst/@sym/union.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/union.m ***** test A = sym([1 2 3]); B = sym([1 2 4]); C = union(A, B); D = sym([1 2 3 4]); assert (isequal (C, D)) ***** test % one nonsym A = sym([1 2 3]); B = [1 2 4]; C = union(A, B); D = sym([1 2 3 4]); assert (isequal (C, D)) ***** test % empty A = sym([1 2 3]); C = union(A, A); assert (isequal(C, A)) ***** test % empty input A = sym([1 2]); C = union(A, []); assert (isequal (C, sym([1 2]))) ***** test % scalar syms x assert (isequal (union([x 1], x), [1 x])) assert (isequal (union(x, x), x)) ***** test A = interval(sym(1), 3); B = interval(sym(2), 5); C = union(A, B); assert( isequal( C, interval(sym(1), 5))) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@sym/assumeAlso.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/assumeAlso.m ***** test syms x x = assumeAlso(x, 'positive'); a = assumptions(x); assert(strcmp(a, 'x: positive')) ***** error syms x x = assumeAlso (x, x); ***** test syms x positive x = assumeAlso(x, 'integer'); [tilde, a] = assumptions(x, 'dict'); assert(a{1}.integer) assert(a{1}.positive) ***** test % multiple assumptions syms x positive x = assumeAlso(x, 'integer', 'even'); [tilde, a] = assumptions(x, 'dict'); assert(a{1}.integer) assert(a{1}.positive) assert(a{1}.even) ***** test % multiple assumptions syms x integer x = assumeAlso (x, 'even', 'positive'); [tilde, a] = assumptions (x, 'dict'); assert (a{1}.integer) assert (a{1}.even) assert (a{1}.positive) ***** test % has output so avoids workspace syms x positive x2 = x; f = sin(x); assumeAlso(x, 'integer'); a = assumptions(x); assert(strcmp(a, 'x: positive, integer') || strcmp(a, 'x: integer, positive')) a = assumptions(x2); assert(strcmp(a, 'x: positive, integer') || strcmp(a, 'x: integer, positive')) a = assumptions(f); assert(strcmp(a, 'x: positive, integer') || strcmp(a, 'x: integer, positive')) ***** test % has no output so does workspace syms x positive x2 = x; f = sin(x); assumeAlso(x, 'integer'); a = assumptions(x); assert(strcmp(a, 'x: positive, integer') || strcmp(a, 'x: integer, positive')) a = assumptions(x2); assert(strcmp(a, 'x: positive, integer') || strcmp(a, 'x: integer, positive')) a = assumptions(f); assert(strcmp(a, 'x: positive, integer') || strcmp(a, 'x: integer, positive')) ***** error syms a assumeAlso (a > 0) ***** test syms x y assumeAlso ([x y], 'even') assert (strcmp (assumptions (x), 'x: even')) assert (strcmp (assumptions (y), 'y: even')) ***** test syms x y positive f = sin (2*x); assumeAlso ([x y], 'even') assert (strcmp (assumptions (x), 'x: even, positive') || strcmp (assumptions (x), 'x: positive, even')) assert (strcmp (assumptions (y), 'y: even, positive') || strcmp (assumptions (y), 'y: positive, even')) assert (strcmp (assumptions (f), 'x: even, positive') || strcmp (assumptions (f), 'x: positive, even')) ***** test % with output, original x and y are unchanged syms x y positive f = sin (2*x); [p, q] = assumeAlso ([x y], 'even'); assert (strcmp (assumptions (x), 'x: positive')) assert (strcmp (assumptions (y), 'y: positive')) assert (strcmp (assumptions (f), 'x: positive')) assert (strcmp (assumptions (p), 'x: even, positive') || strcmp (assumptions (p), 'x: positive, even')) assert (strcmp (assumptions (q), 'y: even, positive') || strcmp (assumptions (q), 'y: positive, even')) 11 tests, 11 passed, 0 known failure, 0 skipped [inst/@sym/sqrt.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/sqrt.m ***** error sqrt (sym(1), 2) ***** assert (isequaln (sqrt (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = sqrt(x); f2 = sqrt(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = sqrt(A); f2 = sqrt(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = sqrt (d); f = sqrt (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/sym2poly.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/sym2poly.m ***** shared x,y,a,b,c syms x y a b c ***** assert (isequal (sym2poly (x^2 + 3*x - 4), [1 3 -4])) ***** assert (isequal (sym2poly (x^6 - x^3), [1 0 0 -1 0 0 0])) ***** assert (isequal (sym2poly (x^2 + 3*x - 4, x), [1 3 -4])) ***** assert (norm (sym2poly (pi*x^2 + exp(sym(1))) - [pi 0 exp(1)]) < 10*eps) ***** assert (isa (sym2poly (x^2 + 3*x - 4), 'double')) ***** assert (isa (sym2poly (x^2 + 3*x - 4, x), 'sym')) ***** assert (isequal (sym2poly (x^2+y*x, x), [sym(1) y sym(0)])) ***** assert (isequal (sym2poly (x^2+y*x, y), [x x^2])) ***** assert (isequal (sym2poly (poly2sym ([a b c], x), x), [a b c])) ***** assert (isequal (poly2sym (sym2poly(a*x^2 + c, x), x), a*x^2 + c)) ***** assert (isequal (sym2poly (poly2sym ([1 2 3])), [1 2 3])) ***** error % too many symbols for single-input p = a*x^2 + 2; c = sym2poly (p); 12 tests, 12 passed, 0 known failure, 0 skipped [inst/@sym/toeplitz.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/toeplitz.m ***** test % rect R = [10 20 40]; C = [10 30]; A = sym(toeplitz(R,C)); B = toeplitz(sym(R),sym(C)); assert (isequal (A, B)) R = [10 20]; C = [10 30 50]; A = sym(toeplitz(R,C)); B = toeplitz(sym(R),sym(C)); assert (isequal (A, B)) ***** test % symbols syms x y R = [10 20 40]; C = [10 30]; Rs = [10 x 40]; Cs = [10 y]; A = toeplitz(R,C); B = toeplitz(Rs,Cs); assert (isequal (A, subs(B,[x,y],[20 30]))) ***** test % hermitian syms a b c A = [a b c; conj(b) a b; conj(c) conj(b) a]; B = toeplitz([a,b,c]); assert (isequal( A, B)) ***** warning % mismatch syms x B = toeplitz([10 x], [1 3 x]); ***** warning % scalar B = toeplitz(sym(2), 3); assert (isequal (B, sym(2))) ***** test % mismatch syms x y fprintf('\n one warning expected\n') % how to quiet this one? A = toeplitz([10 2], [1 3 5]); s = warning ('off', 'OctSymPy:toeplitz:diagconflict'); B = toeplitz([10 x], [1 3 y]); warning(s) assert (isequal (A, subs(B, [x,y], [2 5]))) one warning expected warning: toeplitz: column wins diagonal conflict 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@sym/dilog.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/dilog.m ***** assert (isequal (dilog (sym(1)), sym(0))) ***** assert (isequal (dilog (sym(0)), sym(pi)^2/6)) ***** test if (python_cmd ('return Version(spver) > Version("1.0")')) assert (isequal (dilog (sym(2)), -sym(pi)^2/12)) end ***** assert (double(dilog(sym(-1))), pi^2/4 - pi*1i*log(2), eps) ***** test % round-trip if (python_cmd ('return Version(spver) > Version("1.0")')) syms x f = dilog (x); h = function_handle (f); A = h (1.1); B = dilog (1.1); assert (A, B, -eps) end 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/reshape.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/reshape.m ***** test d = [2 4 6; 8 10 12]; a = sym(d); assert (isequal (reshape(a, [1 6]), reshape(d, [1 6]))) assert (isequal (reshape(a, 1, 6), reshape(d, 1, 6))) assert (isequal (reshape(a, 2, 3), reshape(d, 2, 3))) assert (isequal (reshape(a, 3, 2), reshape(d, 3, 2))) assert (isequal (reshape(a, 6, 1), reshape(d, 6, 1))) ***** shared x, a, d syms x a = [1 x^2 x^4; x x^3 x^5]; d = [0 2 4; 1 3 5]; ***** test b = reshape(a, [1 6]); assert (isequal (size(b), [1 6])) assert (isequal (b, x.^reshape(d,1,6))) ***** test b = reshape(a, [6 1]); assert (isequal (size(b), [6 1])) assert (isequal (b, x.^reshape(d,6,1))) b = reshape(b, size(a)); assert (isequal (size(b), [2 3])) assert (isequal (b, a)) ***** test b = a(:); assert( isequal (size(b), [6 1])) assert( isequal (b, x.^(d(:)))) ***** test % reshape scalar assert (logical( reshape(x, 1, 1) == x )) assert (logical( reshape(x, [1 1]) == x )) ***** shared a syms a ***** error reshape(a, 2, 1) ***** error reshape(a, 1, 2) ***** error reshape(a, 1, 1, 1) ***** error reshape(a, [1, 1, 1]) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/ellipke.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ellipke.m ***** error ellipke (sym(1), 2) ***** test for i = 2:10 [K E] = ellipke (sym (1)/i); [k e] = ellipke (1/i); assert (double ([K E]), [k e], 2*eps) end 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/laguerreL.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/laguerreL.m ***** shared x syms x ***** assert (isequal (laguerreL(0, x), sym(1))) ***** assert (isequal (laguerreL(1, x), 1-x)) ***** assert (isequal (laguerreL(2, x), x^2/2 - 2*x + 1)) ***** error laguerreL(-1, x) ***** error laguerreL(x) ***** error laguerreL(1, 2, x, 3) ***** shared ***** test syms x n L = laguerreL([2 n], x); expected = [laguerreL(2, x) laguerreL(n, x)]; assert (isequal (L, expected)) ***** test syms x y L = laguerreL([1; 2], [x; y]); expected = [laguerreL(1, x); laguerreL(2, y)]; assert (isequal (L, expected)) ***** test syms x n assert (isequal (laguerreL(n, 0, x), laguerreL(n, x))) ***** shared x, y, n syms x y n ***** assert (isequal (laguerreL([1 n], 0, x), laguerreL([1 n], x))) ***** test L = laguerreL([1; n], [pi; 0], [x; y]); expected = [laguerreL(1, pi, x); laguerreL(n, 0, y)]; assert (isequal (L, expected)) ***** test L = laguerreL([1 n], [pi 0], x); expected = [laguerreL(1, pi, x) laguerreL(n, 0, x)]; assert (isequal (L, expected)) ***** test L = laguerreL([1 n], pi, [x y]); expected = [laguerreL(1, pi, x) laguerreL(n, pi, y)]; assert (isequal (L, expected)) ***** test L = laguerreL(1, [pi 0], [x y]); expected = [laguerreL(1, pi, x) laguerreL(1, 0, y)]; assert (isequal (L, expected)) ***** test L = laguerreL([1 n], pi, x); expected = [laguerreL(1, pi, x) laguerreL(n, pi, x)]; assert (isequal (L, expected)) ***** test L = laguerreL(1, [pi 0], x); expected = [laguerreL(1, pi, x) laguerreL(1, 0, x)]; assert (isequal (L, expected)) ***** test L = laguerreL(1, pi, [x y]); expected = [laguerreL(1, pi, x) laguerreL(1, pi, y)]; assert (isequal (L, expected)) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) f = laguerreL (n, x); h = function_handle (f); A = h (1, 3.2); B = laguerreL (1, 3.2); assert (A, B) A = h ([1 2], [3.3 4.4]); B = laguerreL ([1 2], [3.3 4.4]); assert (A, B) end ***** error % round trip f = laguerreL (n, y, x); h = function_handle (f); 19 tests, 19 passed, 0 known failure, 0 skipped [inst/@sym/gradient.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/gradient.m ***** shared x,y,z syms x y z ***** test % 1D f = x^2; assert (isequal (gradient(f), diff(f,x))) assert (isequal (gradient(f,{x}), diff(f,x))) assert (isequal (gradient(f,[x]), diff(f,x))) assert (isequal (gradient(f,x), diff(f,x))) ***** test % const f = sym(1); g = sym(0); assert (isequal (gradient(f), g)) assert (isequal (gradient(f,x), g)) ***** test % double const f = 1; g = sym(0); assert (isequal (gradient(f,x), g)) ***** test % 1D fcn in 2d/3d f = sin(y); assert (isequal (gradient(f), diff(f,y))) assert (isequal (gradient(f, {x,y}), [sym(0); diff(f,y)])) assert (isequal (gradient(f, [x y]), [sym(0); diff(f,y)])) assert (isequal (size (gradient(f, {x,y})), [2 1])) assert (isequal (gradient(f, {x,y,z}), [0; diff(f,y); 0])) assert (isequal (gradient(f, [x y z]), [0; diff(f,y); 0])) assert (isequal (size (gradient(f, {x,y,z})), [3 1])) ***** test % grad is column vector f = sin(y); assert (isequal (size (gradient(f, {x,y})), [2 1])) assert (isequal (size (gradient(f, {x,y,z})), [3 1])) assert (isequal (size (gradient(f, [x y])), [2 1])) assert (isequal (size (gradient(f, [x;y])), [2 1])) ***** test % 2d fcn in 2d/3d f = sin(exp(x)*y); g2 = [diff(f,x); diff(f,y)]; g3 = [diff(f,x); diff(f,y); diff(f,z)]; assert (isequal (gradient(f), g2)) assert (isequal (gradient(f, {x,y}), g2)) assert (isequal (gradient(f, {x,y,z}), g3)) ***** test % 2d fcn in 2d/3d f = sin(exp(x)*y+sinh(z)); g2 = [diff(f,x); diff(f,y)]; g3 = [diff(f,x); diff(f,y); diff(f,z)]; assert (isequal (gradient(f), g3)) assert (isequal (gradient(f, {x,y}), g2)) assert (isequal (gradient(f, {x,y,z}), g3)) ***** error gradient(sym('x'), 42, 42) ***** error gradient([sym('x') sym('x')]) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/isNone.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/isNone.m ***** test None = python_cmd ('return None'); ***** shared None None = python_cmd ('return None'); ***** assert (isNone(None)) ***** assert (~isNone(sym('x'))) ***** assert (islogical(isNone(None))) ***** test a = [1 None]; a = [None None]; a = [None; 1]; a = [None; None]; a = [None 2; 3 None]; ***** test a = sym([1 2]); a(1,2) = None; assert (isequal (a, [sym(1) None])); ***** assert (isequal (None(1), None)); ***** error None(None); ***** error x=sym('x'); x(None); ***** error x=1; x(None); ***** error None(None); ***** error 1 + None; ***** error None - 1; ***** error 6*None; ***** error 2**None; ***** error [1 2].*None; ***** error isconstant(None); ***** error nnz(None); ***** error logical(None); ***** error isAlways(None); ***** error logical([sym(true) None]); ***** error isAlways([sym(true) None]); ***** assert (isequal (children(None), None)) ***** assert (isequal (repmat(None, 1, 2), [None None])) ***** assert (isequal (fliplr(None), None)) ***** assert (isequal (flipud(None), None)) 26 tests, 26 passed, 0 known failure, 0 skipped [inst/@sym/floor.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/floor.m ***** error floor (sym(1), 2) ***** assert (isequaln (floor (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = floor(x); f2 = floor(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = floor(A); f2 = floor(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = floor (d); f = floor (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/flipud.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/flipud.m ***** test % simple syms x A = [x 2; sym(pi) x]; B = [sym(pi) x; x 2]; assert (isequal (flipud(A), B)) ***** test % simple, odd # rows syms x A = [x 2; sym(pi) x; [1 2]]; B = [[1 2]; sym(pi) x; x 2]; assert (isequal (flipud(A), B)) ***** test % scalar syms x assert (isequal (flipud(x), x)) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/besselk.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/besselk.m ***** test X = [1 2 3; 4 5 6]; ns = [sym(0) 1 -2; sym(1)/2 -sym(3)/2 pi]; n = double(ns); A = double(besselk(ns, X)); B = besselk(n, X); assert (all (all (abs (A - B) < 2*eps*abs(A)))) ***** test % roundtrip syms x A = besselk(2, 10); q = besselk(2, x); h = function_handle(q); B = h(10); assert (abs (A - B) <= eps*abs(A)) ***** error besselk(sym('x')) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/gammainc.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/gammainc.m ***** assert (isequal (gammainc (sym(0), 1), sym(0))) ***** assert (isequal (gammainc (sym(0), 2), sym(0))) ***** assert (isequal (gammainc (sym('oo'), 1), sym(1))) ***** assert (isequal (gammainc (sym(0), 1, 'upper'), sym(1))) ***** assert (isequal (gammainc (sym(0), 2, 'upper'), sym(1))) ***** assert (isequal (gammainc (sym('oo'), 1, 'upper'), sym(0))) ***** test % default is lower syms x a assert (isequal (gammainc (x, a), gammainc(x, a, 'lower'))) ***** test % compare to double x = 5; a = 1; A = gammainc (x, a); B = double (gammainc (sym(x), a)); assert(A, B, -eps) ***** test % compare to double x = 100; a = 1; A = gammainc (x, a); B = double (gammainc (sym(x), a)); assert(A, B, -eps) ***** test % compare to double xs = sym(1)/1000; x = 1/1000; a = 1; A = gammainc (x, a); B = double (gammainc (xs, a)); assert(A, B, -eps) ***** test % compare to double x = 5; a = 1; A = gammainc (x, a, 'upper'); B = double (gammainc (sym(x), a, 'upper')); assert(A, B, -10*eps) ***** test % compare to double % https://savannah.gnu.org/bugs/index.php?47800 if (~ exist('OCTAVE_VERSION', 'builtin') || ... compare_versions (OCTAVE_VERSION (), '4.3.0', '>=')) x = 10; a = 1; A = gammainc (x, a, 'upper'); B = double (gammainc (sym(x), a, 'upper')); assert(A, B, -10*eps) end ***** test % compare to double if (~ exist('OCTAVE_VERSION', 'builtin') || ... compare_versions (OCTAVE_VERSION (), '4.3.0', '>=')) x = 40; a = 1; A = gammainc (x, a, 'upper'); B = double (gammainc (sym(x), a, 'upper')); assert(A, B, -10*eps) end ***** test % compare to double xs = sym(1)/1000; x = 1/1000; a = 1; A = gammainc (x, a, 'upper'); B = double (gammainc (xs, a, 'upper')); assert(A, B, -eps) ***** test % vectorized P = gammainc([sym(pi) 2], [1 3]); expected = [gammainc(pi, sym(1)) gammainc(2, sym(3))]; assert (isequal (P, expected)) ***** test % vectorized P = gammainc(sym(pi), [1 3]); expected = [gammainc(sym(pi), 1) gammainc(sym(pi), 3)]; assert (isequal (P, expected)) ***** test % vectorized P = gammainc([sym(pi) 2], 1); expected = [gammainc(pi, sym(1)) gammainc(2, sym(1))]; assert (isequal (P, expected)) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) syms x a f = gammainc (x, a, 'upper'); h = function_handle (f, 'vars', [x a]); A = h (1.1, 2.2); B = gammainc (1.1, 2.2, 'upper'); assert (A, B) end ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) syms x a f = gammainc (x, a, 'lower'); h = function_handle (f, 'vars', [x a]); A = h (1.1, 2.2); B = gammainc (1.1, 2.2, 'lower'); assert (A, B) end 19 tests, 19 passed, 0 known failure, 0 skipped [inst/@sym/sum.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/sum.m ***** error sum (sym(1), 2, 3) ***** error sum (sym(1), 42) ***** shared x,y,z syms x y z ***** assert (isequal (sum (x), x)) ***** assert (isequal (sum ([x y z]), x+y+z)) ***** assert (isequal (sum ([x; y; z]), x+y+z)) ***** assert (isequal (sum ([x y z], 1), [x y z])) ***** assert (isequal (sum ([x y z], 2), x+y+z)) ***** shared a,b b = [1 2; 3 4]; a = sym(b); ***** assert (isequal (sum(a), sum(b))) ***** assert (isequal (sum(a,1), sum(b,1))) ***** assert (isequal (sum(a,2), sum(b,2))) ***** test % weird inputs a = sum('xx', sym(1)); assert (isequal (a, sym('xx'))) 11 tests, 11 passed, 0 known failure, 0 skipped [inst/@sym/horzcat.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/horzcat.m ***** test % basic syms x A = [x x]; B = horzcat(x, x); C = horzcat(x, x, x); assert (isa (A, 'sym')) assert (isa (B, 'sym')) assert (isa (C, 'sym')) assert (isequal (size(A), [1 2])) assert (isequal (size(B), [1 2])) assert (isequal (size(C), [1 3])) ***** test % basic, part 2 syms x A = [x 1]; B = [1 x]; C = [1 2 x]; assert (isa (A, 'sym')) assert (isa (B, 'sym')) assert (isa (C, 'sym')) assert (isequal (size(A), [1 2])) assert (isequal (size(B), [1 2])) assert (isequal (size(C), [1 3])) ***** test % row vectors a = [sym(1) 2]; b = [sym(3) 4]; assert (isequal ( [a b] , [1 2 3 4] )) assert (isequal ( [a 3 4] , [1 2 3 4] )) assert (isequal ( [3 4 a] , [3 4 1 2] )) assert (isequal ( [a [3 4]] , [1 2 3 4] )) assert (isequal ( [a sym(3) 4] , [1 2 3 4] )) assert (isequal ( [a [sym(3) 4]] , [1 2 3 4] )) ***** test % col vectors a = [sym(1); 2]; b = [sym(3); 4]; assert (isequal ( [a b] , [1 3; 2 4] )) assert (isequal ( [a b a] , [1 3 1; 2 4 2] )) ***** test % empty vectors v = sym(1); a = [v []]; assert (isequal (a, v)) a = [[] v []]; assert (isequal (a, v)) a = [v [] []]; assert (isequal (a, v)) ***** test % more empty vectors v = [sym(1) sym(2)]; q = sym(ones(1, 0)); assert (isequal ([v q], v)) ***** error v = [sym(1) sym(2)]; q = sym(ones(3, 0)); w = horzcat(v, q); ***** test % issue #700 A = sym ([1 2]); B = simplify (A); assert (isequal ([B A], [A B])) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/@sym/taylor.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/taylor.m ***** test syms x f = exp(x); expected = 1 + x + x^2/2 + x^3/6 + x^4/24 + x^5/120; assert (isequal (taylor(f), expected)) assert (isequal (taylor(f,x), expected)) assert (isequal (taylor(f,x,0), expected)) ***** test syms x f = exp(x); expected = 1 + x + x^2/2 + x^3/6 + x^4/24; assert (isequal (taylor(f,'order',5), expected)) assert (isequal (taylor(f,x,'order',5), expected)) assert (isequal (taylor(f,x,0,'order',5), expected)) ***** test % key/value ordering doesn't matter syms x f = exp(x); g1 = taylor(f, 'expansionPoint', 1, 'order', 3); g2 = taylor(f, 'order', 3, 'expansionPoint', 1); assert (isequal (g1, g2)) ***** test syms x f = x^2; assert (isequal (taylor(f,x,0,'order',0), 0)) assert (isequal (taylor(f,x,0,'order',1), 0)) assert (isequal (taylor(f,x,0,'order',2), 0)) assert (isequal (taylor(f,x,0,'order',3), x^2)) assert (isequal (taylor(f,x,0,'order',4), x^2)) ***** test syms x y f = exp(x)+exp(y); expected = 2 + x + x^2/2 + x^3/6 + x^4/24 + y + y^2/2 + y^3/6 + y^4/24; assert (isAlways(taylor(f,[x,y],'order',5)== expected)) assert (isAlways(taylor(f,[x,y],[0,0],'order',5) == expected)) ***** test % key/value ordering doesn't matter syms x f = exp(x); g1 = taylor(f, 'expansionPoint', 1, 'order', 3); g2 = taylor(f, 'order', 3, 'expansionPoint', 1); assert (isequal (g1, g2)) ***** test syms x f = x^2; assert (isequal (taylor(f,x,0,'order',0), 0)) assert (isequal (taylor(f,x,0,'order',1), 0)) assert (isequal (taylor(f,x,0,'order',2), 0)) assert (isequal (taylor(f,x,0,'order',3), x^2)) assert (isequal (taylor(f,x,0,'order',4), x^2)) ***** test % syms for a and order syms x f = x^2; assert (isequal (taylor(f,x,sym(0),'order',sym(2)), 0)) assert (isequal (taylor(f,x,sym(0),'order',sym(4)), x^2)) ***** test syms x y f = exp (x^2 + y^2); expected = 1+ x^2 +y^2 + x^4/2 + x^2*y^2 + y^4/2; assert (isAlways(taylor(f,[x,y],'order',5)== expected)) assert (isAlways(taylor(f,[x,y],'expansionPoint', [0,0],'order',5) == expected)) ***** test syms x y f = sqrt(1+x^2+y^2); expected = 1+ x^2/2 +y^2/2 - x^4/8 - x^2*y^2/4 - y^4/8; assert (isAlways(taylor(f,[x,y],'order',6)== expected)) assert (isAlways(taylor(f,[x,y],'expansionPoint', [0,0],'order',5) == expected)) ***** test syms x y f = sin (x^2 + y^2); expected = sin(sym(1))+2*cos(sym(1))*(x-1)+(cos(sym(1))-2*sin(sym(1)))*(x-1)^2 + cos(sym(1))*y^2; assert (isAlways(taylor(f,[x,y],'expansionPoint', [1,0],'order',3) == expected)) ***** test % key/value ordering doesn't matter syms x y f = exp(x+y); g1 = taylor(f, 'expansionPoint',1, 'order', 3); g2 = taylor(f, 'order', 3, 'expansionPoint',1); assert (isAlways(g1== g2)) ***** test syms x y f = x^2 + y^2; assert (isAlways(taylor(f,[x,y],[0,0],'order',0)== sym(0) )) assert (isAlways(taylor(f,[x,y],[0,0],'order',1)== sym(0) )) assert (isAlways(taylor(f,[x,y],[0,0],'order',2)== sym(0) )) assert (isAlways(taylor(f,[x,y],[0,0],'order',3)== sym(x^2 + y^2))) assert (isAlways(taylor(f,[x,y],[0,0],'order',4)== sym(x^2 + y^2))) ***** test % expansion point syms x a f = x^2; g = taylor(f,x,2); assert (isequal (simplify(g), f)) assert (isequal (g, 4*x+(x-2)^2-4)) g = taylor(f,x,a); assert (isequal (simplify(g), f)) ***** test % wrong order-1 series with nonzero expansion pt: % upstream bug https://github.com/sympy/sympy/issues/9351 if (python_cmd ('return Version(spver) > Version("1.0")')) syms x g = x^2 + 2*x + 3; h = taylor (g, x, 4, 'order', 1); assert (isequal (h, 27)) end ***** test syms x y z g = x^2 + 2*y + 3*z; h = taylor (g, [x,y,z], 'order', 4); assert (isAlways(h == g)) ; ***** test syms x y z g = sin(x*y*z); h = taylor (g, [x,y,z], 'order', 4); assert (isAlways(h == x*y*z)) ; ***** error syms x y taylor(0, [x, y], [1, 2, 3]); 18 tests, 18 passed, 0 known failure, 0 skipped [inst/@sym/permute.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/permute.m ***** error permute (sym(1)) ***** test D = round(10*rand(5,3)); A = sym(D); B = permute(A, [1 2]); assert (isequal(B, A)) B = permute(A, [2 1]); assert (isequal(B, A.')) ***** test syms x A = [1 x]; B = permute(A, [2 1]); assert (isequal(B, [1; x])) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/or.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/or.m ***** shared t, f t = sym(true); f = sym(false); ***** test % simple assert (isequal (t | f, t)) assert (isequal (t | t, t)) assert (isequal (f | f, f)) ***** test % array w = [t t f f]; z = [t f t f]; assert (isequal (w | z, [t t t f])) ***** test % output is sym even for scalar t/f assert (isa (t | f, 'sym')) ***** test % eqns syms x e = or(x == 4, x == 5); assert (isequal (subs(e, x, [3 4 5 6]), [f t t f])) ***** error or (sym(1), 2, 3) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/end.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/end.m ***** test % scalar syms x y = x(1:end); assert (isequal (x, y)) ***** test % vector syms x A = [1 2 x 4]; y = A(end-1:end); assert (isequal (y, [x 4])) ***** test % subset of matrix syms x A = [1 2 x; x 3 9; 4 x*x 6]; y = A(end,1:end-1); assert (isequal (y, [4 x*x])) ***** test % linear index of matrix syms x A = [1 2 x; x 3 9]; y = A(end); assert (isequal (y, sym(9))) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/subs.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/subs.m ***** error subs (sym(1), 2, 3, 4) ***** shared x,y,t,f syms x y t f = x*y; ***** test assert( isequal( subs(f, x, y), y^2 )) assert( isequal( subs(f, y, sin(x)), x*sin(x) )) assert( isequal( subs(f, x, 16), 16*y )) ***** test % multiple subs w/ cells assert( isequal( subs(f, {x}, {t}), y*t )) assert( isequal( subs(f, {x y}, {t t}), t*t )) assert( isequal( subs(f, {x y}, {t 16}), 16*t )) assert( isequal( subs(f, {x y}, {16 t}), 16*t )) assert( isequal( subs(f, {x y}, {2 16}), 32 )) ***** test % multiple subs w/ vectors assert( isequal( subs(f, [x y], [t t]), t*t )) assert( isequal( subs(f, [x y], [t 16]), 16*t )) assert( isequal( subs(f, [x y], [2 16]), 32 )) ***** test % anything you can think of assert( isequal( subs(f, [x y], {t t}), t*t )) assert( isequal( subs(f, {x y}, [t t]), t*t )) assert( isequal( subs(f, {x; y}, [t; t]), t*t )) ***** test % sub in doubles gives sym (matches SMT 2013b) % FIXME: but see % http://www.mathworks.co.uk/help/symbolic/gradient.html assert( isequal( subs(f, {x y}, {2 pi}), 2*sym(pi) )) assert( ~isa(subs(f, {x y}, {2 pi}), 'double')) assert( isa(subs(f, {x y}, {2 pi}), 'sym')) assert( isa(subs(f, {x y}, {2 sym(pi)}), 'sym')) assert( isa(subs(f, {x y}, {sym(2) sym(pi)}), 'sym')) ***** shared x,y,t,f,F syms x y t f = sin(x)*y; F = [f; 2*f]; ***** test % need the simultaneous=True flag in SymPy (matches SMT 2013b) assert( isequal( subs(f, [x t], [t 6]), y*sin(t) )) assert( isequal( subs(F, [x t], [t 6]), [y*sin(t); 2*y*sin(t)] )) ***** test % swap x and y (also needs simultaneous=True assert( isequal( subs(f, [x y], [y x]), x*sin(y) )) ***** test % but of course both x and y to t still works assert( isequal( subs(f, [x y], [t t]), t*sin(t) )) ***** shared ***** test % Issue #10, subbing matrices in for scalars syms y a = sym([1 2; 3 4]); f = sin(y); g = subs(f, y, a); assert (isequal (g, sin(a))) ***** test % Issue #10, subbing matrices in for scalars syms y a = sym([1 2]); g = subs(sin(y), {y}, {a}); assert (isequal (g, sin(a))) ***** test % Issue #10, subbing matrices in for scalars syms y a = sym([1; 2]); g = subs(sin(y), {y}, a); assert (isequal (g, sin(a))) ***** test % Issue #10, subbing matrices in for scalars syms y a = [10 20 30]; f = 2*y; g = subs(f, y, a); assert (isequal (g, 2*a)) assert (isa (g, 'sym')) ***** test % Issue #10, sub matrices in for two scalars syms x y a = [10 20 30]; f = x^2*y; g = subs(f, {x y}, {a a+1}); h = a.^2.*(a+1); assert (isequal (g, h)) ***** test % Issue #10, sub matrices in for two scalars syms x y z a = [10 20 30]; f = x^2*y; g = subs(f, {x y}, {a z}); h = a.^2*z; assert (isequal (g, h)) g = subs(f, {x y}, {a 6}); h = a.^2*6; assert (isequal (g, h)) ***** error syms x y a = [10 20 30]; f = x^2*y; g = subs(f, {x y}, {[10 20 30] [10 20]}); ***** test % two inputs syms x y assert (isequal (subs (2*x, 6), sym(12))) assert (isequal (subs (2*x*y^2, 6), 12*y^2)) assert (isequal (subs (2*y, 6), sym(12))) assert (isequal (subs (sym(2), 6), sym(2))) ***** test % only two inputs, vector syms x assert (isequal (subs (2*x, [3 5]), sym([6 10]))) assert (isequal (subs (sym(2), [3 5]), sym([2 2]))) 18 tests, 18 passed, 0 known failure, 0 skipped [inst/@sym/harmonic.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/harmonic.m ***** error harmonic (sym(1), 2) ***** xtest assert (isequaln (harmonic (sym(nan)), sym(nan))) !!!!! known failure assert (isequaln (harmonic (sym (nan)), sym (nan))) failed ***** assert (isequal (harmonic (sym(0)), sym(0))) ***** assert (isinf (harmonic (sym(inf)))) ***** assert (isequal (harmonic (sym([9 10])), [sym(7129)/2520 sym(7381)/2520])) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.2")')) y = sym('y'); A = harmonic (7); f = harmonic (y); h = function_handle (f); B = h (7); assert (A, B, -eps) end 6 tests, 5 passed, 1 known failure, 0 skipped [inst/@sym/kroneckerDelta.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/kroneckerDelta.m ***** error kroneckerDelta (sym(1), 2, 3) ***** test syms x assert (isequal (kroneckerDelta (x, x), sym(1))) ***** assert (isequal (kroneckerDelta ([sym(1) 2 3], [1 2 0]), sym([1 1 0]))) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.2")')) syms x y f = kroneckerDelta (x, y); h = function_handle (f); assert (h (1, 2), 0) assert (h (2, 2), 1) end 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/expm.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/expm.m ***** test % scalar syms x assert (isequal (expm(x), exp(x))) ***** test % diagonal A = [sym(1) 0; 0 sym(3)]; B = [exp(sym(1)) 0; 0 exp(sym(3))]; assert (isequal (expm(A), B)) ***** test % diagonal w/ x syms x positive A = [sym(1) 0; 0 x+2]; B = [exp(sym(1)) 0; 0 exp(x+2)]; assert (isequal (expm(A), B)) ***** test % non-diagonal syms x positive A = [sym(1) 2; 0 x+2]; B = expm(A); C = double(subs(B, x, 4)); D = expm(double(subs(A, x, 4))); assert (max (max (abs (C - D))) <= 1e-11) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/any.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/any.m ***** test % matrix a = [0 0; 1 0]; s = sym(a); assert (isequal (any (s), any (a))) assert (isequal (any (s,1), any (a,1))) assert (isequal (any (s,2), any (a,2))) ***** test % vector a = [0 1 0]; s = sym(a); assert (isequal (any (s), any (a))) assert (isequal (any (s,1), any (a,1))) assert (isequal (any (s,2), any (a,2))) ***** test % should fail on symbols syms x s = [0 1 x]; try any (s) waserr = false; catch waserr = true; end assert (waserr) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/polylog.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/polylog.m ***** assert (isequal (polylog (sym('s'), 0), sym(0))) ***** test if (python_cmd ('return Version(spver) > Version("1.0")')) assert (isequal (double (polylog (1, sym(-1))), -log(2))) end ***** assert (isequal (double (polylog (0, sym(2))), -2)) ***** assert (isequal (double (polylog (-1, sym(2))), 2)) ***** assert (isequal (double (polylog (-2, sym(3))), -1.5)) ***** assert (isequal (double (polylog (-3, sym(2))), 26)) ***** assert (isequal (double (polylog (-4, sym(3))), -15)) ***** assert (isequal (double (polylog (1, sym(1)/2)), log(2))) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) syms s z f = polylog (s, z); h = function_handle (f, 'vars', [s z]); A = h (1.1, 2.2); B = polylog (1.1, 2.2); assert (A, B) end 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/symprod.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/symprod.m ***** error symprod (sym(1), 2, 3, 4, 5) ***** test % simple syms n assert (isequal (symprod(n, n, 1, 10), factorial(sym(10)))) assert (isequal (symprod(n, n, sym(1), sym(10)), factorial(10))) ***** test % one input syms n f = symprod (n); g = factorial (n); assert (isequal (f, g)) f = symprod (2*n); g = 2^n * factorial (n); assert (isequal (f, g)) ***** test % constant input f = symprod (sym(2)); syms x g = 2^x; assert (isequal (f, g)) ***** test % two inputs syms n f = symprod (2*n, n); g = 2^n * factorial (n); assert (isequal (f, g)) ***** test % two inputs, second is range syms n f = symprod (n, [1 6]); g = 720; assert (isequal (f, g)) f = symprod (n, [sym(1) 6]); g = 720; assert (isequal (f, g)) f = symprod (2*n, [1 6]); g = sym(2)^6*720; assert (isequal (f, g)) ***** test % three inputs, last is range syms n f = symprod (2*n, n, [1 4]); g = sym(384); assert (isequal (f, g)) f = symprod (2*n, n, [sym(1) 4]); g = sym(384); assert (isequal (f, g)) f = symprod (2, n, [sym(1) 4]); g = sym(16); assert (isequal (f, g)) ***** test % three inputs, no range syms n f = symprod (2*n, 1, 4); g = sym(384); assert (isequal (f, g)) f = symprod (5, sym(1), 3); g = sym(125); assert (isequal (f, g)) ***** test % infinite product syms a n oo zoo = sym('zoo'); assert (isequal (symprod(a, n, 1, oo), a^oo)) assert (isequal (symprod(a, n, 1, inf), a^oo)) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/beta.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/beta.m ***** error beta (sym(1), 2, 3) ***** assert (isequal (double (beta (sym(1), 2)), 1/2)) ***** assert (isinf (double (beta (sym(1), 0)))) ***** test % round trip if (python_cmd('return Version(spver) > Version("1.2")')) syms x y f = beta (x, y); h = function_handle (f); A = h (1.1, 2.2); B = beta (1.1, 2.2); assert (A, B) end 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/cosh.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/cosh.m ***** error cosh (sym(1), 2) ***** assert (isequaln (cosh (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = cosh(x); f2 = cosh(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = cosh(A); f2 = cosh(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = cosh (d); f = cosh (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/ezsurf.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ezsurf.m ***** error syms u v t ezsurf(u*v, 2*u*v, 3*v*t) ***** error syms u v t ezsurf(u*v, 2*u*v, u*v*t) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/round.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/round.m ***** test d = 3/2; x = sym('3/2'); f1 = round(x); f2 = round(d); assert (isequal (f1, f2)) ***** test d = 5/2; x = sym('5/2'); f1 = round(x); f2 = round(d); assert (isequal (f1, f2)) ***** test D = [1.1 4.6; -3.4 -8.9]; A = [sym(11)/10 sym(46)/10; sym(-34)/10 sym(-89)/10]; f1 = round(A); f2 = round(D); assert( isequal (f1, f2)) ***** test d = sym(-11)/10; c = -1; assert (isequal (round (d), c)) ***** test d = sym(-19)/10; c = -2; assert (isequal (round (d), c)) ***** test d = 5j/2; x = sym(5j)/2; f1 = round (x); f2 = round (d); assert (isequal (f1, f2)) ***** test d = 5/3 - 4j/7; x = sym(5)/3 - sym(4j)/7; f1 = round (x); f2 = round (d); assert (isequal (f1, f2)) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/@sym/triu.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/triu.m ***** test % scalar syms x assert (isequal (triu(x), x)) assert (isequal (triu(x,0), x)) assert (isequal (triu(x,1), 0)) assert (isequal (triu(x,-1), 0)) ***** test % with symbols syms x A = [x 2*x; 3*x 4*x]; assert (isequal (triu(A), [x 2*x; 0 4*x])) ***** test % diagonal shifts B = round(10*rand(3,4)); A = sym(B); assert (isequal (triu(A), triu(B))) assert (isequal (triu(A,0), triu(B,0))) assert (isequal (triu(A,1), triu(B,1))) assert (isequal (triu(A,-1), triu(B,-1))) ***** test % double array pass through B = round(10*rand(3,4)); assert (isequal (triu(B,sym(1)), triu(B,1))) assert (isa (triu(B,sym(1)), 'double')) ***** test % immutable test A = sym('ImmutableDenseMatrix([[Integer(1), Integer(2)], [Integer(3), Integer(4)]])'); assert (isequal (triu (A), sym ([1 2; 0 4]))) assert (isequal (tril (A), sym ([1 0; 3 4]))) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/ezcontour.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ezcontour.m ***** error syms x y z ezcontour (x*y*z) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@sym/fresnelc.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/fresnelc.m ***** test a = fresnelc(sym(0)); assert (isequal (a, sym(0))) ***** test b = fresnelc(sym('oo')); assert (isequal (b, sym(1)/2)) ***** test % values in a matrix syms x a = fresnelc([sym(0) sym('oo') x 1]); b = [sym(0) sym(1)/2 fresnelc(x) fresnelc(sym(1))]; assert (isequal (a, b)) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) syms x f = fresnelc (x); h = function_handle (f); A = h (1.1); B = fresnelc (1.1); assert (A, B) end 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/det.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/det.m ***** assert (isequal (det(sym([])), 1)) ***** test syms x y real assert (isequal (det([x 5; 7 y]), x*y-35)) ***** test syms x assert (isequal (det(x), x)) assert (isequal (det(sym(-6)), sym(-6))) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/hilb.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/hilb.m ***** test A = hilb (sym(3)); B = [sym(1) sym(1)/2 sym(1)/3; sym(1)/2 sym(1)/3 sym(1)/4; sym(1)/3 sym(1)/4 sym(1)/5]; assert (isequal (A, B)) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@sym/potential.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/potential.m ***** error potential (sym(1), 2, 3, 4) ***** shared x,y,z syms x y z ***** test % 1D f = 3*x^2; F = x^3; assert (isequal (potential(f), F)) assert (isequal (potential(f, x), F)) assert (isequal (potential(f, x, 0), F)) assert (isequal (potential(f, x, 2), F - 8)) ***** test F = x*exp(y) + (z-1)^2; f = gradient(F); G = potential(f, [x;y;z], [0;1;1]); assert (isAlways (G == F)) ***** test F = x*exp(y); f = gradient(F); G = potential(f); assert (isAlways (G == F)) ***** test % no potential exists syms x y a = [x; x*y^2]; assert (isnan (potential (a))) ***** shared ***** xtest % fails b/c of sympy #8458 (piecewise expr that should simplify) syms x f = cos(x); assert (isequal (potential(f, x), sin(x))) !!!!! known failure assert (isequal (potential (f, x), sin (x))) failed 6 tests, 5 passed, 1 known failure, 0 skipped [inst/@sym/cat.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/cat.m ***** test % mostly tested in horzcat, vertcat: one for good measure syms x assert (isequal (cat(1, x, x), [x x])) assert (isequal (cat(2, x, x), [x; x])) ***** error cat(3, sym(2), sym(3)) ***** error cat(0, sym(2), sym(3)) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/igamma.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/igamma.m ***** test % mostly tested in @sym/gammainc syms x assert (isequal (igamma (2, x), gammainc(x, 2, 'upper'))) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@sym/ellipticPi.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ellipticPi.m ***** error ellipticPi (sym (1)) ***** error ellipticPi (sym (1), 2, 3, 4) ***** assert (double (ellipticPi (sym (-23)/10, sym (pi)/4, 0)), 0.5876852228, 10e-11) ***** assert (double (ellipticPi (sym (1)/3, sym (pi)/3, sym (1)/2)), 1.285032276, 10e-11) ***** assert (double (ellipticPi (sym (2), sym (pi)/6, sym (2))), 0.7507322117, 10e-11) ***** xtest % FIXME: search/report upstream assert (double (ellipticPi (sym (-1), 0, sym (1))), 0) !!!!! known failure ASSERT errors for: assert (double (ellipticPi (sym (-1), 0, sym (1))),0) Location | Observed | Expected | Reason () NaN 0 'NaN' mismatch ***** test % compare to Maple, complete us = vpa (ellipticPi (sym(1)/6, sym(4)/3), 40); % > evalf(EllipticPi(sin(1/6), sqrt(4/3)), 40); maple = vpa ('2.019271696236161760696477679310987869058', 40) - ... vpa ('1.708165765120289929280805062355360570830j', 40); assert (abs (double (maple - us)), 0, 2e-39) ***** test % compare to Maple, incomplete us = vpa (ellipticPi (sym(8)/7, sym(4)/3, sym(2)/7), 40); % > evalf(EllipticPi(sin(4/3), 8/7, sqrt(2/7)), 40); maple = vpa ('2.089415796799294830305265090302275542033', 40) - ... vpa ('4.798862045930802761256228043192491271947j', 40); assert (abs (double (maple - us)), 0, 6e-39) 8 tests, 7 passed, 1 known failure, 0 skipped [inst/@sym/lt.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/lt.m ***** test % simple x = sym(1); y = sym(1); e = x < y; assert (~logical (e)) x = sym(1); y = sym(2); e = x < y; assert (logical (e)) ***** test % mix sym and double x = sym(1); y = 1; e = x < y; assert (~logical (e)) x = sym(1); y = 2; e = x < y; assert (logical (e)) x = 1; y = sym(1); e = x < y; assert (~logical (e)) x = 1; y = sym(2); e = x < y; assert (logical (e)) ***** test % Type of the output is sym or logical? % FIXME: in current version, they are sym x = sym(1); y = sym(1); e1 = x < y; x = sym(1); y = sym(2); e2 = x < y; %assert (islogical (e1)) %assert (islogical (e2)) assert (isa (e1, 'sym')) assert (isa (e2, 'sym')) ***** test % ineq w/ symbols syms x y e = x < y; assert (~islogical (e)) assert (isa (e, 'sym')) ***** test % array -- array syms x a = sym([1 3 3 2*x]); b = sym([2 x 3 10]); e = a < b; assert (isa (e, 'sym')) assert (logical (e(1))) assert (isa (e(2), 'sym')) assert (isequal (e(2), 3 < x)) assert (~logical (e(3))) assert (isa (e(4), 'sym')) assert (isequal (e(4), 2*x < 10)) ***** test % array -- scalar syms x oo a = sym([1 x oo]); b = sym(3); e = a < b; assert (isa (e, 'sym')) assert (logical (e(1))) assert (isa (e(2), 'sym')) assert (isequal (e(2), x < 3)) assert (~logical (e(3))) ***** test % scalar -- array syms x oo a = sym(1); b = sym([2 x -oo]); e = a < b; assert (isa (e, 'sym')) assert (logical (e(1))) assert (isa (e(2), 'sym')) assert (isequal (e(2), 1 < x)) assert (~logical (e(3))) ***** test % ineq w/ nan syms x snan = sym(nan); e = x < snan; assert (~logical (e)) e = snan < x; assert (~logical (e)) b = [sym(0) x]; e = b < snan; assert (isequal (e, [false false])) ***** test % oo syms oo x e = oo < x; assert (isa (e, 'sym')) assert (strcmp (strtrim (disp (e, 'flat')), 'oo < x')) ***** test % sympy true matrix a = sym([1 3 3]); b = sym([2 4 1]); e = a < b; %assert (~isa (e, 'sym')) %assert (islogical (e)) assert (isequal (e, [true true false])) ***** test % oo, finite real variables syms oo syms z real assumeAlso(z, 'finite') e = -oo < z; assert (isequal (e, sym(true))) e = z < oo; assert (isequal (e, sym(true))) ***** test % -oo, positive var (known failure w/ sympy 0.7.6.x) syms oo syms z positive e = -oo < z; assert (logical (e)) assert (isequal (e, sym(true))) ***** test % positive syms z positive e = -1 < z; assert (isequal (e, sym(true))) ***** test syms oo z = sym('z', 'negative'); e = z < oo; assert (isequal (e, sym(true))) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/@sym/nextprime.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/nextprime.m ***** assert (isequal (nextprime(sym(2)), 3)); ***** assert (isequal (nextprime(sym(18)), 19)); ***** assert (isequal (nextprime(sym([1 2 3])), [2 3 5])); ***** assert (isequal (nextprime(sym([-1 0])), [2 2])); ***** test % result is a sym p = nextprime(sym(2)); assert (isa (p, 'sym')) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/signIm.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/signIm.m ***** assert (isequal (signIm (sym(1)), sym(0))) ***** assert (isequal (signIm (sym(1) + 2i), sym(1))) ***** assert (isequal (signIm (sym(1) - 2i), sym(-1))) ***** test % intermediate A looks bit weird, but it works syms z A = signIm (z); assert (isequal (subs(A, z, 3+sym(4i)), sym(1))) assert (isequal (subs(A, z, 3-sym(4i)), sym(-1))) ***** test % really a @sym/sign test, but that one is autogen z = 3 + sym(4i); A = sign (z); B = z / abs(z); assert (double (A), double (B), eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/fix.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/fix.m ***** test d = 3/2; x = sym('3/2'); f1 = fix(x); f2 = fix(d); assert (isequal (f1, f2)) ***** test D = [1.1 4.6; -3.4 -8.9]; A = [sym(11)/10 sym(46)/10; sym(-34)/10 sym(-89)/10]; f1 = fix(A); f2 = fix(D); assert( isequal (f1, f2)) ***** test d = sym(-11)/10; c = -1; assert (isequal (fix (d), c)) ***** test d = sym(-19)/10; c = -1; assert (isequal (fix (d), c)) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/erfinv.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/erfinv.m ***** error erfinv (sym(1), 2) ***** assert (isequaln (erfinv (sym(nan)), sym(nan))) ***** shared x, d d = 1/2; x = sym('1/2'); ***** test f1 = erfinv(x); f2 = erfinv(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = erfinv(A); f2 = erfinv(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = erfinv (d); f = erfinv (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/times.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/times.m ***** test % scalar syms x assert (isa (x.*2, 'sym')) assert (isequal (x.*2, x*2)) assert (isequal (2.*sym(3), sym(6))) assert (isequal (sym(2).*3, sym(6))) ***** test % matrix-matrix and matrix-scalar D = [0 1; 2 3]; A = sym(D); assert (isequal ( 2.*A , 2*D )) assert (isequal ( A.*2 , 2*D )) assert (isequal ( A.*A , D.*D )) assert (isequal ( A.*D , D.*D )) assert (isequal ( D.*A , D.*D )) ***** test % immutable test A = sym([1 2]); B = sym('ImmutableDenseMatrix([[Integer(1), Integer(2)]])'); assert (isequal (A.*A, B.*B)) ***** test % MatrixSymbol test A = sym([1 2; 3 4]); B = sym('ImmutableDenseMatrix([[Integer(1), Integer(2)], [Integer(3), Integer(4)]])'); C = sym('MatrixSymbol("C", 2, 2)'); assert (~ isempty (strfind (sympy (C.*C), 'Hadamard'))) assert (~ isempty (strfind (sympy (A.*C), 'Hadamard'))) assert (~ isempty (strfind (sympy (C.*A), 'Hadamard'))) assert (~ isempty (strfind (sympy (B.*C), 'Hadamard'))) assert (~ isempty (strfind (sympy (C.*B), 'Hadamard'))) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/erfc.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/erfc.m ***** error erfc (sym(1), 2) ***** assert (isequaln (erfc (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = erfc(x); f2 = erfc(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = erfc(A); f2 = erfc(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = erfc (d); f = erfc (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/numdem.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/numdem.m ***** error numdem (sym(1), 2) ***** test syms x [n, d] = numdem(1/x); assert (isequal (n, sym(1)) && isequal (d, x)) ***** test syms x y n1 = [sym(1); x]; d1 = [x; y]; [n, d] = numdem(n1 ./ d1); assert (isequal (n, n1) && isequal (d, d1)) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/cross.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/cross.m ***** error cross (sym(1), 2, 3) ***** test a = sym([1; 0; 0]); b = sym([0; 1; 0]); c = cross(a, b); assert (isequal (c, sym([0; 0; 1]))) ***** test syms x a = sym([x; 0; 0]); b = sym([0; 1; 0]); c = cross(a, b); assert (isequal (c, sym([0; 0; x]))) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/size.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/size.m ***** test a = sym([1 2 3]); [n,m] = size(a); assert (n == 1 && m == 3) ***** test a = sym([1 2 3]); n = size(a); assert (isequal (n, [1 3])) ***** test %% size, numel, length a = sym([1 2 3; 4 5 6]); assert (isa (size(a), 'double')) assert (isa (numel(a), 'double')) assert (isa (length(a), 'double')) assert (isequal (size(a), [2 3])) assert (length(a) == 3) assert (numel(a) == 6) a = sym([1; 2; 3]); assert (isequal (size(a), [3 1])) assert (length(a) == 3) assert (numel(a) == 3) ***** test %% size by dim a = sym([1 2 3; 4 5 6]); n = size(a, 1); assert (n == 2) m = size(a, 2); assert (m == 3) a = sym([1 2 3]'); n = size(a, 1); assert (n == 3) m = size(a, 2); assert (m == 1) ***** xtest % symbolic-size matrices syms n m integer A = sym('A', [n m]); d = size(A); assert (~isa(d, 'sym')) assert (isnumeric(d)) assert (isequaln (d, [NaN NaN])) !!!!! known failure assert (isequaln (d, [NaN, NaN])) failed ***** xtest % half-symbolic-size matrices % FIXME: will fail until size stop lying by saying 1x1 syms n integer A = sym('A', [n 3]); assert (isequaln (size(A), [NaN 3])) A = sym('A', [4 n]); assert (isequaln (size(A), [4 NaN])) !!!!! known failure assert (isequaln (size (A), [NaN, 3])) failed ***** xtest % half-symbolic-size empty matrices % FIXME: will fail until size stop lying by saying 1x1 syms n integer A = sym('A', [n 0]); assert (isequaln (size(A), [NaN 0])) !!!!! known failure assert (isequaln (size (A), [NaN, 0])) failed 7 tests, 4 passed, 3 known failures, 0 skipped [inst/@sym/diff.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/diff.m ***** shared x,y,z syms x y z ***** test % basic assert(logical( diff(sin(x)) - cos(x) == 0 )) assert(logical( diff(sin(x),x) - cos(x) == 0 )) assert(logical( diff(sin(x),x,x) + sin(x) == 0 )) ***** test % these fail when doubles are not converted to sym assert(logical( diff(sin(x),x,2) + sin(x) == 0 )) assert(logical( diff(sym(1),x) == 0 )) assert(logical( diff(1,x) == 0 )) assert(logical( diff(pi,x) == 0 )) ***** test % symbolic diff of const (w/o variable) fails in sympy, but we work around assert (isequal (diff(sym(1)), sym(0))) ***** test % nth symbolic diff of const assert (isequal (diff(sym(1), 2), sym(0))) assert (isequal (diff(sym(1), sym(1)), sym(0))) ***** test % octave's vector difference still works assert(isempty(diff(1))) assert((diff([2 6]) == 4)) ***** test % other forms f = sin(x); g = diff(f,x,2); assert (isequal (diff(f,2), g)) assert (isequal (diff(f,sym(2)), g)) g = diff(f,x); assert (isequal (diff(f), g)) assert (isequal (diff(f,1), g)) ***** test % old SMT supported (still does?) the 'n' before the 'x' % we might remove this someday, no longer seems documented in SMT f = sin(x); g = diff(f,x,2); assert (isequal (diff(f,2,x), g)) assert (isequal (diff(f,sym(2),x), g)) g = diff(f,x); assert (isequal (diff(f,1,x), g)) ***** test % matrix A = [x sin(x); x*y 10]; B = [1 cos(x); y 0]; assert(isequal(diff(A,x),B)) ***** test % bug: use symvar a = x*y; b = diff(a); assert (isequal (b, y)) ***** test % bug: symvar should be used on the matrix, not comp-by-comp a = [x y x*x]; b = diff(a); assert (~isequal (b(2), 1)) assert (isequal (b, [1 0 2*x])) b = diff(a,1); assert (~isequal (b(2), 1)) assert (isequal (b, [1 0 2*x])) 10 tests, 10 passed, 0 known failure, 0 skipped [inst/@sym/atan.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/atan.m ***** error atan (sym(1), 2) ***** assert (isequaln (atan (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = atan(x); f2 = atan(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = atan(A); f2 = atan(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = atan (d); f = atan (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/divergence.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/divergence.m ***** shared x,y,z syms x y z ***** test % 1D f = x^2; assert (isequal (divergence(f), diff(f,x))) assert (isequal (divergence(f,{x}), diff(f,x))) assert (isequal (divergence(f,[x]), diff(f,x))) assert (isequal (divergence(f,x), diff(f,x))) ***** test % const f = [sym(1); 2; exp(sym(3))]; assert (isequal (divergence(f,{x,y,z}), 0)) f = [sym(1); 2; exp(sym('c'))]; assert (isequal (divergence(f,{x,y,z}), 0)) ***** test % double const f = [1 2]; g = sym(0); assert (isequal (divergence(f, [x y]), g)) % should fail, calls @double: divergence(f, {x y}), g)) ***** test % 1D fcn in 2d/3d f = [x y z]; assert (isequal (divergence(f), 3)) assert (isequal (divergence(f, {x,y,z}), 3)) assert (isequal (divergence(f, [x,y,z]), 3)) ***** test % 2d fcn in 2d/3d f = sin(exp(x)*y+sinh(z)); g2 = [diff(f,x); diff(f,y)]; l2 = diff(g2(1),x) + diff(g2(2),y); g3 = [diff(f,x); diff(f,y); diff(f,z)]; l3 = diff(g3(1),x) + diff(g3(2),y) + diff(g3(3),z); assert (isequal (divergence(g2, {x,y}), l2)) assert (isequal (divergence(g3, {x,y,z}), l3)) ***** error divergence ([1 2], [sym('x')]) ***** error divergence ([1 2], sym('x'), 42) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/@sym/besseljn.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/besseljn.m ***** test % roundtrip syms x A = double(besseljn(sym(2), sym(9))); q = besseljn(sym(2), x); h = function_handle(q); B = h(9); assert (abs (A - B) <= eps) ***** error jn(sym('x')) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/minus.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/minus.m ***** test % scalar syms x assert (isa (x-1, 'sym')) assert (isa (x-x, 'sym')) assert (isequal (x-x, sym(0))) ***** test % matrices D = [0 1; 2 3]; A = sym(D); DZ = D - D; assert (isequal ( A - D , DZ )) assert (isequal ( A - A , DZ )) assert (isequal ( D - A , DZ )) assert (isequal ( A - 2 , D - 2 )) assert (isequal ( 4 - A , 4 - D )) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/isequal.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/isequal.m ***** test a = sym([1 2]); b = a; assert (isequal (a, b)) b(1) = 42; assert (~isequal (a, b)) ***** test a = sym([1 2; 3 4]); b = a; assert (isequal (a, b)) b(1) = 42; assert (~isequal (a, b)) ***** test a = sym([nan; 2]); b = a; assert (~isequal (a, b)) ***** test % proper nan treatment a = sym([nan 2; 3 4]); b = a; assert (~isequal (a, b)) ***** test % more than two arrays a = sym([1 2 3]); b = a; c = a; assert (isequal (a, b, c)) c(1) = 42; assert (~isequal (a, b, c)) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/ceil.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ceil.m ***** error ceil (sym(1), 2) ***** assert (isequaln (ceil (sym(nan)), sym(nan))) ***** shared x, d d = 3/2; x = sym('3/2'); ***** test f1 = ceil(x); f2 = ceil(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = ceil(A); f2 = ceil(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = ceil (d); f = ceil (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/pochhammer.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/pochhammer.m ***** error pochhammer (sym(1)) ***** error pochhammer (sym(1), 2, 3) ***** assert (isequal (pochhammer (sym(3), 4), sym(360))) ***** assert (isequal (pochhammer (sym([2 3]), 3), sym([24 60]))) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.2")')) syms n z f = pochhammer (z, n); h = function_handle (f, 'vars', [z n]); A = h (1.1, 2.2); B = pochhammer (1.1, 2.2); assert (A, B) end 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/subsref.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/subsref.m ***** shared a,b b = [1:4]; a = sym(b); ***** assert(isequal( a(1), b(1) )) ***** assert(isequal( a(2), b(2) )) ***** assert(isequal( a(4), b(4) )) ***** assert(isempty( a([]) )) ***** shared a,b b = [1:4]; b = [b; 3*b; 5*b]; a = sym(b); ***** assert(isequal( a(1), b(1) )) ***** assert(isequal( a(2), b(2) )) ***** assert(isequal( a(4), b(4) )) ***** assert(isequal( a(:,:), a )) ***** assert(isequal( a(1:2,1:3), a(1:2,1:3) )) ***** assert(isequal( a(1:2:3,[1 2 4]), b(1:2:3,[1 2 4]) )) ***** assert(isequal( a(1:2:3,[4 2 3 1]), b(1:2:3,[4 2 3 1]) )) ***** assert(isequal( a(1:2:3,[4 1 1 1]), b(1:2:3,[4 1 1 1]) )) ***** assert(isequal( a([],:), b([],:) )) ***** assert(isequal( size(a([],:)), [0 4] )) ***** assert(isequal( a(1:2,[]), b(1:2,[]) )) ***** assert(isequal( size(a(1:2,[])), [2 0] )) ***** assert(isempty( a(1:2,[]) )) ***** assert(isempty( a([],[]) )) ***** assert(isequal( a([],[]), sym([]) )) ***** assert(~isequal( a(1:2,[]), sym([]) )) ***** shared e e = sym([1 3 5; 2 4 6]); ***** assert(isequal( e(:), sym((1:6)') )) ***** assert(isequal( e([1 2 3]), sym([1 2 3]) )) ***** assert(isequal( e([1; 3; 4]), sym([1; 3; 4]) )) ***** assert(isempty( e([]) )) ***** assert(isempty( e('') )) ***** assert(isequal( e([]), sym([]) )) ***** shared a,b b = 1:5; a = sym(b); ***** assert(isequal( a([1 2 5]), b([1 2 5]) )) ***** assert(isequal( a([1; 2; 5]), b([1; 2; 5]) )) ***** shared x syms x ***** test % logical with empty result assert(isempty( x(false) )) a = [x x]; assert(isempty( a([false false]) )) ***** test % issue 18, scalar access assert(isequal( x(1), x )) assert(isequal( x(true), x )) ***** shared ***** test % older access tests syms x f = [x 2; 3 4*x]; % element access assert (logical( f(1,1) == x )) assert (logical( f(1,2) == 2 )) % linear access of 2d array assert (logical( f(1) == x )) assert (logical( f(2) == 3 )) % column based assert (logical( f(3) == 2 )) ***** shared a,b % effectively a random matrix a = reshape( round(50*(sin(1:20)+1)), 5,4); b = sym(a); ***** test % older array refs test assert (logical(b(1,1) == a(1,1))) assert (logical(b(3,1) == a(3,1))) assert (logical(b(1,3) == a(1,3))) assert (logical(b(4,4) == a(4,4))) ***** test % older array refs test: linear indices assert (logical(b(1) == a(1))) assert (logical(b(3) == a(3))) assert (logical(b(13) == a(13))) ***** test % older array refs test: end assert (all(all(logical( b(end,1) == a(end,1) )))) assert (all(all(logical( b(2,end) == a(2,end) )))) assert (all(all(logical( b(end,end) == a(end,end) )))) assert (all(all(logical( b(end-1,1) == a(end-1,1) )))) assert (all(all(logical( b(2,end-1) == a(2,end-1) )))) assert (all(all(logical( b(end-1,end-1) == a(end-1,end-1) )))) ***** shared ***** test % older slicing tests syms x a = [1 2 3 4 5 6]; a = [a; 3*a; 5*a; 2*a; 4*a]; b = sym(a); assert (isequal( b(:,1), a(:,1) )) assert (isequal( b(:,2), a(:,2) )) assert (isequal( b(1,:), a(1,:) )) assert (isequal( b(2,:), a(2,:) )) assert (isequal( b(:,:), a(:,:) )) assert (isequal( b(1:3,2), a(1:3,2) )) assert (isequal( b(1:4,:), a(1:4,:) )) assert (isequal( b(1:2:5,:), a(1:2:5,:) )) assert (isequal( b(1:2:4,:), a(1:2:4,:) )) assert (isequal( b(2:2:4,3), a(2:2:4,3) )) assert (isequal( b(2:2:4,3), a(2:2:4,3) )) ***** test % 2D arrays b = [1:4]; b = [b; 3*b; 5*b]; a = sym(b); I = rand(size(b)) > 0.5; assert (isequal (a(I), b(I))) I = I(:); assert (isequal (a(I), b(I))) I = I'; assert (isequal (a(I), b(I))) I = logical(zeros(size(b))); assert (isequal (a(I), b(I))) ***** test % 1D arrays, does right with despite warning r = [1:6]; ar = sym(r); c = r'; ac = sym(c); Ir = rand(size(r)) > 0.5; Ic = rand(size(c)) > 0.5; assert (isequal (ar(Ir), r(Ir))) assert (isequal (ac(Ic), c(Ic))) assert (isequal (ar(Ic), r(Ic))) assert (isequal (ac(Ir), c(Ir))) ***** test % rccross tests B = [1 2 3 4; 5 6 7 9; 10 11 12 13]; A = sym(B); assert (isequal (A([1 3],[2 3]), B([1 3], [2 3]) )) assert (isequal (A(1,[2 3]), B(1,[2 3]) )) assert (isequal (A([1 2],4), B([1 2],4) )) assert (isequal (A([2 1],[4 2]), B([2 1],[4 2]) )) assert (isequal (A([],[]), B([],[]) )) ***** error % issue #445 A = sym([10 11]); A(1.1) ***** error % issue #445 A = sym([10 11]); A(sym(4)/3) ***** error % issue #445 A = sym([1 2; 3 4]); A(1.1, 1) ***** error % issue #445 A = sym([1 2; 3 4]); A(1, sym(4)/3) ***** shared a, b a = [1 2 3 5; 4 5 6 9; 7 5 3 2]; b = sym (a); ***** test c = true; assert (isequal (a(c), b(c))) c = false; assert (isequal (a(c), b(c))) ***** test c = [false true]; assert (isequal (a(c), b(c))) d = c | true; assert (isequal (a(d), b(d))) d = c & false; assert (isequal (a(d), b(d))) ***** test c = [false true false true; true false true false; false true false true]; assert (isequal (a(c), b(c))) d = c | true; assert (isequal (a(d), b(d))) d = c & false; assert (isequal (a(d), b(d))) ***** test c = [false true false true false]; assert (isequal (a(c), b(c))) d = c | true; assert (isequal (a(d), b(d))) d = c & false; assert (isequal (a(d), b(d))) ***** test c = [false; true; false; true; false]; assert (isequal (a(c), b(c))) d = c | true; assert (isequal (a(d), b(d))) d = c & false; assert (isequal (a(d), b(d))) ***** test c = [false true; false true; true false]; assert (isequal (a(c), b(c))) d = c | true; assert (isequal (a(d), b(d))) d = c & false; assert (isequal (a(d), b(d))) ***** shared ***** test % Orientation of empty results of logical indexing on row or column vectors r = [1:6]; c = r'; ar = sym(r); ac = sym(c); assert (isequal (ar(false), r(false))) assert (isequal (ac(false), c(false))) assert (isequal (ar(false (1, 6)), r(false (1, 6)))) assert (isequal (ac(false (1, 6)), c(false (1, 6)))) assert (isequal (ar(false (6, 1)), r(false (6, 1)))) assert (isequal (ac(false (6, 1)), c(false (6, 1)))) 49 tests, 49 passed, 0 known failure, 0 skipped [inst/@sym/sign.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/sign.m ***** error sign (sym(1), 2) ***** assert (isequaln (sign (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = sign(x); f2 = sign(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = sign(A); f2 = sign(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip y = sym('y'); A = sign (d); f = sign (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/fourier.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/fourier.m ***** test % matlab SMT compatibiliy for arguments syms r x u w v Pi=sym('pi'); assert(logical( fourier(exp(-x^2)) == sqrt(Pi)/exp(w^2/4) )) assert(logical( fourier(exp(-w^2)) == sqrt(Pi)/exp(v^2/4) )) assert(logical( fourier(exp(-r^2),u) == sqrt(Pi)/exp(u^2/4) )) assert(logical( fourier(exp(-r^2),r,u) == sqrt(Pi)/exp(u^2/4) )) ***** test % basic tests syms x w assert(logical( fourier(exp(-abs(x))) == 2/(w^2 + 1) )) assert(logical( fourier(x*exp(-abs(x))) == -(w*4*1i)/(w^4 + 2*w^2 + 1) )) ***** test % Dirac delta tests syms x w Pi=sym('pi'); assert(logical( fourier(dirac(x-2)) == exp(-2*1i*w) )) assert (logical( fourier(sym(2), x, w) == 4*Pi*dirac(w) )) ***** test % advanced test syms x w c d Pi=sym('pi'); F=Pi*(dirac(w-c)+dirac(w+c))+2*Pi*1i*(dirac(w+3*d)-dirac(w-3*d))+2/(w^2+1); assert(logical( fourier(cos(c*x)+2*sin(3*d*x)+exp(-abs(x))) == expand(F) )) ***** xtest % Differential operator to algebraic % SymPy cannot evaluate? (Issue #170) syms x w f(x) assert(logical( fourier(diff(f(x),x),x,w) == -1i*w*fourier(f(x),x,w) )) !!!!! known failure assert (logical (fourier (diff (f (x), x), x, w) == -1i * w * fourier (f (x), x, w))) failed 5 tests, 4 passed, 1 known failure, 0 skipped [inst/@sym/ellipticE.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/ellipticE.m ***** error ellipticE (sym(1), 2, 3) ***** assert (double (ellipticE (sym (-105)/10)), 3.70961391, 10e-9) ***** assert (double (ellipticE (sym (-pi)/4)), 1.844349247, 10e-10) ***** assert (double (ellipticE (sym (0))), 1.570796327, 10e-10) ***** assert (double (ellipticE (sym (1))), 1, 10e-1) ***** test % compare to Maple us = vpa (ellipticE (sym(7)/6, sym(13)/7), 40); % > evalf(EllipticE(sin(7/6), sqrt(13/7)), 40); maple = vpa ('0.6263078268598504591831743625971763209496', 40) + ... vpa ('0.1775496232203171126975790989055865596501j', 40); assert (abs (double (maple - us)), 0, 2e-39) ***** test % compare to Maple us = vpa (ellipticE (sym(8)/7), 40); % > evalf(EllipticE(sqrt(8/7)), 40); maple = vpa ('0.8717182992576322508542205614105802333270', 40) + ... vpa ('0.1066754320328976949531350910798010526685j', 40); assert (abs (double (maple - us)), 0, 2e-39) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/@sym/charpoly.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/charpoly.m ***** error charpoly (sym (1), 1, 2) ***** error charpoly (sym ([1 2])) ***** test syms x A = sym([1 2; 3 4]); assert (isequal (charpoly(A, x), x^2 - 5*x -2)) ***** test syms x A = sym([1 2; 3 4]); B = sym([1 -5 -2]); assert (isequal (charpoly(A), B)) ***** test syms x A = sym([x x; x x]); B = sym([1 -2*x 0]); assert (isequal (charpoly(A), B)) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/log2.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/log2.m ***** assert (isequal (log2 (sym (1024)), sym (10))) ***** assert (isequal (log2 (sym ([2 16; 32 1])), sym ([1 4; 5 0]))) ***** test % round-trip syms x f = log2 (x); h = function_handle (f); A = h (1.1); B = log2 (1.1); assert (A, B, -5*eps) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/csch.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/csch.m ***** error csch (sym(1), 2) ***** assert (isequaln (csch (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = csch(x); f2 = csch(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test D = [d d; d d]; A = [x x; x x]; f1 = csch(A); f2 = csch(D); assert( all(all( abs(double(f1) - f2) < 1e-15 ))) ***** test % round trip if (python_cmd ('return Version(spver) > Version("1.0")')) y = sym('y'); A = csch (d); f = csch (y); h = function_handle (f); B = h (d); assert (A, B, -eps) end 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/chol.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/chol.m ***** error chol (sym ([1 2; 3 4])); ***** error chol (sym ([1 2; 3 4; 5 6])); ***** test A = chol(hilb(sym(2))); B = [[1 0]; sym(1)/2 sqrt(sym(3))/6]; assert( isequal( A, B )) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/asind.m] >>>>> /build/octave-symbolic-2.7.1/inst/@sym/asind.m ***** error asind (sym(1), 2) ***** assert (isequaln (asind (sym(nan)), sym(nan))) ***** test f1 = asind (sym(1)/2); f2 = asind (1/2); assert (double (f1), f2, -eps) ***** test D = [1 2; 3 4]/4; A = sym([1 2; 3 4])/4; f1 = asind (A); f2 = asind (D); assert (double (f1), f2, -eps) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/findsymbols.m] >>>>> /build/octave-symbolic-2.7.1/inst/findsymbols.m ***** test syms x b y n a arlo z = a*x + b*pi*sin (n) + exp (y) + exp (sym (1)) + arlo; s = findsymbols (z); assert (isequal ([s{:}], [a,arlo,b,n,x,y])) ***** test syms x s = findsymbols (x); assert (isequal (s{1}, x)) ***** test syms z x y a s = findsymbols ([x y; 1 a]); assert (isequal ([s{:}], [a x y])) ***** assert (isempty (findsymbols (sym (1)))) ***** assert (isempty (findsymbols (sym ([1 2])))) ***** assert (isempty (findsymbols (sym (nan)))) ***** assert (isempty (findsymbols (sym (inf)))) ***** assert (isempty (findsymbols (exp (sym (2))))) ***** test % empty sym for findsymbols, findsym, and symvar assert (isempty (findsymbols (sym([])))) assert (isempty (findsym (sym([])))) assert (isempty (symvar (sym([])))) ***** test % diff. assumptions make diff. symbols x1 = sym('x'); x2 = sym('x', 'positive'); f = x1*x2; assert (length (findsymbols (f)) == 2) ***** test % symfun or sym syms x f(y) a = f*x; b = f(y)*x; assert (isequal (findsymbols(a), {x y})) assert (isequal (findsymbols(b), {x y})) ***** test % findsymbols on symfun does not find the argnames (unless they % are on the RHS of course, this matches SMT 2014a). syms a x y f(x, y) = a; % const symfun assert (isequal (findsymbols(f), {a})) syms a x y f(x, y) = a*y; assert (isequal (findsymbols(f), {a y})) ***** test % sorts lexigraphically, same as symvar *with single input* % (note symvar does something different with 2 inputs). syms A B a b x y X Y f = A*a*B*b*y*X*Y*x; assert (isequal (findsymbols(f), {A B X Y a b x y})) assert (isequal (symvar(f), [A B X Y a b x y])) ***** test % symbols in matpow syms x y syms n A = [sin(x) 2; y 1]; B = A^n; L = findsymbols(B); assert (isequal (L, {n x y})) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/@symfun/mrdivide.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/mrdivide.m ***** test syms x f(x) = x^2; assert( isa(f/f, 'symfun')) assert( isa(f/x, 'symfun')) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@symfun/uminus.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/uminus.m ***** test % Issue #447 syms x f(x) = x^2; assert (isa (-f, 'symfun')) ***** test syms f(x) h = -f; assert (isa (h, 'symfun')) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@symfun/symvar.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/symvar.m ***** test % basic syms f(t, s) assert (isequal (symvar (f, 0), sym([]))) assert (isequal (symvar (f, 1), t)) assert (isequal (symvar (f, 2), [t s])) assert (isequal (symvar (f, 3), [t s])) ***** test % note preference for vars of symfun, if n requested syms x f(y) assert (isequal (symvar(f*x, 1), y)) assert (isequal (symvar(f(y)*x, 1), x)) ***** test % symfun, checked smt syms x f(y) a = f*x; b = f(y)*x; assert (isequal (symvar(a), [x y])) assert (isequal (symvar(b), [x y])) ***** test % preference for the explicit variables syms a x f(t, s) h = f*a + x; assert (isequal (symvar (h, 1), t)) assert (isequal (symvar (h, 2), [t s])) assert (isequal (symvar (h, 3), [t s x])) assert (isequal (symvar (h, 4), [t s x a])) assert (isequal (symvar (h, 5), [t s x a])) assert (isequal (symvar (h), [a s t x])) ***** test % symfun dep on some vars only, matches smt w/ n syms x s t f(s) = x; g(s, t) = x*s; assert (isequal (symvar(f, 1), s)) assert (isequal (symvar(f, 2), [s x])) assert (isequal (symvar(g, 1), s)) assert (isequal (symvar(g, 2), [s t])) assert (isequal (symvar(g, 3), [s t x])) ***** test % A documented difference from SMT on symvar(symfun) w/o n syms x s t f(s) = x; g(s, t) = x*s; % SMT would have %assert (isequal (symvar(f), x)) % no s %assert (isequal (symvar(g), [s x])) % no t assert (isequal (symvar(f), [s x])) assert (isequal (symvar(g), [s t x])) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@symfun/mldivide.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/mldivide.m ***** test syms x f(x) = x^2; assert( isa(f\f, 'symfun')) assert( isa(f\x, 'symfun')) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@symfun/numel.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/numel.m ***** test syms x f(x) = x^2; assert(numel(f)==1) ***** test syms x f(x) = [1 x]; assert(numel(f)==1) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@symfun/int.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/int.m ***** test % indefinite integral of symfun gives symfun syms x f(x) = x^2; g = int(f); assert (isa(g, 'symfun')) g = int(f, x); assert (isa(g, 'symfun')) ***** test % indefinite integral of abstract symfun gives symfun syms f(x) g = int(f); assert (isa(g, 'symfun')) g = int(f, x); assert (isa(g, 'symfun')) ***** test % definite integral does not give symfun syms x f(x) = x^2; g = int(f, x, 0, 2); assert (isa(g, 'sym')) assert (~isa(g, 'symfun')) ***** test % ... even if it has a variable in it syms x t f(x) = x; g = int(f, x, 0, t); assert (isa(g, 'sym')) assert (~isa(g, 'symfun')) ***** test % ... even if the input is abstract funcion syms f(x) g = int(f, x, 0, 2); assert (isa(g, 'sym')) assert (~isa(g, 'symfun')) ***** test % symfun in x, integrated in y gives symfun still in x % (SMT does this too). syms f(x) y g = int(f, y); assert (isa (g, 'symfun')) assert (isequal (argnames (g), x)) ***** test % same as above, but concrete symfun syms x y f(x) = x^2; g = int(f, y); assert (isa (g, 'symfun')) assert (isequal (argnames (g), x)) assert (isequal (formula(g), x^2*y)) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/@symfun/argnames.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/argnames.m ***** test % basic test syms f(x) assert (isequal (argnames (f), x)) ***** test % Multiple variables, abstract symfun syms f(t, x, y) assert (isequal (argnames (f), [t x y])) ***** test % Concrete symfun syms x y z t f(t, x, y) = x + y + z; assert (isequal (argnames (f), [t x y])) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@symfun/plus.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/plus.m ***** test syms x f(x) = x^2; assert( isa(f + f, 'symfun')) assert( isa(f + x, 'symfun')) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@symfun/rdivide.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/rdivide.m ***** test syms x f(x) = x^2; assert( isa(f./f, 'symfun')) assert( isa(f./[x x^2], 'symfun')) ***** test syms x f(x) = [x 2*x]; h = f./[x 2]; assert( isa(h, 'symfun')) assert( isequal (h.sym, [1 x])) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@symfun/power.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/power.m ***** test syms x f(x) = 2*x; h = f.^f; assert( isa(h, 'symfun')) assert( isequal (h.sym, (2*x)^(2*x))) ***** test syms x f(x) = [x 2*x]; h = f.^[x 3]; assert( isa(h, 'symfun')) assert( isequal (h.sym, [x^x 8*x^3])) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@symfun/symfun.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/symfun.m ***** error symfun (1, sym('x'), 3) ***** error symfun ('f', sym('x')) ***** test syms x y syms f(x) assert(isa(f,'symfun')) clear f f(x,y) = sym('f(x,y)'); assert(isa(f,'symfun')) ***** test % symfuns are syms as well syms x f(x) = 2*x; assert (isa (f, 'symfun')) assert (isa (f, 'sym')) assert (isequal (f(3), 6)) assert (isequal (f(sin(x)), 2*sin(x))) ***** test syms x y f = symfun(sym('f(x)'), {x}); assert(isa(f, 'symfun')) f = symfun(sym('f(x,y)'), [x y]); assert(isa(f, 'symfun')) f = symfun(sym('f(x,y)'), {x y}); assert(isa(f, 'symfun')) ***** test % rhs is not sym syms x f = symfun(8, x); assert (isa (f,'symfun')) assert (isequal (f(10), sym(8))) ***** test % vector symfun syms x y F(x,y) = [1; 2*x; y; y*sin(x)]; assert (isa (F, 'symfun')) assert (isa (F, 'sym')) assert (isequal (F(sym(pi)/2,4) , [sym(1); sym(pi); 4; 4] )) ***** test x = sym('x'); y = sym('y'); f(x) = sym('f(x)'); g(x,y) = sym('g(x,y)'); % make sure these don't fail f(1); g(1,2); g(x,y); diff(g, x); diff(g, y); ***** test % defining 1D symfun in terms of a 2D symfun syms x y t syms 'g(x,y)' f(t) = g(t,t); f(5); assert (length (argnames (f)) == 1) assert (isequal (argnames (f), t)) assert (isequal( formula(diff(f,x)), sym(0))) ***** test % replace g with shorter and specific fcn syms x g(x) g; g(x) = 2*x; assert( isequal (g(5), 10)) ***** test % octave <= 3.8 needs quotes on 2D symfuns, so make sure it works syms x y syms 'f(x)' syms 'g(x,y)' assert (isa (f, 'symfun')) assert (isa (g, 'symfun')) ***** test % Bug #41: Octave <= 3.8 parser fails without quotes around 2D fcn syms x y eval('syms g(x,y)') assert (isa (g, 'symfun')) ***** test % and these days it works without eval trick syms g(x,y) assert (isa (g, 'symfun')) ***** test % syms f(x) without defining x clear x syms f(x) assert(isa(f, 'symfun')) assert(isa(x, 'sym')) ***** test % SMT compat: symfun indep var overwrites existing var t = 6; syms f(t) assert (logical (t ~= 6)) ***** test % SMT compat: symfun indep var overwrites existing var, even if sym syms x t = x; syms f(t) assert (~ logical (t == x)) ***** test syms x y f(x) = x^2; g(x,y) = sym('g(x,y)'); f2 = 2*f; assert( isequal (f2(4), 32)) assert( isa(f2, 'symfun')) assert( isa(2*g, 'symfun')) assert( isa(0*g, 'symfun')) % in SMT, this is the zero symfun ***** test % syms has its own parsing code, check it works syms f(x,y) g = f; syms f(x, y) assert (isequal (f, g)) syms 'f( x, y )' assert (isequal (f, g)) ***** test % syms own parsing code should not reorder the vars syms f(y, x) v = f.vars; assert (isequal (v{1}, y) && isequal (v{2}, x)) ***** test % assignment of symfun to symfun, issue #189 syms t x(t) = 2*t; y(t) = x; assert (isa (y, 'symfun')) y = symfun(x, t); assert (isa (y, 'symfun')) % others y = x; assert (isa (y, 'symfun')) y(t) = x(t); assert (isa (y, 'symfun')) ***** test % assignment of generic symfun to symfun syms t x(t) y(t) = x; assert (isa (y, 'symfun')) y = symfun(x, t); assert (isa (y, 'symfun')) ***** error % Issue #444: invalid args syms x f(x, x) = 2*x; ***** error % Issue #444: invalid args syms x y f(x, y, x) = x + y; ***** error % Issue #444: invalid args syms x y f(x, y, x) = x + y; ***** error % Issue #444: expression as arg syms x f(2*x) = 4*x; 25 tests, 25 passed, 0 known failure, 0 skipped [inst/@symfun/mpower.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/mpower.m ***** test syms x f(x) = 2*x; h = f^f; assert( isa(h, 'symfun')) assert( isequal(h.sym, (2*x)^(2*x))) h = f^sym(2); assert( isa(h, 'symfun')) assert( isequal(h.sym, 4*x^2)) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@symfun/mtimes.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/mtimes.m ***** test syms x f(x) = x^2; assert( isa(f * f, 'symfun')) assert( isa(f * x, 'symfun')) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@symfun/ldivide.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/ldivide.m ***** test syms x f(x) = x^2; assert( isa(f .\ f, 'symfun')) assert( isa(f .\ x, 'symfun')) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@symfun/isequaln.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/isequaln.m ***** error isequaln (symfun('x + 1', x)) ***** test syms x y f(x) = 2*x; g(x) = 2*x; assert (isequaln (f, g)) ***** test syms x f(x) = 2*x + 1; g(x) = 2*x + 1; h(x) = 2*x + 1; assert (isequaln (f, g, h)) ***** test syms x f(x) = 2*x + 1; g(x) = 2*x + 1; h(x) = 2*x; assert (~ isequaln (f, g, h)) ***** test syms x y f(x) = 2*x; g(x, y) = 2*x; assert (~ isequaln (f, g)) ***** test syms x y f(x) = symfun(nan, x); g(x) = symfun(nan, x); assert (isequaln (f, g)) ***** test syms x y f(x) = symfun(nan, x); g(x, y) = symfun(nan, x); assert (~ isequaln (f, g)) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/@symfun/private_disp_name.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/private_disp_name.m ***** test syms f(x) s = private_disp_name(f, 'f'); assert (strcmp (s, 'f(x)')) ***** test syms x y g(y, x) = x + y; s = private_disp_name(g, 'g'); assert (strcmp (s, 'g(y, x)')) ***** test syms f(x) assert (isempty (private_disp_name(f, ''))) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@symfun/formula.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/formula.m ***** test % simple syms x f(x) = sin(x); g = formula(f); assert (isequal (g, sin(x))); ***** test % concrete: return is a sym, not a symfun syms x f(x) = sin(x); g = formula(f); assert (~isa(g, 'symfun')); ***** test % abstract: return is a sym, not a symfun syms f(x) g = formula(f); assert (~isa(g, 'symfun')); 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@symfun/times.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/times.m ***** test syms x f(x) = x^2; assert( isa(f .* f, 'symfun')) assert( isa(f .* x, 'symfun')) ***** test syms x f(x) = [x 2*x]; h = f.*[x 3]; assert( isa(h, 'symfun')) assert( isequal (h.sym, [x^2 6*x])) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@symfun/size.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/size.m ***** test syms x f(x) = x; d = size(f); assert (isequal (d, [1 1])) [n, m] = size(f); assert (isequal ([n m], [1 1])) assert (size(f, 1) == 1) assert (size(f, 2) == 1) ***** test syms x f(x) = [1 x]; d = size(f); assert (isequal (d, [1 1])) [n, m] = size(f); assert (isequal ([n m], [1 1])) assert (size(f, 1) == 1) assert (size(f, 2) == 1) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@symfun/diff.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/diff.m ***** test % concrete fcn syms x f(x) = x*x; g(x) = 2*x; assert (logical (diff(f) == g)) assert (isa (diff(f), 'symfun')) ***** test % abstract fcn syms y(x) assert (logical (diff(y) == diff(y(x)))) assert (isa (diff(y), 'symfun')) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@symfun/minus.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/minus.m ***** test syms x f(x) = x^2; assert( isa(f - f, 'symfun')) assert( isa(f - x, 'symfun')) ***** test % Octave bug #42735 fixed in 4.4.2 syms x f(x) = x^2; g = x^2; if (exist('OCTAVE_VERSION', 'builtin') && ... compare_versions (OCTAVE_VERSION (), '4.4.2', '<')) s = warning('off', 'OctSymPy:sym:arithmetic:workaround42735'); else s = warning(); end h = x - f; assert(isa(h, 'symfun') && isequal(h.sym, x - g)) h = x + f; assert(isa(h, 'symfun') && isequal(h.sym, x + g)) h = x * f; assert(isa(h, 'symfun') && isequal(h.sym, x * g)) h = x / f; assert(isa(h, 'symfun') && isequal(h.sym, x / g)) h = x ^ f; assert(isa(h, 'symfun') && isequal(h.sym, x ^ g)) h = x .* f; assert(isa(h, 'symfun') && isequal(h.sym, x .* g)) h = x ./ f; assert(isa(h, 'symfun') && isequal(h.sym, x ./ g)) h = x .^ f; assert(isa(h, 'symfun') && isequal(h.sym, x .^ g)) warning(s); ***** test % different variables syms x y f(x) = 2*x; g(y) = sin(y); h = f - g(x); assert( isa(h, 'symfun')) assert( isequal (argnames (h), argnames (f))) assert( isequal (h.sym, 2*x - sin(x))) % and even if rh-sym has a dummy variable: h = f - g(y); assert( isa(h, 'symfun')) assert( isequal (argnames (h), argnames(f))) assert( isequal (h.sym, 2*x - sin(y))) ***** test % different variables, f has more syms x y f(x,y) = 2*x*y; g(y) = sin(y); h = f - g(y) + g(x); assert( isa(h, 'symfun')) assert( isequal (argnames (h), argnames (f))) assert( isequal (h.sym, 2*x*y - sin(y) + sin(x))) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@symfun/isequal.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/isequal.m ***** error isequal (symfun('x + 1', x)) ***** test syms x y f(x) = 2*x; g(x) = 2*x; assert (isequal (f, g)) ***** test syms x f(x) = 2*x + 1; g(x) = 2*x + 1; h(x) = 2*x + 1; assert (isequal (f, g, h)) ***** test syms x f(x) = 2*x + 1; g(x) = 2*x + 1; h(x) = 2*x; assert (~ isequal (f, g, h)) ***** test syms x y f(x) = 2*x; g(x, y) = 2*x; assert (~ isequal (f, g)) ***** test syms x y f(x) = symfun(nan, x); g(x) = symfun(nan, x); assert (~ isequal (f, g)) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@symfun/subsref.m] >>>>> /build/octave-symbolic-2.7.1/inst/@symfun/subsref.m ***** test syms x f(x) = x^2; v = f.vars; assert(iscell(v)) assert(length(v)==1) assert(isequal(v{1},x)) ***** test %% pass through to sym properties syms x f(x) = x^2; y = x^2; % not a symfun assert(strcmp(f.flat, y.flat)) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/assumptions.m] >>>>> /build/octave-symbolic-2.7.1/inst/assumptions.m ***** test syms x assert(isempty(assumptions(x))) ***** test x = sym('x', 'positive'); a = assumptions(x); assert(~isempty(strfind(a{1}, 'positive'))) ***** test syms x assert(isempty(assumptions(x))) ***** test clear variables % for matlab test script syms x positive assert(~isempty(assumptions())) clear x assert(isempty(assumptions())) ***** test % make sure we have at least these possible assumptions A = {'real' 'positive' 'negative' 'integer' 'even' 'odd' 'rational'}; B = assumptions('possible'); assert (isempty (setdiff(A, B))) ***** test A = assumptions('possible'); for i = 1:length(A) x = sym('x', A{i}); a = assumptions(x); assert(strcmp(a{1}, ['x: ' A{i}] )) s1 = sympy (x); s2 = ['Symbol(''x'', ' A{i} '=True)']; assert (strcmp (s1, s2)) end ***** test syms x positive syms y real syms z f = x*y*z; a = assumptions(f); assert(length(a) == 2) assert(~isempty(strfind(a{1}, 'positive'))) assert(~isempty(strfind(a{2}, 'real'))) ***** test % dict output syms x positive syms y real syms z f = x*y*z; [v, d] = assumptions(f, 'dict'); assert(length(v) == 2) assert(iscell(v)) assert(isa(v{1}, 'sym')) assert(isa(v{2}, 'sym')) assert(length(d) == 2) assert(iscell(d)) assert(isstruct(d{1})) assert(isstruct(d{2})) ***** test %% assumptions on just the vars in an expression clear variables % for matlab test script syms x y positive f = 2*x; assert(length(assumptions(f))==1) assert(length(assumptions())==2) ***** test %% assumptions in cell/struct clear variables % for matlab test script syms x y z w positive f = {2*x [1 2 y] {1, {z}}}; assert(length(assumptions())==4) assert(length(assumptions(f))==3) clear x y z w assert(length(assumptions())==3) assert(length(assumptions(f))==3) ***** test % multiple assumptions n = sym('n', 'negative', 'even'); assert (logical (n < 0)) assert (~(logical (n > 0))) assert (~(logical (n == -1))) ***** test % multiple assumptions: eqn neither true nor false n = sym('n', 'negative', 'even'); assert (~isequal (n, sym(true)) && ~isequal (n, sym(false))) ***** test %% TODO: rewrite later with https://github.com/cbm755/octsympy/issues/622 a = python_cmd ('return Symbol("a", real=False)'); assert (strcmp (assumptions (a), {'a: ~real'})) 13 tests, 13 passed, 0 known failure, 0 skipped [inst/laguerreL.m] >>>>> /build/octave-symbolic-2.7.1/inst/laguerreL.m ***** assert (isequal (laguerreL (0, rand), 1)) ***** test x = rand; assert (isequal (laguerreL (1, x), 1 - x)) ***** test x=rand; y1=laguerreL(2, x); p2=[.5 -2 1]; y2=polyval(p2,x); assert(y1 - y2, 0, 10*eps); ***** test x=rand; y1=laguerreL(3, x); p3=[-1/6 9/6 -18/6 1]; y2=polyval(p3,x); assert(y1 - y2, 0, 20*eps); ***** test x=rand; y1=laguerreL(4, x); p4=[1/24 -16/24 72/24 -96/24 1]; y2=polyval(p4,x); assert(y1 - y2, 0, 30*eps) ***** error laguerreL(1.5, 10) ***** error laguerreL(10) ***** error laguerreL([0 1], [1 2 3]) ***** error laguerreL([0 1], [1; 2]) ***** test % numerically stable implementation (in n) L = laguerreL (10, 10); Lex = 1763/63; assert (L, Lex, -eps) L = laguerreL (20, 10); Lex = -177616901779/14849255421; % e.g., laguerreL(sym(20),10) assert (L, Lex, -eps) ***** test % vectorized x L = laguerreL (2, [5 6 7]); Lex = [3.5 7 11.5]; assert (L, Lex, eps) ***** test L = laguerreL (0, [4 5]); assert (L, [1 1], eps) ***** test % vector n L = laguerreL ([0 1 2 3], [4 5 6 9]); assert (L, [1 -4 7 -26], eps) ***** test % vector n, scalar x L = laguerreL ([0 1 2 3], 6); assert (L, [1 -5 7 1], eps) ***** assert (isa (laguerreL (0, single (1)), 'single')) ***** assert (isa (laguerreL (1, single ([1 2])), 'single')) ***** assert (isa (laguerreL ([1 2], single ([1 2])), 'single')) 17 tests, 17 passed, 0 known failure, 0 skipped [inst/syms.m] >>>>> /build/octave-symbolic-2.7.1/inst/syms.m ***** test %% assumptions syms x real x2 = sym('x', 'real'); assert (isequal (x, x2)) ***** test %% assumptions and clearing them syms x real f = {x {2*x}}; A = assumptions(); assert ( ~isempty(A)) s = warning ('off', 'OctSymPy:deprecated'); syms x clear warning (s) A = assumptions(); assert ( isempty(A)) ***** test % SMT compat, syms x clear should add x to workspace syms x real f = 2*x; clear x assert (~logical(exist('x', 'var'))) s = warning ('off', 'OctSymPy:deprecated'); syms x clear warning (s) assert (logical(exist('x', 'var'))) ***** error syms x positive y ***** error % this sometimes catches typos or errors in assumption names % (if you need careful checking, use sym not syms) syms x positive evne ***** error syms x positive clear ***** error syms x clear y ***** error syms positive integer ***** test % does not create a variable called positive syms x positive integer assert (logical(exist('x', 'var'))) assert (~logical(exist('positive', 'var'))) ***** test % Issue #885 syms S(x) I(x) O(x) ***** test % Issue #290 syms FF(x) syms ff(x) syms Eq(x) ***** test % Issue #290 syms beta(x) ***** test syms x real syms f(x) assert (~ isempty (assumptions (x))) ***** test syms x real f(x) = symfun(sym('f(x)'), x); assert (~ isempty (assumptions (x))) assert (~ isempty (assumptions (argnames (f)))) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/eulergamma.m] >>>>> /build/octave-symbolic-2.7.1/inst/eulergamma.m ***** error catalan (sym(1)) ***** assert (double (eulergamma ()) > 0.577215664901) ***** assert (double (eulergamma ()) < 0.577215664902) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/vpasolve.m] >>>>> /build/octave-symbolic-2.7.1/inst/vpasolve.m ***** test syms x vpi = vpa(sym(pi), 64); e = tan(x/4) == 1; q = vpasolve(e, x, 3.0); w = q - vpi ; assert (double(w) < 1e-30) ***** test syms x vpi = vpa(sym(pi), 64); e = tan(x/4) == 1; q = vpasolve(e, x); w = q - vpi; assert (double(w) < 1e-30) q = vpasolve(e); w = q - vpi; assert (double(w) < 1e-30) ***** test % very accurate pi syms x e = tan(x/4) == 1; m = digits(256); q = vpasolve(e, x, 3); assert (double(abs(sin(q))) < 1e-256) digits(m); ***** test % very accurate sqrt 2 syms x e = x*x == 2; m = digits(256); q = vpasolve(e, x, 1.5); assert (double(abs(q*q - 2)) < 1e-256) digits(m); ***** test % very accurate sqrt pi % (used to fail https://github.com/sympy/sympy/issues/8564) syms x e = x*x == sym(pi); m = digits(256); q = vpasolve(e, x, 3); assert (double(abs(sin(q*q))) < 1e-256) digits(m); ***** test if (python_cmd ('return Version(spver) > Version("1.0")')) syms x r = vpasolve(x^2 + 2 == 0, x, 1i); assert (double (imag(r)^2 - 2), 0, 1e-32) assert (double (real(r)^2), 0, 1e-32) r = vpasolve(x^2 + 2 == 0, x, -3i + 5); assert (double (imag(r)^2 - 2), 0, 1e-32) assert (double (real(r)^2), 0, 1e-32) end ***** test % system if (python_cmd ('return Version(spver) > Version("1.0")')) syms x y f = 3*x^2 - 2*y^2 - 1; g = x^2 - 2*x + y^2 + 2*y - 8; r = vpasolve([f; g], [x; y], sym([-1; 1])); assert (isa (r, 'sym')) assert (numel (r) == 2) end ***** test % system, double guess if (python_cmd ('return Version(spver) > Version("1.0")')) syms x y f = 3*x^2 - 2*y^2 - 1; g = x^2 - 2*x + y^2 + 2*y - 8; r = vpasolve([f; g], [x; y], [-1.1 1.2]); end ***** test % system, double guess if (python_cmd ('return Version(spver) > Version("1.0")')) syms x y f = 3*x^2 - 2*y^2 - 1; g = x^2 - 2*x + y^2 + 2*y - 8; r1 = vpasolve([f; g], [x; y], [-1.1]); r2 = vpasolve([f; g], [x; y], [-1.1 -1.1]); assert (isequal (r1, r2)) end ***** test % system, more eqns than unknowns if (python_cmd ('return Version(spver) > Version("1.0")')) syms x y eqns = [x^3 - x - y == 0; y*exp(x) == 16; log(y) + x == 4*log(sym(2))]; r = vpasolve (eqns, [x; y], [1; 1]); A = subs (lhs (eqns), [x; y], r); err = A - [0; 16; 4*log(sym(2))]; assert (double (err), zeros (size (err)), 1e-31) end 10 tests, 10 passed, 0 known failure, 0 skipped [inst/@logical/isAlways.m] >>>>> /build/octave-symbolic-2.7.1/inst/@logical/isAlways.m ***** error isAlways (true, false) ***** assert(isAlways(true)) ***** assert(~isAlways(false)) 3 tests, 3 passed, 0 known failure, 0 skipped Checking C++ files ... Summary: 2229 tests, 2203 passed, 26 known failures, 0 skipped dh_octave_substvar -O--buildsystem=octave dh_installdocs -O--buildsystem=octave dh_installchangelogs -O--buildsystem=octave dh_octave_changelogs -O--buildsystem=octave dh_octave_examples -O--buildsystem=octave dh_installinit -O--buildsystem=octave dh_installsystemduser -O--buildsystem=octave dh_perl -O--buildsystem=octave dh_link -O--buildsystem=octave dh_strip_nondeterminism -O--buildsystem=octave dh_compress -O--buildsystem=octave dh_fixperms -O--buildsystem=octave dh_missing -O--buildsystem=octave dh_installdeb -O--buildsystem=octave dh_gencontrol -O--buildsystem=octave dh_md5sums -O--buildsystem=octave dh_builddeb -O--buildsystem=octave dpkg-deb: building package 'octave-symbolic' in '../octave-symbolic_2.7.1-2_all.deb'. dpkg-genbuildinfo --build=binary dpkg-genchanges --build=binary >../octave-symbolic_2.7.1-2_i386.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) I: copying local configuration I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/64655 and its subdirectories I: Current time: Wed Jul 21 05:25:07 -12 2021 I: pbuilder-time-stamp: 1626888307 Thu Jun 18 11:02:08 UTC 2020 I: 1st build successful. Starting 2nd build on remote node profitbricks-build2-i386.debian.net. Thu Jun 18 11:02:08 UTC 2020 I: Preparing to do remote build '2' on profitbricks-build2-i386.debian.net. Thu Jun 18 11:33:12 UTC 2020 I: Deleting $TMPDIR on profitbricks-build2-i386.debian.net. Thu Jun 18 11:33:13 UTC 2020 I: octave-symbolic_2.7.1-2_i386.changes: Format: 1.8 Date: Wed, 02 Jan 2019 22:57:58 -0200 Source: octave-symbolic Binary: octave-symbolic Architecture: all Version: 2.7.1-2 Distribution: unstable Urgency: medium Maintainer: Debian Octave Group Changed-By: Rafael Laboissiere Description: octave-symbolic - symbolic package for Octave Closes: 916961 Changes: octave-symbolic (2.7.1-2) unstable; urgency=medium . [ Mike Miller ] * Use Python 3 by default - d/control: Adjust dependencies to python3-sympy. - d/p/python3.patch: New patch to set default Python interpreter. * Fix newly failing unit tests - d/p/linspace-drop-test.patch: New patch from upstream git. - d/p/pochhammer-test-tolerance.patch: New patch from upstream git. (Closes: #916961) . [ Rafael Laboissiere ] * d/control: + Bump Standards-Version to 4.3.0 (no changes needed) + Bump to debhelper compat level 12 * Build-depend on debhelper-compat instead of using d/compat Checksums-Sha1: 47b46e23787d798906df49d2d5c09ffe591f36e4 194532 octave-symbolic_2.7.1-2_all.deb 8bc813dd7f8a3cee77d0b4ebe60793115bda6dc2 14965 octave-symbolic_2.7.1-2_i386.buildinfo Checksums-Sha256: d0b938cc434979d95419f8b74fc22136bf6bb76052504cfd4797a9f702da8944 194532 octave-symbolic_2.7.1-2_all.deb da7ae6ea6ca98523eda3efb88a8d9212fabbcf5a0cd53de30e60d3e283b08797 14965 octave-symbolic_2.7.1-2_i386.buildinfo Files: 08f4784436a8054ab15f2dc026c44bd1 194532 math optional octave-symbolic_2.7.1-2_all.deb b1afaaf52e2200c34d008f5af8862e70 14965 math optional octave-symbolic_2.7.1-2_i386.buildinfo Thu Jun 18 11:33:16 UTC 2020 I: diffoscope 147 will be used to compare the two builds: # Profiling output for: /usr/bin/diffoscope --html /srv/reproducible-results/rbuild-debian/tmp.a88wjcXISr/octave-symbolic_2.7.1-2.diffoscope.html --text /srv/reproducible-results/rbuild-debian/tmp.a88wjcXISr/octave-symbolic_2.7.1-2.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/tmp.a88wjcXISr/octave-symbolic_2.7.1-2.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/tmp.a88wjcXISr/b1/octave-symbolic_2.7.1-2_i386.changes /srv/reproducible-results/rbuild-debian/tmp.a88wjcXISr/b2/octave-symbolic_2.7.1-2_i386.changes ## command (total time: 0.000s) 0.000s 1 call cmp (internal) ## has_same_content_as (total time: 0.000s) 0.000s 1 call abc.DotChangesFile ## main (total time: 0.252s) 0.252s 2 calls outputs 0.000s 1 call cleanup ## recognizes (total time: 0.022s) 0.022s 10 calls diffoscope.comparators.binary.FilesystemFile 0.000s 8 calls abc.DotChangesFile Thu Jun 18 11:33:18 UTC 2020 I: diffoscope 147 found no differences in the changes files, and a .buildinfo file also exists. Thu Jun 18 11:33:18 UTC 2020 I: octave-symbolic from buster built successfully and reproducibly on i386. Thu Jun 18 11:33:20 UTC 2020 I: Submitting .buildinfo files to external archives: Thu Jun 18 11:33:20 UTC 2020 I: Submitting 16K b1/octave-symbolic_2.7.1-2_i386.buildinfo.asc Thu Jun 18 11:33:22 UTC 2020 I: Submitting 16K b2/octave-symbolic_2.7.1-2_i386.buildinfo.asc Thu Jun 18 11:33:22 UTC 2020 I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit. Thu Jun 18 11:33:22 UTC 2020 I: Done submitting .buildinfo files. Thu Jun 18 11:33:23 UTC 2020 I: Removing signed octave-symbolic_2.7.1-2_i386.buildinfo.asc files: removed './b1/octave-symbolic_2.7.1-2_i386.buildinfo.asc' removed './b2/octave-symbolic_2.7.1-2_i386.buildinfo.asc'