Wed Apr 12 23:10:48 UTC 2023 I: starting to build octave-symbolic/bookworm/arm64 on jenkins on '2023-04-12 23:10' Wed Apr 12 23:10:48 UTC 2023 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/arm64_15/14786/console.log Wed Apr 12 23:10:48 UTC 2023 I: Downloading source for bookworm/octave-symbolic=3.0.1-2 --2023-04-12 23:10:48-- http://cdn-fastly.deb.debian.org/debian/pool/main/o/octave-symbolic/octave-symbolic_3.0.1-2.dsc Connecting to 78.137.99.97:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2294 (2.2K) [text/prs.lines.tag] Saving to: ‘octave-symbolic_3.0.1-2.dsc’ 0K .. 100% 9.42M=0s 2023-04-12 23:10:48 (9.42 MB/s) - ‘octave-symbolic_3.0.1-2.dsc’ saved [2294/2294] Wed Apr 12 23:10:49 UTC 2023 I: octave-symbolic_3.0.1-2.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 3.0 (quilt) Source: octave-symbolic Binary: octave-symbolic Architecture: all Version: 3.0.1-2 Maintainer: Debian Octave Group Uploaders: Sébastien Villemot , Rafael Laboissière Homepage: https://octave.sourceforge.io/symbolic/ Standards-Version: 4.6.1 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 (= 13), debhelper (>= 12.8~), dh-sequence-octave, python3-sympy, python3-six Package-List: octave-symbolic deb math optional arch=all Checksums-Sha1: 00e90e74aacd4b9f02d39b679181bc3efacad1f9 262730 octave-symbolic_3.0.1.orig.tar.gz 57744292f655f7b77e446fa039b2883c14d1bacf 5992 octave-symbolic_3.0.1-2.debian.tar.xz Checksums-Sha256: ba99c631eb14ca51cc376e7c3e4c953ac92c060011b32f2c557354d9d0ff9ad4 262730 octave-symbolic_3.0.1.orig.tar.gz 5797538abb7870ee9fb01846cb58fc96d68fd5135f0b240802ca12a3fec7fabb 5992 octave-symbolic_3.0.1-2.debian.tar.xz Files: 579bd589f6189315c5aebd8cd0779d3e 262730 octave-symbolic_3.0.1.orig.tar.gz ec31db6a9fb1b7d9985a88845c6b96c0 5992 octave-symbolic_3.0.1-2.debian.tar.xz Dgit: 845b8d827c83a9e881b9e590d83b1b75480a7a95 debian archive/debian/3.0.1-2 https://git.dgit.debian.org/octave-symbolic -----BEGIN PGP SIGNATURE----- iQJGBAEBCAAwFiEEP0ZDkUmP6HS9tdmPISSqGYN4XJAFAmOOKLsSHHJhZmFlbEBk ZWJpYW4ub3JnAAoJECEkqhmDeFyQ8rwP/iP6L+lCoNUr+ostCFbIHifhYNN622LP Vy6NzTMdhuNJc4w0R+XawES19h7Fg3fkM1mlgGjnYrxnbl0lAuB3LyXmDkiI+4SS mpZO8QPCG6xuAFxJoAQwNov1XAxUOC8Wg8XE/7RllG+NtCALgs3QXBMeP+lFIy/r GDQknzIUbwP/OnWLp3i05/km5zK7iLQKpnTTsJaM5aWKZ2jZsNCMwBq2WUCRLUVU kT1iYD0JqImv6wolpMTn2pYk7jhNuT6QQW0K0kLNZzhXRbRKhmczBxIukZjM0Kna bMRrhw6Fkqc5QAqmurTVI2vB3+lD+GpgQClJYI/MP3IRhWnm3vy/CFnbG97wfa4W Tb5Z1S9LErXBMfI7F7YyiyxFEY59UdMJazv/YbMG5nSabfuY4XEru5zRaQV26EPm hM/IOspQ/cCZSb1oMSvsMLyt1VUIduTiLLYCrgXofqdbdaqZuTm/pafpiAgK5ZJj PWXwfGb/Krnn/YMsxILJPYkgfE9G+9kWQxOfNhowORgZgNeeQEiutTzEbi4DVico jfHKYVrXOFalyOqU5jzot1d35qW1Q9vteoExh1Ukm5fkU4OSQPv7j2lj8T7PFTTb 56eGwlLYp6kA20oRGS5CoehBGkQSUu+LdPZBq+V7icFVHrJEJUDeN+M+1FEjtvRp RIeTqA3xIZ8a =N9se -----END PGP SIGNATURE----- Wed Apr 12 23:10:49 UTC 2023 I: Checking whether the package is not for us Wed Apr 12 23:10:49 UTC 2023 I: Starting 1st build on remote node codethink12-arm64.debian.net. Wed Apr 12 23:10:49 UTC 2023 I: Preparing to do remote build '1' on codethink12-arm64.debian.net. Wed Apr 12 23:41:29 UTC 2023 I: Deleting $TMPDIR on codethink12-arm64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Wed Apr 12 11:10:53 -12 2023 I: pbuilder-time-stamp: 1681341053 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bookworm-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. 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: Copying source file I: copying [octave-symbolic_3.0.1-2.dsc] I: copying [./octave-symbolic_3.0.1.orig.tar.gz] I: copying [./octave-symbolic_3.0.1-2.debian.tar.xz] I: Extracting source gpgv: Signature made Mon Dec 5 05:22:03 2022 -12 gpgv: using RSA key 3F464391498FE874BDB5D98F2124AA1983785C90 gpgv: issuer "rafael@debian.org" gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./octave-symbolic_3.0.1-2.dsc: no acceptable signature found dpkg-source: info: extracting octave-symbolic in octave-symbolic-3.0.1 dpkg-source: info: unpacking octave-symbolic_3.0.1.orig.tar.gz dpkg-source: info: unpacking octave-symbolic_3.0.1-2.debian.tar.xz I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/31437/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='arm64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=8' DISTRIBUTION='bookworm' HOME='/var/lib/jenkins' HOST_ARCH='arm64' IFS=' ' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' 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='31437' 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/r-b-build.uJZE1Goq/pbuilderrc_mIvz --distribution bookworm --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.uJZE1Goq/b1 --logfile b1/build.log octave-symbolic_3.0.1-2.dsc' SUDO_GID='117' SUDO_UID='110' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' USERNAME='root' _='/usr/bin/systemd-run' http_proxy='http://192.168.101.16:3128' I: uname -a Linux codethink12-arm64 4.15.0-208-generic #220-Ubuntu SMP Mon Mar 20 14:28:12 UTC 2023 aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Apr 11 22:25 /bin -> usr/bin I: user script /srv/workspace/pbuilder/31437/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: arm64 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 (= 13), debhelper (>= 12.8~), dh-sequence-octave, python3-sympy, python3-six dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19616 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 (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on debhelper (>= 12.8~); however: Package debhelper is not installed. pbuilder-satisfydepends-dummy depends on dh-sequence-octave; however: Package dh-sequence-octave is not installed. pbuilder-satisfydepends-dummy depends on python3-sympy; however: Package python3-sympy is not installed. pbuilder-satisfydepends-dummy depends on python3-six; however: Package python3-six 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} bsdextrautils{a} ca-certificates{a} cme{a} debhelper{a} dh-autoreconf{a} dh-octave{a} dh-octave-autopkgtest{a} dh-strip-nondeterminism{a} diffstat{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-12{a} gnuplot-data{a} gnuplot-nox{a} gpg{a} gpgconf{a} groff-base{a} hdf5-helpers{a} ibverbs-providers{a} intltool-debian{a} iso-codes{a} libabsl20220623{a} libaec-dev{a} libaec0{a} libalgorithm-c3-perl{a} libaliased-perl{a} libamd2{a} libaom3{a} libapp-cmd-perl{a} libapt-pkg-perl{a} libarchive-zip-perl{a} libarpack2{a} libarray-intspan-perl{a} libasound2{a} libasound2-data{a} libassuan0{a} libavahi-client3{a} libavahi-common-data{a} libavahi-common3{a} libavif15{a} libb-hooks-endofscope-perl{a} libb-hooks-op-check-perl{a} libberkeleydb-perl{a} libblas-dev{a} libblas3{a} libboolean-perl{a} libbrotli1{a} libbsd0{a} libbtf1{a} libcairo2{a} libcamd2{a} libcapture-tiny-perl{a} libcarp-assert-more-perl{a} libcbor0.8{a} libccolamd2{a} libcgi-pm-perl{a} libcholmod3{a} libclass-c3-perl{a} libclass-data-inheritable-perl{a} libclass-load-perl{a} libclass-method-modifiers-perl{a} libclass-xsaccessor-perl{a} libclone-choose-perl{a} libclone-perl{a} libcolamd2{a} libcombblas1.16.0{a} libconfig-model-backend-yaml-perl{a} libconfig-model-dpkg-perl{a} libconfig-model-perl{a} libconfig-tiny-perl{a} libconst-fast-perl{a} libconvert-binhex-perl{a} libcpanel-json-xs-perl{a} libcups2{a} libcurl3-gnutls{a} libcurl4{a} libcurl4-openssl-dev{a} libcxsparse3{a} libdata-compare-perl{a} libdata-dpath-perl{a} libdata-messagepack-perl{a} libdata-optlist-perl{a} libdata-section-perl{a} libdata-validate-domain-perl{a} libdata-validate-ip-perl{a} libdata-validate-uri-perl{a} libdatrie1{a} libdav1d6{a} libdbus-1-3{a} libde265-0{a} libdebhelper-perl{a} libdeflate0{a} libdevel-callchecker-perl{a} libdevel-size-perl{a} libdevel-stacktrace-perl{a} libdouble-conversion3{a} libdrm-amdgpu1{a} libdrm-common{a} libdrm-nouveau2{a} libdrm-radeon1{a} libdrm2{a} libdynaloader-functions-perl{a} libedit2{a} libegl-dev{a} libegl-mesa0{a} libegl1{a} libelf1{a} libemail-address-xs-perl{a} libencode-locale-perl{a} liberror-perl{a} libevdev2{a} libevent-core-2.1-7{a} libevent-pthreads-2.1-7{a} libexception-class-perl{a} libexpat1{a} libexporter-lite-perl{a} libexporter-tiny-perl{a} libfabric1{a} libfeature-compat-class-perl{a} libfeature-compat-try-perl{a} libfftw3-bin{a} libfftw3-dev{a} libfftw3-double3{a} libfftw3-long3{a} libfftw3-mpi3{a} libfftw3-single3{a} libfido2-1{a} libfile-basedir-perl{a} libfile-homedir-perl{a} libfile-listing-perl{a} libfile-stripnondeterminism-perl{a} libfile-which-perl{a} libflac12{a} libfltk-gl1.3{a} libfltk1.3{a} libfont-ttf-perl{a} libfontconfig1{a} libfreetype6{a} libfribidi0{a} libgav1-1{a} libgbm1{a} libgd3{a} libgetopt-long-descriptive-perl{a} libgfortran-12-dev{a} libgfortran5{a} libgl-dev{a} libgl1{a} libgl1-mesa-dev{a} libgl1-mesa-dri{a} libgl2ps1.4{a} libglapi-mesa{a} libgles-dev{a} libgles1{a} libgles2{a} libglib2.0-0{a} libglpk40{a} libglu1-mesa{a} libglvnd-core-dev{a} libglvnd-dev{a} libglvnd0{a} libglx-dev{a} libglx-mesa0{a} libglx0{a} libgraphicsmagick++-q16-12{a} libgraphicsmagick-q16-3{a} libgraphite2-3{a} libgudev-1.0-0{a} libharfbuzz0b{a} libhash-merge-perl{a} libhdf5-103-1{a} libhdf5-cpp-103-1{a} libhdf5-dev{a} libhdf5-fortran-102{a} libhdf5-hl-100{a} libhdf5-hl-cpp-100{a} libhdf5-hl-fortran-100{a} libhdf5-openmpi-103-1{a} libheif1{a} libhtml-form-perl{a} libhtml-html5-entities-perl{a} libhtml-parser-perl{a} libhtml-tagset-perl{a} libhtml-tokeparser-simple-perl{a} libhtml-tree-perl{a} libhttp-cookies-perl{a} libhttp-date-perl{a} libhttp-message-perl{a} libhttp-negotiate-perl{a} libhwloc-plugins{a} libhwloc15{a} libhwy1{a} libhypre-2.26.0{a} libibverbs1{a} libice6{a} libicu72{a} libimport-into-perl{a} libindirect-perl{a} libinput-bin{a} libinput10{a} libio-html-perl{a} libio-interactive-perl{a} libio-socket-ssl-perl{a} libio-string-perl{a} libio-stringy-perl{a} libio-tiecombine-perl{a} libipc-run3-perl{a} libipc-system-simple-perl{a} libiterator-perl{a} libiterator-util-perl{a} libjack-jackd2-0{a} libjbig0{a} libjpeg-dev{a} libjpeg62-turbo{a} libjpeg62-turbo-dev{a} libjson-maybexs-perl{a} libjson-perl{a} libjxl0.7{a} libklu1{a} liblapack-dev{a} liblapack3{a} liblcms2-2{a} libldap-2.5-0{a} liblerc4{a} liblist-compare-perl{a} liblist-moreutils-perl{a} liblist-moreutils-xs-perl{a} liblist-someutils-perl{a} liblist-utilsby-perl{a} libllvm15{a} liblog-any-adapter-screen-perl{a} liblog-any-perl{a} liblog-log4perl-perl{a} libltdl7{a} liblua5.4-0{a} liblwp-mediatypes-perl{a} liblwp-protocol-https-perl{a} liblz1{a} liblzo2-2{a} libmagic-mgc{a} libmagic1{a} libmailtools-perl{a} libmarkdown2{a} libmd4c0{a} libmetis5{a} libmime-tools-perl{a} libmldbm-perl{a} libmodule-implementation-perl{a} libmodule-pluggable-perl{a} libmodule-runtime-perl{a} libmoo-perl{a} libmoox-aliases-perl{a} libmouse-perl{a} libmousex-nativetraits-perl{a} libmousex-strictconstructor-perl{a} libmp3lame0{a} libmpg123-0{a} libmro-compat-perl{a} libmtdev1{a} libmumps-5.5{a} libmunge2{a} libnamespace-clean-perl{a} libncurses-dev{a} libncurses6{a} libnet-domain-tld-perl{a} libnet-http-perl{a} libnet-ipv6addr-perl{a} libnet-netmask-perl{a} libnet-smtp-ssl-perl{a} libnet-ssleay-perl{a} libnetaddr-ip-perl{a} libnghttp2-14{a} libnl-3-200{a} libnl-route-3-200{a} libnuma1{a} libobject-pad-perl{a} libogg0{a} libopengl-dev{a} libopengl0{a} libopenmpi3{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-iterator-rule-perl{a} libpath-tiny-perl{a} libpciaccess0{a} libpcre2-16-0{a} libpcre3{a} libperlio-gzip-perl{a} libperlio-utf8-strict-perl{a} libpetsc-real3.18{a} libpipeline1{a} libpixman-1-0{a} libpmix2{a} libpng16-16{a} libpod-constants-perl{a} libpod-parser-perl{a} libpod-pom-perl{a} libportaudio2{a} libproc-processtable-perl{a} libpsl5{a} libpthread-stubs0-dev{a} libptscotch-7.0{a} libpython3-stdlib{a} libpython3.11-minimal{a} libpython3.11-stdlib{a} libqhull-r8.0{a} libqrupdate1{a} libqscintilla2-qt5-15{a} libqscintilla2-qt5-l10n{a} libqt5core5a{a} libqt5dbus5{a} libqt5gui5{a} libqt5help5{a} libqt5network5{a} libqt5printsupport5{a} libqt5sql5{a} libqt5widgets5{a} libqt5xml5{a} librav1e0{a} librdmacm1{a} libreadline-dev{a} libreadline8{a} libregexp-common-perl{a} libregexp-ipv6-perl{a} libregexp-pattern-license-perl{a} libregexp-pattern-perl{a} libregexp-wildcards-perl{a} librole-tiny-perl{a} librtmp1{a} libsamplerate0{a} libsasl2-2{a} libsasl2-modules-db{a} libscalapack-openmpi2.2{a} libscotch-7.0{a} libsensors-config{a} libsensors5{a} libsereal-decoder-perl{a} libsereal-encoder-perl{a} libset-intspan-perl{a} libsm6{a} libsndfile1{a} libsoftware-license-perl{a} libsoftware-licensemoreutils-perl{a} libsort-versions-perl{a} libspqr2{a} libssh2-1{a} libssl-dev{a} libstrictures-perl{a} libstring-copyright-perl{a} libstring-escape-perl{a} libstring-license-perl{a} libstring-rewriteprefix-perl{a} libsub-exporter-perl{a} libsub-exporter-progressive-perl{a} libsub-identify-perl{a} libsub-install-perl{a} libsub-name-perl{a} libsub-override-perl{a} libsub-quote-perl{a} libsub-uplevel-perl{a} libsuitesparseconfig5{a} libsundials-ida6{a} libsundials-nvecparallel-petsc6{a} libsundials-sunlinsol3{a} libsundials-sunmatrix4{a} libsuperlu-dist8{a} libsuperlu5{a} libsvtav1enc1{a} libsyntax-keyword-try-perl{a} libsz2{a} libterm-readkey-perl{a} libtest-exception-perl{a} libtext-autoformat-perl{a} libtext-levenshtein-damerau-perl{a} libtext-levenshteinxs-perl{a} libtext-markdown-discount-perl{a} libtext-reform-perl{a} libtext-template-perl{a} libtext-unidecode-perl{a} libtext-xslate-perl{a} libthai-data{a} libthai0{a} libtiff6{a} libtime-duration-perl{a} libtime-moment-perl{a} libtimedate-perl{a} libtoml-tiny-perl{a} libtool{a} libtrilinos-amesos-13.2{a} libtrilinos-aztecoo-13.2{a} libtrilinos-epetra-13.2{a} libtrilinos-epetraext-13.2{a} libtrilinos-galeri-13.2{a} libtrilinos-ifpack-13.2{a} libtrilinos-kokkos-13.2{a} libtrilinos-ml-13.2{a} libtrilinos-teuchos-13.2{a} libtrilinos-trilinosss-13.2{a} libtrilinos-triutils-13.2{a} libtrilinos-zoltan-13.2{a} libtry-tiny-perl{a} libuchardet0{a} libucx0{a} libumfpack5{a} libunicode-utf8-perl{a} liburi-perl{a} libvariable-magic-perl{a} libvorbis0a{a} libvorbisenc2{a} libwacom-common{a} libwacom9{a} libwayland-client0{a} libwayland-server0{a} libwebp7{a} libwebpmux3{a} libwmflite-0.2-7{a} libwww-mechanize-perl{a} libwww-perl{a} libwww-robotrules-perl{a} libx11-6{a} libx11-data{a} libx11-dev{a} libx11-xcb1{a} libx265-199{a} libxau-dev{a} libxau6{a} libxcb-dri2-0{a} libxcb-dri3-0{a} libxcb-glx0{a} libxcb-icccm4{a} libxcb-image0{a} libxcb-keysyms1{a} libxcb-present0{a} libxcb-randr0{a} libxcb-render-util0{a} libxcb-render0{a} libxcb-shape0{a} libxcb-shm0{a} libxcb-sync1{a} libxcb-util1{a} libxcb-xfixes0{a} libxcb-xinerama0{a} libxcb-xinput0{a} libxcb-xkb1{a} libxcb1{a} libxcb1-dev{a} libxcursor1{a} libxdmcp-dev{a} libxdmcp6{a} libxext6{a} libxfixes3{a} libxft2{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} libxnvctrl0{a} libxpm4{a} libxrender1{a} libxs-parse-keyword-perl{a} libxs-parse-sublike-perl{a} libxshmfence1{a} libxxf86vm1{a} libyaml-0-2{a} libyaml-libyaml-perl{a} libyaml-pp-perl{a} libyaml-tiny-perl{a} libyuv0{a} libz3-4{a} licensecheck{a} lintian{a} lzop{a} m4{a} man-db{a} media-types{a} mpi-default-bin{a} netbase{a} ocl-icd-libopencl1{a} octave{a} octave-common{a} octave-dev{a} openmpi-bin{a} openmpi-common{a} openssh-client{a} openssl{a} patchutils{a} perl-openssl-defaults{a} plzip{a} po-debconf{a} python3{a} python3-minimal{a} python3-mpmath{a} python3-six{a} python3-sympy{a} python3.11{a} python3.11-minimal{a} readline-common{a} sensible-utils{a} shared-mime-info{a} t1utils{a} tex-common{a} texinfo{a} ucf{a} unzip{a} x11-common{a} x11proto-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: alsa-topology-conf alsa-ucm-conf bash-completion curl dbus default-jre-headless epstool fonts-liberation fonts-urw-base35 ghostscript gnupg groff isympy-common libarchive-cpio-perl libatlas3-base libauthen-sasl-perl libcgi-fast-perl libclass-c3-xs-perl libconfig-model-approx-perl libconfig-model-lcdproc-perl libconfig-model-openssh-perl libconfig-model-systemd-perl libconfig-model-tkui-perl libdata-dump-perl libfreezethaw-perl libfuse-perl libglib2.0-data libgpm2 libhtml-format-perl libhttp-daemon-perl libipc-shareable-perl libjson-xs-perl libldap-common liblist-someutils-xs-perl liblog-dispatch-perl libltdl-dev libmail-sendmail-perl libmath-base85-perl libopenblas0 libpackage-stash-xs-perl libqt5sql5-ibase libqt5sql5-mysql libqt5sql5-odbc libqt5sql5-psql libqt5sql5-sqlite libqt5sql5-tds libqt5svg5 libre-engine-re2-perl libsasl2-modules libsocket6-perl libtie-ixhash-perl libtypes-serialiser-perl libxml-sax-expat-perl libxstring-perl lynx octave-doc pstoedit publicsuffix python3-numpy python3-pil qt5-gtk-platformtheme qttranslations5-l10n qtwayland5 wget xauth xdg-user-dirs 0 packages upgraded, 533 newly installed, 0 to remove and 0 not upgraded. Need to get 192 MB of archives. After unpacking 830 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian bookworm/main arm64 libpython3.11-minimal arm64 3.11.2-6 [806 kB] Get: 2 http://deb.debian.org/debian bookworm/main arm64 libexpat1 arm64 2.5.0-1 [84.8 kB] Get: 3 http://deb.debian.org/debian bookworm/main arm64 python3.11-minimal arm64 3.11.2-6 [1858 kB] Get: 4 http://deb.debian.org/debian bookworm/main arm64 python3-minimal arm64 3.11.2-1+b1 [26.3 kB] Get: 5 http://deb.debian.org/debian bookworm/main arm64 media-types all 10.0.0 [26.1 kB] Get: 6 http://deb.debian.org/debian bookworm/main arm64 readline-common all 8.2-1.3 [69.0 kB] Get: 7 http://deb.debian.org/debian bookworm/main arm64 libreadline8 arm64 8.2-1.3 [155 kB] Get: 8 http://deb.debian.org/debian bookworm/main arm64 libpython3.11-stdlib arm64 3.11.2-6 [1747 kB] Get: 9 http://deb.debian.org/debian bookworm/main arm64 python3.11 arm64 3.11.2-6 [572 kB] Get: 10 http://deb.debian.org/debian bookworm/main arm64 libpython3-stdlib arm64 3.11.2-1+b1 [9296 B] Get: 11 http://deb.debian.org/debian bookworm/main arm64 python3 arm64 3.11.2-1+b1 [26.3 kB] Get: 12 http://deb.debian.org/debian bookworm/main arm64 netbase all 6.4 [12.8 kB] Get: 13 http://deb.debian.org/debian bookworm/main arm64 sensible-utils all 0.0.17+nmu1 [19.0 kB] Get: 14 http://deb.debian.org/debian bookworm/main arm64 openssl arm64 3.0.8-1 [1373 kB] Get: 15 http://deb.debian.org/debian bookworm/main arm64 ca-certificates all 20230311 [153 kB] Get: 16 http://deb.debian.org/debian bookworm/main arm64 libmagic-mgc arm64 1:5.44-3 [305 kB] Get: 17 http://deb.debian.org/debian bookworm/main arm64 libmagic1 arm64 1:5.44-3 [98.5 kB] Get: 18 http://deb.debian.org/debian bookworm/main arm64 file arm64 1:5.44-3 [42.5 kB] Get: 19 http://deb.debian.org/debian bookworm/main arm64 gettext-base arm64 0.21-12 [159 kB] Get: 20 http://deb.debian.org/debian bookworm/main arm64 libuchardet0 arm64 0.0.7-1 [67.9 kB] Get: 21 http://deb.debian.org/debian bookworm/main arm64 groff-base arm64 1.22.4-10 [861 kB] Get: 22 http://deb.debian.org/debian bookworm/main arm64 bsdextrautils arm64 2.38.1-5+b1 [86.9 kB] Get: 23 http://deb.debian.org/debian bookworm/main arm64 libpipeline1 arm64 1.5.7-1 [36.4 kB] Get: 24 http://deb.debian.org/debian bookworm/main arm64 man-db arm64 2.11.2-2 [1369 kB] Get: 25 http://deb.debian.org/debian bookworm/main arm64 libbsd0 arm64 0.11.7-2 [115 kB] Get: 26 http://deb.debian.org/debian bookworm/main arm64 libedit2 arm64 3.1-20221030-2 [88.1 kB] Get: 27 http://deb.debian.org/debian bookworm/main arm64 libcbor0.8 arm64 0.8.0-2+b1 [26.0 kB] Get: 28 http://deb.debian.org/debian bookworm/main arm64 libfido2-1 arm64 1.12.0-2+b1 [72.6 kB] Get: 29 http://deb.debian.org/debian bookworm/main arm64 openssh-client arm64 1:9.2p1-2 [931 kB] Get: 30 http://deb.debian.org/debian bookworm/main arm64 ucf all 3.0043+nmu1 [55.2 kB] Get: 31 http://deb.debian.org/debian bookworm/main arm64 aglfn all 1.7+git20191031.4036a9c-2 [30.5 kB] Get: 32 http://deb.debian.org/debian bookworm/main arm64 m4 arm64 1.4.19-3 [276 kB] Get: 33 http://deb.debian.org/debian bookworm/main arm64 autoconf all 2.71-3 [332 kB] Get: 34 http://deb.debian.org/debian bookworm/main arm64 autotools-dev all 20220109.1 [51.6 kB] Get: 35 http://deb.debian.org/debian bookworm/main arm64 automake all 1:1.16.5-1.3 [823 kB] Get: 36 http://deb.debian.org/debian bookworm/main arm64 autopoint all 0.21-12 [495 kB] Get: 37 http://deb.debian.org/debian bookworm/main arm64 libcapture-tiny-perl all 0.48-2 [24.6 kB] Get: 38 http://deb.debian.org/debian bookworm/main arm64 libparams-util-perl arm64 1.102-2+b1 [24.2 kB] Get: 39 http://deb.debian.org/debian bookworm/main arm64 libsub-install-perl all 0.929-1 [10.5 kB] Get: 40 http://deb.debian.org/debian bookworm/main arm64 libdata-optlist-perl all 0.113-1 [10.6 kB] Get: 41 http://deb.debian.org/debian bookworm/main arm64 libb-hooks-op-check-perl arm64 0.22-2+b1 [10.4 kB] Get: 42 http://deb.debian.org/debian bookworm/main arm64 libdynaloader-functions-perl all 0.003-3 [12.7 kB] Get: 43 http://deb.debian.org/debian bookworm/main arm64 libdevel-callchecker-perl arm64 0.008-2 [15.9 kB] Get: 44 http://deb.debian.org/debian bookworm/main arm64 libparams-classify-perl arm64 0.015-2+b1 [22.9 kB] Get: 45 http://deb.debian.org/debian bookworm/main arm64 libmodule-runtime-perl all 0.016-2 [19.6 kB] Get: 46 http://deb.debian.org/debian bookworm/main arm64 libtry-tiny-perl all 0.31-2 [22.6 kB] Get: 47 http://deb.debian.org/debian bookworm/main arm64 libmodule-implementation-perl all 0.09-2 [12.6 kB] Get: 48 http://deb.debian.org/debian bookworm/main arm64 libpackage-stash-perl all 0.40-1 [22.0 kB] Get: 49 http://deb.debian.org/debian bookworm/main arm64 libclass-load-perl all 0.25-2 [15.3 kB] Get: 50 http://deb.debian.org/debian bookworm/main arm64 libio-stringy-perl all 2.111-3 [56.5 kB] Get: 51 http://deb.debian.org/debian bookworm/main arm64 libparams-validate-perl arm64 1.31-1 [61.5 kB] Get: 52 http://deb.debian.org/debian bookworm/main arm64 libsub-exporter-perl all 0.989-1 [50.5 kB] Get: 53 http://deb.debian.org/debian bookworm/main arm64 libgetopt-long-descriptive-perl all 0.111-1 [27.8 kB] Get: 54 http://deb.debian.org/debian bookworm/main arm64 libio-tiecombine-perl all 1.005-3 [10.8 kB] Get: 55 http://deb.debian.org/debian bookworm/main arm64 libmodule-pluggable-perl all 5.2-4 [23.6 kB] Get: 56 http://deb.debian.org/debian bookworm/main arm64 libstring-rewriteprefix-perl all 0.009-1 [7140 B] Get: 57 http://deb.debian.org/debian bookworm/main arm64 libapp-cmd-perl all 0.335-1 [65.3 kB] Get: 58 http://deb.debian.org/debian bookworm/main arm64 libboolean-perl all 0.46-3 [9924 B] Get: 59 http://deb.debian.org/debian bookworm/main arm64 libsub-uplevel-perl all 0.2800-3 [14.0 kB] Get: 60 http://deb.debian.org/debian bookworm/main arm64 libtest-exception-perl all 0.43-3 [16.9 kB] Get: 61 http://deb.debian.org/debian bookworm/main arm64 libcarp-assert-more-perl all 2.2.0-1 [18.8 kB] Get: 62 http://deb.debian.org/debian bookworm/main arm64 libfile-which-perl all 1.27-2 [15.1 kB] Get: 63 http://deb.debian.org/debian bookworm/main arm64 libfile-homedir-perl all 1.006-2 [42.4 kB] Get: 64 http://deb.debian.org/debian bookworm/main arm64 libclone-choose-perl all 0.010-2 [8676 B] Get: 65 http://deb.debian.org/debian bookworm/main arm64 libhash-merge-perl all 0.302-1 [14.7 kB] Get: 66 http://deb.debian.org/debian bookworm/main arm64 libjson-perl all 4.10000-1 [87.5 kB] Get: 67 http://deb.debian.org/debian bookworm/main arm64 libexporter-tiny-perl all 1.006000-1 [38.6 kB] Get: 68 http://deb.debian.org/debian bookworm/main arm64 liblist-moreutils-xs-perl arm64 0.430-3+b1 [37.5 kB] Get: 69 http://deb.debian.org/debian bookworm/main arm64 liblist-moreutils-perl all 0.430-2 [46.9 kB] Get: 70 http://deb.debian.org/debian bookworm/main arm64 liblog-log4perl-perl all 1.57-1 [367 kB] Get: 71 http://deb.debian.org/debian bookworm/main arm64 libmouse-perl arm64 2.5.10-1+b3 [167 kB] Get: 72 http://deb.debian.org/debian bookworm/main arm64 libmousex-nativetraits-perl all 1.09-3 [53.5 kB] Get: 73 http://deb.debian.org/debian bookworm/main arm64 libmousex-strictconstructor-perl all 0.02-3 [5304 B] Get: 74 http://deb.debian.org/debian bookworm/main arm64 libparse-recdescent-perl all 1.967015+dfsg-4 [147 kB] Get: 75 http://deb.debian.org/debian bookworm/main arm64 libpath-tiny-perl all 0.144-1 [56.4 kB] Get: 76 http://deb.debian.org/debian bookworm/main arm64 libpod-pom-perl all 2.01-4 [65.0 kB] Get: 77 http://deb.debian.org/debian bookworm/main arm64 libregexp-common-perl all 2017060201-3 [175 kB] Get: 78 http://deb.debian.org/debian bookworm/main arm64 libyaml-tiny-perl all 1.73-1 [32.3 kB] Get: 79 http://deb.debian.org/debian bookworm/main arm64 libconfig-model-perl all 2.152-1 [472 kB] Get: 80 http://deb.debian.org/debian bookworm/main arm64 libyaml-pp-perl all 0.035-1 [112 kB] Get: 81 http://deb.debian.org/debian bookworm/main arm64 cme all 1.038-1 [86.9 kB] Get: 82 http://deb.debian.org/debian bookworm/main arm64 libdebhelper-perl all 13.11.4 [81.2 kB] Get: 83 http://deb.debian.org/debian bookworm/main arm64 libtool all 2.4.7-5 [517 kB] Get: 84 http://deb.debian.org/debian bookworm/main arm64 dh-autoreconf all 20 [17.1 kB] Get: 85 http://deb.debian.org/debian bookworm/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 86 http://deb.debian.org/debian bookworm/main arm64 libsub-override-perl all 0.09-4 [9304 B] Get: 87 http://deb.debian.org/debian bookworm/main arm64 libfile-stripnondeterminism-perl all 1.13.1-1 [19.4 kB] Get: 88 http://deb.debian.org/debian bookworm/main arm64 dh-strip-nondeterminism all 1.13.1-1 [8620 B] Get: 89 http://deb.debian.org/debian bookworm/main arm64 libelf1 arm64 0.188-2.1 [173 kB] Get: 90 http://deb.debian.org/debian bookworm/main arm64 dwz arm64 0.15-1 [101 kB] Get: 91 http://deb.debian.org/debian bookworm/main arm64 libicu72 arm64 72.1-3 [9204 kB] Get: 92 http://deb.debian.org/debian bookworm/main arm64 libxml2 arm64 2.9.14+dfsg-1.1+b3 [619 kB] Get: 93 http://deb.debian.org/debian bookworm/main arm64 gettext arm64 0.21-12 [1248 kB] Get: 94 http://deb.debian.org/debian bookworm/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 95 http://deb.debian.org/debian bookworm/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 96 http://deb.debian.org/debian bookworm/main arm64 debhelper all 13.11.4 [942 kB] Get: 97 http://deb.debian.org/debian bookworm/main arm64 libsuitesparseconfig5 arm64 1:5.12.0+dfsg-2 [23.8 kB] Get: 98 http://deb.debian.org/debian bookworm/main arm64 libamd2 arm64 1:5.12.0+dfsg-2 [33.8 kB] Get: 99 http://deb.debian.org/debian bookworm/main arm64 libblas3 arm64 3.11.0-2 [91.4 kB] Get: 100 http://deb.debian.org/debian bookworm/main arm64 libgfortran5 arm64 12.2.0-14 [340 kB] Get: 101 http://deb.debian.org/debian bookworm/main arm64 liblapack3 arm64 3.11.0-2 [1664 kB] Get: 102 http://deb.debian.org/debian bookworm/main arm64 libarpack2 arm64 3.8.0-3 [79.5 kB] Get: 103 http://deb.debian.org/debian bookworm/main arm64 libccolamd2 arm64 1:5.12.0+dfsg-2 [37.6 kB] Get: 104 http://deb.debian.org/debian bookworm/main arm64 libcamd2 arm64 1:5.12.0+dfsg-2 [34.9 kB] Get: 105 http://deb.debian.org/debian bookworm/main arm64 libcolamd2 arm64 1:5.12.0+dfsg-2 [31.8 kB] Get: 106 http://deb.debian.org/debian bookworm/main arm64 libmetis5 arm64 5.1.0.dfsg-7 [154 kB] Get: 107 http://deb.debian.org/debian bookworm/main arm64 libcholmod3 arm64 1:5.12.0+dfsg-2 [285 kB] Get: 108 http://deb.debian.org/debian bookworm/main arm64 libbrotli1 arm64 1.0.9-2+b6 [269 kB] Get: 109 http://deb.debian.org/debian bookworm/main arm64 libsasl2-modules-db arm64 2.1.28+dfsg-10 [20.8 kB] Get: 110 http://deb.debian.org/debian bookworm/main arm64 libsasl2-2 arm64 2.1.28+dfsg-10 [58.0 kB] Get: 111 http://deb.debian.org/debian bookworm/main arm64 libldap-2.5-0 arm64 2.5.13+dfsg-5 [171 kB] Get: 112 http://deb.debian.org/debian bookworm/main arm64 libnghttp2-14 arm64 1.52.0-1 [67.9 kB] Get: 113 http://deb.debian.org/debian bookworm/main arm64 libpsl5 arm64 0.21.2-1 [58.6 kB] Get: 114 http://deb.debian.org/debian bookworm/main arm64 librtmp1 arm64 2.4+20151223.gitfa8646d.1-2+b2 [59.4 kB] Get: 115 http://deb.debian.org/debian bookworm/main arm64 libssh2-1 arm64 1.10.0-3+b1 [172 kB] Get: 116 http://deb.debian.org/debian bookworm/main arm64 libcurl3-gnutls arm64 7.88.1-7 [356 kB] Get: 117 http://deb.debian.org/debian bookworm/main arm64 libcxsparse3 arm64 1:5.12.0+dfsg-2 [73.4 kB] Get: 118 http://deb.debian.org/debian bookworm/main arm64 libfftw3-double3 arm64 3.3.10-1 [326 kB] Get: 119 http://deb.debian.org/debian bookworm/main arm64 libfftw3-single3 arm64 3.3.10-1 [494 kB] Get: 120 http://deb.debian.org/debian bookworm/main arm64 libpng16-16 arm64 1.6.39-2 [269 kB] Get: 121 http://deb.debian.org/debian bookworm/main arm64 libfreetype6 arm64 2.12.1+dfsg-4 [369 kB] Get: 122 http://deb.debian.org/debian bookworm/main arm64 fonts-dejavu-core all 2.37-6 [1068 kB] Get: 123 http://deb.debian.org/debian bookworm/main arm64 fonts-freefont-otf all 20120503-10 [3171 kB] Get: 124 http://deb.debian.org/debian bookworm/main arm64 fontconfig-config arm64 2.14.1-4 [315 kB] Get: 125 http://deb.debian.org/debian bookworm/main arm64 libfontconfig1 arm64 2.14.1-4 [381 kB] Get: 126 http://deb.debian.org/debian bookworm/main arm64 libxau6 arm64 1:1.0.9-1 [19.7 kB] Get: 127 http://deb.debian.org/debian bookworm/main arm64 libxdmcp6 arm64 1:1.1.2-3 [25.4 kB] Get: 128 http://deb.debian.org/debian bookworm/main arm64 libxcb1 arm64 1.15-1 [143 kB] Get: 129 http://deb.debian.org/debian bookworm/main arm64 libx11-data all 2:1.8.4-2 [292 kB] Get: 130 http://deb.debian.org/debian bookworm/main arm64 libx11-6 arm64 2:1.8.4-2 [736 kB] Get: 131 http://deb.debian.org/debian bookworm/main arm64 libxfixes3 arm64 1:6.0.0-2 [22.9 kB] Get: 132 http://deb.debian.org/debian bookworm/main arm64 libxrender1 arm64 1:0.9.10-1.1 [32.0 kB] Get: 133 http://deb.debian.org/debian bookworm/main arm64 libxcursor1 arm64 1:1.2.1-1 [40.2 kB] Get: 134 http://deb.debian.org/debian bookworm/main arm64 libxext6 arm64 2:1.3.4-1+b1 [51.7 kB] Get: 135 http://deb.debian.org/debian bookworm/main arm64 libxft2 arm64 2.3.6-1 [58.7 kB] Get: 136 http://deb.debian.org/debian bookworm/main arm64 libxinerama1 arm64 2:1.1.4-3 [17.8 kB] Get: 137 http://deb.debian.org/debian bookworm/main arm64 libfltk1.3 arm64 1.3.8-5 [533 kB] Get: 138 http://deb.debian.org/debian bookworm/main arm64 libglvnd0 arm64 1.6.0-1 [41.4 kB] Get: 139 http://deb.debian.org/debian bookworm/main arm64 libdrm-common all 2.4.114-1 [7112 B] Get: 140 http://deb.debian.org/debian bookworm/main arm64 libdrm2 arm64 2.4.114-1+b1 [36.7 kB] Get: 141 http://deb.debian.org/debian bookworm/main arm64 libglapi-mesa arm64 22.3.6-1+deb12u1 [44.7 kB] Get: 142 http://deb.debian.org/debian bookworm/main arm64 libx11-xcb1 arm64 2:1.8.4-2 [192 kB] Get: 143 http://deb.debian.org/debian bookworm/main arm64 libxcb-dri2-0 arm64 1.15-1 [107 kB] Get: 144 http://deb.debian.org/debian bookworm/main arm64 libxcb-dri3-0 arm64 1.15-1 [107 kB] Get: 145 http://deb.debian.org/debian bookworm/main arm64 libxcb-glx0 arm64 1.15-1 [123 kB] Get: 146 http://deb.debian.org/debian bookworm/main arm64 libxcb-present0 arm64 1.15-1 [106 kB] Get: 147 http://deb.debian.org/debian bookworm/main arm64 libxcb-randr0 arm64 1.15-1 [117 kB] Get: 148 http://deb.debian.org/debian bookworm/main arm64 libxcb-shm0 arm64 1.15-1 [106 kB] Get: 149 http://deb.debian.org/debian bookworm/main arm64 libxcb-sync1 arm64 1.15-1 [109 kB] Get: 150 http://deb.debian.org/debian bookworm/main arm64 libxcb-xfixes0 arm64 1.15-1 [110 kB] Get: 151 http://deb.debian.org/debian bookworm/main arm64 libxshmfence1 arm64 1.3-1 [8712 B] Get: 152 http://deb.debian.org/debian bookworm/main arm64 libxxf86vm1 arm64 1:1.1.4-1+b2 [20.1 kB] Get: 153 http://deb.debian.org/debian bookworm/main arm64 libdrm-amdgpu1 arm64 2.4.114-1+b1 [20.4 kB] Get: 154 http://deb.debian.org/debian bookworm/main arm64 libdrm-nouveau2 arm64 2.4.114-1+b1 [18.4 kB] Get: 155 http://deb.debian.org/debian bookworm/main arm64 libdrm-radeon1 arm64 2.4.114-1+b1 [20.9 kB] Get: 156 http://deb.debian.org/debian bookworm/main arm64 libz3-4 arm64 4.8.12-3.1 [6282 kB] Get: 157 http://deb.debian.org/debian bookworm/main arm64 libllvm15 arm64 1:15.0.6-4+b1 [20.7 MB] Get: 158 http://deb.debian.org/debian bookworm/main arm64 libsensors-config all 1:3.6.0-7.1 [14.3 kB] Get: 159 http://deb.debian.org/debian bookworm/main arm64 libsensors5 arm64 1:3.6.0-7.1 [33.3 kB] Get: 160 http://deb.debian.org/debian bookworm/main arm64 libgl1-mesa-dri arm64 22.3.6-1+deb12u1 [6278 kB] Get: 161 http://deb.debian.org/debian bookworm/main arm64 libglx-mesa0 arm64 22.3.6-1+deb12u1 [146 kB] Get: 162 http://deb.debian.org/debian bookworm/main arm64 libglx0 arm64 1.6.0-1 [30.8 kB] Get: 163 http://deb.debian.org/debian bookworm/main arm64 libgl1 arm64 1.6.0-1 [90.2 kB] Get: 164 http://deb.debian.org/debian bookworm/main arm64 libfltk-gl1.3 arm64 1.3.8-5 [75.7 kB] Get: 165 http://deb.debian.org/debian bookworm/main arm64 libgl2ps1.4 arm64 1.4.2+dfsg1-2 [38.0 kB] Get: 166 http://deb.debian.org/debian bookworm/main arm64 libltdl7 arm64 2.4.7-5 [392 kB] Get: 167 http://deb.debian.org/debian bookworm/main arm64 libglpk40 arm64 5.0-1 [344 kB] Get: 168 http://deb.debian.org/debian bookworm/main arm64 libopengl0 arm64 1.6.0-1 [31.7 kB] Get: 169 http://deb.debian.org/debian bookworm/main arm64 libglu1-mesa arm64 9.0.2-1.1 [153 kB] Get: 170 http://deb.debian.org/debian bookworm/main arm64 libaom3 arm64 3.6.0-1 [1379 kB] Get: 171 http://deb.debian.org/debian bookworm/main arm64 libdav1d6 arm64 1.0.0-2 [274 kB] Get: 172 http://deb.debian.org/debian bookworm/main arm64 libde265-0 arm64 1.0.11-1 [148 kB] Get: 173 http://deb.debian.org/debian bookworm/main arm64 libnuma1 arm64 2.0.16-1 [20.3 kB] Get: 174 http://deb.debian.org/debian bookworm/main arm64 libx265-199 arm64 3.5-2+b1 [603 kB] Get: 175 http://deb.debian.org/debian bookworm/main arm64 libheif1 arm64 1.15.1-1 [191 kB] Get: 176 http://deb.debian.org/debian bookworm/main arm64 libjbig0 arm64 2.1-6.1 [30.0 kB] Get: 177 http://deb.debian.org/debian bookworm/main arm64 libjpeg62-turbo arm64 1:2.1.5-2 [171 kB] Get: 178 http://deb.debian.org/debian bookworm/main arm64 libhwy1 arm64 1.0.3-3 [226 kB] Get: 179 http://deb.debian.org/debian bookworm/main arm64 liblcms2-2 arm64 2.14-2 [143 kB] Get: 180 http://deb.debian.org/debian bookworm/main arm64 libjxl0.7 arm64 0.7.0-10 [643 kB] Get: 181 http://deb.debian.org/debian bookworm/main arm64 libdeflate0 arm64 1.14-1 [54.3 kB] Get: 182 http://deb.debian.org/debian bookworm/main arm64 liblerc4 arm64 4.0.0+ds-2 [138 kB] Get: 183 http://deb.debian.org/debian bookworm/main arm64 libwebp7 arm64 1.2.4-0.1 [259 kB] Get: 184 http://deb.debian.org/debian bookworm/main arm64 libtiff6 arm64 4.5.0-5 [300 kB] Get: 185 http://deb.debian.org/debian bookworm/main arm64 libwebpmux3 arm64 1.2.4-0.1 [109 kB] Get: 186 http://deb.debian.org/debian bookworm/main arm64 libwmflite-0.2-7 arm64 0.2.12-5 [76.2 kB] Get: 187 http://deb.debian.org/debian bookworm/main arm64 libgraphicsmagick-q16-3 arm64 1.4+really1.3.40-2 [1029 kB] Get: 188 http://deb.debian.org/debian bookworm/main arm64 libgraphicsmagick++-q16-12 arm64 1.4+really1.3.40-2 [106 kB] Get: 189 http://deb.debian.org/debian bookworm/main arm64 libcurl4 arm64 7.88.1-7 [361 kB] Get: 190 http://deb.debian.org/debian bookworm/main arm64 libaec0 arm64 1.0.6-1+b1 [19.9 kB] Get: 191 http://deb.debian.org/debian bookworm/main arm64 libsz2 arm64 1.0.6-1+b1 [7740 B] Get: 192 http://deb.debian.org/debian bookworm/main arm64 libhdf5-103-1 arm64 1.10.8+repack1-1 [1037 kB] Get: 193 http://deb.debian.org/debian bookworm/main arm64 libpcre3 arm64 2:8.39-15 [313 kB] Get: 194 http://deb.debian.org/debian bookworm/main arm64 libasound2-data all 1.2.8-1 [20.5 kB] Get: 195 http://deb.debian.org/debian bookworm/main arm64 libasound2 arm64 1.2.8-1+b1 [327 kB] Get: 196 http://deb.debian.org/debian bookworm/main arm64 libopus0 arm64 1.3.1-3 [176 kB] Get: 197 http://deb.debian.org/debian bookworm/main arm64 libsamplerate0 arm64 0.2.2-3 [945 kB] Get: 198 http://deb.debian.org/debian bookworm/main arm64 libjack-jackd2-0 arm64 1.9.21~dfsg-2 [260 kB] Get: 199 http://deb.debian.org/debian bookworm/main arm64 libportaudio2 arm64 19.6.0-1.2 [61.2 kB] Get: 200 http://deb.debian.org/debian bookworm/main arm64 libqhull-r8.0 arm64 2020.2-5 [230 kB] Get: 201 http://deb.debian.org/debian bookworm/main arm64 libqrupdate1 arm64 1.1.2-4 [30.3 kB] Get: 202 http://deb.debian.org/debian bookworm/main arm64 libqscintilla2-qt5-l10n all 2.13.3+dfsg-3 [103 kB] Get: 203 http://deb.debian.org/debian bookworm/main arm64 libglib2.0-0 arm64 2.74.6-1 [1311 kB] Get: 204 http://deb.debian.org/debian bookworm/main arm64 shared-mime-info arm64 2.2-1 [727 kB] Get: 205 http://deb.debian.org/debian bookworm/main arm64 libdouble-conversion3 arm64 3.2.1-1 [37.6 kB] Get: 206 http://deb.debian.org/debian bookworm/main arm64 libpcre2-16-0 arm64 10.42-1 [216 kB] Get: 207 http://deb.debian.org/debian bookworm/main arm64 libqt5core5a arm64 5.15.8+dfsg-3 [1658 kB] Get: 208 http://deb.debian.org/debian bookworm/main arm64 fontconfig arm64 2.14.1-4 [449 kB] Get: 209 http://deb.debian.org/debian bookworm/main arm64 libwayland-server0 arm64 1.21.0-1 [34.9 kB] Get: 210 http://deb.debian.org/debian bookworm/main arm64 libgbm1 arm64 22.3.6-1+deb12u1 [37.0 kB] Get: 211 http://deb.debian.org/debian bookworm/main arm64 libwayland-client0 arm64 1.21.0-1 [27.6 kB] Get: 212 http://deb.debian.org/debian bookworm/main arm64 libegl-mesa0 arm64 22.3.6-1+deb12u1 [107 kB] Get: 213 http://deb.debian.org/debian bookworm/main arm64 libegl1 arm64 1.6.0-1 [33.1 kB] Get: 214 http://deb.debian.org/debian bookworm/main arm64 libgraphite2-3 arm64 1.3.14-1 [75.6 kB] Get: 215 http://deb.debian.org/debian bookworm/main arm64 libharfbuzz0b arm64 6.0.0+dfsg-3 [1914 kB] Get: 216 http://deb.debian.org/debian bookworm/main arm64 x11-common all 1:7.7+23 [252 kB] Get: 217 http://deb.debian.org/debian bookworm/main arm64 libice6 arm64 2:1.0.10-1 [55.6 kB] Get: 218 http://deb.debian.org/debian bookworm/main arm64 libevdev2 arm64 1.13.0+dfsg-1 [32.0 kB] Get: 219 http://deb.debian.org/debian bookworm/main arm64 libmtdev1 arm64 1.1.6-1 [22.8 kB] Get: 220 http://deb.debian.org/debian bookworm/main arm64 libgudev-1.0-0 arm64 237-2 [14.3 kB] Get: 221 http://deb.debian.org/debian bookworm/main arm64 libwacom-common all 2.6.0-1 [58.4 kB] Get: 222 http://deb.debian.org/debian bookworm/main arm64 libwacom9 arm64 2.6.0-1 [20.7 kB] Get: 223 http://deb.debian.org/debian bookworm/main arm64 libinput-bin arm64 1.22.1-1 [23.0 kB] Get: 224 http://deb.debian.org/debian bookworm/main arm64 libinput10 arm64 1.22.1-1 [112 kB] Get: 225 http://deb.debian.org/debian bookworm/main arm64 libmd4c0 arm64 0.4.8-1 [41.6 kB] Get: 226 http://deb.debian.org/debian bookworm/main arm64 libdbus-1-3 arm64 1.14.6-1 [191 kB] Get: 227 http://deb.debian.org/debian bookworm/main arm64 libqt5dbus5 arm64 5.15.8+dfsg-3 [202 kB] Get: 228 http://deb.debian.org/debian bookworm/main arm64 libqt5network5 arm64 5.15.8+dfsg-3 [647 kB] Get: 229 http://deb.debian.org/debian bookworm/main arm64 libsm6 arm64 2:1.2.3-1 [34.0 kB] Get: 230 http://deb.debian.org/debian bookworm/main arm64 libxcb-icccm4 arm64 0.4.1-1.1 [26.9 kB] Get: 231 http://deb.debian.org/debian bookworm/main arm64 libxcb-util1 arm64 0.4.0-1+b1 [23.2 kB] Get: 232 http://deb.debian.org/debian bookworm/main arm64 libxcb-image0 arm64 0.4.0-2 [22.4 kB] Get: 233 http://deb.debian.org/debian bookworm/main arm64 libxcb-keysyms1 arm64 0.4.0-1+b2 [16.0 kB] Get: 234 http://deb.debian.org/debian bookworm/main arm64 libxcb-render0 arm64 1.15-1 [115 kB] Get: 235 http://deb.debian.org/debian bookworm/main arm64 libxcb-render-util0 arm64 0.3.9-1+b1 [17.5 kB] Get: 236 http://deb.debian.org/debian bookworm/main arm64 libxcb-shape0 arm64 1.15-1 [106 kB] Get: 237 http://deb.debian.org/debian bookworm/main arm64 libxcb-xinerama0 arm64 1.15-1 [105 kB] Get: 238 http://deb.debian.org/debian bookworm/main arm64 libxcb-xinput0 arm64 1.15-1 [130 kB] Get: 239 http://deb.debian.org/debian bookworm/main arm64 libxcb-xkb1 arm64 1.15-1 [128 kB] Get: 240 http://deb.debian.org/debian bookworm/main arm64 xkb-data all 2.35.1-1 [764 kB] Get: 241 http://deb.debian.org/debian bookworm/main arm64 libxkbcommon0 arm64 1.5.0-1 [100 kB] Get: 242 http://deb.debian.org/debian bookworm/main arm64 libxkbcommon-x11-0 arm64 1.5.0-1 [14.6 kB] Get: 243 http://deb.debian.org/debian bookworm/main arm64 libqt5gui5 arm64 5.15.8+dfsg-3 [3071 kB] Get: 244 http://deb.debian.org/debian bookworm/main arm64 libavahi-common-data arm64 0.8-9 [107 kB] Get: 245 http://deb.debian.org/debian bookworm/main arm64 libavahi-common3 arm64 0.8-9 [40.3 kB] Get: 246 http://deb.debian.org/debian bookworm/main arm64 libavahi-client3 arm64 0.8-9 [43.7 kB] Get: 247 http://deb.debian.org/debian bookworm/main arm64 libcups2 arm64 2.4.2-2 [228 kB] Get: 248 http://deb.debian.org/debian bookworm/main arm64 libqt5widgets5 arm64 5.15.8+dfsg-3 [2253 kB] Get: 249 http://deb.debian.org/debian bookworm/main arm64 libqt5printsupport5 arm64 5.15.8+dfsg-3 [194 kB] Get: 250 http://deb.debian.org/debian bookworm/main arm64 libqscintilla2-qt5-15 arm64 2.13.3+dfsg-3 [997 kB] Get: 251 http://deb.debian.org/debian bookworm/main arm64 libqt5sql5 arm64 5.15.8+dfsg-3 [118 kB] Get: 252 http://deb.debian.org/debian bookworm/main arm64 libqt5help5 arm64 5.15.8-2 [143 kB] Get: 253 http://deb.debian.org/debian bookworm/main arm64 libqt5xml5 arm64 5.15.8+dfsg-3 [118 kB] Get: 254 http://deb.debian.org/debian bookworm/main arm64 libogg0 arm64 1.3.5-3 [23.0 kB] Get: 255 http://deb.debian.org/debian bookworm/main arm64 libflac12 arm64 1.4.2+ds-2 [161 kB] Get: 256 http://deb.debian.org/debian bookworm/main arm64 libmp3lame0 arm64 3.100-6 [357 kB] Get: 257 http://deb.debian.org/debian bookworm/main arm64 libmpg123-0 arm64 1.31.2-1 [140 kB] Get: 258 http://deb.debian.org/debian bookworm/main arm64 libvorbis0a arm64 1.3.7-1 [86.2 kB] Get: 259 http://deb.debian.org/debian bookworm/main arm64 libvorbisenc2 arm64 1.3.7-1 [80.4 kB] Get: 260 http://deb.debian.org/debian bookworm/main arm64 libsndfile1 arm64 1.2.0-1 [183 kB] Get: 261 http://deb.debian.org/debian bookworm/main arm64 libspqr2 arm64 1:5.12.0+dfsg-2 [75.1 kB] Get: 262 http://deb.debian.org/debian bookworm/main arm64 libsundials-ida6 arm64 6.4.1+dfsg1-3 [132 kB] Get: 263 http://deb.debian.org/debian bookworm/main arm64 libbtf1 arm64 1:5.12.0+dfsg-2 [25.2 kB] Get: 264 http://deb.debian.org/debian bookworm/main arm64 libklu1 arm64 1:5.12.0+dfsg-2 [77.1 kB] Get: 265 http://deb.debian.org/debian bookworm/main arm64 libfftw3-long3 arm64 3.3.10-1 [529 kB] Get: 266 http://deb.debian.org/debian bookworm/main arm64 libevent-core-2.1-7 arm64 2.1.12-stable-8 [124 kB] Get: 267 http://deb.debian.org/debian bookworm/main arm64 libevent-pthreads-2.1-7 arm64 2.1.12-stable-8 [53.7 kB] Get: 268 http://deb.debian.org/debian bookworm/main arm64 libnl-3-200 arm64 3.7.0-0.2+b1 [60.2 kB] Get: 269 http://deb.debian.org/debian bookworm/main arm64 libnl-route-3-200 arm64 3.7.0-0.2+b1 [168 kB] Get: 270 http://deb.debian.org/debian bookworm/main arm64 libibverbs1 arm64 44.0-2 [56.8 kB] Get: 271 http://deb.debian.org/debian bookworm/main arm64 ibverbs-providers arm64 44.0-2 [306 kB] Get: 272 http://deb.debian.org/debian bookworm/main arm64 librdmacm1 arm64 44.0-2 [64.9 kB] Get: 273 http://deb.debian.org/debian bookworm/main arm64 libfabric1 arm64 1.17.0-3 [476 kB] Get: 274 http://deb.debian.org/debian bookworm/main arm64 libhwloc15 arm64 2.9.0-1 [133 kB] Get: 275 http://deb.debian.org/debian bookworm/main arm64 libmunge2 arm64 0.5.15-2 [18.8 kB] Get: 276 http://deb.debian.org/debian bookworm/main arm64 libpciaccess0 arm64 0.17-2 [50.4 kB] Get: 277 http://deb.debian.org/debian bookworm/main arm64 libxnvctrl0 arm64 525.85.05-1 [13.3 kB] Get: 278 http://deb.debian.org/debian bookworm/main arm64 ocl-icd-libopencl1 arm64 2.3.1-1 [42.1 kB] Get: 279 http://deb.debian.org/debian bookworm/main arm64 libhwloc-plugins arm64 2.9.0-1 [17.2 kB] Get: 280 http://deb.debian.org/debian bookworm/main arm64 libpmix2 arm64 4.2.2-1+b1 [554 kB] Get: 281 http://deb.debian.org/debian bookworm/main arm64 libucx0 arm64 1.13.1-1 [734 kB] Get: 282 http://deb.debian.org/debian bookworm/main arm64 libopenmpi3 arm64 4.1.4-3+b1 [2161 kB] Get: 283 http://deb.debian.org/debian bookworm/main arm64 libfftw3-mpi3 arm64 3.3.10-1 [55.0 kB] Get: 284 http://deb.debian.org/debian bookworm/main arm64 libhdf5-openmpi-103-1 arm64 1.10.8+repack1-1 [1072 kB] Get: 285 http://deb.debian.org/debian bookworm/main arm64 libcombblas1.16.0 arm64 1.6.2-8 [281 kB] Get: 286 http://deb.debian.org/debian bookworm/main arm64 libptscotch-7.0 arm64 7.0.3-1 [610 kB] Get: 287 http://deb.debian.org/debian bookworm/main arm64 libsuperlu-dist8 arm64 8.1.2+dfsg1-1+b1 [512 kB] Get: 288 http://deb.debian.org/debian bookworm/main arm64 libhypre-2.26.0 arm64 2.26.0-3 [1386 kB] Get: 289 http://deb.debian.org/debian bookworm/main arm64 openmpi-common all 4.1.4-3 [167 kB] Get: 290 http://deb.debian.org/debian bookworm/main arm64 openmpi-bin arm64 4.1.4-3+b1 [225 kB] Get: 291 http://deb.debian.org/debian bookworm/main arm64 mpi-default-bin arm64 1.14 [4752 B] Get: 292 http://deb.debian.org/debian bookworm/main arm64 libscalapack-openmpi2.2 arm64 2.2.1-2+b1 [1198 kB] Get: 293 http://deb.debian.org/debian bookworm/main arm64 libmumps-5.5 arm64 5.5.1-1 [1578 kB] Get: 294 http://deb.debian.org/debian bookworm/main arm64 libsuperlu5 arm64 5.3.0+dfsg1-2+b1 [141 kB] Get: 295 http://deb.debian.org/debian bookworm/main arm64 libscotch-7.0 arm64 7.0.3-1 [359 kB] Get: 296 http://deb.debian.org/debian bookworm/main arm64 libtrilinos-kokkos-13.2 arm64 13.2.0-4 [95.1 kB] Get: 297 http://deb.debian.org/debian bookworm/main arm64 libtrilinos-teuchos-13.2 arm64 13.2.0-4 [1095 kB] Get: 298 http://deb.debian.org/debian bookworm/main arm64 libtrilinos-epetra-13.2 arm64 13.2.0-4 [375 kB] Get: 299 http://deb.debian.org/debian bookworm/main arm64 libtrilinos-triutils-13.2 arm64 13.2.0-4 [107 kB] Get: 300 http://deb.debian.org/debian bookworm/main arm64 libtrilinos-epetraext-13.2 arm64 13.2.0-4 [379 kB] Get: 301 http://deb.debian.org/debian bookworm/main arm64 libtrilinos-trilinosss-13.2 arm64 13.2.0-4 [76.6 kB] Get: 302 http://deb.debian.org/debian bookworm/main arm64 libtrilinos-amesos-13.2 arm64 13.2.0-4 [104 kB] Get: 303 http://deb.debian.org/debian bookworm/main arm64 libtrilinos-aztecoo-13.2 arm64 13.2.0-4 [186 kB] Get: 304 http://deb.debian.org/debian bookworm/main arm64 libtrilinos-galeri-13.2 arm64 13.2.0-4 [81.7 kB] Get: 305 http://deb.debian.org/debian bookworm/main arm64 libtrilinos-ifpack-13.2 arm64 13.2.0-4 [419 kB] Get: 306 http://deb.debian.org/debian bookworm/main arm64 libtrilinos-zoltan-13.2 arm64 13.2.0-4 [327 kB] Get: 307 http://deb.debian.org/debian bookworm/main arm64 libtrilinos-ml-13.2 arm64 13.2.0-4 [841 kB] Get: 308 http://deb.debian.org/debian bookworm/main arm64 libumfpack5 arm64 1:5.12.0+dfsg-2 [201 kB] Get: 309 http://deb.debian.org/debian bookworm/main arm64 libyaml-0-2 arm64 0.2.5-1 [50.4 kB] Get: 310 http://deb.debian.org/debian bookworm/main arm64 libpetsc-real3.18 arm64 3.18.5+dfsg1-1 [4848 kB] Get: 311 http://deb.debian.org/debian bookworm/main arm64 libsundials-nvecparallel-petsc6 arm64 6.4.1+dfsg1-3 [55.8 kB] Get: 312 http://deb.debian.org/debian bookworm/main arm64 libsundials-sunmatrix4 arm64 6.4.1+dfsg1-3 [97.4 kB] Get: 313 http://deb.debian.org/debian bookworm/main arm64 libsundials-sunlinsol3 arm64 6.4.1+dfsg1-3 [180 kB] Get: 314 http://deb.debian.org/debian bookworm/main arm64 libtext-unidecode-perl all 1.30-3 [101 kB] Get: 315 http://deb.debian.org/debian bookworm/main arm64 libxml-namespacesupport-perl all 1.12-2 [15.1 kB] Get: 316 http://deb.debian.org/debian bookworm/main arm64 libxml-sax-base-perl all 1.09-3 [20.6 kB] Get: 317 http://deb.debian.org/debian bookworm/main arm64 libxml-sax-perl all 1.02+dfsg-3 [59.4 kB] Get: 318 http://deb.debian.org/debian bookworm/main arm64 libxml-libxml-perl arm64 2.0207+dfsg+really+2.0134-1+b1 [309 kB] Get: 319 http://deb.debian.org/debian bookworm/main arm64 tex-common all 6.18 [32.5 kB] Get: 320 http://deb.debian.org/debian bookworm/main arm64 texinfo arm64 6.8-6+b1 [1808 kB] Get: 321 http://deb.debian.org/debian bookworm/main arm64 octave-common all 7.3.0-2 [6257 kB] Get: 322 http://deb.debian.org/debian bookworm/main arm64 octave arm64 7.3.0-2 [8903 kB] Get: 323 http://deb.debian.org/debian bookworm/main arm64 libncurses6 arm64 6.4-2 [94.0 kB] Get: 324 http://deb.debian.org/debian bookworm/main arm64 libncurses-dev arm64 6.4-2 [335 kB] Get: 325 http://deb.debian.org/debian bookworm/main arm64 libreadline-dev arm64 8.2-1.3 [151 kB] Get: 326 http://deb.debian.org/debian bookworm/main arm64 libhdf5-fortran-102 arm64 1.10.8+repack1-1 [91.1 kB] Get: 327 http://deb.debian.org/debian bookworm/main arm64 libhdf5-hl-100 arm64 1.10.8+repack1-1 [64.0 kB] Get: 328 http://deb.debian.org/debian bookworm/main arm64 libhdf5-hl-fortran-100 arm64 1.10.8+repack1-1 [42.7 kB] Get: 329 http://deb.debian.org/debian bookworm/main arm64 libhdf5-cpp-103-1 arm64 1.10.8+repack1-1 [119 kB] Get: 330 http://deb.debian.org/debian bookworm/main arm64 libhdf5-hl-cpp-100 arm64 1.10.8+repack1-1 [25.4 kB] Get: 331 http://deb.debian.org/debian bookworm/main arm64 zlib1g-dev arm64 1:1.2.13.dfsg-1 [913 kB] Get: 332 http://deb.debian.org/debian bookworm/main arm64 libjpeg62-turbo-dev arm64 1:2.1.5-2 [292 kB] Get: 333 http://deb.debian.org/debian bookworm/main arm64 libjpeg-dev arm64 1:2.1.5-2 [71.8 kB] Get: 334 http://deb.debian.org/debian bookworm/main arm64 libaec-dev arm64 1.0.6-1+b1 [18.7 kB] Get: 335 http://deb.debian.org/debian bookworm/main arm64 libcurl4-openssl-dev arm64 7.88.1-7 [470 kB] Get: 336 http://deb.debian.org/debian bookworm/main arm64 libssl-dev arm64 3.0.8-1 [2296 kB] Get: 337 http://deb.debian.org/debian bookworm/main arm64 hdf5-helpers arm64 1.10.8+repack1-1 [27.9 kB] Get: 338 http://deb.debian.org/debian bookworm/main arm64 libhdf5-dev arm64 1.10.8+repack1-1 [2654 kB] Get: 339 http://deb.debian.org/debian bookworm/main arm64 xorg-sgml-doctools all 1:1.11-1.1 [22.1 kB] Get: 340 http://deb.debian.org/debian bookworm/main arm64 x11proto-dev all 2022.1-1 [599 kB] Get: 341 http://deb.debian.org/debian bookworm/main arm64 libxau-dev arm64 1:1.0.9-1 [23.2 kB] Get: 342 http://deb.debian.org/debian bookworm/main arm64 libxdmcp-dev arm64 1:1.1.2-3 [41.2 kB] Get: 343 http://deb.debian.org/debian bookworm/main arm64 xtrans-dev all 1.4.0-1 [98.7 kB] Get: 344 http://deb.debian.org/debian bookworm/main arm64 libpthread-stubs0-dev arm64 0.4-1 [5336 B] Get: 345 http://deb.debian.org/debian bookworm/main arm64 libxcb1-dev arm64 1.15-1 [182 kB] Get: 346 http://deb.debian.org/debian bookworm/main arm64 libx11-dev arm64 2:1.8.4-2 [817 kB] Get: 347 http://deb.debian.org/debian bookworm/main arm64 libglx-dev arm64 1.6.0-1 [15.3 kB] Get: 348 http://deb.debian.org/debian bookworm/main arm64 libgl-dev arm64 1.6.0-1 [100 kB] Get: 349 http://deb.debian.org/debian bookworm/main arm64 libglvnd-core-dev arm64 1.6.0-1 [12.9 kB] Get: 350 http://deb.debian.org/debian bookworm/main arm64 libegl-dev arm64 1.6.0-1 [19.1 kB] Get: 351 http://deb.debian.org/debian bookworm/main arm64 libgles1 arm64 1.6.0-1 [12.1 kB] Get: 352 http://deb.debian.org/debian bookworm/main arm64 libgles2 arm64 1.6.0-1 [17.5 kB] Get: 353 http://deb.debian.org/debian bookworm/main arm64 libgles-dev arm64 1.6.0-1 [50.4 kB] Get: 354 http://deb.debian.org/debian bookworm/main arm64 libopengl-dev arm64 1.6.0-1 [4932 B] Get: 355 http://deb.debian.org/debian bookworm/main arm64 libglvnd-dev arm64 1.6.0-1 [4696 B] Get: 356 http://deb.debian.org/debian bookworm/main arm64 libgl1-mesa-dev arm64 22.3.6-1+deb12u1 [14.5 kB] Get: 357 http://deb.debian.org/debian bookworm/main arm64 libblas-dev arm64 3.11.0-2 [97.6 kB] Get: 358 http://deb.debian.org/debian bookworm/main arm64 liblapack-dev arm64 3.11.0-2 [3065 kB] Get: 359 http://deb.debian.org/debian bookworm/main arm64 libfftw3-bin arm64 3.3.10-1 [42.9 kB] Get: 360 http://deb.debian.org/debian bookworm/main arm64 libfftw3-dev arm64 3.3.10-1 [1186 kB] Get: 361 http://deb.debian.org/debian bookworm/main arm64 libgfortran-12-dev arm64 12.2.0-14 [396 kB] Get: 362 http://deb.debian.org/debian bookworm/main arm64 gfortran-12 arm64 12.2.0-14 [8646 kB] Get: 363 http://deb.debian.org/debian bookworm/main arm64 gfortran arm64 4:12.2.0-3 [1420 B] Get: 364 http://deb.debian.org/debian bookworm/main arm64 octave-dev arm64 7.3.0-2 [890 kB] Get: 365 http://deb.debian.org/debian bookworm/main arm64 libapt-pkg-perl arm64 0.1.40+b2 [66.1 kB] Get: 366 http://deb.debian.org/debian bookworm/main arm64 libarray-intspan-perl all 2.004-2 [25.7 kB] Get: 367 http://deb.debian.org/debian bookworm/main arm64 libyaml-libyaml-perl arm64 0.86+ds-1 [32.8 kB] Get: 368 http://deb.debian.org/debian bookworm/main arm64 libconfig-model-backend-yaml-perl all 2.134-2 [10.8 kB] Get: 369 http://deb.debian.org/debian bookworm/main arm64 libclone-perl arm64 0.46-1 [13.5 kB] Get: 370 http://deb.debian.org/debian bookworm/main arm64 libdata-compare-perl all 1.27-3 [19.4 kB] Get: 371 http://deb.debian.org/debian bookworm/main arm64 libexporter-lite-perl all 0.09-2 [10.7 kB] Get: 372 http://deb.debian.org/debian bookworm/main arm64 libencode-locale-perl all 1.05-3 [12.9 kB] Get: 373 http://deb.debian.org/debian bookworm/main arm64 libtimedate-perl all 2.3300-2 [39.3 kB] Get: 374 http://deb.debian.org/debian bookworm/main arm64 libhttp-date-perl all 6.05-2 [10.5 kB] Get: 375 http://deb.debian.org/debian bookworm/main arm64 libfile-listing-perl all 6.15-1 [12.6 kB] Get: 376 http://deb.debian.org/debian bookworm/main arm64 libhtml-tagset-perl all 3.20-6 [11.7 kB] Get: 377 http://deb.debian.org/debian bookworm/main arm64 libregexp-ipv6-perl all 0.03-3 [5212 B] Get: 378 http://deb.debian.org/debian bookworm/main arm64 liburi-perl all 5.17-1 [90.4 kB] Get: 379 http://deb.debian.org/debian bookworm/main arm64 libhtml-parser-perl arm64 3.81-1 [98.6 kB] Get: 380 http://deb.debian.org/debian bookworm/main arm64 libhtml-tree-perl all 5.07-3 [211 kB] Get: 381 http://deb.debian.org/debian bookworm/main arm64 libio-html-perl all 1.004-3 [16.2 kB] Get: 382 http://deb.debian.org/debian bookworm/main arm64 liblwp-mediatypes-perl all 6.04-2 [20.2 kB] Get: 383 http://deb.debian.org/debian bookworm/main arm64 libhttp-message-perl all 6.44-1 [81.7 kB] Get: 384 http://deb.debian.org/debian bookworm/main arm64 libhttp-cookies-perl all 6.10-1 [19.6 kB] Get: 385 http://deb.debian.org/debian bookworm/main arm64 libhttp-negotiate-perl all 6.01-2 [13.1 kB] Get: 386 http://deb.debian.org/debian bookworm/main arm64 perl-openssl-defaults arm64 7+b1 [7924 B] Get: 387 http://deb.debian.org/debian bookworm/main arm64 libnet-ssleay-perl arm64 1.92-2+b1 [308 kB] Get: 388 http://deb.debian.org/debian bookworm/main arm64 libio-socket-ssl-perl all 2.081-2 [219 kB] Get: 389 http://deb.debian.org/debian bookworm/main arm64 libnet-http-perl all 6.22-1 [25.3 kB] Get: 390 http://deb.debian.org/debian bookworm/main arm64 liblwp-protocol-https-perl all 6.10-1 [12.2 kB] Get: 391 http://deb.debian.org/debian bookworm/main arm64 libwww-robotrules-perl all 6.02-1 [12.9 kB] Get: 392 http://deb.debian.org/debian bookworm/main arm64 libwww-perl all 6.68-1 [186 kB] Get: 393 http://deb.debian.org/debian bookworm/main arm64 liberror-perl all 0.17029-2 [29.0 kB] Get: 394 http://deb.debian.org/debian bookworm/main arm64 libparse-debcontrol-perl all 2.005-6 [21.6 kB] Get: 395 http://deb.debian.org/debian bookworm/main arm64 libalgorithm-c3-perl all 0.11-2 [10.8 kB] Get: 396 http://deb.debian.org/debian bookworm/main arm64 libclass-c3-perl all 0.35-2 [21.0 kB] Get: 397 http://deb.debian.org/debian bookworm/main arm64 libmro-compat-perl all 0.15-2 [11.8 kB] Get: 398 http://deb.debian.org/debian bookworm/main arm64 libdata-section-perl all 0.200008-1 [13.1 kB] Get: 399 http://deb.debian.org/debian bookworm/main arm64 libtext-template-perl all 1.61-1 [54.4 kB] Get: 400 http://deb.debian.org/debian bookworm/main arm64 libsoftware-license-perl all 0.104002-1 [118 kB] Get: 401 http://deb.debian.org/debian bookworm/main arm64 libsoftware-licensemoreutils-perl all 1.009-1 [22.0 kB] Get: 402 http://deb.debian.org/debian bookworm/main arm64 libsort-versions-perl all 1.62-3 [8928 B] Get: 403 http://deb.debian.org/debian bookworm/main arm64 libtext-reform-perl all 1.20-5 [36.0 kB] Get: 404 http://deb.debian.org/debian bookworm/main arm64 libtext-autoformat-perl all 1.750000-2 [35.2 kB] Get: 405 http://deb.debian.org/debian bookworm/main arm64 libtext-levenshtein-damerau-perl all 0.41-3 [12.3 kB] Get: 406 http://deb.debian.org/debian bookworm/main arm64 libtoml-tiny-perl all 0.15-1 [23.2 kB] Get: 407 http://deb.debian.org/debian bookworm/main arm64 libindirect-perl arm64 0.39-2+b1 [26.6 kB] Get: 408 http://deb.debian.org/debian bookworm/main arm64 libxs-parse-keyword-perl arm64 0.33-1 [57.0 kB] Get: 409 http://deb.debian.org/debian bookworm/main arm64 libxs-parse-sublike-perl arm64 0.16-1+b2 [28.0 kB] Get: 410 http://deb.debian.org/debian bookworm/main arm64 libobject-pad-perl arm64 0.78-1 [113 kB] Get: 411 http://deb.debian.org/debian bookworm/main arm64 libfeature-compat-class-perl all 0.05-1 [11.0 kB] Get: 412 http://deb.debian.org/debian bookworm/main arm64 libsyntax-keyword-try-perl arm64 0.28-1 [28.2 kB] Get: 413 http://deb.debian.org/debian bookworm/main arm64 libfeature-compat-try-perl all 0.05-1 [10.4 kB] Get: 414 http://deb.debian.org/debian bookworm/main arm64 libio-interactive-perl all 1.023-2 [11.0 kB] Get: 415 http://deb.debian.org/debian bookworm/main arm64 liblist-someutils-perl all 0.59-1 [37.1 kB] Get: 416 http://deb.debian.org/debian bookworm/main arm64 liblog-any-perl all 1.713-1 [76.3 kB] Get: 417 http://deb.debian.org/debian bookworm/main arm64 liblog-any-adapter-screen-perl all 0.140-2 [13.3 kB] Get: 418 http://deb.debian.org/debian bookworm/main arm64 libsub-exporter-progressive-perl all 0.001013-3 [7496 B] Get: 419 http://deb.debian.org/debian bookworm/main arm64 libvariable-magic-perl arm64 0.63-1+b1 [42.8 kB] Get: 420 http://deb.debian.org/debian bookworm/main arm64 libb-hooks-endofscope-perl all 0.26-1 [19.6 kB] Get: 421 http://deb.debian.org/debian bookworm/main arm64 libsub-identify-perl arm64 0.14-3 [10.9 kB] Get: 422 http://deb.debian.org/debian bookworm/main arm64 libsub-name-perl arm64 0.26-2+b1 [12.4 kB] Get: 423 http://deb.debian.org/debian bookworm/main arm64 libnamespace-clean-perl all 0.27-2 [17.8 kB] Get: 424 http://deb.debian.org/debian bookworm/main arm64 libpath-iterator-rule-perl all 1.015-2 [41.7 kB] Get: 425 http://deb.debian.org/debian bookworm/main arm64 libpod-parser-perl all 1.65-1 [96.3 kB] Get: 426 http://deb.debian.org/debian bookworm/main arm64 libpod-constants-perl all 0.19-2 [17.3 kB] Get: 427 http://deb.debian.org/debian bookworm/main arm64 libstrictures-perl all 2.000006-1 [18.6 kB] Get: 428 http://deb.debian.org/debian bookworm/main arm64 libset-intspan-perl all 1.19-3 [25.3 kB] Get: 429 http://deb.debian.org/debian bookworm/main arm64 libstring-copyright-perl all 0.003014-1 [23.4 kB] Get: 430 http://deb.debian.org/debian bookworm/main arm64 libstring-escape-perl all 2010.002-3 [18.7 kB] Get: 431 http://deb.debian.org/debian bookworm/main arm64 libregexp-pattern-license-perl all 3.9.4-3 [93.3 kB] Get: 432 http://deb.debian.org/debian bookworm/main arm64 libregexp-pattern-perl all 0.2.14-2 [18.7 kB] Get: 433 http://deb.debian.org/debian bookworm/main arm64 libstring-license-perl all 0.0.2-1 [34.3 kB] Get: 434 http://deb.debian.org/debian bookworm/main arm64 licensecheck all 3.3.5-1 [49.8 kB] Get: 435 http://deb.debian.org/debian bookworm/main arm64 diffstat arm64 1.65-1 [31.2 kB] Get: 436 http://deb.debian.org/debian bookworm/main arm64 libassuan0 arm64 2.5.5-5 [45.9 kB] Get: 437 http://deb.debian.org/debian bookworm/main arm64 gpgconf arm64 2.2.40-1.1 [557 kB] Get: 438 http://deb.debian.org/debian bookworm/main arm64 gpg arm64 2.2.40-1.1 [903 kB] Get: 439 http://deb.debian.org/debian bookworm/main arm64 iso-codes all 4.13.0-1 [2899 kB] Get: 440 http://deb.debian.org/debian bookworm/main arm64 libberkeleydb-perl arm64 0.64-2+b1 [121 kB] Get: 441 http://deb.debian.org/debian bookworm/main arm64 libclass-xsaccessor-perl arm64 1.19-4+b1 [35.3 kB] Get: 442 http://deb.debian.org/debian bookworm/main arm64 libconfig-tiny-perl all 2.28-2 [16.4 kB] Get: 443 http://deb.debian.org/debian bookworm/main arm64 libconst-fast-perl all 0.014-2 [8792 B] Get: 444 http://deb.debian.org/debian bookworm/main arm64 libcpanel-json-xs-perl arm64 4.35-1 [128 kB] Get: 445 http://deb.debian.org/debian bookworm/main arm64 libaliased-perl all 0.34-3 [13.5 kB] Get: 446 http://deb.debian.org/debian bookworm/main arm64 libclass-data-inheritable-perl all 0.08-3 [8588 B] Get: 447 http://deb.debian.org/debian bookworm/main arm64 libdevel-stacktrace-perl all 2.0400-2 [26.8 kB] Get: 448 http://deb.debian.org/debian bookworm/main arm64 libexception-class-perl all 1.45-1 [34.6 kB] Get: 449 http://deb.debian.org/debian bookworm/main arm64 libiterator-perl all 0.03+ds1-2 [18.8 kB] Get: 450 http://deb.debian.org/debian bookworm/main arm64 libiterator-util-perl all 0.02+ds1-2 [14.0 kB] Get: 451 http://deb.debian.org/debian bookworm/main arm64 libdata-dpath-perl all 0.58-2 [43.6 kB] Get: 452 http://deb.debian.org/debian bookworm/main arm64 libnet-domain-tld-perl all 1.75-3 [31.9 kB] Get: 453 http://deb.debian.org/debian bookworm/main arm64 libdata-validate-domain-perl all 0.10-1.1 [11.1 kB] Get: 454 http://deb.debian.org/debian bookworm/main arm64 libnet-ipv6addr-perl all 1.02-1 [21.7 kB] Get: 455 http://deb.debian.org/debian bookworm/main arm64 libnet-netmask-perl all 2.0002-2 [28.6 kB] Get: 456 http://deb.debian.org/debian bookworm/main arm64 libnetaddr-ip-perl arm64 4.079+dfsg-2+b1 [98.8 kB] Get: 457 http://deb.debian.org/debian bookworm/main arm64 libdata-validate-ip-perl all 0.31-1 [20.6 kB] Get: 458 http://deb.debian.org/debian bookworm/main arm64 libdata-validate-uri-perl all 0.07-2 [11.2 kB] Get: 459 http://deb.debian.org/debian bookworm/main arm64 libdevel-size-perl arm64 0.83-2+b1 [24.2 kB] Get: 460 http://deb.debian.org/debian bookworm/main arm64 libemail-address-xs-perl arm64 1.05-1+b1 [28.3 kB] Get: 461 http://deb.debian.org/debian bookworm/main arm64 libipc-system-simple-perl all 1.30-2 [26.8 kB] Get: 462 http://deb.debian.org/debian bookworm/main arm64 libfile-basedir-perl all 0.09-2 [15.1 kB] Get: 463 http://deb.debian.org/debian bookworm/main arm64 libio-string-perl all 1.08-4 [12.1 kB] Get: 464 http://deb.debian.org/debian bookworm/main arm64 libfont-ttf-perl all 1.06-2 [318 kB] Get: 465 http://deb.debian.org/debian bookworm/main arm64 libhtml-html5-entities-perl all 0.004-3 [21.0 kB] Get: 466 http://deb.debian.org/debian bookworm/main arm64 libhtml-tokeparser-simple-perl all 3.16-4 [39.1 kB] Get: 467 http://deb.debian.org/debian bookworm/main arm64 libipc-run3-perl all 0.048-3 [33.2 kB] Get: 468 http://deb.debian.org/debian bookworm/main arm64 libjson-maybexs-perl all 1.004004-1 [13.3 kB] Get: 469 http://deb.debian.org/debian bookworm/main arm64 liblist-compare-perl all 0.55-2 [65.7 kB] Get: 470 http://deb.debian.org/debian bookworm/main arm64 liblist-utilsby-perl all 0.12-2 [15.5 kB] Get: 471 http://deb.debian.org/debian bookworm/main arm64 libmldbm-perl all 2.05-4 [16.8 kB] Get: 472 http://deb.debian.org/debian bookworm/main arm64 libclass-method-modifiers-perl all 2.14-1 [18.1 kB] Get: 473 http://deb.debian.org/debian bookworm/main arm64 libimport-into-perl all 1.002005-2 [11.3 kB] Get: 474 http://deb.debian.org/debian bookworm/main arm64 librole-tiny-perl all 2.002004-1 [21.4 kB] Get: 475 http://deb.debian.org/debian bookworm/main arm64 libsub-quote-perl all 2.006008-1 [21.8 kB] Get: 476 http://deb.debian.org/debian bookworm/main arm64 libmoo-perl all 2.005005-1 [58.0 kB] Get: 477 http://deb.debian.org/debian bookworm/main arm64 libmoox-aliases-perl all 0.001006-2 [7156 B] Get: 478 http://deb.debian.org/debian bookworm/main arm64 libperlio-gzip-perl arm64 0.20-1+b1 [17.1 kB] Get: 479 http://deb.debian.org/debian bookworm/main arm64 libperlio-utf8-strict-perl arm64 0.010-1 [11.2 kB] Get: 480 http://deb.debian.org/debian bookworm/main arm64 libproc-processtable-perl arm64 0.634-1+b2 [42.4 kB] Get: 481 http://deb.debian.org/debian bookworm/main arm64 libregexp-wildcards-perl all 1.05-3 [14.1 kB] Get: 482 http://deb.debian.org/debian bookworm/main arm64 libsereal-decoder-perl arm64 5.003+ds-1 [95.6 kB] Get: 483 http://deb.debian.org/debian bookworm/main arm64 libsereal-encoder-perl arm64 5.003+ds-1 [97.1 kB] Get: 484 http://deb.debian.org/debian bookworm/main arm64 libterm-readkey-perl arm64 2.38-2+b1 [24.1 kB] Get: 485 http://deb.debian.org/debian bookworm/main arm64 libtext-levenshteinxs-perl arm64 0.03-5+b1 [8396 B] Get: 486 http://deb.debian.org/debian bookworm/main arm64 libmarkdown2 arm64 2.2.7-2 [34.1 kB] Get: 487 http://deb.debian.org/debian bookworm/main arm64 libtext-markdown-discount-perl arm64 0.16-1 [13.0 kB] Get: 488 http://deb.debian.org/debian bookworm/main arm64 libdata-messagepack-perl arm64 1.02-1+b1 [34.0 kB] Get: 489 http://deb.debian.org/debian bookworm/main arm64 libtext-xslate-perl arm64 3.5.9-1+b2 [196 kB] Get: 490 http://deb.debian.org/debian bookworm/main arm64 libtime-duration-perl all 1.21-2 [13.1 kB] Get: 491 http://deb.debian.org/debian bookworm/main arm64 libtime-moment-perl arm64 0.44-2+b1 [72.2 kB] Get: 492 http://deb.debian.org/debian bookworm/main arm64 libunicode-utf8-perl arm64 0.62-2 [19.9 kB] Get: 493 http://deb.debian.org/debian bookworm/main arm64 libcgi-pm-perl all 4.55-1 [220 kB] Get: 494 http://deb.debian.org/debian bookworm/main arm64 libhtml-form-perl all 6.11-1 [33.1 kB] Get: 495 http://deb.debian.org/debian bookworm/main arm64 libwww-mechanize-perl all 2.16-1 [116 kB] Get: 496 http://deb.debian.org/debian bookworm/main arm64 liblz1 arm64 1.13-5 [38.9 kB] Get: 497 http://deb.debian.org/debian bookworm/main arm64 plzip arm64 1.10-5 [58.0 kB] Get: 498 http://deb.debian.org/debian bookworm/main arm64 liblzo2-2 arm64 2.10-2 [51.8 kB] Get: 499 http://deb.debian.org/debian bookworm/main arm64 lzop arm64 1.04-2 [82.8 kB] Get: 500 http://deb.debian.org/debian bookworm/main arm64 patchutils arm64 0.4.2-1 [73.5 kB] Get: 501 http://deb.debian.org/debian bookworm/main arm64 t1utils arm64 1.41-4 [59.8 kB] Get: 502 http://deb.debian.org/debian bookworm/main arm64 unzip arm64 6.0-28 [157 kB] Get: 503 http://deb.debian.org/debian bookworm/main arm64 lintian all 2.116.3 [1130 kB] Get: 504 http://deb.debian.org/debian bookworm/main arm64 libconfig-model-dpkg-perl all 2.165 [206 kB] Get: 505 http://deb.debian.org/debian bookworm/main arm64 libconvert-binhex-perl all 1.125-3 [27.4 kB] Get: 506 http://deb.debian.org/debian bookworm/main arm64 libnet-smtp-ssl-perl all 1.04-2 [6548 B] Get: 507 http://deb.debian.org/debian bookworm/main arm64 libmailtools-perl all 2.21-2 [95.6 kB] Get: 508 http://deb.debian.org/debian bookworm/main arm64 libmime-tools-perl all 5.510-1 [213 kB] Get: 509 http://deb.debian.org/debian bookworm/main arm64 gnuplot-data all 5.4.4+dfsg1-2 [72.1 kB] Get: 510 http://deb.debian.org/debian bookworm/main arm64 libpixman-1-0 arm64 0.42.2-1 [470 kB] Get: 511 http://deb.debian.org/debian bookworm/main arm64 libcairo2 arm64 1.16.0-7 [527 kB] Get: 512 http://deb.debian.org/debian bookworm/main arm64 libabsl20220623 arm64 20220623.1-1 [363 kB] Get: 513 http://deb.debian.org/debian bookworm/main arm64 libgav1-1 arm64 0.18.0-1+b1 [425 kB] Get: 514 http://deb.debian.org/debian bookworm/main arm64 librav1e0 arm64 0.5.1-6 [552 kB] Get: 515 http://deb.debian.org/debian bookworm/main arm64 libsvtav1enc1 arm64 1.4.1+dfsg-1 [1074 kB] Get: 516 http://deb.debian.org/debian bookworm/main arm64 libyuv0 arm64 0.0~git20230123.b2528b0-1 [122 kB] Get: 517 http://deb.debian.org/debian bookworm/main arm64 libavif15 arm64 0.11.1-1 [88.3 kB] Get: 518 http://deb.debian.org/debian bookworm/main arm64 libxpm4 arm64 1:3.5.12-1.1 [45.2 kB] Get: 519 http://deb.debian.org/debian bookworm/main arm64 libgd3 arm64 2.3.3-9 [113 kB] Get: 520 http://deb.debian.org/debian bookworm/main arm64 liblua5.4-0 arm64 5.4.4-3 [124 kB] Get: 521 http://deb.debian.org/debian bookworm/main arm64 libfribidi0 arm64 1.0.8-2.1 [64.9 kB] Get: 522 http://deb.debian.org/debian bookworm/main arm64 libthai-data all 0.1.29-1 [176 kB] Get: 523 http://deb.debian.org/debian bookworm/main arm64 libdatrie1 arm64 0.2.13-2+b1 [42.6 kB] Get: 524 http://deb.debian.org/debian bookworm/main arm64 libthai0 arm64 0.1.29-1 [56.2 kB] Get: 525 http://deb.debian.org/debian bookworm/main arm64 libpango-1.0-0 arm64 1.50.12+ds-1 [200 kB] Get: 526 http://deb.debian.org/debian bookworm/main arm64 libpangoft2-1.0-0 arm64 1.50.12+ds-1 [44.5 kB] Get: 527 http://deb.debian.org/debian bookworm/main arm64 libpangocairo-1.0-0 arm64 1.50.12+ds-1 [32.0 kB] Get: 528 http://deb.debian.org/debian bookworm/main arm64 gnuplot-nox arm64 5.4.4+dfsg1-2+b2 [774 kB] Get: 529 http://deb.debian.org/debian bookworm/main arm64 dh-octave-autopkgtest all 1.2.7 [9364 B] Get: 530 http://deb.debian.org/debian bookworm/main arm64 dh-octave all 1.2.7 [22.8 kB] Get: 531 http://deb.debian.org/debian bookworm/main arm64 python3-mpmath all 1.2.1-2 [418 kB] Get: 532 http://deb.debian.org/debian bookworm/main arm64 python3-six all 1.16.0-4 [17.5 kB] Get: 533 http://deb.debian.org/debian bookworm/main arm64 python3-sympy all 1.11.1-1 [4358 kB] Fetched 192 MB in 6s (32.9 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.11-minimal:arm64. (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 ... 19616 files and directories currently installed.) Preparing to unpack .../libpython3.11-minimal_3.11.2-6_arm64.deb ... Unpacking libpython3.11-minimal:arm64 (3.11.2-6) ... Selecting previously unselected package libexpat1:arm64. Preparing to unpack .../libexpat1_2.5.0-1_arm64.deb ... Unpacking libexpat1:arm64 (2.5.0-1) ... Selecting previously unselected package python3.11-minimal. Preparing to unpack .../python3.11-minimal_3.11.2-6_arm64.deb ... Unpacking python3.11-minimal (3.11.2-6) ... Setting up libpython3.11-minimal:arm64 (3.11.2-6) ... Setting up libexpat1:arm64 (2.5.0-1) ... Setting up python3.11-minimal (3.11.2-6) ... 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 ... 19932 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.11.2-1+b1_arm64.deb ... Unpacking python3-minimal (3.11.2-1+b1) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_10.0.0_all.deb ... Unpacking media-types (10.0.0) ... Selecting previously unselected package readline-common. Preparing to unpack .../2-readline-common_8.2-1.3_all.deb ... Unpacking readline-common (8.2-1.3) ... Selecting previously unselected package libreadline8:arm64. Preparing to unpack .../3-libreadline8_8.2-1.3_arm64.deb ... Unpacking libreadline8:arm64 (8.2-1.3) ... Selecting previously unselected package libpython3.11-stdlib:arm64. Preparing to unpack .../4-libpython3.11-stdlib_3.11.2-6_arm64.deb ... Unpacking libpython3.11-stdlib:arm64 (3.11.2-6) ... Selecting previously unselected package python3.11. Preparing to unpack .../5-python3.11_3.11.2-6_arm64.deb ... Unpacking python3.11 (3.11.2-6) ... Selecting previously unselected package libpython3-stdlib:arm64. Preparing to unpack .../6-libpython3-stdlib_3.11.2-1+b1_arm64.deb ... Unpacking libpython3-stdlib:arm64 (3.11.2-1+b1) ... Setting up python3-minimal (3.11.2-1+b1) ... 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 ... 20366 files and directories currently installed.) Preparing to unpack .../000-python3_3.11.2-1+b1_arm64.deb ... Unpacking python3 (3.11.2-1+b1) ... Selecting previously unselected package netbase. Preparing to unpack .../001-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../002-sensible-utils_0.0.17+nmu1_all.deb ... Unpacking sensible-utils (0.0.17+nmu1) ... Selecting previously unselected package openssl. Preparing to unpack .../003-openssl_3.0.8-1_arm64.deb ... Unpacking openssl (3.0.8-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../004-ca-certificates_20230311_all.deb ... Unpacking ca-certificates (20230311) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../005-libmagic-mgc_1%3a5.44-3_arm64.deb ... Unpacking libmagic-mgc (1:5.44-3) ... Selecting previously unselected package libmagic1:arm64. Preparing to unpack .../006-libmagic1_1%3a5.44-3_arm64.deb ... Unpacking libmagic1:arm64 (1:5.44-3) ... Selecting previously unselected package file. Preparing to unpack .../007-file_1%3a5.44-3_arm64.deb ... Unpacking file (1:5.44-3) ... Selecting previously unselected package gettext-base. Preparing to unpack .../008-gettext-base_0.21-12_arm64.deb ... Unpacking gettext-base (0.21-12) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../009-libuchardet0_0.0.7-1_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.7-1) ... Selecting previously unselected package groff-base. Preparing to unpack .../010-groff-base_1.22.4-10_arm64.deb ... Unpacking groff-base (1.22.4-10) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../011-bsdextrautils_2.38.1-5+b1_arm64.deb ... Unpacking bsdextrautils (2.38.1-5+b1) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../012-libpipeline1_1.5.7-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.7-1) ... Selecting previously unselected package man-db. Preparing to unpack .../013-man-db_2.11.2-2_arm64.deb ... Unpacking man-db (2.11.2-2) ... Selecting previously unselected package libbsd0:arm64. Preparing to unpack .../014-libbsd0_0.11.7-2_arm64.deb ... Unpacking libbsd0:arm64 (0.11.7-2) ... Selecting previously unselected package libedit2:arm64. Preparing to unpack .../015-libedit2_3.1-20221030-2_arm64.deb ... Unpacking libedit2:arm64 (3.1-20221030-2) ... Selecting previously unselected package libcbor0.8:arm64. Preparing to unpack .../016-libcbor0.8_0.8.0-2+b1_arm64.deb ... Unpacking libcbor0.8:arm64 (0.8.0-2+b1) ... Selecting previously unselected package libfido2-1:arm64. Preparing to unpack .../017-libfido2-1_1.12.0-2+b1_arm64.deb ... Unpacking libfido2-1:arm64 (1.12.0-2+b1) ... Selecting previously unselected package openssh-client. Preparing to unpack .../018-openssh-client_1%3a9.2p1-2_arm64.deb ... Unpacking openssh-client (1:9.2p1-2) ... Selecting previously unselected package ucf. Preparing to unpack .../019-ucf_3.0043+nmu1_all.deb ... Moving old data out of the way Unpacking ucf (3.0043+nmu1) ... Selecting previously unselected package aglfn. Preparing to unpack .../020-aglfn_1.7+git20191031.4036a9c-2_all.deb ... Unpacking aglfn (1.7+git20191031.4036a9c-2) ... Selecting previously unselected package m4. Preparing to unpack .../021-m4_1.4.19-3_arm64.deb ... Unpacking m4 (1.4.19-3) ... Selecting previously unselected package autoconf. Preparing to unpack .../022-autoconf_2.71-3_all.deb ... Unpacking autoconf (2.71-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../023-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../024-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../025-autopoint_0.21-12_all.deb ... Unpacking autopoint (0.21-12) ... Selecting previously unselected package libcapture-tiny-perl. Preparing to unpack .../026-libcapture-tiny-perl_0.48-2_all.deb ... Unpacking libcapture-tiny-perl (0.48-2) ... Selecting previously unselected package libparams-util-perl. Preparing to unpack .../027-libparams-util-perl_1.102-2+b1_arm64.deb ... Unpacking libparams-util-perl (1.102-2+b1) ... Selecting previously unselected package libsub-install-perl. Preparing to unpack .../028-libsub-install-perl_0.929-1_all.deb ... Unpacking libsub-install-perl (0.929-1) ... Selecting previously unselected package libdata-optlist-perl. Preparing to unpack .../029-libdata-optlist-perl_0.113-1_all.deb ... Unpacking libdata-optlist-perl (0.113-1) ... Selecting previously unselected package libb-hooks-op-check-perl:arm64. Preparing to unpack .../030-libb-hooks-op-check-perl_0.22-2+b1_arm64.deb ... Unpacking libb-hooks-op-check-perl:arm64 (0.22-2+b1) ... Selecting previously unselected package libdynaloader-functions-perl. Preparing to unpack .../031-libdynaloader-functions-perl_0.003-3_all.deb ... Unpacking libdynaloader-functions-perl (0.003-3) ... Selecting previously unselected package libdevel-callchecker-perl:arm64. Preparing to unpack .../032-libdevel-callchecker-perl_0.008-2_arm64.deb ... Unpacking libdevel-callchecker-perl:arm64 (0.008-2) ... Selecting previously unselected package libparams-classify-perl:arm64. Preparing to unpack .../033-libparams-classify-perl_0.015-2+b1_arm64.deb ... Unpacking libparams-classify-perl:arm64 (0.015-2+b1) ... Selecting previously unselected package libmodule-runtime-perl. Preparing to unpack .../034-libmodule-runtime-perl_0.016-2_all.deb ... Unpacking libmodule-runtime-perl (0.016-2) ... Selecting previously unselected package libtry-tiny-perl. Preparing to unpack .../035-libtry-tiny-perl_0.31-2_all.deb ... Unpacking libtry-tiny-perl (0.31-2) ... Selecting previously unselected package libmodule-implementation-perl. Preparing to unpack .../036-libmodule-implementation-perl_0.09-2_all.deb ... Unpacking libmodule-implementation-perl (0.09-2) ... Selecting previously unselected package libpackage-stash-perl. Preparing to unpack .../037-libpackage-stash-perl_0.40-1_all.deb ... Unpacking libpackage-stash-perl (0.40-1) ... Selecting previously unselected package libclass-load-perl. Preparing to unpack .../038-libclass-load-perl_0.25-2_all.deb ... Unpacking libclass-load-perl (0.25-2) ... Selecting previously unselected package libio-stringy-perl. Preparing to unpack .../039-libio-stringy-perl_2.111-3_all.deb ... Unpacking libio-stringy-perl (2.111-3) ... Selecting previously unselected package libparams-validate-perl:arm64. Preparing to unpack .../040-libparams-validate-perl_1.31-1_arm64.deb ... Unpacking libparams-validate-perl:arm64 (1.31-1) ... Selecting previously unselected package libsub-exporter-perl. Preparing to unpack .../041-libsub-exporter-perl_0.989-1_all.deb ... Unpacking libsub-exporter-perl (0.989-1) ... Selecting previously unselected package libgetopt-long-descriptive-perl. Preparing to unpack .../042-libgetopt-long-descriptive-perl_0.111-1_all.deb ... Unpacking libgetopt-long-descriptive-perl (0.111-1) ... Selecting previously unselected package libio-tiecombine-perl. Preparing to unpack .../043-libio-tiecombine-perl_1.005-3_all.deb ... Unpacking libio-tiecombine-perl (1.005-3) ... Selecting previously unselected package libmodule-pluggable-perl. Preparing to unpack .../044-libmodule-pluggable-perl_5.2-4_all.deb ... Unpacking libmodule-pluggable-perl (5.2-4) ... Selecting previously unselected package libstring-rewriteprefix-perl. Preparing to unpack .../045-libstring-rewriteprefix-perl_0.009-1_all.deb ... Unpacking libstring-rewriteprefix-perl (0.009-1) ... Selecting previously unselected package libapp-cmd-perl. Preparing to unpack .../046-libapp-cmd-perl_0.335-1_all.deb ... Unpacking libapp-cmd-perl (0.335-1) ... Selecting previously unselected package libboolean-perl. Preparing to unpack .../047-libboolean-perl_0.46-3_all.deb ... Unpacking libboolean-perl (0.46-3) ... Selecting previously unselected package libsub-uplevel-perl. Preparing to unpack .../048-libsub-uplevel-perl_0.2800-3_all.deb ... Unpacking libsub-uplevel-perl (0.2800-3) ... Selecting previously unselected package libtest-exception-perl. Preparing to unpack .../049-libtest-exception-perl_0.43-3_all.deb ... Unpacking libtest-exception-perl (0.43-3) ... Selecting previously unselected package libcarp-assert-more-perl. Preparing to unpack .../050-libcarp-assert-more-perl_2.2.0-1_all.deb ... Unpacking libcarp-assert-more-perl (2.2.0-1) ... Selecting previously unselected package libfile-which-perl. Preparing to unpack .../051-libfile-which-perl_1.27-2_all.deb ... Unpacking libfile-which-perl (1.27-2) ... Selecting previously unselected package libfile-homedir-perl. Preparing to unpack .../052-libfile-homedir-perl_1.006-2_all.deb ... Unpacking libfile-homedir-perl (1.006-2) ... Selecting previously unselected package libclone-choose-perl. Preparing to unpack .../053-libclone-choose-perl_0.010-2_all.deb ... Unpacking libclone-choose-perl (0.010-2) ... Selecting previously unselected package libhash-merge-perl. Preparing to unpack .../054-libhash-merge-perl_0.302-1_all.deb ... Unpacking libhash-merge-perl (0.302-1) ... Selecting previously unselected package libjson-perl. Preparing to unpack .../055-libjson-perl_4.10000-1_all.deb ... Unpacking libjson-perl (4.10000-1) ... Selecting previously unselected package libexporter-tiny-perl. Preparing to unpack .../056-libexporter-tiny-perl_1.006000-1_all.deb ... Unpacking libexporter-tiny-perl (1.006000-1) ... Selecting previously unselected package liblist-moreutils-xs-perl. Preparing to unpack .../057-liblist-moreutils-xs-perl_0.430-3+b1_arm64.deb ... Unpacking liblist-moreutils-xs-perl (0.430-3+b1) ... Selecting previously unselected package liblist-moreutils-perl. Preparing to unpack .../058-liblist-moreutils-perl_0.430-2_all.deb ... Unpacking liblist-moreutils-perl (0.430-2) ... Selecting previously unselected package liblog-log4perl-perl. Preparing to unpack .../059-liblog-log4perl-perl_1.57-1_all.deb ... Unpacking liblog-log4perl-perl (1.57-1) ... Selecting previously unselected package libmouse-perl. Preparing to unpack .../060-libmouse-perl_2.5.10-1+b3_arm64.deb ... Unpacking libmouse-perl (2.5.10-1+b3) ... Selecting previously unselected package libmousex-nativetraits-perl. Preparing to unpack .../061-libmousex-nativetraits-perl_1.09-3_all.deb ... Unpacking libmousex-nativetraits-perl (1.09-3) ... Selecting previously unselected package libmousex-strictconstructor-perl. Preparing to unpack .../062-libmousex-strictconstructor-perl_0.02-3_all.deb ... Unpacking libmousex-strictconstructor-perl (0.02-3) ... Selecting previously unselected package libparse-recdescent-perl. Preparing to unpack .../063-libparse-recdescent-perl_1.967015+dfsg-4_all.deb ... Unpacking libparse-recdescent-perl (1.967015+dfsg-4) ... Selecting previously unselected package libpath-tiny-perl. Preparing to unpack .../064-libpath-tiny-perl_0.144-1_all.deb ... Unpacking libpath-tiny-perl (0.144-1) ... Selecting previously unselected package libpod-pom-perl. Preparing to unpack .../065-libpod-pom-perl_2.01-4_all.deb ... Unpacking libpod-pom-perl (2.01-4) ... Selecting previously unselected package libregexp-common-perl. Preparing to unpack .../066-libregexp-common-perl_2017060201-3_all.deb ... Unpacking libregexp-common-perl (2017060201-3) ... Selecting previously unselected package libyaml-tiny-perl. Preparing to unpack .../067-libyaml-tiny-perl_1.73-1_all.deb ... Unpacking libyaml-tiny-perl (1.73-1) ... Selecting previously unselected package libconfig-model-perl. Preparing to unpack .../068-libconfig-model-perl_2.152-1_all.deb ... Unpacking libconfig-model-perl (2.152-1) ... Selecting previously unselected package libyaml-pp-perl. Preparing to unpack .../069-libyaml-pp-perl_0.035-1_all.deb ... Unpacking libyaml-pp-perl (0.035-1) ... Selecting previously unselected package cme. Preparing to unpack .../070-cme_1.038-1_all.deb ... Unpacking cme (1.038-1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../071-libdebhelper-perl_13.11.4_all.deb ... Unpacking libdebhelper-perl (13.11.4) ... Selecting previously unselected package libtool. Preparing to unpack .../072-libtool_2.4.7-5_all.deb ... Unpacking libtool (2.4.7-5) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../073-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../074-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libsub-override-perl. Preparing to unpack .../075-libsub-override-perl_0.09-4_all.deb ... Unpacking libsub-override-perl (0.09-4) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../076-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../077-dh-strip-nondeterminism_1.13.1-1_all.deb ... Unpacking dh-strip-nondeterminism (1.13.1-1) ... Selecting previously unselected package libelf1:arm64. Preparing to unpack .../078-libelf1_0.188-2.1_arm64.deb ... Unpacking libelf1:arm64 (0.188-2.1) ... Selecting previously unselected package dwz. Preparing to unpack .../079-dwz_0.15-1_arm64.deb ... Unpacking dwz (0.15-1) ... Selecting previously unselected package libicu72:arm64. Preparing to unpack .../080-libicu72_72.1-3_arm64.deb ... Unpacking libicu72:arm64 (72.1-3) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../081-libxml2_2.9.14+dfsg-1.1+b3_arm64.deb ... Unpacking libxml2:arm64 (2.9.14+dfsg-1.1+b3) ... Selecting previously unselected package gettext. Preparing to unpack .../082-gettext_0.21-12_arm64.deb ... Unpacking gettext (0.21-12) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../083-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../084-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../085-debhelper_13.11.4_all.deb ... Unpacking debhelper (13.11.4) ... Selecting previously unselected package libsuitesparseconfig5:arm64. Preparing to unpack .../086-libsuitesparseconfig5_1%3a5.12.0+dfsg-2_arm64.deb ... Unpacking libsuitesparseconfig5:arm64 (1:5.12.0+dfsg-2) ... Selecting previously unselected package libamd2:arm64. Preparing to unpack .../087-libamd2_1%3a5.12.0+dfsg-2_arm64.deb ... Unpacking libamd2:arm64 (1:5.12.0+dfsg-2) ... Selecting previously unselected package libblas3:arm64. Preparing to unpack .../088-libblas3_3.11.0-2_arm64.deb ... Unpacking libblas3:arm64 (3.11.0-2) ... Selecting previously unselected package libgfortran5:arm64. Preparing to unpack .../089-libgfortran5_12.2.0-14_arm64.deb ... Unpacking libgfortran5:arm64 (12.2.0-14) ... Selecting previously unselected package liblapack3:arm64. Preparing to unpack .../090-liblapack3_3.11.0-2_arm64.deb ... Unpacking liblapack3:arm64 (3.11.0-2) ... Selecting previously unselected package libarpack2:arm64. Preparing to unpack .../091-libarpack2_3.8.0-3_arm64.deb ... Unpacking libarpack2:arm64 (3.8.0-3) ... Selecting previously unselected package libccolamd2:arm64. Preparing to unpack .../092-libccolamd2_1%3a5.12.0+dfsg-2_arm64.deb ... Unpacking libccolamd2:arm64 (1:5.12.0+dfsg-2) ... Selecting previously unselected package libcamd2:arm64. Preparing to unpack .../093-libcamd2_1%3a5.12.0+dfsg-2_arm64.deb ... Unpacking libcamd2:arm64 (1:5.12.0+dfsg-2) ... Selecting previously unselected package libcolamd2:arm64. Preparing to unpack .../094-libcolamd2_1%3a5.12.0+dfsg-2_arm64.deb ... Unpacking libcolamd2:arm64 (1:5.12.0+dfsg-2) ... Selecting previously unselected package libmetis5:arm64. Preparing to unpack .../095-libmetis5_5.1.0.dfsg-7_arm64.deb ... Unpacking libmetis5:arm64 (5.1.0.dfsg-7) ... Selecting previously unselected package libcholmod3:arm64. Preparing to unpack .../096-libcholmod3_1%3a5.12.0+dfsg-2_arm64.deb ... Unpacking libcholmod3:arm64 (1:5.12.0+dfsg-2) ... Selecting previously unselected package libbrotli1:arm64. Preparing to unpack .../097-libbrotli1_1.0.9-2+b6_arm64.deb ... Unpacking libbrotli1:arm64 (1.0.9-2+b6) ... Selecting previously unselected package libsasl2-modules-db:arm64. Preparing to unpack .../098-libsasl2-modules-db_2.1.28+dfsg-10_arm64.deb ... Unpacking libsasl2-modules-db:arm64 (2.1.28+dfsg-10) ... Selecting previously unselected package libsasl2-2:arm64. Preparing to unpack .../099-libsasl2-2_2.1.28+dfsg-10_arm64.deb ... Unpacking libsasl2-2:arm64 (2.1.28+dfsg-10) ... Selecting previously unselected package libldap-2.5-0:arm64. Preparing to unpack .../100-libldap-2.5-0_2.5.13+dfsg-5_arm64.deb ... Unpacking libldap-2.5-0:arm64 (2.5.13+dfsg-5) ... Selecting previously unselected package libnghttp2-14:arm64. Preparing to unpack .../101-libnghttp2-14_1.52.0-1_arm64.deb ... Unpacking libnghttp2-14:arm64 (1.52.0-1) ... Selecting previously unselected package libpsl5:arm64. Preparing to unpack .../102-libpsl5_0.21.2-1_arm64.deb ... Unpacking libpsl5:arm64 (0.21.2-1) ... Selecting previously unselected package librtmp1:arm64. Preparing to unpack .../103-librtmp1_2.4+20151223.gitfa8646d.1-2+b2_arm64.deb ... Unpacking librtmp1:arm64 (2.4+20151223.gitfa8646d.1-2+b2) ... Selecting previously unselected package libssh2-1:arm64. Preparing to unpack .../104-libssh2-1_1.10.0-3+b1_arm64.deb ... Unpacking libssh2-1:arm64 (1.10.0-3+b1) ... Selecting previously unselected package libcurl3-gnutls:arm64. Preparing to unpack .../105-libcurl3-gnutls_7.88.1-7_arm64.deb ... Unpacking libcurl3-gnutls:arm64 (7.88.1-7) ... Selecting previously unselected package libcxsparse3:arm64. Preparing to unpack .../106-libcxsparse3_1%3a5.12.0+dfsg-2_arm64.deb ... Unpacking libcxsparse3:arm64 (1:5.12.0+dfsg-2) ... Selecting previously unselected package libfftw3-double3:arm64. Preparing to unpack .../107-libfftw3-double3_3.3.10-1_arm64.deb ... Unpacking libfftw3-double3:arm64 (3.3.10-1) ... Selecting previously unselected package libfftw3-single3:arm64. Preparing to unpack .../108-libfftw3-single3_3.3.10-1_arm64.deb ... Unpacking libfftw3-single3:arm64 (3.3.10-1) ... Selecting previously unselected package libpng16-16:arm64. Preparing to unpack .../109-libpng16-16_1.6.39-2_arm64.deb ... Unpacking libpng16-16:arm64 (1.6.39-2) ... Selecting previously unselected package libfreetype6:arm64. Preparing to unpack .../110-libfreetype6_2.12.1+dfsg-4_arm64.deb ... Unpacking libfreetype6:arm64 (2.12.1+dfsg-4) ... Selecting previously unselected package fonts-dejavu-core. Preparing to unpack .../111-fonts-dejavu-core_2.37-6_all.deb ... Unpacking fonts-dejavu-core (2.37-6) ... Selecting previously unselected package fonts-freefont-otf. Preparing to unpack .../112-fonts-freefont-otf_20120503-10_all.deb ... Unpacking fonts-freefont-otf (20120503-10) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../113-fontconfig-config_2.14.1-4_arm64.deb ... Unpacking fontconfig-config (2.14.1-4) ... Selecting previously unselected package libfontconfig1:arm64. Preparing to unpack .../114-libfontconfig1_2.14.1-4_arm64.deb ... Unpacking libfontconfig1:arm64 (2.14.1-4) ... Selecting previously unselected package libxau6:arm64. Preparing to unpack .../115-libxau6_1%3a1.0.9-1_arm64.deb ... Unpacking libxau6:arm64 (1:1.0.9-1) ... Selecting previously unselected package libxdmcp6:arm64. Preparing to unpack .../116-libxdmcp6_1%3a1.1.2-3_arm64.deb ... Unpacking libxdmcp6:arm64 (1:1.1.2-3) ... Selecting previously unselected package libxcb1:arm64. Preparing to unpack .../117-libxcb1_1.15-1_arm64.deb ... Unpacking libxcb1:arm64 (1.15-1) ... Selecting previously unselected package libx11-data. Preparing to unpack .../118-libx11-data_2%3a1.8.4-2_all.deb ... Unpacking libx11-data (2:1.8.4-2) ... Selecting previously unselected package libx11-6:arm64. Preparing to unpack .../119-libx11-6_2%3a1.8.4-2_arm64.deb ... Unpacking libx11-6:arm64 (2:1.8.4-2) ... Selecting previously unselected package libxfixes3:arm64. Preparing to unpack .../120-libxfixes3_1%3a6.0.0-2_arm64.deb ... Unpacking libxfixes3:arm64 (1:6.0.0-2) ... Selecting previously unselected package libxrender1:arm64. Preparing to unpack .../121-libxrender1_1%3a0.9.10-1.1_arm64.deb ... Unpacking libxrender1:arm64 (1:0.9.10-1.1) ... Selecting previously unselected package libxcursor1:arm64. Preparing to unpack .../122-libxcursor1_1%3a1.2.1-1_arm64.deb ... Unpacking libxcursor1:arm64 (1:1.2.1-1) ... Selecting previously unselected package libxext6:arm64. Preparing to unpack .../123-libxext6_2%3a1.3.4-1+b1_arm64.deb ... Unpacking libxext6:arm64 (2:1.3.4-1+b1) ... Selecting previously unselected package libxft2:arm64. Preparing to unpack .../124-libxft2_2.3.6-1_arm64.deb ... Unpacking libxft2:arm64 (2.3.6-1) ... Selecting previously unselected package libxinerama1:arm64. Preparing to unpack .../125-libxinerama1_2%3a1.1.4-3_arm64.deb ... Unpacking libxinerama1:arm64 (2:1.1.4-3) ... Selecting previously unselected package libfltk1.3:arm64. Preparing to unpack .../126-libfltk1.3_1.3.8-5_arm64.deb ... Unpacking libfltk1.3:arm64 (1.3.8-5) ... Selecting previously unselected package libglvnd0:arm64. Preparing to unpack .../127-libglvnd0_1.6.0-1_arm64.deb ... Unpacking libglvnd0:arm64 (1.6.0-1) ... Selecting previously unselected package libdrm-common. Preparing to unpack .../128-libdrm-common_2.4.114-1_all.deb ... Unpacking libdrm-common (2.4.114-1) ... Selecting previously unselected package libdrm2:arm64. Preparing to unpack .../129-libdrm2_2.4.114-1+b1_arm64.deb ... Unpacking libdrm2:arm64 (2.4.114-1+b1) ... Selecting previously unselected package libglapi-mesa:arm64. Preparing to unpack .../130-libglapi-mesa_22.3.6-1+deb12u1_arm64.deb ... Unpacking libglapi-mesa:arm64 (22.3.6-1+deb12u1) ... Selecting previously unselected package libx11-xcb1:arm64. Preparing to unpack .../131-libx11-xcb1_2%3a1.8.4-2_arm64.deb ... Unpacking libx11-xcb1:arm64 (2:1.8.4-2) ... Selecting previously unselected package libxcb-dri2-0:arm64. Preparing to unpack .../132-libxcb-dri2-0_1.15-1_arm64.deb ... Unpacking libxcb-dri2-0:arm64 (1.15-1) ... Selecting previously unselected package libxcb-dri3-0:arm64. Preparing to unpack .../133-libxcb-dri3-0_1.15-1_arm64.deb ... Unpacking libxcb-dri3-0:arm64 (1.15-1) ... Selecting previously unselected package libxcb-glx0:arm64. Preparing to unpack .../134-libxcb-glx0_1.15-1_arm64.deb ... Unpacking libxcb-glx0:arm64 (1.15-1) ... Selecting previously unselected package libxcb-present0:arm64. Preparing to unpack .../135-libxcb-present0_1.15-1_arm64.deb ... Unpacking libxcb-present0:arm64 (1.15-1) ... Selecting previously unselected package libxcb-randr0:arm64. Preparing to unpack .../136-libxcb-randr0_1.15-1_arm64.deb ... Unpacking libxcb-randr0:arm64 (1.15-1) ... Selecting previously unselected package libxcb-shm0:arm64. Preparing to unpack .../137-libxcb-shm0_1.15-1_arm64.deb ... Unpacking libxcb-shm0:arm64 (1.15-1) ... Selecting previously unselected package libxcb-sync1:arm64. Preparing to unpack .../138-libxcb-sync1_1.15-1_arm64.deb ... Unpacking libxcb-sync1:arm64 (1.15-1) ... Selecting previously unselected package libxcb-xfixes0:arm64. Preparing to unpack .../139-libxcb-xfixes0_1.15-1_arm64.deb ... Unpacking libxcb-xfixes0:arm64 (1.15-1) ... Selecting previously unselected package libxshmfence1:arm64. Preparing to unpack .../140-libxshmfence1_1.3-1_arm64.deb ... Unpacking libxshmfence1:arm64 (1.3-1) ... Selecting previously unselected package libxxf86vm1:arm64. Preparing to unpack .../141-libxxf86vm1_1%3a1.1.4-1+b2_arm64.deb ... Unpacking libxxf86vm1:arm64 (1:1.1.4-1+b2) ... Selecting previously unselected package libdrm-amdgpu1:arm64. Preparing to unpack .../142-libdrm-amdgpu1_2.4.114-1+b1_arm64.deb ... Unpacking libdrm-amdgpu1:arm64 (2.4.114-1+b1) ... Selecting previously unselected package libdrm-nouveau2:arm64. Preparing to unpack .../143-libdrm-nouveau2_2.4.114-1+b1_arm64.deb ... Unpacking libdrm-nouveau2:arm64 (2.4.114-1+b1) ... Selecting previously unselected package libdrm-radeon1:arm64. Preparing to unpack .../144-libdrm-radeon1_2.4.114-1+b1_arm64.deb ... Unpacking libdrm-radeon1:arm64 (2.4.114-1+b1) ... Selecting previously unselected package libz3-4:arm64. Preparing to unpack .../145-libz3-4_4.8.12-3.1_arm64.deb ... Unpacking libz3-4:arm64 (4.8.12-3.1) ... Selecting previously unselected package libllvm15:arm64. Preparing to unpack .../146-libllvm15_1%3a15.0.6-4+b1_arm64.deb ... Unpacking libllvm15:arm64 (1:15.0.6-4+b1) ... Selecting previously unselected package libsensors-config. Preparing to unpack .../147-libsensors-config_1%3a3.6.0-7.1_all.deb ... Unpacking libsensors-config (1:3.6.0-7.1) ... Selecting previously unselected package libsensors5:arm64. Preparing to unpack .../148-libsensors5_1%3a3.6.0-7.1_arm64.deb ... Unpacking libsensors5:arm64 (1:3.6.0-7.1) ... Selecting previously unselected package libgl1-mesa-dri:arm64. Preparing to unpack .../149-libgl1-mesa-dri_22.3.6-1+deb12u1_arm64.deb ... Unpacking libgl1-mesa-dri:arm64 (22.3.6-1+deb12u1) ... Selecting previously unselected package libglx-mesa0:arm64. Preparing to unpack .../150-libglx-mesa0_22.3.6-1+deb12u1_arm64.deb ... Unpacking libglx-mesa0:arm64 (22.3.6-1+deb12u1) ... Selecting previously unselected package libglx0:arm64. Preparing to unpack .../151-libglx0_1.6.0-1_arm64.deb ... Unpacking libglx0:arm64 (1.6.0-1) ... Selecting previously unselected package libgl1:arm64. Preparing to unpack .../152-libgl1_1.6.0-1_arm64.deb ... Unpacking libgl1:arm64 (1.6.0-1) ... Selecting previously unselected package libfltk-gl1.3:arm64. Preparing to unpack .../153-libfltk-gl1.3_1.3.8-5_arm64.deb ... Unpacking libfltk-gl1.3:arm64 (1.3.8-5) ... Selecting previously unselected package libgl2ps1.4. Preparing to unpack .../154-libgl2ps1.4_1.4.2+dfsg1-2_arm64.deb ... Unpacking libgl2ps1.4 (1.4.2+dfsg1-2) ... Selecting previously unselected package libltdl7:arm64. Preparing to unpack .../155-libltdl7_2.4.7-5_arm64.deb ... Unpacking libltdl7:arm64 (2.4.7-5) ... Selecting previously unselected package libglpk40:arm64. Preparing to unpack .../156-libglpk40_5.0-1_arm64.deb ... Unpacking libglpk40:arm64 (5.0-1) ... Selecting previously unselected package libopengl0:arm64. Preparing to unpack .../157-libopengl0_1.6.0-1_arm64.deb ... Unpacking libopengl0:arm64 (1.6.0-1) ... Selecting previously unselected package libglu1-mesa:arm64. Preparing to unpack .../158-libglu1-mesa_9.0.2-1.1_arm64.deb ... Unpacking libglu1-mesa:arm64 (9.0.2-1.1) ... Selecting previously unselected package libaom3:arm64. Preparing to unpack .../159-libaom3_3.6.0-1_arm64.deb ... Unpacking libaom3:arm64 (3.6.0-1) ... Selecting previously unselected package libdav1d6:arm64. Preparing to unpack .../160-libdav1d6_1.0.0-2_arm64.deb ... Unpacking libdav1d6:arm64 (1.0.0-2) ... Selecting previously unselected package libde265-0:arm64. Preparing to unpack .../161-libde265-0_1.0.11-1_arm64.deb ... Unpacking libde265-0:arm64 (1.0.11-1) ... Selecting previously unselected package libnuma1:arm64. Preparing to unpack .../162-libnuma1_2.0.16-1_arm64.deb ... Unpacking libnuma1:arm64 (2.0.16-1) ... Selecting previously unselected package libx265-199:arm64. Preparing to unpack .../163-libx265-199_3.5-2+b1_arm64.deb ... Unpacking libx265-199:arm64 (3.5-2+b1) ... Selecting previously unselected package libheif1:arm64. Preparing to unpack .../164-libheif1_1.15.1-1_arm64.deb ... Unpacking libheif1:arm64 (1.15.1-1) ... Selecting previously unselected package libjbig0:arm64. Preparing to unpack .../165-libjbig0_2.1-6.1_arm64.deb ... Unpacking libjbig0:arm64 (2.1-6.1) ... Selecting previously unselected package libjpeg62-turbo:arm64. Preparing to unpack .../166-libjpeg62-turbo_1%3a2.1.5-2_arm64.deb ... Unpacking libjpeg62-turbo:arm64 (1:2.1.5-2) ... Selecting previously unselected package libhwy1:arm64. Preparing to unpack .../167-libhwy1_1.0.3-3_arm64.deb ... Unpacking libhwy1:arm64 (1.0.3-3) ... Selecting previously unselected package liblcms2-2:arm64. Preparing to unpack .../168-liblcms2-2_2.14-2_arm64.deb ... Unpacking liblcms2-2:arm64 (2.14-2) ... Selecting previously unselected package libjxl0.7:arm64. Preparing to unpack .../169-libjxl0.7_0.7.0-10_arm64.deb ... Unpacking libjxl0.7:arm64 (0.7.0-10) ... Selecting previously unselected package libdeflate0:arm64. Preparing to unpack .../170-libdeflate0_1.14-1_arm64.deb ... Unpacking libdeflate0:arm64 (1.14-1) ... Selecting previously unselected package liblerc4:arm64. Preparing to unpack .../171-liblerc4_4.0.0+ds-2_arm64.deb ... Unpacking liblerc4:arm64 (4.0.0+ds-2) ... Selecting previously unselected package libwebp7:arm64. Preparing to unpack .../172-libwebp7_1.2.4-0.1_arm64.deb ... Unpacking libwebp7:arm64 (1.2.4-0.1) ... Selecting previously unselected package libtiff6:arm64. Preparing to unpack .../173-libtiff6_4.5.0-5_arm64.deb ... Unpacking libtiff6:arm64 (4.5.0-5) ... Selecting previously unselected package libwebpmux3:arm64. Preparing to unpack .../174-libwebpmux3_1.2.4-0.1_arm64.deb ... Unpacking libwebpmux3:arm64 (1.2.4-0.1) ... Selecting previously unselected package libwmflite-0.2-7:arm64. Preparing to unpack .../175-libwmflite-0.2-7_0.2.12-5_arm64.deb ... Unpacking libwmflite-0.2-7:arm64 (0.2.12-5) ... Selecting previously unselected package libgraphicsmagick-q16-3. Preparing to unpack .../176-libgraphicsmagick-q16-3_1.4+really1.3.40-2_arm64.deb ... Unpacking libgraphicsmagick-q16-3 (1.4+really1.3.40-2) ... Selecting previously unselected package libgraphicsmagick++-q16-12. Preparing to unpack .../177-libgraphicsmagick++-q16-12_1.4+really1.3.40-2_arm64.deb ... Unpacking libgraphicsmagick++-q16-12 (1.4+really1.3.40-2) ... Selecting previously unselected package libcurl4:arm64. Preparing to unpack .../178-libcurl4_7.88.1-7_arm64.deb ... Unpacking libcurl4:arm64 (7.88.1-7) ... Selecting previously unselected package libaec0:arm64. Preparing to unpack .../179-libaec0_1.0.6-1+b1_arm64.deb ... Unpacking libaec0:arm64 (1.0.6-1+b1) ... Selecting previously unselected package libsz2:arm64. Preparing to unpack .../180-libsz2_1.0.6-1+b1_arm64.deb ... Unpacking libsz2:arm64 (1.0.6-1+b1) ... Selecting previously unselected package libhdf5-103-1:arm64. Preparing to unpack .../181-libhdf5-103-1_1.10.8+repack1-1_arm64.deb ... Unpacking libhdf5-103-1:arm64 (1.10.8+repack1-1) ... Selecting previously unselected package libpcre3:arm64. Preparing to unpack .../182-libpcre3_2%3a8.39-15_arm64.deb ... Unpacking libpcre3:arm64 (2:8.39-15) ... Selecting previously unselected package libasound2-data. Preparing to unpack .../183-libasound2-data_1.2.8-1_all.deb ... Unpacking libasound2-data (1.2.8-1) ... Selecting previously unselected package libasound2:arm64. Preparing to unpack .../184-libasound2_1.2.8-1+b1_arm64.deb ... Unpacking libasound2:arm64 (1.2.8-1+b1) ... Selecting previously unselected package libopus0:arm64. Preparing to unpack .../185-libopus0_1.3.1-3_arm64.deb ... Unpacking libopus0:arm64 (1.3.1-3) ... Selecting previously unselected package libsamplerate0:arm64. Preparing to unpack .../186-libsamplerate0_0.2.2-3_arm64.deb ... Unpacking libsamplerate0:arm64 (0.2.2-3) ... Selecting previously unselected package libjack-jackd2-0:arm64. Preparing to unpack .../187-libjack-jackd2-0_1.9.21~dfsg-2_arm64.deb ... Unpacking libjack-jackd2-0:arm64 (1.9.21~dfsg-2) ... Selecting previously unselected package libportaudio2:arm64. Preparing to unpack .../188-libportaudio2_19.6.0-1.2_arm64.deb ... Unpacking libportaudio2:arm64 (19.6.0-1.2) ... Selecting previously unselected package libqhull-r8.0:arm64. Preparing to unpack .../189-libqhull-r8.0_2020.2-5_arm64.deb ... Unpacking libqhull-r8.0:arm64 (2020.2-5) ... Selecting previously unselected package libqrupdate1:arm64. Preparing to unpack .../190-libqrupdate1_1.1.2-4_arm64.deb ... Unpacking libqrupdate1:arm64 (1.1.2-4) ... Selecting previously unselected package libqscintilla2-qt5-l10n. Preparing to unpack .../191-libqscintilla2-qt5-l10n_2.13.3+dfsg-3_all.deb ... Unpacking libqscintilla2-qt5-l10n (2.13.3+dfsg-3) ... Selecting previously unselected package libglib2.0-0:arm64. Preparing to unpack .../192-libglib2.0-0_2.74.6-1_arm64.deb ... Unpacking libglib2.0-0:arm64 (2.74.6-1) ... Selecting previously unselected package shared-mime-info. Preparing to unpack .../193-shared-mime-info_2.2-1_arm64.deb ... Unpacking shared-mime-info (2.2-1) ... Selecting previously unselected package libdouble-conversion3:arm64. Preparing to unpack .../194-libdouble-conversion3_3.2.1-1_arm64.deb ... Unpacking libdouble-conversion3:arm64 (3.2.1-1) ... Selecting previously unselected package libpcre2-16-0:arm64. Preparing to unpack .../195-libpcre2-16-0_10.42-1_arm64.deb ... Unpacking libpcre2-16-0:arm64 (10.42-1) ... Selecting previously unselected package libqt5core5a:arm64. Preparing to unpack .../196-libqt5core5a_5.15.8+dfsg-3_arm64.deb ... Unpacking libqt5core5a:arm64 (5.15.8+dfsg-3) ... Selecting previously unselected package fontconfig. Preparing to unpack .../197-fontconfig_2.14.1-4_arm64.deb ... Unpacking fontconfig (2.14.1-4) ... Selecting previously unselected package libwayland-server0:arm64. Preparing to unpack .../198-libwayland-server0_1.21.0-1_arm64.deb ... Unpacking libwayland-server0:arm64 (1.21.0-1) ... Selecting previously unselected package libgbm1:arm64. Preparing to unpack .../199-libgbm1_22.3.6-1+deb12u1_arm64.deb ... Unpacking libgbm1:arm64 (22.3.6-1+deb12u1) ... Selecting previously unselected package libwayland-client0:arm64. Preparing to unpack .../200-libwayland-client0_1.21.0-1_arm64.deb ... Unpacking libwayland-client0:arm64 (1.21.0-1) ... Selecting previously unselected package libegl-mesa0:arm64. Preparing to unpack .../201-libegl-mesa0_22.3.6-1+deb12u1_arm64.deb ... Unpacking libegl-mesa0:arm64 (22.3.6-1+deb12u1) ... Selecting previously unselected package libegl1:arm64. Preparing to unpack .../202-libegl1_1.6.0-1_arm64.deb ... Unpacking libegl1:arm64 (1.6.0-1) ... Selecting previously unselected package libgraphite2-3:arm64. Preparing to unpack .../203-libgraphite2-3_1.3.14-1_arm64.deb ... Unpacking libgraphite2-3:arm64 (1.3.14-1) ... Selecting previously unselected package libharfbuzz0b:arm64. Preparing to unpack .../204-libharfbuzz0b_6.0.0+dfsg-3_arm64.deb ... Unpacking libharfbuzz0b:arm64 (6.0.0+dfsg-3) ... Selecting previously unselected package x11-common. Preparing to unpack .../205-x11-common_1%3a7.7+23_all.deb ... Unpacking x11-common (1:7.7+23) ... Selecting previously unselected package libice6:arm64. Preparing to unpack .../206-libice6_2%3a1.0.10-1_arm64.deb ... Unpacking libice6:arm64 (2:1.0.10-1) ... Selecting previously unselected package libevdev2:arm64. Preparing to unpack .../207-libevdev2_1.13.0+dfsg-1_arm64.deb ... Unpacking libevdev2:arm64 (1.13.0+dfsg-1) ... Selecting previously unselected package libmtdev1:arm64. Preparing to unpack .../208-libmtdev1_1.1.6-1_arm64.deb ... Unpacking libmtdev1:arm64 (1.1.6-1) ... Selecting previously unselected package libgudev-1.0-0:arm64. Preparing to unpack .../209-libgudev-1.0-0_237-2_arm64.deb ... Unpacking libgudev-1.0-0:arm64 (237-2) ... Selecting previously unselected package libwacom-common. Preparing to unpack .../210-libwacom-common_2.6.0-1_all.deb ... Unpacking libwacom-common (2.6.0-1) ... Selecting previously unselected package libwacom9:arm64. Preparing to unpack .../211-libwacom9_2.6.0-1_arm64.deb ... Unpacking libwacom9:arm64 (2.6.0-1) ... Selecting previously unselected package libinput-bin. Preparing to unpack .../212-libinput-bin_1.22.1-1_arm64.deb ... Unpacking libinput-bin (1.22.1-1) ... Selecting previously unselected package libinput10:arm64. Preparing to unpack .../213-libinput10_1.22.1-1_arm64.deb ... Unpacking libinput10:arm64 (1.22.1-1) ... Selecting previously unselected package libmd4c0:arm64. Preparing to unpack .../214-libmd4c0_0.4.8-1_arm64.deb ... Unpacking libmd4c0:arm64 (0.4.8-1) ... Selecting previously unselected package libdbus-1-3:arm64. Preparing to unpack .../215-libdbus-1-3_1.14.6-1_arm64.deb ... Unpacking libdbus-1-3:arm64 (1.14.6-1) ... Selecting previously unselected package libqt5dbus5:arm64. Preparing to unpack .../216-libqt5dbus5_5.15.8+dfsg-3_arm64.deb ... Unpacking libqt5dbus5:arm64 (5.15.8+dfsg-3) ... Selecting previously unselected package libqt5network5:arm64. Preparing to unpack .../217-libqt5network5_5.15.8+dfsg-3_arm64.deb ... Unpacking libqt5network5:arm64 (5.15.8+dfsg-3) ... Selecting previously unselected package libsm6:arm64. Preparing to unpack .../218-libsm6_2%3a1.2.3-1_arm64.deb ... Unpacking libsm6:arm64 (2:1.2.3-1) ... Selecting previously unselected package libxcb-icccm4:arm64. Preparing to unpack .../219-libxcb-icccm4_0.4.1-1.1_arm64.deb ... Unpacking libxcb-icccm4:arm64 (0.4.1-1.1) ... Selecting previously unselected package libxcb-util1:arm64. Preparing to unpack .../220-libxcb-util1_0.4.0-1+b1_arm64.deb ... Unpacking libxcb-util1:arm64 (0.4.0-1+b1) ... Selecting previously unselected package libxcb-image0:arm64. Preparing to unpack .../221-libxcb-image0_0.4.0-2_arm64.deb ... Unpacking libxcb-image0:arm64 (0.4.0-2) ... Selecting previously unselected package libxcb-keysyms1:arm64. Preparing to unpack .../222-libxcb-keysyms1_0.4.0-1+b2_arm64.deb ... Unpacking libxcb-keysyms1:arm64 (0.4.0-1+b2) ... Selecting previously unselected package libxcb-render0:arm64. Preparing to unpack .../223-libxcb-render0_1.15-1_arm64.deb ... Unpacking libxcb-render0:arm64 (1.15-1) ... Selecting previously unselected package libxcb-render-util0:arm64. Preparing to unpack .../224-libxcb-render-util0_0.3.9-1+b1_arm64.deb ... Unpacking libxcb-render-util0:arm64 (0.3.9-1+b1) ... Selecting previously unselected package libxcb-shape0:arm64. Preparing to unpack .../225-libxcb-shape0_1.15-1_arm64.deb ... Unpacking libxcb-shape0:arm64 (1.15-1) ... Selecting previously unselected package libxcb-xinerama0:arm64. Preparing to unpack .../226-libxcb-xinerama0_1.15-1_arm64.deb ... Unpacking libxcb-xinerama0:arm64 (1.15-1) ... Selecting previously unselected package libxcb-xinput0:arm64. Preparing to unpack .../227-libxcb-xinput0_1.15-1_arm64.deb ... Unpacking libxcb-xinput0:arm64 (1.15-1) ... Selecting previously unselected package libxcb-xkb1:arm64. Preparing to unpack .../228-libxcb-xkb1_1.15-1_arm64.deb ... Unpacking libxcb-xkb1:arm64 (1.15-1) ... Selecting previously unselected package xkb-data. Preparing to unpack .../229-xkb-data_2.35.1-1_all.deb ... Unpacking xkb-data (2.35.1-1) ... Selecting previously unselected package libxkbcommon0:arm64. Preparing to unpack .../230-libxkbcommon0_1.5.0-1_arm64.deb ... Unpacking libxkbcommon0:arm64 (1.5.0-1) ... Selecting previously unselected package libxkbcommon-x11-0:arm64. Preparing to unpack .../231-libxkbcommon-x11-0_1.5.0-1_arm64.deb ... Unpacking libxkbcommon-x11-0:arm64 (1.5.0-1) ... Selecting previously unselected package libqt5gui5:arm64. Preparing to unpack .../232-libqt5gui5_5.15.8+dfsg-3_arm64.deb ... Unpacking libqt5gui5:arm64 (5.15.8+dfsg-3) ... Selecting previously unselected package libavahi-common-data:arm64. Preparing to unpack .../233-libavahi-common-data_0.8-9_arm64.deb ... Unpacking libavahi-common-data:arm64 (0.8-9) ... Selecting previously unselected package libavahi-common3:arm64. Preparing to unpack .../234-libavahi-common3_0.8-9_arm64.deb ... Unpacking libavahi-common3:arm64 (0.8-9) ... Selecting previously unselected package libavahi-client3:arm64. Preparing to unpack .../235-libavahi-client3_0.8-9_arm64.deb ... Unpacking libavahi-client3:arm64 (0.8-9) ... Selecting previously unselected package libcups2:arm64. Preparing to unpack .../236-libcups2_2.4.2-2_arm64.deb ... Unpacking libcups2:arm64 (2.4.2-2) ... Selecting previously unselected package libqt5widgets5:arm64. Preparing to unpack .../237-libqt5widgets5_5.15.8+dfsg-3_arm64.deb ... Unpacking libqt5widgets5:arm64 (5.15.8+dfsg-3) ... Selecting previously unselected package libqt5printsupport5:arm64. Preparing to unpack .../238-libqt5printsupport5_5.15.8+dfsg-3_arm64.deb ... Unpacking libqt5printsupport5:arm64 (5.15.8+dfsg-3) ... Selecting previously unselected package libqscintilla2-qt5-15:arm64. Preparing to unpack .../239-libqscintilla2-qt5-15_2.13.3+dfsg-3_arm64.deb ... Unpacking libqscintilla2-qt5-15:arm64 (2.13.3+dfsg-3) ... Selecting previously unselected package libqt5sql5:arm64. Preparing to unpack .../240-libqt5sql5_5.15.8+dfsg-3_arm64.deb ... Unpacking libqt5sql5:arm64 (5.15.8+dfsg-3) ... Selecting previously unselected package libqt5help5:arm64. Preparing to unpack .../241-libqt5help5_5.15.8-2_arm64.deb ... Unpacking libqt5help5:arm64 (5.15.8-2) ... Selecting previously unselected package libqt5xml5:arm64. Preparing to unpack .../242-libqt5xml5_5.15.8+dfsg-3_arm64.deb ... Unpacking libqt5xml5:arm64 (5.15.8+dfsg-3) ... Selecting previously unselected package libogg0:arm64. Preparing to unpack .../243-libogg0_1.3.5-3_arm64.deb ... Unpacking libogg0:arm64 (1.3.5-3) ... Selecting previously unselected package libflac12:arm64. Preparing to unpack .../244-libflac12_1.4.2+ds-2_arm64.deb ... Unpacking libflac12:arm64 (1.4.2+ds-2) ... Selecting previously unselected package libmp3lame0:arm64. Preparing to unpack .../245-libmp3lame0_3.100-6_arm64.deb ... Unpacking libmp3lame0:arm64 (3.100-6) ... Selecting previously unselected package libmpg123-0:arm64. Preparing to unpack .../246-libmpg123-0_1.31.2-1_arm64.deb ... Unpacking libmpg123-0:arm64 (1.31.2-1) ... Selecting previously unselected package libvorbis0a:arm64. Preparing to unpack .../247-libvorbis0a_1.3.7-1_arm64.deb ... Unpacking libvorbis0a:arm64 (1.3.7-1) ... Selecting previously unselected package libvorbisenc2:arm64. Preparing to unpack .../248-libvorbisenc2_1.3.7-1_arm64.deb ... Unpacking libvorbisenc2:arm64 (1.3.7-1) ... Selecting previously unselected package libsndfile1:arm64. Preparing to unpack .../249-libsndfile1_1.2.0-1_arm64.deb ... Unpacking libsndfile1:arm64 (1.2.0-1) ... Selecting previously unselected package libspqr2:arm64. Preparing to unpack .../250-libspqr2_1%3a5.12.0+dfsg-2_arm64.deb ... Unpacking libspqr2:arm64 (1:5.12.0+dfsg-2) ... Selecting previously unselected package libsundials-ida6:arm64. Preparing to unpack .../251-libsundials-ida6_6.4.1+dfsg1-3_arm64.deb ... Unpacking libsundials-ida6:arm64 (6.4.1+dfsg1-3) ... Selecting previously unselected package libbtf1:arm64. Preparing to unpack .../252-libbtf1_1%3a5.12.0+dfsg-2_arm64.deb ... Unpacking libbtf1:arm64 (1:5.12.0+dfsg-2) ... Selecting previously unselected package libklu1:arm64. Preparing to unpack .../253-libklu1_1%3a5.12.0+dfsg-2_arm64.deb ... Unpacking libklu1:arm64 (1:5.12.0+dfsg-2) ... Selecting previously unselected package libfftw3-long3:arm64. Preparing to unpack .../254-libfftw3-long3_3.3.10-1_arm64.deb ... Unpacking libfftw3-long3:arm64 (3.3.10-1) ... Selecting previously unselected package libevent-core-2.1-7:arm64. Preparing to unpack .../255-libevent-core-2.1-7_2.1.12-stable-8_arm64.deb ... Unpacking libevent-core-2.1-7:arm64 (2.1.12-stable-8) ... Selecting previously unselected package libevent-pthreads-2.1-7:arm64. Preparing to unpack .../256-libevent-pthreads-2.1-7_2.1.12-stable-8_arm64.deb ... Unpacking libevent-pthreads-2.1-7:arm64 (2.1.12-stable-8) ... Selecting previously unselected package libnl-3-200:arm64. Preparing to unpack .../257-libnl-3-200_3.7.0-0.2+b1_arm64.deb ... Unpacking libnl-3-200:arm64 (3.7.0-0.2+b1) ... Selecting previously unselected package libnl-route-3-200:arm64. Preparing to unpack .../258-libnl-route-3-200_3.7.0-0.2+b1_arm64.deb ... Unpacking libnl-route-3-200:arm64 (3.7.0-0.2+b1) ... Selecting previously unselected package libibverbs1:arm64. Preparing to unpack .../259-libibverbs1_44.0-2_arm64.deb ... Unpacking libibverbs1:arm64 (44.0-2) ... Selecting previously unselected package ibverbs-providers:arm64. Preparing to unpack .../260-ibverbs-providers_44.0-2_arm64.deb ... Unpacking ibverbs-providers:arm64 (44.0-2) ... Selecting previously unselected package librdmacm1:arm64. Preparing to unpack .../261-librdmacm1_44.0-2_arm64.deb ... Unpacking librdmacm1:arm64 (44.0-2) ... Selecting previously unselected package libfabric1:arm64. Preparing to unpack .../262-libfabric1_1.17.0-3_arm64.deb ... Unpacking libfabric1:arm64 (1.17.0-3) ... Selecting previously unselected package libhwloc15:arm64. Preparing to unpack .../263-libhwloc15_2.9.0-1_arm64.deb ... Unpacking libhwloc15:arm64 (2.9.0-1) ... Selecting previously unselected package libmunge2. Preparing to unpack .../264-libmunge2_0.5.15-2_arm64.deb ... Unpacking libmunge2 (0.5.15-2) ... Selecting previously unselected package libpciaccess0:arm64. Preparing to unpack .../265-libpciaccess0_0.17-2_arm64.deb ... Unpacking libpciaccess0:arm64 (0.17-2) ... Selecting previously unselected package libxnvctrl0:arm64. Preparing to unpack .../266-libxnvctrl0_525.85.05-1_arm64.deb ... Unpacking libxnvctrl0:arm64 (525.85.05-1) ... Selecting previously unselected package ocl-icd-libopencl1:arm64. Preparing to unpack .../267-ocl-icd-libopencl1_2.3.1-1_arm64.deb ... Unpacking ocl-icd-libopencl1:arm64 (2.3.1-1) ... Selecting previously unselected package libhwloc-plugins:arm64. Preparing to unpack .../268-libhwloc-plugins_2.9.0-1_arm64.deb ... Unpacking libhwloc-plugins:arm64 (2.9.0-1) ... Selecting previously unselected package libpmix2:arm64. Preparing to unpack .../269-libpmix2_4.2.2-1+b1_arm64.deb ... Unpacking libpmix2:arm64 (4.2.2-1+b1) ... Selecting previously unselected package libucx0:arm64. Preparing to unpack .../270-libucx0_1.13.1-1_arm64.deb ... Unpacking libucx0:arm64 (1.13.1-1) ... Selecting previously unselected package libopenmpi3:arm64. Preparing to unpack .../271-libopenmpi3_4.1.4-3+b1_arm64.deb ... Unpacking libopenmpi3:arm64 (4.1.4-3+b1) ... Selecting previously unselected package libfftw3-mpi3:arm64. Preparing to unpack .../272-libfftw3-mpi3_3.3.10-1_arm64.deb ... Unpacking libfftw3-mpi3:arm64 (3.3.10-1) ... Selecting previously unselected package libhdf5-openmpi-103-1:arm64. Preparing to unpack .../273-libhdf5-openmpi-103-1_1.10.8+repack1-1_arm64.deb ... Unpacking libhdf5-openmpi-103-1:arm64 (1.10.8+repack1-1) ... Selecting previously unselected package libcombblas1.16.0:arm64. Preparing to unpack .../274-libcombblas1.16.0_1.6.2-8_arm64.deb ... Unpacking libcombblas1.16.0:arm64 (1.6.2-8) ... Selecting previously unselected package libptscotch-7.0:arm64. Preparing to unpack .../275-libptscotch-7.0_7.0.3-1_arm64.deb ... Unpacking libptscotch-7.0:arm64 (7.0.3-1) ... Selecting previously unselected package libsuperlu-dist8:arm64. Preparing to unpack .../276-libsuperlu-dist8_8.1.2+dfsg1-1+b1_arm64.deb ... Unpacking libsuperlu-dist8:arm64 (8.1.2+dfsg1-1+b1) ... Selecting previously unselected package libhypre-2.26.0:arm64. Preparing to unpack .../277-libhypre-2.26.0_2.26.0-3_arm64.deb ... Unpacking libhypre-2.26.0:arm64 (2.26.0-3) ... Selecting previously unselected package openmpi-common. Preparing to unpack .../278-openmpi-common_4.1.4-3_all.deb ... Unpacking openmpi-common (4.1.4-3) ... Selecting previously unselected package openmpi-bin. Preparing to unpack .../279-openmpi-bin_4.1.4-3+b1_arm64.deb ... Unpacking openmpi-bin (4.1.4-3+b1) ... Selecting previously unselected package mpi-default-bin. Preparing to unpack .../280-mpi-default-bin_1.14_arm64.deb ... Unpacking mpi-default-bin (1.14) ... Selecting previously unselected package libscalapack-openmpi2.2:arm64. Preparing to unpack .../281-libscalapack-openmpi2.2_2.2.1-2+b1_arm64.deb ... Unpacking libscalapack-openmpi2.2:arm64 (2.2.1-2+b1) ... Selecting previously unselected package libmumps-5.5:arm64. Preparing to unpack .../282-libmumps-5.5_5.5.1-1_arm64.deb ... Unpacking libmumps-5.5:arm64 (5.5.1-1) ... Selecting previously unselected package libsuperlu5:arm64. Preparing to unpack .../283-libsuperlu5_5.3.0+dfsg1-2+b1_arm64.deb ... Unpacking libsuperlu5:arm64 (5.3.0+dfsg1-2+b1) ... Selecting previously unselected package libscotch-7.0:arm64. Preparing to unpack .../284-libscotch-7.0_7.0.3-1_arm64.deb ... Unpacking libscotch-7.0:arm64 (7.0.3-1) ... Selecting previously unselected package libtrilinos-kokkos-13.2:arm64. Preparing to unpack .../285-libtrilinos-kokkos-13.2_13.2.0-4_arm64.deb ... Unpacking libtrilinos-kokkos-13.2:arm64 (13.2.0-4) ... Selecting previously unselected package libtrilinos-teuchos-13.2:arm64. Preparing to unpack .../286-libtrilinos-teuchos-13.2_13.2.0-4_arm64.deb ... Unpacking libtrilinos-teuchos-13.2:arm64 (13.2.0-4) ... Selecting previously unselected package libtrilinos-epetra-13.2:arm64. Preparing to unpack .../287-libtrilinos-epetra-13.2_13.2.0-4_arm64.deb ... Unpacking libtrilinos-epetra-13.2:arm64 (13.2.0-4) ... Selecting previously unselected package libtrilinos-triutils-13.2:arm64. Preparing to unpack .../288-libtrilinos-triutils-13.2_13.2.0-4_arm64.deb ... Unpacking libtrilinos-triutils-13.2:arm64 (13.2.0-4) ... Selecting previously unselected package libtrilinos-epetraext-13.2:arm64. Preparing to unpack .../289-libtrilinos-epetraext-13.2_13.2.0-4_arm64.deb ... Unpacking libtrilinos-epetraext-13.2:arm64 (13.2.0-4) ... Selecting previously unselected package libtrilinos-trilinosss-13.2:arm64. Preparing to unpack .../290-libtrilinos-trilinosss-13.2_13.2.0-4_arm64.deb ... Unpacking libtrilinos-trilinosss-13.2:arm64 (13.2.0-4) ... Selecting previously unselected package libtrilinos-amesos-13.2:arm64. Preparing to unpack .../291-libtrilinos-amesos-13.2_13.2.0-4_arm64.deb ... Unpacking libtrilinos-amesos-13.2:arm64 (13.2.0-4) ... Selecting previously unselected package libtrilinos-aztecoo-13.2:arm64. Preparing to unpack .../292-libtrilinos-aztecoo-13.2_13.2.0-4_arm64.deb ... Unpacking libtrilinos-aztecoo-13.2:arm64 (13.2.0-4) ... Selecting previously unselected package libtrilinos-galeri-13.2:arm64. Preparing to unpack .../293-libtrilinos-galeri-13.2_13.2.0-4_arm64.deb ... Unpacking libtrilinos-galeri-13.2:arm64 (13.2.0-4) ... Selecting previously unselected package libtrilinos-ifpack-13.2:arm64. Preparing to unpack .../294-libtrilinos-ifpack-13.2_13.2.0-4_arm64.deb ... Unpacking libtrilinos-ifpack-13.2:arm64 (13.2.0-4) ... Selecting previously unselected package libtrilinos-zoltan-13.2:arm64. Preparing to unpack .../295-libtrilinos-zoltan-13.2_13.2.0-4_arm64.deb ... Unpacking libtrilinos-zoltan-13.2:arm64 (13.2.0-4) ... Selecting previously unselected package libtrilinos-ml-13.2:arm64. Preparing to unpack .../296-libtrilinos-ml-13.2_13.2.0-4_arm64.deb ... Unpacking libtrilinos-ml-13.2:arm64 (13.2.0-4) ... Selecting previously unselected package libumfpack5:arm64. Preparing to unpack .../297-libumfpack5_1%3a5.12.0+dfsg-2_arm64.deb ... Unpacking libumfpack5:arm64 (1:5.12.0+dfsg-2) ... Selecting previously unselected package libyaml-0-2:arm64. Preparing to unpack .../298-libyaml-0-2_0.2.5-1_arm64.deb ... Unpacking libyaml-0-2:arm64 (0.2.5-1) ... Selecting previously unselected package libpetsc-real3.18:arm64. Preparing to unpack .../299-libpetsc-real3.18_3.18.5+dfsg1-1_arm64.deb ... Unpacking libpetsc-real3.18:arm64 (3.18.5+dfsg1-1) ... Selecting previously unselected package libsundials-nvecparallel-petsc6:arm64. Preparing to unpack .../300-libsundials-nvecparallel-petsc6_6.4.1+dfsg1-3_arm64.deb ... Unpacking libsundials-nvecparallel-petsc6:arm64 (6.4.1+dfsg1-3) ... Selecting previously unselected package libsundials-sunmatrix4:arm64. Preparing to unpack .../301-libsundials-sunmatrix4_6.4.1+dfsg1-3_arm64.deb ... Unpacking libsundials-sunmatrix4:arm64 (6.4.1+dfsg1-3) ... Selecting previously unselected package libsundials-sunlinsol3:arm64. Preparing to unpack .../302-libsundials-sunlinsol3_6.4.1+dfsg1-3_arm64.deb ... Unpacking libsundials-sunlinsol3:arm64 (6.4.1+dfsg1-3) ... Selecting previously unselected package libtext-unidecode-perl. Preparing to unpack .../303-libtext-unidecode-perl_1.30-3_all.deb ... Unpacking libtext-unidecode-perl (1.30-3) ... Selecting previously unselected package libxml-namespacesupport-perl. Preparing to unpack .../304-libxml-namespacesupport-perl_1.12-2_all.deb ... Unpacking libxml-namespacesupport-perl (1.12-2) ... Selecting previously unselected package libxml-sax-base-perl. Preparing to unpack .../305-libxml-sax-base-perl_1.09-3_all.deb ... Unpacking libxml-sax-base-perl (1.09-3) ... Selecting previously unselected package libxml-sax-perl. Preparing to unpack .../306-libxml-sax-perl_1.02+dfsg-3_all.deb ... Unpacking libxml-sax-perl (1.02+dfsg-3) ... Selecting previously unselected package libxml-libxml-perl. Preparing to unpack .../307-libxml-libxml-perl_2.0207+dfsg+really+2.0134-1+b1_arm64.deb ... Unpacking libxml-libxml-perl (2.0207+dfsg+really+2.0134-1+b1) ... Selecting previously unselected package tex-common. Preparing to unpack .../308-tex-common_6.18_all.deb ... Unpacking tex-common (6.18) ... Selecting previously unselected package texinfo. Preparing to unpack .../309-texinfo_6.8-6+b1_arm64.deb ... Unpacking texinfo (6.8-6+b1) ... Selecting previously unselected package octave-common. Preparing to unpack .../310-octave-common_7.3.0-2_all.deb ... Unpacking octave-common (7.3.0-2) ... Selecting previously unselected package octave. Preparing to unpack .../311-octave_7.3.0-2_arm64.deb ... Unpacking octave (7.3.0-2) ... Selecting previously unselected package libncurses6:arm64. Preparing to unpack .../312-libncurses6_6.4-2_arm64.deb ... Unpacking libncurses6:arm64 (6.4-2) ... Selecting previously unselected package libncurses-dev:arm64. Preparing to unpack .../313-libncurses-dev_6.4-2_arm64.deb ... Unpacking libncurses-dev:arm64 (6.4-2) ... Selecting previously unselected package libreadline-dev:arm64. Preparing to unpack .../314-libreadline-dev_8.2-1.3_arm64.deb ... Unpacking libreadline-dev:arm64 (8.2-1.3) ... Selecting previously unselected package libhdf5-fortran-102:arm64. Preparing to unpack .../315-libhdf5-fortran-102_1.10.8+repack1-1_arm64.deb ... Unpacking libhdf5-fortran-102:arm64 (1.10.8+repack1-1) ... Selecting previously unselected package libhdf5-hl-100:arm64. Preparing to unpack .../316-libhdf5-hl-100_1.10.8+repack1-1_arm64.deb ... Unpacking libhdf5-hl-100:arm64 (1.10.8+repack1-1) ... Selecting previously unselected package libhdf5-hl-fortran-100:arm64. Preparing to unpack .../317-libhdf5-hl-fortran-100_1.10.8+repack1-1_arm64.deb ... Unpacking libhdf5-hl-fortran-100:arm64 (1.10.8+repack1-1) ... Selecting previously unselected package libhdf5-cpp-103-1:arm64. Preparing to unpack .../318-libhdf5-cpp-103-1_1.10.8+repack1-1_arm64.deb ... Unpacking libhdf5-cpp-103-1:arm64 (1.10.8+repack1-1) ... Selecting previously unselected package libhdf5-hl-cpp-100:arm64. Preparing to unpack .../319-libhdf5-hl-cpp-100_1.10.8+repack1-1_arm64.deb ... Unpacking libhdf5-hl-cpp-100:arm64 (1.10.8+repack1-1) ... Selecting previously unselected package zlib1g-dev:arm64. Preparing to unpack .../320-zlib1g-dev_1%3a1.2.13.dfsg-1_arm64.deb ... Unpacking zlib1g-dev:arm64 (1:1.2.13.dfsg-1) ... Selecting previously unselected package libjpeg62-turbo-dev:arm64. Preparing to unpack .../321-libjpeg62-turbo-dev_1%3a2.1.5-2_arm64.deb ... Unpacking libjpeg62-turbo-dev:arm64 (1:2.1.5-2) ... Selecting previously unselected package libjpeg-dev:arm64. Preparing to unpack .../322-libjpeg-dev_1%3a2.1.5-2_arm64.deb ... Unpacking libjpeg-dev:arm64 (1:2.1.5-2) ... Selecting previously unselected package libaec-dev:arm64. Preparing to unpack .../323-libaec-dev_1.0.6-1+b1_arm64.deb ... Unpacking libaec-dev:arm64 (1.0.6-1+b1) ... Selecting previously unselected package libcurl4-openssl-dev:arm64. Preparing to unpack .../324-libcurl4-openssl-dev_7.88.1-7_arm64.deb ... Unpacking libcurl4-openssl-dev:arm64 (7.88.1-7) ... Selecting previously unselected package libssl-dev:arm64. Preparing to unpack .../325-libssl-dev_3.0.8-1_arm64.deb ... Unpacking libssl-dev:arm64 (3.0.8-1) ... Selecting previously unselected package hdf5-helpers. Preparing to unpack .../326-hdf5-helpers_1.10.8+repack1-1_arm64.deb ... Unpacking hdf5-helpers (1.10.8+repack1-1) ... Selecting previously unselected package libhdf5-dev. Preparing to unpack .../327-libhdf5-dev_1.10.8+repack1-1_arm64.deb ... Unpacking libhdf5-dev (1.10.8+repack1-1) ... Selecting previously unselected package xorg-sgml-doctools. Preparing to unpack .../328-xorg-sgml-doctools_1%3a1.11-1.1_all.deb ... Unpacking xorg-sgml-doctools (1:1.11-1.1) ... Selecting previously unselected package x11proto-dev. Preparing to unpack .../329-x11proto-dev_2022.1-1_all.deb ... Unpacking x11proto-dev (2022.1-1) ... Selecting previously unselected package libxau-dev:arm64. Preparing to unpack .../330-libxau-dev_1%3a1.0.9-1_arm64.deb ... Unpacking libxau-dev:arm64 (1:1.0.9-1) ... Selecting previously unselected package libxdmcp-dev:arm64. Preparing to unpack .../331-libxdmcp-dev_1%3a1.1.2-3_arm64.deb ... Unpacking libxdmcp-dev:arm64 (1:1.1.2-3) ... Selecting previously unselected package xtrans-dev. Preparing to unpack .../332-xtrans-dev_1.4.0-1_all.deb ... Unpacking xtrans-dev (1.4.0-1) ... Selecting previously unselected package libpthread-stubs0-dev:arm64. Preparing to unpack .../333-libpthread-stubs0-dev_0.4-1_arm64.deb ... Unpacking libpthread-stubs0-dev:arm64 (0.4-1) ... Selecting previously unselected package libxcb1-dev:arm64. Preparing to unpack .../334-libxcb1-dev_1.15-1_arm64.deb ... Unpacking libxcb1-dev:arm64 (1.15-1) ... Selecting previously unselected package libx11-dev:arm64. Preparing to unpack .../335-libx11-dev_2%3a1.8.4-2_arm64.deb ... Unpacking libx11-dev:arm64 (2:1.8.4-2) ... Selecting previously unselected package libglx-dev:arm64. Preparing to unpack .../336-libglx-dev_1.6.0-1_arm64.deb ... Unpacking libglx-dev:arm64 (1.6.0-1) ... Selecting previously unselected package libgl-dev:arm64. Preparing to unpack .../337-libgl-dev_1.6.0-1_arm64.deb ... Unpacking libgl-dev:arm64 (1.6.0-1) ... Selecting previously unselected package libglvnd-core-dev:arm64. Preparing to unpack .../338-libglvnd-core-dev_1.6.0-1_arm64.deb ... Unpacking libglvnd-core-dev:arm64 (1.6.0-1) ... Selecting previously unselected package libegl-dev:arm64. Preparing to unpack .../339-libegl-dev_1.6.0-1_arm64.deb ... Unpacking libegl-dev:arm64 (1.6.0-1) ... Selecting previously unselected package libgles1:arm64. Preparing to unpack .../340-libgles1_1.6.0-1_arm64.deb ... Unpacking libgles1:arm64 (1.6.0-1) ... Selecting previously unselected package libgles2:arm64. Preparing to unpack .../341-libgles2_1.6.0-1_arm64.deb ... Unpacking libgles2:arm64 (1.6.0-1) ... Selecting previously unselected package libgles-dev:arm64. Preparing to unpack .../342-libgles-dev_1.6.0-1_arm64.deb ... Unpacking libgles-dev:arm64 (1.6.0-1) ... Selecting previously unselected package libopengl-dev:arm64. Preparing to unpack .../343-libopengl-dev_1.6.0-1_arm64.deb ... Unpacking libopengl-dev:arm64 (1.6.0-1) ... Selecting previously unselected package libglvnd-dev:arm64. Preparing to unpack .../344-libglvnd-dev_1.6.0-1_arm64.deb ... Unpacking libglvnd-dev:arm64 (1.6.0-1) ... Selecting previously unselected package libgl1-mesa-dev:arm64. Preparing to unpack .../345-libgl1-mesa-dev_22.3.6-1+deb12u1_arm64.deb ... Unpacking libgl1-mesa-dev:arm64 (22.3.6-1+deb12u1) ... Selecting previously unselected package libblas-dev:arm64. Preparing to unpack .../346-libblas-dev_3.11.0-2_arm64.deb ... Unpacking libblas-dev:arm64 (3.11.0-2) ... Selecting previously unselected package liblapack-dev:arm64. Preparing to unpack .../347-liblapack-dev_3.11.0-2_arm64.deb ... Unpacking liblapack-dev:arm64 (3.11.0-2) ... Selecting previously unselected package libfftw3-bin. Preparing to unpack .../348-libfftw3-bin_3.3.10-1_arm64.deb ... Unpacking libfftw3-bin (3.3.10-1) ... Selecting previously unselected package libfftw3-dev:arm64. Preparing to unpack .../349-libfftw3-dev_3.3.10-1_arm64.deb ... Unpacking libfftw3-dev:arm64 (3.3.10-1) ... Selecting previously unselected package libgfortran-12-dev:arm64. Preparing to unpack .../350-libgfortran-12-dev_12.2.0-14_arm64.deb ... Unpacking libgfortran-12-dev:arm64 (12.2.0-14) ... Selecting previously unselected package gfortran-12. Preparing to unpack .../351-gfortran-12_12.2.0-14_arm64.deb ... Unpacking gfortran-12 (12.2.0-14) ... Selecting previously unselected package gfortran. Preparing to unpack .../352-gfortran_4%3a12.2.0-3_arm64.deb ... Unpacking gfortran (4:12.2.0-3) ... Selecting previously unselected package octave-dev. Preparing to unpack .../353-octave-dev_7.3.0-2_arm64.deb ... Unpacking octave-dev (7.3.0-2) ... Selecting previously unselected package libapt-pkg-perl. Preparing to unpack .../354-libapt-pkg-perl_0.1.40+b2_arm64.deb ... Unpacking libapt-pkg-perl (0.1.40+b2) ... Selecting previously unselected package libarray-intspan-perl. Preparing to unpack .../355-libarray-intspan-perl_2.004-2_all.deb ... Unpacking libarray-intspan-perl (2.004-2) ... Selecting previously unselected package libyaml-libyaml-perl. Preparing to unpack .../356-libyaml-libyaml-perl_0.86+ds-1_arm64.deb ... Unpacking libyaml-libyaml-perl (0.86+ds-1) ... Selecting previously unselected package libconfig-model-backend-yaml-perl. Preparing to unpack .../357-libconfig-model-backend-yaml-perl_2.134-2_all.deb ... Unpacking libconfig-model-backend-yaml-perl (2.134-2) ... Selecting previously unselected package libclone-perl:arm64. Preparing to unpack .../358-libclone-perl_0.46-1_arm64.deb ... Unpacking libclone-perl:arm64 (0.46-1) ... Selecting previously unselected package libdata-compare-perl. Preparing to unpack .../359-libdata-compare-perl_1.27-3_all.deb ... Unpacking libdata-compare-perl (1.27-3) ... Selecting previously unselected package libexporter-lite-perl. Preparing to unpack .../360-libexporter-lite-perl_0.09-2_all.deb ... Unpacking libexporter-lite-perl (0.09-2) ... Selecting previously unselected package libencode-locale-perl. Preparing to unpack .../361-libencode-locale-perl_1.05-3_all.deb ... Unpacking libencode-locale-perl (1.05-3) ... Selecting previously unselected package libtimedate-perl. Preparing to unpack .../362-libtimedate-perl_2.3300-2_all.deb ... Unpacking libtimedate-perl (2.3300-2) ... Selecting previously unselected package libhttp-date-perl. Preparing to unpack .../363-libhttp-date-perl_6.05-2_all.deb ... Unpacking libhttp-date-perl (6.05-2) ... Selecting previously unselected package libfile-listing-perl. Preparing to unpack .../364-libfile-listing-perl_6.15-1_all.deb ... Unpacking libfile-listing-perl (6.15-1) ... Selecting previously unselected package libhtml-tagset-perl. Preparing to unpack .../365-libhtml-tagset-perl_3.20-6_all.deb ... Unpacking libhtml-tagset-perl (3.20-6) ... Selecting previously unselected package libregexp-ipv6-perl. Preparing to unpack .../366-libregexp-ipv6-perl_0.03-3_all.deb ... Unpacking libregexp-ipv6-perl (0.03-3) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../367-liburi-perl_5.17-1_all.deb ... Unpacking liburi-perl (5.17-1) ... Selecting previously unselected package libhtml-parser-perl:arm64. Preparing to unpack .../368-libhtml-parser-perl_3.81-1_arm64.deb ... Unpacking libhtml-parser-perl:arm64 (3.81-1) ... Selecting previously unselected package libhtml-tree-perl. Preparing to unpack .../369-libhtml-tree-perl_5.07-3_all.deb ... Unpacking libhtml-tree-perl (5.07-3) ... Selecting previously unselected package libio-html-perl. Preparing to unpack .../370-libio-html-perl_1.004-3_all.deb ... Unpacking libio-html-perl (1.004-3) ... Selecting previously unselected package liblwp-mediatypes-perl. Preparing to unpack .../371-liblwp-mediatypes-perl_6.04-2_all.deb ... Unpacking liblwp-mediatypes-perl (6.04-2) ... Selecting previously unselected package libhttp-message-perl. Preparing to unpack .../372-libhttp-message-perl_6.44-1_all.deb ... Unpacking libhttp-message-perl (6.44-1) ... Selecting previously unselected package libhttp-cookies-perl. Preparing to unpack .../373-libhttp-cookies-perl_6.10-1_all.deb ... Unpacking libhttp-cookies-perl (6.10-1) ... Selecting previously unselected package libhttp-negotiate-perl. Preparing to unpack .../374-libhttp-negotiate-perl_6.01-2_all.deb ... Unpacking libhttp-negotiate-perl (6.01-2) ... Selecting previously unselected package perl-openssl-defaults:arm64. Preparing to unpack .../375-perl-openssl-defaults_7+b1_arm64.deb ... Unpacking perl-openssl-defaults:arm64 (7+b1) ... Selecting previously unselected package libnet-ssleay-perl:arm64. Preparing to unpack .../376-libnet-ssleay-perl_1.92-2+b1_arm64.deb ... Unpacking libnet-ssleay-perl:arm64 (1.92-2+b1) ... Selecting previously unselected package libio-socket-ssl-perl. Preparing to unpack .../377-libio-socket-ssl-perl_2.081-2_all.deb ... Unpacking libio-socket-ssl-perl (2.081-2) ... Selecting previously unselected package libnet-http-perl. Preparing to unpack .../378-libnet-http-perl_6.22-1_all.deb ... Unpacking libnet-http-perl (6.22-1) ... Selecting previously unselected package liblwp-protocol-https-perl. Preparing to unpack .../379-liblwp-protocol-https-perl_6.10-1_all.deb ... Unpacking liblwp-protocol-https-perl (6.10-1) ... Selecting previously unselected package libwww-robotrules-perl. Preparing to unpack .../380-libwww-robotrules-perl_6.02-1_all.deb ... Unpacking libwww-robotrules-perl (6.02-1) ... Selecting previously unselected package libwww-perl. Preparing to unpack .../381-libwww-perl_6.68-1_all.deb ... Unpacking libwww-perl (6.68-1) ... Selecting previously unselected package liberror-perl. Preparing to unpack .../382-liberror-perl_0.17029-2_all.deb ... Unpacking liberror-perl (0.17029-2) ... Selecting previously unselected package libparse-debcontrol-perl. Preparing to unpack .../383-libparse-debcontrol-perl_2.005-6_all.deb ... Unpacking libparse-debcontrol-perl (2.005-6) ... Selecting previously unselected package libalgorithm-c3-perl. Preparing to unpack .../384-libalgorithm-c3-perl_0.11-2_all.deb ... Unpacking libalgorithm-c3-perl (0.11-2) ... Selecting previously unselected package libclass-c3-perl. Preparing to unpack .../385-libclass-c3-perl_0.35-2_all.deb ... Unpacking libclass-c3-perl (0.35-2) ... Selecting previously unselected package libmro-compat-perl. Preparing to unpack .../386-libmro-compat-perl_0.15-2_all.deb ... Unpacking libmro-compat-perl (0.15-2) ... Selecting previously unselected package libdata-section-perl. Preparing to unpack .../387-libdata-section-perl_0.200008-1_all.deb ... Unpacking libdata-section-perl (0.200008-1) ... Selecting previously unselected package libtext-template-perl. Preparing to unpack .../388-libtext-template-perl_1.61-1_all.deb ... Unpacking libtext-template-perl (1.61-1) ... Selecting previously unselected package libsoftware-license-perl. Preparing to unpack .../389-libsoftware-license-perl_0.104002-1_all.deb ... Unpacking libsoftware-license-perl (0.104002-1) ... Selecting previously unselected package libsoftware-licensemoreutils-perl. Preparing to unpack .../390-libsoftware-licensemoreutils-perl_1.009-1_all.deb ... Unpacking libsoftware-licensemoreutils-perl (1.009-1) ... Selecting previously unselected package libsort-versions-perl. Preparing to unpack .../391-libsort-versions-perl_1.62-3_all.deb ... Unpacking libsort-versions-perl (1.62-3) ... Selecting previously unselected package libtext-reform-perl. Preparing to unpack .../392-libtext-reform-perl_1.20-5_all.deb ... Unpacking libtext-reform-perl (1.20-5) ... Selecting previously unselected package libtext-autoformat-perl. Preparing to unpack .../393-libtext-autoformat-perl_1.750000-2_all.deb ... Unpacking libtext-autoformat-perl (1.750000-2) ... Selecting previously unselected package libtext-levenshtein-damerau-perl. Preparing to unpack .../394-libtext-levenshtein-damerau-perl_0.41-3_all.deb ... Unpacking libtext-levenshtein-damerau-perl (0.41-3) ... Selecting previously unselected package libtoml-tiny-perl. Preparing to unpack .../395-libtoml-tiny-perl_0.15-1_all.deb ... Unpacking libtoml-tiny-perl (0.15-1) ... Selecting previously unselected package libindirect-perl. Preparing to unpack .../396-libindirect-perl_0.39-2+b1_arm64.deb ... Unpacking libindirect-perl (0.39-2+b1) ... Selecting previously unselected package libxs-parse-keyword-perl. Preparing to unpack .../397-libxs-parse-keyword-perl_0.33-1_arm64.deb ... Unpacking libxs-parse-keyword-perl (0.33-1) ... Selecting previously unselected package libxs-parse-sublike-perl:arm64. Preparing to unpack .../398-libxs-parse-sublike-perl_0.16-1+b2_arm64.deb ... Unpacking libxs-parse-sublike-perl:arm64 (0.16-1+b2) ... Selecting previously unselected package libobject-pad-perl. Preparing to unpack .../399-libobject-pad-perl_0.78-1_arm64.deb ... Unpacking libobject-pad-perl (0.78-1) ... Selecting previously unselected package libfeature-compat-class-perl. Preparing to unpack .../400-libfeature-compat-class-perl_0.05-1_all.deb ... Unpacking libfeature-compat-class-perl (0.05-1) ... Selecting previously unselected package libsyntax-keyword-try-perl. Preparing to unpack .../401-libsyntax-keyword-try-perl_0.28-1_arm64.deb ... Unpacking libsyntax-keyword-try-perl (0.28-1) ... Selecting previously unselected package libfeature-compat-try-perl. Preparing to unpack .../402-libfeature-compat-try-perl_0.05-1_all.deb ... Unpacking libfeature-compat-try-perl (0.05-1) ... Selecting previously unselected package libio-interactive-perl. Preparing to unpack .../403-libio-interactive-perl_1.023-2_all.deb ... Unpacking libio-interactive-perl (1.023-2) ... Selecting previously unselected package liblist-someutils-perl. Preparing to unpack .../404-liblist-someutils-perl_0.59-1_all.deb ... Unpacking liblist-someutils-perl (0.59-1) ... Selecting previously unselected package liblog-any-perl. Preparing to unpack .../405-liblog-any-perl_1.713-1_all.deb ... Unpacking liblog-any-perl (1.713-1) ... Selecting previously unselected package liblog-any-adapter-screen-perl. Preparing to unpack .../406-liblog-any-adapter-screen-perl_0.140-2_all.deb ... Unpacking liblog-any-adapter-screen-perl (0.140-2) ... Selecting previously unselected package libsub-exporter-progressive-perl. Preparing to unpack .../407-libsub-exporter-progressive-perl_0.001013-3_all.deb ... Unpacking libsub-exporter-progressive-perl (0.001013-3) ... Selecting previously unselected package libvariable-magic-perl. Preparing to unpack .../408-libvariable-magic-perl_0.63-1+b1_arm64.deb ... Unpacking libvariable-magic-perl (0.63-1+b1) ... Selecting previously unselected package libb-hooks-endofscope-perl. Preparing to unpack .../409-libb-hooks-endofscope-perl_0.26-1_all.deb ... Unpacking libb-hooks-endofscope-perl (0.26-1) ... Selecting previously unselected package libsub-identify-perl. Preparing to unpack .../410-libsub-identify-perl_0.14-3_arm64.deb ... Unpacking libsub-identify-perl (0.14-3) ... Selecting previously unselected package libsub-name-perl:arm64. Preparing to unpack .../411-libsub-name-perl_0.26-2+b1_arm64.deb ... Unpacking libsub-name-perl:arm64 (0.26-2+b1) ... Selecting previously unselected package libnamespace-clean-perl. Preparing to unpack .../412-libnamespace-clean-perl_0.27-2_all.deb ... Unpacking libnamespace-clean-perl (0.27-2) ... Selecting previously unselected package libpath-iterator-rule-perl. Preparing to unpack .../413-libpath-iterator-rule-perl_1.015-2_all.deb ... Unpacking libpath-iterator-rule-perl (1.015-2) ... Selecting previously unselected package libpod-parser-perl. Preparing to unpack .../414-libpod-parser-perl_1.65-1_all.deb ... Adding 'diversion of /usr/bin/podselect to /usr/bin/podselect.bundled by libpod-parser-perl' Adding 'diversion of /usr/share/man/man1/podselect.1.gz to /usr/share/man/man1/podselect.bundled.1.gz by libpod-parser-perl' Unpacking libpod-parser-perl (1.65-1) ... Selecting previously unselected package libpod-constants-perl. Preparing to unpack .../415-libpod-constants-perl_0.19-2_all.deb ... Unpacking libpod-constants-perl (0.19-2) ... Selecting previously unselected package libstrictures-perl. Preparing to unpack .../416-libstrictures-perl_2.000006-1_all.deb ... Unpacking libstrictures-perl (2.000006-1) ... Selecting previously unselected package libset-intspan-perl. Preparing to unpack .../417-libset-intspan-perl_1.19-3_all.deb ... Unpacking libset-intspan-perl (1.19-3) ... Selecting previously unselected package libstring-copyright-perl. Preparing to unpack .../418-libstring-copyright-perl_0.003014-1_all.deb ... Unpacking libstring-copyright-perl (0.003014-1) ... Selecting previously unselected package libstring-escape-perl. Preparing to unpack .../419-libstring-escape-perl_2010.002-3_all.deb ... Unpacking libstring-escape-perl (2010.002-3) ... Selecting previously unselected package libregexp-pattern-license-perl. Preparing to unpack .../420-libregexp-pattern-license-perl_3.9.4-3_all.deb ... Unpacking libregexp-pattern-license-perl (3.9.4-3) ... Selecting previously unselected package libregexp-pattern-perl. Preparing to unpack .../421-libregexp-pattern-perl_0.2.14-2_all.deb ... Unpacking libregexp-pattern-perl (0.2.14-2) ... Selecting previously unselected package libstring-license-perl. Preparing to unpack .../422-libstring-license-perl_0.0.2-1_all.deb ... Unpacking libstring-license-perl (0.0.2-1) ... Selecting previously unselected package licensecheck. Preparing to unpack .../423-licensecheck_3.3.5-1_all.deb ... Unpacking licensecheck (3.3.5-1) ... Selecting previously unselected package diffstat. Preparing to unpack .../424-diffstat_1.65-1_arm64.deb ... Unpacking diffstat (1.65-1) ... Selecting previously unselected package libassuan0:arm64. Preparing to unpack .../425-libassuan0_2.5.5-5_arm64.deb ... Unpacking libassuan0:arm64 (2.5.5-5) ... Selecting previously unselected package gpgconf. Preparing to unpack .../426-gpgconf_2.2.40-1.1_arm64.deb ... Unpacking gpgconf (2.2.40-1.1) ... Selecting previously unselected package gpg. Preparing to unpack .../427-gpg_2.2.40-1.1_arm64.deb ... Unpacking gpg (2.2.40-1.1) ... Selecting previously unselected package iso-codes. Preparing to unpack .../428-iso-codes_4.13.0-1_all.deb ... Unpacking iso-codes (4.13.0-1) ... Selecting previously unselected package libberkeleydb-perl:arm64. Preparing to unpack .../429-libberkeleydb-perl_0.64-2+b1_arm64.deb ... Unpacking libberkeleydb-perl:arm64 (0.64-2+b1) ... Selecting previously unselected package libclass-xsaccessor-perl. Preparing to unpack .../430-libclass-xsaccessor-perl_1.19-4+b1_arm64.deb ... Unpacking libclass-xsaccessor-perl (1.19-4+b1) ... Selecting previously unselected package libconfig-tiny-perl. Preparing to unpack .../431-libconfig-tiny-perl_2.28-2_all.deb ... Unpacking libconfig-tiny-perl (2.28-2) ... Selecting previously unselected package libconst-fast-perl. Preparing to unpack .../432-libconst-fast-perl_0.014-2_all.deb ... Unpacking libconst-fast-perl (0.014-2) ... Selecting previously unselected package libcpanel-json-xs-perl:arm64. Preparing to unpack .../433-libcpanel-json-xs-perl_4.35-1_arm64.deb ... Unpacking libcpanel-json-xs-perl:arm64 (4.35-1) ... Selecting previously unselected package libaliased-perl. Preparing to unpack .../434-libaliased-perl_0.34-3_all.deb ... Unpacking libaliased-perl (0.34-3) ... Selecting previously unselected package libclass-data-inheritable-perl. Preparing to unpack .../435-libclass-data-inheritable-perl_0.08-3_all.deb ... Unpacking libclass-data-inheritable-perl (0.08-3) ... Selecting previously unselected package libdevel-stacktrace-perl. Preparing to unpack .../436-libdevel-stacktrace-perl_2.0400-2_all.deb ... Unpacking libdevel-stacktrace-perl (2.0400-2) ... Selecting previously unselected package libexception-class-perl. Preparing to unpack .../437-libexception-class-perl_1.45-1_all.deb ... Unpacking libexception-class-perl (1.45-1) ... Selecting previously unselected package libiterator-perl. Preparing to unpack .../438-libiterator-perl_0.03+ds1-2_all.deb ... Unpacking libiterator-perl (0.03+ds1-2) ... Selecting previously unselected package libiterator-util-perl. Preparing to unpack .../439-libiterator-util-perl_0.02+ds1-2_all.deb ... Unpacking libiterator-util-perl (0.02+ds1-2) ... Selecting previously unselected package libdata-dpath-perl. Preparing to unpack .../440-libdata-dpath-perl_0.58-2_all.deb ... Unpacking libdata-dpath-perl (0.58-2) ... Selecting previously unselected package libnet-domain-tld-perl. Preparing to unpack .../441-libnet-domain-tld-perl_1.75-3_all.deb ... Unpacking libnet-domain-tld-perl (1.75-3) ... Selecting previously unselected package libdata-validate-domain-perl. Preparing to unpack .../442-libdata-validate-domain-perl_0.10-1.1_all.deb ... Unpacking libdata-validate-domain-perl (0.10-1.1) ... Selecting previously unselected package libnet-ipv6addr-perl. Preparing to unpack .../443-libnet-ipv6addr-perl_1.02-1_all.deb ... Unpacking libnet-ipv6addr-perl (1.02-1) ... Selecting previously unselected package libnet-netmask-perl. Preparing to unpack .../444-libnet-netmask-perl_2.0002-2_all.deb ... Unpacking libnet-netmask-perl (2.0002-2) ... Selecting previously unselected package libnetaddr-ip-perl. Preparing to unpack .../445-libnetaddr-ip-perl_4.079+dfsg-2+b1_arm64.deb ... Unpacking libnetaddr-ip-perl (4.079+dfsg-2+b1) ... Selecting previously unselected package libdata-validate-ip-perl. Preparing to unpack .../446-libdata-validate-ip-perl_0.31-1_all.deb ... Unpacking libdata-validate-ip-perl (0.31-1) ... Selecting previously unselected package libdata-validate-uri-perl. Preparing to unpack .../447-libdata-validate-uri-perl_0.07-2_all.deb ... Unpacking libdata-validate-uri-perl (0.07-2) ... Selecting previously unselected package libdevel-size-perl. Preparing to unpack .../448-libdevel-size-perl_0.83-2+b1_arm64.deb ... Unpacking libdevel-size-perl (0.83-2+b1) ... Selecting previously unselected package libemail-address-xs-perl. Preparing to unpack .../449-libemail-address-xs-perl_1.05-1+b1_arm64.deb ... Unpacking libemail-address-xs-perl (1.05-1+b1) ... Selecting previously unselected package libipc-system-simple-perl. Preparing to unpack .../450-libipc-system-simple-perl_1.30-2_all.deb ... Unpacking libipc-system-simple-perl (1.30-2) ... Selecting previously unselected package libfile-basedir-perl. Preparing to unpack .../451-libfile-basedir-perl_0.09-2_all.deb ... Unpacking libfile-basedir-perl (0.09-2) ... Selecting previously unselected package libio-string-perl. Preparing to unpack .../452-libio-string-perl_1.08-4_all.deb ... Unpacking libio-string-perl (1.08-4) ... Selecting previously unselected package libfont-ttf-perl. Preparing to unpack .../453-libfont-ttf-perl_1.06-2_all.deb ... Unpacking libfont-ttf-perl (1.06-2) ... Selecting previously unselected package libhtml-html5-entities-perl. Preparing to unpack .../454-libhtml-html5-entities-perl_0.004-3_all.deb ... Unpacking libhtml-html5-entities-perl (0.004-3) ... Selecting previously unselected package libhtml-tokeparser-simple-perl. Preparing to unpack .../455-libhtml-tokeparser-simple-perl_3.16-4_all.deb ... Unpacking libhtml-tokeparser-simple-perl (3.16-4) ... Selecting previously unselected package libipc-run3-perl. Preparing to unpack .../456-libipc-run3-perl_0.048-3_all.deb ... Unpacking libipc-run3-perl (0.048-3) ... Selecting previously unselected package libjson-maybexs-perl. Preparing to unpack .../457-libjson-maybexs-perl_1.004004-1_all.deb ... Unpacking libjson-maybexs-perl (1.004004-1) ... Selecting previously unselected package liblist-compare-perl. Preparing to unpack .../458-liblist-compare-perl_0.55-2_all.deb ... Unpacking liblist-compare-perl (0.55-2) ... Selecting previously unselected package liblist-utilsby-perl. Preparing to unpack .../459-liblist-utilsby-perl_0.12-2_all.deb ... Unpacking liblist-utilsby-perl (0.12-2) ... Selecting previously unselected package libmldbm-perl. Preparing to unpack .../460-libmldbm-perl_2.05-4_all.deb ... Unpacking libmldbm-perl (2.05-4) ... Selecting previously unselected package libclass-method-modifiers-perl. Preparing to unpack .../461-libclass-method-modifiers-perl_2.14-1_all.deb ... Unpacking libclass-method-modifiers-perl (2.14-1) ... Selecting previously unselected package libimport-into-perl. Preparing to unpack .../462-libimport-into-perl_1.002005-2_all.deb ... Unpacking libimport-into-perl (1.002005-2) ... Selecting previously unselected package librole-tiny-perl. Preparing to unpack .../463-librole-tiny-perl_2.002004-1_all.deb ... Unpacking librole-tiny-perl (2.002004-1) ... Selecting previously unselected package libsub-quote-perl. Preparing to unpack .../464-libsub-quote-perl_2.006008-1_all.deb ... Unpacking libsub-quote-perl (2.006008-1) ... Selecting previously unselected package libmoo-perl. Preparing to unpack .../465-libmoo-perl_2.005005-1_all.deb ... Unpacking libmoo-perl (2.005005-1) ... Selecting previously unselected package libmoox-aliases-perl. Preparing to unpack .../466-libmoox-aliases-perl_0.001006-2_all.deb ... Unpacking libmoox-aliases-perl (0.001006-2) ... Selecting previously unselected package libperlio-gzip-perl. Preparing to unpack .../467-libperlio-gzip-perl_0.20-1+b1_arm64.deb ... Unpacking libperlio-gzip-perl (0.20-1+b1) ... Selecting previously unselected package libperlio-utf8-strict-perl. Preparing to unpack .../468-libperlio-utf8-strict-perl_0.010-1_arm64.deb ... Unpacking libperlio-utf8-strict-perl (0.010-1) ... Selecting previously unselected package libproc-processtable-perl:arm64. Preparing to unpack .../469-libproc-processtable-perl_0.634-1+b2_arm64.deb ... Unpacking libproc-processtable-perl:arm64 (0.634-1+b2) ... Selecting previously unselected package libregexp-wildcards-perl. Preparing to unpack .../470-libregexp-wildcards-perl_1.05-3_all.deb ... Unpacking libregexp-wildcards-perl (1.05-3) ... Selecting previously unselected package libsereal-decoder-perl. Preparing to unpack .../471-libsereal-decoder-perl_5.003+ds-1_arm64.deb ... Unpacking libsereal-decoder-perl (5.003+ds-1) ... Selecting previously unselected package libsereal-encoder-perl. Preparing to unpack .../472-libsereal-encoder-perl_5.003+ds-1_arm64.deb ... Unpacking libsereal-encoder-perl (5.003+ds-1) ... Selecting previously unselected package libterm-readkey-perl. Preparing to unpack .../473-libterm-readkey-perl_2.38-2+b1_arm64.deb ... Unpacking libterm-readkey-perl (2.38-2+b1) ... Selecting previously unselected package libtext-levenshteinxs-perl. Preparing to unpack .../474-libtext-levenshteinxs-perl_0.03-5+b1_arm64.deb ... Unpacking libtext-levenshteinxs-perl (0.03-5+b1) ... Selecting previously unselected package libmarkdown2:arm64. Preparing to unpack .../475-libmarkdown2_2.2.7-2_arm64.deb ... Unpacking libmarkdown2:arm64 (2.2.7-2) ... Selecting previously unselected package libtext-markdown-discount-perl. Preparing to unpack .../476-libtext-markdown-discount-perl_0.16-1_arm64.deb ... Unpacking libtext-markdown-discount-perl (0.16-1) ... Selecting previously unselected package libdata-messagepack-perl. Preparing to unpack .../477-libdata-messagepack-perl_1.02-1+b1_arm64.deb ... Unpacking libdata-messagepack-perl (1.02-1+b1) ... Selecting previously unselected package libtext-xslate-perl:arm64. Preparing to unpack .../478-libtext-xslate-perl_3.5.9-1+b2_arm64.deb ... Unpacking libtext-xslate-perl:arm64 (3.5.9-1+b2) ... Selecting previously unselected package libtime-duration-perl. Preparing to unpack .../479-libtime-duration-perl_1.21-2_all.deb ... Unpacking libtime-duration-perl (1.21-2) ... Selecting previously unselected package libtime-moment-perl. Preparing to unpack .../480-libtime-moment-perl_0.44-2+b1_arm64.deb ... Unpacking libtime-moment-perl (0.44-2+b1) ... Selecting previously unselected package libunicode-utf8-perl. Preparing to unpack .../481-libunicode-utf8-perl_0.62-2_arm64.deb ... Unpacking libunicode-utf8-perl (0.62-2) ... Selecting previously unselected package libcgi-pm-perl. Preparing to unpack .../482-libcgi-pm-perl_4.55-1_all.deb ... Unpacking libcgi-pm-perl (4.55-1) ... Selecting previously unselected package libhtml-form-perl. Preparing to unpack .../483-libhtml-form-perl_6.11-1_all.deb ... Unpacking libhtml-form-perl (6.11-1) ... Selecting previously unselected package libwww-mechanize-perl. Preparing to unpack .../484-libwww-mechanize-perl_2.16-1_all.deb ... Unpacking libwww-mechanize-perl (2.16-1) ... Selecting previously unselected package liblz1:arm64. Preparing to unpack .../485-liblz1_1.13-5_arm64.deb ... Unpacking liblz1:arm64 (1.13-5) ... Selecting previously unselected package plzip. Preparing to unpack .../486-plzip_1.10-5_arm64.deb ... Unpacking plzip (1.10-5) ... Selecting previously unselected package liblzo2-2:arm64. Preparing to unpack .../487-liblzo2-2_2.10-2_arm64.deb ... Unpacking liblzo2-2:arm64 (2.10-2) ... Selecting previously unselected package lzop. Preparing to unpack .../488-lzop_1.04-2_arm64.deb ... Unpacking lzop (1.04-2) ... Selecting previously unselected package patchutils. Preparing to unpack .../489-patchutils_0.4.2-1_arm64.deb ... Unpacking patchutils (0.4.2-1) ... Selecting previously unselected package t1utils. Preparing to unpack .../490-t1utils_1.41-4_arm64.deb ... Unpacking t1utils (1.41-4) ... Selecting previously unselected package unzip. Preparing to unpack .../491-unzip_6.0-28_arm64.deb ... Unpacking unzip (6.0-28) ... Selecting previously unselected package lintian. Preparing to unpack .../492-lintian_2.116.3_all.deb ... Unpacking lintian (2.116.3) ... Selecting previously unselected package libconfig-model-dpkg-perl. Preparing to unpack .../493-libconfig-model-dpkg-perl_2.165_all.deb ... Unpacking libconfig-model-dpkg-perl (2.165) ... Selecting previously unselected package libconvert-binhex-perl. Preparing to unpack .../494-libconvert-binhex-perl_1.125-3_all.deb ... Unpacking libconvert-binhex-perl (1.125-3) ... Selecting previously unselected package libnet-smtp-ssl-perl. Preparing to unpack .../495-libnet-smtp-ssl-perl_1.04-2_all.deb ... Unpacking libnet-smtp-ssl-perl (1.04-2) ... Selecting previously unselected package libmailtools-perl. Preparing to unpack .../496-libmailtools-perl_2.21-2_all.deb ... Unpacking libmailtools-perl (2.21-2) ... Selecting previously unselected package libmime-tools-perl. Preparing to unpack .../497-libmime-tools-perl_5.510-1_all.deb ... Unpacking libmime-tools-perl (5.510-1) ... Selecting previously unselected package gnuplot-data. Preparing to unpack .../498-gnuplot-data_5.4.4+dfsg1-2_all.deb ... Unpacking gnuplot-data (5.4.4+dfsg1-2) ... Selecting previously unselected package libpixman-1-0:arm64. Preparing to unpack .../499-libpixman-1-0_0.42.2-1_arm64.deb ... Unpacking libpixman-1-0:arm64 (0.42.2-1) ... Selecting previously unselected package libcairo2:arm64. Preparing to unpack .../500-libcairo2_1.16.0-7_arm64.deb ... Unpacking libcairo2:arm64 (1.16.0-7) ... Selecting previously unselected package libabsl20220623:arm64. Preparing to unpack .../501-libabsl20220623_20220623.1-1_arm64.deb ... Unpacking libabsl20220623:arm64 (20220623.1-1) ... Selecting previously unselected package libgav1-1:arm64. Preparing to unpack .../502-libgav1-1_0.18.0-1+b1_arm64.deb ... Unpacking libgav1-1:arm64 (0.18.0-1+b1) ... Selecting previously unselected package librav1e0:arm64. Preparing to unpack .../503-librav1e0_0.5.1-6_arm64.deb ... Unpacking librav1e0:arm64 (0.5.1-6) ... Selecting previously unselected package libsvtav1enc1:arm64. Preparing to unpack .../504-libsvtav1enc1_1.4.1+dfsg-1_arm64.deb ... Unpacking libsvtav1enc1:arm64 (1.4.1+dfsg-1) ... Selecting previously unselected package libyuv0:arm64. Preparing to unpack .../505-libyuv0_0.0~git20230123.b2528b0-1_arm64.deb ... Unpacking libyuv0:arm64 (0.0~git20230123.b2528b0-1) ... Selecting previously unselected package libavif15:arm64. Preparing to unpack .../506-libavif15_0.11.1-1_arm64.deb ... Unpacking libavif15:arm64 (0.11.1-1) ... Selecting previously unselected package libxpm4:arm64. Preparing to unpack .../507-libxpm4_1%3a3.5.12-1.1_arm64.deb ... Unpacking libxpm4:arm64 (1:3.5.12-1.1) ... Selecting previously unselected package libgd3:arm64. Preparing to unpack .../508-libgd3_2.3.3-9_arm64.deb ... Unpacking libgd3:arm64 (2.3.3-9) ... Selecting previously unselected package liblua5.4-0:arm64. Preparing to unpack .../509-liblua5.4-0_5.4.4-3_arm64.deb ... Unpacking liblua5.4-0:arm64 (5.4.4-3) ... Selecting previously unselected package libfribidi0:arm64. Preparing to unpack .../510-libfribidi0_1.0.8-2.1_arm64.deb ... Unpacking libfribidi0:arm64 (1.0.8-2.1) ... Selecting previously unselected package libthai-data. Preparing to unpack .../511-libthai-data_0.1.29-1_all.deb ... Unpacking libthai-data (0.1.29-1) ... Selecting previously unselected package libdatrie1:arm64. Preparing to unpack .../512-libdatrie1_0.2.13-2+b1_arm64.deb ... Unpacking libdatrie1:arm64 (0.2.13-2+b1) ... Selecting previously unselected package libthai0:arm64. Preparing to unpack .../513-libthai0_0.1.29-1_arm64.deb ... Unpacking libthai0:arm64 (0.1.29-1) ... Selecting previously unselected package libpango-1.0-0:arm64. Preparing to unpack .../514-libpango-1.0-0_1.50.12+ds-1_arm64.deb ... Unpacking libpango-1.0-0:arm64 (1.50.12+ds-1) ... Selecting previously unselected package libpangoft2-1.0-0:arm64. Preparing to unpack .../515-libpangoft2-1.0-0_1.50.12+ds-1_arm64.deb ... Unpacking libpangoft2-1.0-0:arm64 (1.50.12+ds-1) ... Selecting previously unselected package libpangocairo-1.0-0:arm64. Preparing to unpack .../516-libpangocairo-1.0-0_1.50.12+ds-1_arm64.deb ... Unpacking libpangocairo-1.0-0:arm64 (1.50.12+ds-1) ... Selecting previously unselected package gnuplot-nox. Preparing to unpack .../517-gnuplot-nox_5.4.4+dfsg1-2+b2_arm64.deb ... Unpacking gnuplot-nox (5.4.4+dfsg1-2+b2) ... Selecting previously unselected package dh-octave-autopkgtest. Preparing to unpack .../518-dh-octave-autopkgtest_1.2.7_all.deb ... Unpacking dh-octave-autopkgtest (1.2.7) ... Selecting previously unselected package dh-octave. Preparing to unpack .../519-dh-octave_1.2.7_all.deb ... Unpacking dh-octave (1.2.7) ... Selecting previously unselected package python3-mpmath. Preparing to unpack .../520-python3-mpmath_1.2.1-2_all.deb ... Unpacking python3-mpmath (1.2.1-2) ... Selecting previously unselected package python3-six. Preparing to unpack .../521-python3-six_1.16.0-4_all.deb ... Unpacking python3-six (1.16.0-4) ... Selecting previously unselected package python3-sympy. Preparing to unpack .../522-python3-sympy_1.11.1-1_all.deb ... Unpacking python3-sympy (1.11.1-1) ... Setting up libapt-pkg-perl (0.1.40+b2) ... Setting up liblz1:arm64 (1.13-5) ... Setting up media-types (10.0.0) ... Setting up libmodule-pluggable-perl (5.2-4) ... Setting up libpipeline1:arm64 (1.5.7-1) ... Setting up libgraphite2-3:arm64 (1.3.14-1) ... Setting up libstring-escape-perl (2010.002-3) ... Setting up liblcms2-2:arm64 (2.14-2) ... Setting up libberkeleydb-perl:arm64 (0.64-2+b1) ... Setting up libpixman-1-0:arm64 (0.42.2-1) ... Setting up plzip (1.10-5) ... update-alternatives: using /usr/bin/lzip.plzip to provide /usr/bin/lzip (lzip) in auto mode update-alternatives: using /usr/bin/lzip.plzip to provide /usr/bin/lzip-compressor (lzip-compressor) in auto mode update-alternatives: using /usr/bin/lzip.plzip to provide /usr/bin/lzip-decompressor (lzip-decompressor) in auto mode Setting up libwayland-server0:arm64 (1.21.0-1) ... Setting up libaom3:arm64 (3.6.0-1) ... Setting up libpciaccess0:arm64 (0.17-2) ... Setting up libfile-which-perl (1.27-2) ... Setting up libabsl20220623:arm64 (20220623.1-1) ... Setting up libxau6:arm64 (1:1.0.9-1) ... Setting up libdouble-conversion3:arm64 (3.2.1-1) ... Setting up libpsl5:arm64 (0.21.2-1) ... Setting up libunicode-utf8-perl (0.62-2) ... Setting up libfftw3-single3:arm64 (3.3.10-1) ... Setting up libset-intspan-perl (1.19-3) ... Setting up libicu72:arm64 (72.1-3) ... Setting up libmpg123-0:arm64 (1.31.2-1) ... Setting up libogg0:arm64 (1.3.5-3) ... Setting up libmouse-perl (2.5.10-1+b3) ... Setting up liblerc4:arm64 (4.0.0+ds-2) ... Setting up libpod-pom-perl (2.01-4) ... Setting up bsdextrautils (2.38.1-5+b1) ... Setting up libglvnd-core-dev:arm64 (1.6.0-1) ... Setting up hdf5-helpers (1.10.8+repack1-1) ... Setting up libwmflite-0.2-7:arm64 (0.2.12-5) ... Setting up libregexp-pattern-perl (0.2.14-2) ... Setting up libdata-messagepack-perl (1.02-1+b1) ... Setting up libdynaloader-functions-perl (0.003-3) ... Setting up libdatrie1:arm64 (0.2.13-2+b1) ... Setting up libclass-method-modifiers-perl (2.14-1) ... Setting up liblist-compare-perl (0.55-2) ... Setting up libmagic-mgc (1:5.44-3) ... Setting up libclone-perl:arm64 (0.46-1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:arm64 (0.2.5-1) ... Setting up libsub-identify-perl (0.14-3) ... Setting up libglib2.0-0:arm64 (2.74.6-1) ... No schema files found: doing nothing. Setting up libcpanel-json-xs-perl:arm64 (4.35-1) ... Setting up libglvnd0:arm64 (1.6.0-1) ... Setting up libio-stringy-perl (2.111-3) ... Setting up libscotch-7.0:arm64 (7.0.3-1) ... Setting up libhtml-tagset-perl (3.20-6) ... Setting up liblog-any-perl (1.713-1) ... Setting up libqscintilla2-qt5-l10n (2.13.3+dfsg-3) ... Setting up libyaml-pp-perl (0.035-1) ... Setting up libdevel-size-perl (0.83-2+b1) ... Setting up unzip (6.0-28) ... Setting up libcbor0.8:arm64 (0.8.0-2+b1) ... Setting up libdebhelper-perl (13.11.4) ... Setting up libbrotli1:arm64 (1.0.9-2+b6) ... Setting up libregexp-pattern-license-perl (3.9.4-3) ... Setting up libconvert-binhex-perl (1.125-3) ... Setting up liblwp-mediatypes-perl (6.04-2) ... Setting up libyaml-libyaml-perl (0.86+ds-1) ... Setting up fonts-freefont-otf (20120503-10) ... Setting up libio-interactive-perl (1.023-2) ... Setting up x11-common (1:7.7+23) ... 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.31-2) ... Setting up libsensors-config (1:3.6.0-7.1) ... Setting up libnghttp2-14:arm64 (1.52.0-1) ... Setting up libmagic1:arm64 (1:5.44-3) ... Setting up libdeflate0:arm64 (1.14-1) ... Setting up perl-openssl-defaults:arm64 (7+b1) ... Setting up libmldbm-perl (2.05-4) ... Setting up libxml-namespacesupport-perl (1.12-2) ... Setting up libfftw3-long3:arm64 (3.3.10-1) ... Setting up libpath-iterator-rule-perl (1.015-2) ... Setting up gettext-base (0.21-12) ... Setting up m4 (1.4.19-3) ... Setting up libclone-choose-perl (0.010-2) ... Setting up libqhull-r8.0:arm64 (2020.2-5) ... Setting up xkb-data (2.35.1-1) ... Setting up liblzo2-2:arm64 (2.10-2) ... Setting up libtime-moment-perl (0.44-2+b1) ... Setting up libencode-locale-perl (1.05-3) ... Setting up libhwy1:arm64 (1.0.3-3) ... Setting up libtrilinos-kokkos-13.2:arm64 (13.2.0-4) ... Setting up libmetis5:arm64 (5.1.0.dfsg-7) ... Setting up file (1:5.44-3) ... Setting up libsvtav1enc1:arm64 (1.4.1+dfsg-1) ... Setting up libassuan0:arm64 (2.5.5-5) ... Setting up libconfig-tiny-perl (2.28-2) ... Setting up libsereal-encoder-perl (5.003+ds-1) ... Setting up liblist-utilsby-perl (0.12-2) ... Setting up libyaml-tiny-perl (1.73-1) ... Setting up libpthread-stubs0-dev:arm64 (0.4-1) ... Setting up libjbig0:arm64 (2.1-6.1) ... Setting up octave-common (7.3.0-2) ... Setting up libregexp-common-perl (2017060201-3) ... Setting up librav1e0:arm64 (0.5.1-6) ... Setting up libpcre2-16-0:arm64 (10.42-1) ... Setting up libbtf1:arm64 (1:5.12.0+dfsg-2) ... Setting up libaec0:arm64 (1.0.6-1+b1) ... Setting up libnet-netmask-perl (2.0002-2) ... Setting up libopengl0:arm64 (1.6.0-1) ... Setting up libsub-install-perl (0.929-1) ... Setting up libindirect-perl (0.39-2+b1) ... Setting up libdata-compare-perl (1.27-3) ... Setting up libxs-parse-sublike-perl:arm64 (0.16-1+b2) ... Setting up libsasl2-modules-db:arm64 (2.1.28+dfsg-10) ... Setting up liberror-perl (0.17029-2) ... Setting up libtrilinos-trilinosss-13.2:arm64 (13.2.0-4) ... Setting up libasound2-data (1.2.8-1) ... Setting up libjson-maybexs-perl (1.004004-1) ... Setting up libxml-sax-base-perl (1.09-3) ... Setting up libio-string-perl (1.08-4) ... Setting up libboolean-perl (0.46-3) ... Setting up libnetaddr-ip-perl (4.079+dfsg-2+b1) ... Setting up xtrans-dev (1.4.0-1) ... Setting up libpcre3:arm64 (2:8.39-15) ... Setting up autotools-dev (20220109.1) ... Setting up libz3-4:arm64 (4.8.12-3.1) ... Setting up libblas3:arm64 (3.11.0-2) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/aarch64-linux-gnu/libblas.so.3 (libblas.so.3-aarch64-linux-gnu) in auto mode Setting up libclass-data-inheritable-perl (0.08-3) ... Setting up libxs-parse-keyword-perl (0.33-1) ... Setting up libflac12:arm64 (1.4.2+ds-2) ... Setting up libalgorithm-c3-perl (0.11-2) ... Setting up libgles2:arm64 (1.6.0-1) ... Setting up libmunge2 (0.5.15-2) ... Setting up liblog-log4perl-perl (1.57-1) ... Setting up libtext-reform-perl (1.20-5) ... Setting up libjpeg62-turbo:arm64 (1:2.1.5-2) ... Setting up libx11-data (2:1.8.4-2) ... Setting up libjpeg62-turbo-dev:arm64 (1:2.1.5-2) ... Setting up librtmp1:arm64 (2.4+20151223.gitfa8646d.1-2+b2) ... Setting up libipc-system-simple-perl (1.30-2) ... Setting up libio-tiecombine-perl (1.005-3) ... Setting up libnet-domain-tld-perl (1.75-3) ... Setting up libperlio-utf8-strict-perl (0.010-1) ... Setting up aglfn (1.7+git20191031.4036a9c-2) ... Setting up libavahi-common-data:arm64 (0.8-9) ... Setting up libncurses6:arm64 (6.4-2) ... Setting up libgles1:arm64 (1.6.0-1) ... Setting up libdbus-1-3:arm64 (1.14.6-1) ... Setting up libfribidi0:arm64 (1.0.8-2.1) ... Setting up libopus0:arm64 (1.3.1-3) ... Setting up t1utils (1.41-4) ... Setting up diffstat (1.65-1) ... Setting up libssl-dev:arm64 (3.0.8-1) ... Setting up libpng16-16:arm64 (1.6.39-2) ... Setting up libhwloc15:arm64 (2.9.0-1) ... Setting up libevent-core-2.1-7:arm64 (2.1.12-stable-8) ... Setting up libvorbis0a:arm64 (1.3.7-1) ... Setting up libvariable-magic-perl (0.63-1+b1) ... Setting up libio-html-perl (1.004-3) ... Setting up libtext-template-perl (1.61-1) ... Setting up libpod-parser-perl (1.65-1) ... Setting up autopoint (0.21-12) ... Setting up libb-hooks-op-check-perl:arm64 (0.22-2+b1) ... Setting up fonts-dejavu-core (2.37-6) ... Setting up libgav1-1:arm64 (0.18.0-1+b1) ... Setting up liblist-moreutils-xs-perl (0.430-3+b1) ... Setting up libsensors5:arm64 (1:3.6.0-7.1) ... Setting up libjxl0.7:arm64 (0.7.0-10) ... Setting up libdav1d6:arm64 (1.0.0-2) ... Setting up libltdl7:arm64 (2.4.7-5) ... Setting up libfftw3-double3:arm64 (3.3.10-1) ... Setting up libglapi-mesa:arm64 (22.3.6-1+deb12u1) ... Setting up libparams-util-perl (1.102-2+b1) ... Setting up libsasl2-2:arm64 (2.1.28+dfsg-10) ... Setting up libgfortran5:arm64 (12.2.0-14) ... Setting up libmtdev1:arm64 (1.1.6-1) ... Setting up libtime-duration-perl (1.21-2) ... Setting up autoconf (2.71-3) ... Setting up libtext-xslate-perl:arm64 (3.5.9-1+b2) ... Setting up libsub-exporter-progressive-perl (0.001013-3) ... Setting up libwebp7:arm64 (1.2.4-0.1) ... Setting up libarray-intspan-perl (2.004-2) ... Setting up libcapture-tiny-perl (0.48-2) ... Setting up libtimedate-perl (2.3300-2) ... Setting up libregexp-ipv6-perl (0.03-3) ... Setting up libexporter-lite-perl (0.09-2) ... Setting up libsub-name-perl:arm64 (0.26-2+b1) ... Setting up zlib1g-dev:arm64 (1:1.2.13.dfsg-1) ... Setting up libsyntax-keyword-try-perl (0.28-1) ... Setting up libnuma1:arm64 (2.0.16-1) ... Setting up libdata-validate-domain-perl (0.10-1.1) ... Setting up libproc-processtable-perl:arm64 (0.634-1+b2) ... Setting up libparse-recdescent-perl (1.967015+dfsg-4) ... Setting up sensible-utils (0.0.17+nmu1) ... Setting up ocl-icd-libopencl1:arm64 (2.3.1-1) ... Setting up libxshmfence1:arm64 (1.3-1) ... Setting up libtiff6:arm64 (4.5.0-5) ... Setting up libpath-tiny-perl (0.144-1) ... Setting up libuchardet0:arm64 (0.0.7-1) ... Setting up lzop (1.04-2) ... Setting up libjson-perl (4.10000-1) ... Setting up libasound2:arm64 (1.2.8-1+b1) ... Setting up liblog-any-adapter-screen-perl (0.140-2) ... Setting up libnl-3-200:arm64 (3.7.0-0.2+b1) ... Setting up librole-tiny-perl (2.002004-1) ... Setting up openmpi-common (4.1.4-3) ... Setting up libipc-run3-perl (0.048-3) ... Setting up libmd4c0:arm64 (0.4.8-1) ... Setting up libregexp-wildcards-perl (1.05-3) ... Setting up libmousex-strictconstructor-perl (0.02-3) ... Setting up libsub-uplevel-perl (0.2800-3) ... Setting up liblua5.4-0:arm64 (5.4.4-3) ... Setting up libsub-override-perl (0.09-4) ... Setting up libaliased-perl (0.34-3) ... Setting up libthai-data (0.1.29-1) ... Setting up libssh2-1:arm64 (1.10.0-3+b1) ... Setting up xorg-sgml-doctools (1:1.11-1.1) ... Setting up netbase (6.4) ... Setting up libstrictures-perl (2.000006-1) ... Setting up libsub-quote-perl (2.006008-1) ... Setting up libdevel-stacktrace-perl (2.0400-2) ... Setting up libclass-xsaccessor-perl (1.19-4+b1) ... Setting up libcxsparse3:arm64 (1:5.12.0+dfsg-2) ... Setting up libtext-autoformat-perl (1.750000-2) ... Setting up libglu1-mesa:arm64 (9.0.2-1.1) ... Setting up libtoml-tiny-perl (0.15-1) ... Setting up libsort-versions-perl (1.62-3) ... Setting up libopengl-dev:arm64 (1.6.0-1) ... Setting up libexporter-tiny-perl (1.006000-1) ... Setting up libterm-readkey-perl (2.38-2+b1) ... Setting up libfido2-1:arm64 (1.12.0-2+b1) ... Setting up libtext-unidecode-perl (1.30-3) ... Setting up libde265-0:arm64 (1.0.11-1) ... Setting up libfont-ttf-perl (1.06-2) ... Setting up libfile-homedir-perl (1.006-2) ... Setting up libsamplerate0:arm64 (0.2.2-3) ... Setting up openssl (3.0.8-1) ... Setting up libwebpmux3:arm64 (1.2.4-0.1) ... Setting up libbsd0:arm64 (0.11.7-2) ... Setting up libtext-levenshteinxs-perl (0.03-5+b1) ... Setting up libperlio-gzip-perl (0.20-1+b1) ... Setting up libdrm-common (2.4.114-1) ... Setting up libyuv0:arm64 (0.0~git20230123.b2528b0-1) ... Setting up libelf1:arm64 (0.188-2.1) ... Setting up libevdev2:arm64 (1.13.0+dfsg-1) ... Setting up readline-common (8.2-1.3) ... Setting up libxml2:arm64 (2.9.14+dfsg-1.1+b3) ... Setting up libhtml-html5-entities-perl (0.004-3) ... Setting up libtext-levenshtein-damerau-perl (0.41-3) ... Setting up libsereal-decoder-perl (5.003+ds-1) ... Setting up libmarkdown2:arm64 (2.2.7-2) ... Setting up libsuitesparseconfig5:arm64 (1:5.12.0+dfsg-2) ... Setting up liburi-perl (5.17-1) ... Setting up iso-codes (4.13.0-1) ... Setting up libnet-ipv6addr-perl (1.02-1) ... Setting up libgudev-1.0-0:arm64 (237-2) ... Setting up libmp3lame0:arm64 (3.100-6) ... Setting up libblas-dev:arm64 (3.11.0-2) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so to provide /usr/lib/aarch64-linux-gnu/libblas.so (libblas.so-aarch64-linux-gnu) in auto mode Setting up libsz2:arm64 (1.0.6-1+b1) ... Setting up libvorbisenc2:arm64 (1.3.7-1) ... Setting up libevent-pthreads-2.1-7:arm64 (2.1.12-stable-8) ... Setting up libdata-validate-ip-perl (0.31-1) ... Setting up libwacom-common (2.6.0-1) ... Setting up libmousex-nativetraits-perl (1.09-3) ... Setting up libemail-address-xs-perl (1.05-1+b1) ... Setting up libxkbcommon0:arm64 (1.5.0-1) ... Setting up libwayland-client0:arm64 (1.21.0-1) ... Setting up libnet-ssleay-perl:arm64 (1.92-2+b1) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up x11proto-dev (2022.1-1) ... Setting up libfile-stripnondeterminism-perl (1.13.1-1) ... Setting up gnuplot-data (5.4.4+dfsg1-2) ... Setting up libamd2:arm64 (1:5.12.0+dfsg-2) ... Setting up libice6:arm64 (2:1.0.10-1) ... Setting up libhttp-date-perl (6.05-2) ... Setting up libxdmcp6:arm64 (1:1.1.2-3) ... Setting up liblapack3:arm64 (3.11.0-2) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/aarch64-linux-gnu/liblapack.so.3 (liblapack.so.3-aarch64-linux-gnu) in auto mode Setting up libncurses-dev:arm64 (6.4-2) ... Setting up libxcb1:arm64 (1.15-1) ... Setting up libfile-basedir-perl (0.09-2) ... Setting up gettext (0.21-12) ... Setting up libfeature-compat-try-perl (0.05-1) ... Setting up libxcb-xfixes0:arm64 (1.15-1) ... Setting up libfile-listing-perl (6.15-1) ... Setting up libxau-dev:arm64 (1:1.0.9-1) ... Setting up libcolamd2:arm64 (1:5.12.0+dfsg-2) ... Setting up libavif15:arm64 (0.11.1-1) ... Setting up libxcb-xinput0:arm64 (1.15-1) ... Setting up libtool (2.4.7-5) ... Setting up libxcb-render0:arm64 (1.15-1) ... Setting up libfftw3-bin (3.3.10-1) ... Setting up libwacom9:arm64 (2.6.0-1) ... Setting up fontconfig-config (2.14.1-4) ... Setting up liblist-moreutils-perl (0.430-2) ... Setting up libxcb-glx0:arm64 (1.15-1) ... Setting up libpod-constants-perl (0.19-2) ... Setting up libedit2:arm64 (3.1-20221030-2) ... Setting up libreadline8:arm64 (8.2-1.3) ... Setting up libhash-merge-perl (0.302-1) ... Setting up libxcb-keysyms1:arm64 (0.4.0-1+b2) ... Setting up libaec-dev:arm64 (1.0.6-1+b1) ... Setting up libarpack2:arm64 (3.8.0-3) ... Setting up libxcb-shape0:arm64 (1.15-1) ... Setting up libavahi-common3:arm64 (0.8-9) ... Setting up libjpeg-dev:arm64 (1:2.1.5-2) ... Setting up libsuperlu5:arm64 (5.3.0+dfsg1-2+b1) ... Setting up libnet-http-perl (6.22-1) ... Setting up libtext-markdown-discount-perl (0.16-1) ... Setting up libxcb-render-util0:arm64 (0.3.9-1+b1) ... Setting up libgfortran-12-dev:arm64 (12.2.0-14) ... Setting up libxcb-shm0:arm64 (1.15-1) ... Setting up libexception-class-perl (1.45-1) ... Setting up libxcb-icccm4:arm64 (0.4.1-1.1) ... Setting up libsundials-sunmatrix4:arm64 (6.4.1+dfsg1-3) ... Setting up libclass-c3-perl (0.35-2) ... Setting up libreadline-dev:arm64 (8.2-1.3) ... Setting up libqrupdate1:arm64 (1.1.2-4) ... Setting up libdevel-callchecker-perl:arm64 (0.008-2) ... Setting up libldap-2.5-0:arm64 (2.5.13+dfsg-5) ... Setting up libsundials-ida6:arm64 (6.4.1+dfsg1-3) ... Setting up libxcb-util1:arm64 (0.4.0-1+b1) ... Setting up libinput-bin (1.22.1-1) ... Setting up libxcb-xkb1:arm64 (1.15-1) ... Setting up libxcb-image0:arm64 (0.4.0-2) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up libnl-route-3-200:arm64 (3.7.0-0.2+b1) ... Setting up libobject-pad-perl (0.78-1) ... Setting up libxcb-present0:arm64 (1.15-1) ... Setting up dh-autoreconf (20) ... Setting up patchutils (0.4.2-1) ... Setting up libthai0:arm64 (0.1.29-1) ... Setting up ca-certificates (20230311) ... Updating certificates in /etc/ssl/certs... 140 added, 0 removed; done. Setting up libcamd2:arm64 (1:5.12.0+dfsg-2) ... Setting up libxdmcp-dev:arm64 (1:1.1.2-3) ... Setting up gfortran-12 (12.2.0-14) ... Setting up libdata-validate-uri-perl (0.07-2) ... Setting up libxcb-xinerama0:arm64 (1.15-1) ... Setting up libtest-exception-perl (0.43-3) ... Setting up libfreetype6:arm64 (2.12.1+dfsg-4) ... Setting up libglpk40:arm64 (5.0-1) ... Setting up libstring-copyright-perl (0.003014-1) ... Setting up libxcb-sync1:arm64 (1.15-1) ... Setting up shared-mime-info (2.2-1) ... Setting up libxkbcommon-x11-0:arm64 (1.5.0-1) ... Setting up liblapack-dev:arm64 (3.11.0-2) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so to provide /usr/lib/aarch64-linux-gnu/liblapack.so (liblapack.so-aarch64-linux-gnu) in auto mode Setting up libdata-optlist-perl (0.113-1) ... Setting up ucf (3.0043+nmu1) ... Setting up libqt5core5a:arm64 (5.15.8+dfsg-3) ... Setting up libx265-199:arm64 (3.5-2+b1) ... Setting up libxcb-dri2-0:arm64 (1.15-1) ... Setting up dh-strip-nondeterminism (1.13.1-1) ... Setting up libwww-robotrules-perl (6.02-1) ... Setting up libjack-jackd2-0:arm64 (1.9.21~dfsg-2) ... Setting up libdrm2:arm64 (2.4.114-1+b1) ... Setting up dwz (0.15-1) ... Setting up groff-base (1.22.4-10) ... Setting up libklu1:arm64 (1:5.12.0+dfsg-2) ... Setting up libqt5dbus5:arm64 (5.15.8+dfsg-3) ... Setting up libccolamd2:arm64 (1:5.12.0+dfsg-2) ... Setting up libxcb-randr0:arm64 (1.15-1) ... Setting up libhtml-parser-perl:arm64 (3.81-1) ... Setting up libllvm15:arm64 (1:15.0.6-4+b1) ... Setting up gpgconf (2.2.40-1.1) ... Setting up libcurl4:arm64 (7.88.1-7) ... Setting up libx11-6:arm64 (2:1.8.4-2) ... Setting up libharfbuzz0b:arm64 (6.0.0+dfsg-3) ... Setting up libfontconfig1:arm64 (2.14.1-4) ... Setting up libsndfile1:arm64 (1.2.0-1) ... Setting up libmro-compat-perl (0.15-2) ... Setting up libsm6:arm64 (2:1.2.3-1) ... Setting up libfftw3-dev:arm64 (3.3.10-1) ... Setting up libavahi-client3:arm64 (0.8-9) ... Setting up libcholmod3:arm64 (1:5.12.0+dfsg-2) ... Setting up libio-socket-ssl-perl (2.081-2) ... Setting up gpg (2.2.40-1.1) ... Setting up libsub-exporter-perl (0.989-1) ... Setting up libhttp-message-perl (6.44-1) ... Setting up libdrm-amdgpu1:arm64 (2.4.114-1+b1) ... Setting up libhtml-form-perl (6.11-1) ... Setting up libiterator-perl (0.03+ds1-2) ... Setting up libxcb-dri3-0:arm64 (1.15-1) ... Setting up libinput10:arm64 (1.22.1-1) ... Setting up libspqr2:arm64 (1:5.12.0+dfsg-2) ... Setting up libportaudio2:arm64 (19.6.0-1.2) ... Setting up libx11-xcb1:arm64 (2:1.8.4-2) ... Setting up libhttp-negotiate-perl (6.01-2) ... Setting up libibverbs1:arm64 (44.0-2) ... Setting up fontconfig (2.14.1-4) ... Regenerating fonts cache... done. Setting up libcarp-assert-more-perl (2.2.0-1) ... Setting up libdrm-nouveau2:arm64 (2.4.114-1+b1) ... Setting up libxcb1-dev:arm64 (1.15-1) ... Setting up libxpm4:arm64 (1:3.5.12-1.1) ... Setting up libiterator-util-perl (0.02+ds1-2) ... Setting up libxrender1:arm64 (1:0.9.10-1.1) ... Setting up libgbm1:arm64 (22.3.6-1+deb12u1) ... Setting up ibverbs-providers:arm64 (44.0-2) ... Setting up libhttp-cookies-perl (6.10-1) ... Setting up libdrm-radeon1:arm64 (2.4.114-1+b1) ... Setting up openssh-client (1:9.2p1-2) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libhtml-tree-perl (5.07-3) ... Setting up libpython3.11-stdlib:arm64 (3.11.2-6) ... Setting up libparams-classify-perl:arm64 (0.015-2+b1) ... Setting up libpango-1.0-0:arm64 (1.50.12+ds-1) ... Setting up libcgi-pm-perl (4.55-1) ... Setting up libgl1-mesa-dri:arm64 (22.3.6-1+deb12u1) ... Setting up libheif1:arm64 (1.15.1-1) ... Setting up libx11-dev:arm64 (2:1.8.4-2) ... Setting up libxext6:arm64 (2:1.3.4-1+b1) ... Setting up libcurl3-gnutls:arm64 (7.88.1-7) ... Setting up man-db (2.11.2-2) ... Not building database; man-db/auto-update is not 'true'. Setting up libxml-sax-perl (1.02+dfsg-3) ... 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 gfortran (4:12.2.0-3) ... 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 libcairo2:arm64 (1.16.0-7) ... Setting up libqt5network5:arm64 (5.15.8+dfsg-3) ... Setting up libxxf86vm1:arm64 (1:1.1.4-1+b2) ... Setting up libxnvctrl0:arm64 (525.85.05-1) ... Setting up libfeature-compat-class-perl (0.05-1) ... Setting up libqt5sql5:arm64 (5.15.8+dfsg-3) ... Setting up tex-common (6.18) ... update-language: texlive-base not installed and configured, doing nothing! Setting up libqt5xml5:arm64 (5.15.8+dfsg-3) ... Setting up libegl-mesa0:arm64 (22.3.6-1+deb12u1) ... Setting up libumfpack5:arm64 (1:5.12.0+dfsg-2) ... Setting up libnet-smtp-ssl-perl (1.04-2) ... Setting up libmodule-runtime-perl (0.016-2) ... Setting up libmailtools-perl (2.21-2) ... Setting up libxfixes3:arm64 (1:6.0.0-2) ... Setting up libcurl4-openssl-dev:arm64 (7.88.1-7) ... Setting up libconfig-model-perl (2.152-1) ... Setting up libxinerama1:arm64 (2:1.1.4-3) ... Setting up libgd3:arm64 (2.3.3-9) ... Setting up libgraphicsmagick-q16-3 (1.4+really1.3.40-2) ... Setting up libxml-libxml-perl (2.0207+dfsg+really+2.0134-1+b1) ... 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:arm64 (2.4.2-2) ... Setting up libconst-fast-perl (0.014-2) ... Setting up libhdf5-103-1:arm64 (1.10.8+repack1-1) ... Setting up libdata-section-perl (0.200008-1) ... Setting up libhdf5-cpp-103-1:arm64 (1.10.8+repack1-1) ... Setting up libegl1:arm64 (1.6.0-1) ... Setting up libgraphicsmagick++-q16-12 (1.4+really1.3.40-2) ... Setting up libpangoft2-1.0-0:arm64 (1.50.12+ds-1) ... Setting up libdata-dpath-perl (0.58-2) ... Setting up libstring-rewriteprefix-perl (0.009-1) ... Setting up libpangocairo-1.0-0:arm64 (1.50.12+ds-1) ... Setting up libpython3-stdlib:arm64 (3.11.2-1+b1) ... Setting up libhdf5-hl-100:arm64 (1.10.8+repack1-1) ... Setting up libconfig-model-backend-yaml-perl (2.134-2) ... Setting up librdmacm1:arm64 (44.0-2) ... Setting up python3.11 (3.11.2-6) ... Setting up libucx0:arm64 (1.13.1-1) ... Setting up libxft2:arm64 (2.3.6-1) ... Setting up libglx-mesa0:arm64 (22.3.6-1+deb12u1) ... Setting up libglx0:arm64 (1.6.0-1) ... Setting up libmodule-implementation-perl (0.09-2) ... Setting up libpackage-stash-perl (0.40-1) ... Setting up libimport-into-perl (1.002005-2) ... Setting up libmoo-perl (2.005005-1) ... Setting up libxcursor1:arm64 (1:1.2.1-1) ... Setting up liblist-someutils-perl (0.59-1) ... Setting up debhelper (13.11.4) ... Setting up python3 (3.11.2-1+b1) ... Setting up libhwloc-plugins:arm64 (2.9.0-1) ... Setting up libmime-tools-perl (5.510-1) ... Setting up libsoftware-license-perl (0.104002-1) ... Setting up libclass-load-perl (0.25-2) ... Setting up python3-six (1.16.0-4) ... Setting up libhdf5-hl-cpp-100:arm64 (1.10.8+repack1-1) ... Setting up libgl1:arm64 (1.6.0-1) ... Setting up libhdf5-fortran-102:arm64 (1.10.8+repack1-1) ... Setting up texinfo (6.8-6+b1) ... Setting up libhdf5-hl-fortran-100:arm64 (1.10.8+repack1-1) ... Setting up libglx-dev:arm64 (1.6.0-1) ... Setting up gnuplot-nox (5.4.4+dfsg1-2+b2) ... update-alternatives: using /usr/bin/gnuplot-nox to provide /usr/bin/gnuplot (gnuplot) in auto mode Setting up libmoox-aliases-perl (0.001006-2) ... Setting up python3-mpmath (1.2.1-2) ... Setting up libparams-validate-perl:arm64 (1.31-1) ... Setting up libb-hooks-endofscope-perl (0.26-1) ... Setting up libgl-dev:arm64 (1.6.0-1) ... Setting up libfabric1:arm64 (1.17.0-3) ... Setting up python3-sympy (1.11.1-1) ... Setting up libegl-dev:arm64 (1.6.0-1) ... Setting up libpmix2:arm64 (4.2.2-1+b1) ... Setting up libsoftware-licensemoreutils-perl (1.009-1) ... Setting up libopenmpi3:arm64 (4.1.4-3+b1) ... Setting up libfltk1.3:arm64 (1.3.8-5) ... Setting up libfltk-gl1.3:arm64 (1.3.8-5) ... Setting up libqt5gui5:arm64 (5.15.8+dfsg-3) ... Setting up libqt5widgets5:arm64 (5.15.8+dfsg-3) ... Setting up libfftw3-mpi3:arm64 (3.3.10-1) ... Setting up libqt5help5:arm64 (5.15.8-2) ... Setting up libgl2ps1.4 (1.4.2+dfsg1-2) ... Setting up libqt5printsupport5:arm64 (5.15.8+dfsg-3) ... Setting up libtrilinos-teuchos-13.2:arm64 (13.2.0-4) ... Setting up dh-octave-autopkgtest (1.2.7) ... Setting up libtrilinos-epetra-13.2:arm64 (13.2.0-4) ... Setting up libhdf5-dev (1.10.8+repack1-1) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/pkgconfig/hdf5-serial.pc to provide /usr/lib/aarch64-linux-gnu/pkgconfig/hdf5.pc (hdf5.pc) in auto mode Setting up libnamespace-clean-perl (0.27-2) ... Setting up libstring-license-perl (0.0.2-1) ... Setting up libgetopt-long-descriptive-perl (0.111-1) ... Setting up libtrilinos-aztecoo-13.2:arm64 (13.2.0-4) ... Setting up libgles-dev:arm64 (1.6.0-1) ... Setting up libtrilinos-triutils-13.2:arm64 (13.2.0-4) ... Setting up openmpi-bin (4.1.4-3+b1) ... update-alternatives: using /usr/bin/mpirun.openmpi to provide /usr/bin/mpirun (mpirun) in auto mode update-alternatives: using /usr/bin/mpicc.openmpi to provide /usr/bin/mpicc (mpi) in auto mode Setting up licensecheck (3.3.5-1) ... Setting up libhdf5-openmpi-103-1:arm64 (1.10.8+repack1-1) ... Setting up libptscotch-7.0:arm64 (7.0.3-1) ... Setting up libcombblas1.16.0:arm64 (1.6.2-8) ... Setting up libsuperlu-dist8:arm64 (8.1.2+dfsg1-1+b1) ... Setting up libapp-cmd-perl (0.335-1) ... Setting up mpi-default-bin (1.14) ... Setting up libglvnd-dev:arm64 (1.6.0-1) ... Setting up libqscintilla2-qt5-15:arm64 (2.13.3+dfsg-3) ... Setting up libtrilinos-zoltan-13.2:arm64 (13.2.0-4) ... Setting up libtrilinos-epetraext-13.2:arm64 (13.2.0-4) ... Setting up libtrilinos-galeri-13.2:arm64 (13.2.0-4) ... Setting up cme (1.038-1) ... Setting up libgl1-mesa-dev:arm64 (22.3.6-1+deb12u1) ... Setting up libscalapack-openmpi2.2:arm64 (2.2.1-2+b1) ... Setting up libhypre-2.26.0:arm64 (2.26.0-3) ... Setting up libmumps-5.5:arm64 (5.5.1-1) ... Setting up libtrilinos-amesos-13.2:arm64 (13.2.0-4) ... Setting up libtrilinos-ifpack-13.2:arm64 (13.2.0-4) ... Setting up libtrilinos-ml-13.2:arm64 (13.2.0-4) ... Setting up libpetsc-real3.18:arm64 (3.18.5+dfsg1-1) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/libpetsc_real.so.3.18.5 to provide /usr/lib/aarch64-linux-gnu/libpetsc.so.3.18 (libpetsc.so.3.18) in auto mode Setting up libsundials-nvecparallel-petsc6:arm64 (6.4.1+dfsg1-3) ... Setting up libsundials-sunlinsol3:arm64 (6.4.1+dfsg1-3) ... Setting up octave (7.3.0-2) ... Setting up octave-dev (7.3.0-2) ... Setting up liblwp-protocol-https-perl (6.10-1) ... Setting up libwww-perl (6.68-1) ... Setting up libparse-debcontrol-perl (2.005-6) ... Setting up libhtml-tokeparser-simple-perl (3.16-4) ... Setting up libwww-mechanize-perl (2.16-1) ... Setting up lintian (2.116.3) ... Setting up libconfig-model-dpkg-perl (2.165) ... Setting up dh-octave (1.2.7) ... Processing triggers for libc-bin (2.36-8) ... Processing triggers for ca-certificates (20230311) ... 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-3.0.1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../octave-symbolic_3.0.1-2_source.changes dpkg-buildpackage: info: source package octave-symbolic dpkg-buildpackage: info: source version 3.0.1-2 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Rafael Laboissière dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean --buildsystem=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 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 dh_auto_install --destdir=debian/octave-symbolic/ -O--buildsystem=octave octave --no-gui --no-history --silent --no-init-file --no-window-system /usr/share/dh-octave/install-pkg.m /build/octave-symbolic-3.0.1/debian/octave-symbolic/usr/share/octave/packages /build/octave-symbolic-3.0.1/debian/octave-symbolic/usr/lib/aarch64-linux-gnu/octave/packages For information about changes from previous versions of the symbolic package, run 'news symbolic'. dh_octave_check -O--buildsystem=octave Checking package... Checking m files ... [inst/vpasolve.m] >>>>> /build/octave-symbolic-3.0.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) Symbolic pkg v3.0.1: Python communication link active, SymPy v1.11.1. ***** 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 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) ***** test % system 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) ***** test % system, double guess 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]); ***** test % system, double guess 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)) ***** test % system, more eqns than unknowns 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) :7: SymPyDeprecationWarning: non-Expr objects in a Matrix is deprecated. Matrix represents a mathematical matrix. To represent a container of non-numeric entities, Use a list of lists, TableForm, NumPy array, or some other data structure instead. See https://docs.sympy.org/latest/explanation/active-deprecations.html#deprecated-non-expr-in-matrix for details. This has been deprecated since SymPy version 1.9. It will be removed in a future version of SymPy. warning: test: file /build/octave-symbolic-3.0.1/inst/vpasolve.m leaked file descriptors 10 tests, 10 passed, 0 known failure, 0 skipped [inst/vpa.m] >>>>> /build/octave-symbolic-3.0.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 if (pycall_sympy__ ('return Version(spver) > Version("1.4")')) a = vpa('2**0.5'); b = vpa(sqrt(sym(2))); assert (isequal (a, b)) else warning('dangerous') % fake it until we drop 1.4 end ***** 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/syms.m] >>>>> /build/octave-symbolic-3.0.1/inst/syms.m ***** test %% assumptions syms x real x2 = sym('x', 'real'); assert (isequal (x, x2)) ***** test % assumptions and clearing them on a symbol syms x real assert (~isempty (assumptions (x))) syms x assert (isempty (assumptions (x))) ***** test % Note SMT would clear syms in existing expressions syms x real f = {x {2*x} cos(x/2)}; assert (~isempty (assumptions (f))) syms x % but we do not: this would have to toggle for pure SMT compat assert (~isempty (assumptions (f))) % assert (isempty (assumptions (f))) ***** error syms x clear ***** 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 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)))) 13 tests, 13 passed, 0 known failure, 0 skipped [inst/pycall_sympy__.m] >>>>> /build/octave-symbolic-3.0.1/inst/pycall_sympy__.m ***** test % general test x = 10; y = 6; cmd = '(x,y) = _ins; return (x+y,x-y)'; [a,b] = pycall_sympy__ (cmd, x, y); assert (a == x + y && b == x - y) ***** test % bool assert (pycall_sympy__ ('return True,')) assert (~pycall_sympy__ ('return False,')) ***** test % float assert (abs(pycall_sympy__ ('return 1.0/3,') - 1/3) < 1e-15) ***** test % int r = pycall_sympy__ ('return 123456'); assert (r == 123456) assert (isinteger (r)) ***** test % string x = 'octave'; cmd = 's = _ins[0]; return s.capitalize(),'; y = pycall_sympy__ (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 = pycall_sympy__ ('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 = pycall_sympy__ ('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 = pycall_sympy__ ('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 = pycall_sympy__ ('return _ins', x); assert (strcmp(y, x)) x = '&'; y = pycall_sympy__ ('return _ins', x); assert (strcmp(y, x)) ***** test % strings with double quotes x = 'a\"b\"c'; y = pycall_sympy__ ('return _ins', x); assert (strcmp(y, x)) x = '\"'; y = pycall_sympy__ ('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 = pycall_sympy__ ('return "a\"b\"c",'); assert (strcmp(y, expy)) ***** test % strings with quotes x = 'a''b'; % this is a single quote y = pycall_sympy__ ('return _ins', x); assert (strcmp(y, x)) ***** test % strings with quotes x = '\"a''b\"c''\"d'; y = pycall_sympy__ ('return _ins[0]', x); assert (strcmp(y, x)) ***** test % strings with quotes expy = '"a''b"c''"d'; y = pycall_sympy__ ('s = "\"a''b\"c''\"d"; return s'); assert (strcmp(y, expy)) ***** test % strings with printf escapes x = '% %% %%% %%%% %s %g %%s'; y = pycall_sympy__ ('return _ins', x); assert (strcmp(y, x)) ***** test % cmd with printf escapes x = '% %% %%% %%%% %s %g %%s'; y = pycall_sympy__ (['return "' x '",']); assert (strcmp(y, x)) ***** test % cmd w/ backslash and \n must be escaped by user expy = 'a\b\\c\nd\'; y = pycall_sympy__ ('return "a\\b\\\\c\\nd\\",'); assert (strcmp(y, expy)) ***** test % slashes x = '/\\ // \\\\ \\/\\/\\'; z = '/\ // \\ \/\/\'; y = pycall_sympy__ ('return _ins', x); assert (strcmp(y, x)) ***** test % slashes z = '/\ // \\ \/\/\'; y = pycall_sympy__ ('return "/\\ // \\\\ \\/\\/\\"'); assert (strcmp(y, z)) ***** test % strings with special chars x = '!@#$^&* you!'; y = pycall_sympy__ ('return _ins', x); assert (strcmp(y, x)) x = '~-_=+[{]}|;:,.?'; y = pycall_sympy__ ('return _ins', x); assert (strcmp(y, x)) ***** xtest % string with backtick trouble for system -c (sysoneline) x = '`'; y = pycall_sympy__ ('return _ins', x); assert (strcmp(y, x)) ***** test % unicode s1 = '我爱你'; cmd = 'return u"\u6211\u7231\u4f60",'; s2 = pycall_sympy__ (cmd); assert (strcmp (s1, s2)) ***** test % unicode with \x s1 = '我'; cmd = 'return b"\xe6\x88\x91".decode("utf-8")'; s2 = pycall_sympy__ (cmd); assert (strcmp (s1, s2)) ***** test % unicode with \x and some escaped backslashes s1 = '\我\'; cmd = 'return b"\\\xe6\x88\x91\\".decode("utf-8")'; s2 = pycall_sympy__ (cmd); assert (strcmp (s1, s2)) ***** xtest % unicode passthru s = '我爱你'; s2 = pycall_sympy__ ('return _ins', s); assert (strcmp (s, s2)) s = '我爱你<>\&//\#%% %\我'; s2 = pycall_sympy__ ('return _ins', s); assert (strcmp (s, s2)) ***** xtest % unicode w/ slashes, escapes s = '我<>\&//\#%% %\我'; s2 = pycall_sympy__ ('return "我<>\\&//\\#%% %\\我"'); assert (strcmp (s, s2)) ***** test % list, tuple assert (isequal (pycall_sympy__ ('return [1,2,3],'), {1, 2, 3})) assert (isequal (pycall_sympy__ ('return (4,5),'), {4, 5})) assert (isequal (pycall_sympy__ ('return (6,),'), {6,})) assert (isequal (pycall_sympy__ ('return [],'), {})) ***** test % dict cmd = 'd = dict(); d["a"] = 6; d["b"] = 10; return d,'; d = pycall_sympy__ (cmd); assert (d.a == 6 && d.b == 10) ***** test r = pycall_sympy__ ('return 6'); assert (isequal (r, 6)) ***** test r = pycall_sympy__ ('return "Hi"'); assert (strcmp (r, 'Hi')) ***** test % blank lines, lines with spaces a = pycall_sympy__ ({ '', '', ' ', 'return 6', ' ', ''}); assert (isequal (a, 6)) ***** test % blank lines, strange comment lines cmd = {'a = 1', '', '#', '', '# ', ' #', 'a = a + 2', ' #', 'return a'}; a = pycall_sympy__ (cmd); assert (isequal (a, 3)) ***** test % return empty string (was https://bugs.python.org/issue25270) assert (isempty (pycall_sympy__ ('return ""'))) ***** test % return nothing (via an empty list) % note distinct from 'return [],' pycall_sympy__ ('return []') ***** test % return nothing (because no return command) pycall_sympy__ ('dummy = 1') ***** test % return nothing (because no command) pycall_sympy__ ('') ***** test % return nothing (because no command) pycall_sympy__ ({}) ***** 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. disp('') disp('**********************************************************************') disp('') disp(' Some deliberate AttributeError and ValueError may appear next') disp('') disp('v v v v v v v v v v v v v v v v v v v v v v v v') b = sym([], 'S.This_is_supposed_to_make_an_exception', [1 1], 'Test', 'Test', 'Test'); c = b + 1; ********************************************************************** Some deliberate AttributeError and ValueError may appear next v v v v v v v v v v v v v v v v v v v v v v v v Traceback (most recent call last): File "", line 4, in File "/usr/lib/python3/dist-packages/sympy/core/singleton.py", line 119, in __getattr__ raise AttributeError( AttributeError: Attribute 'This_is_supposed_to_make_an_exception' was not installed on SymPy registry S ***** test % ...and after the above test, the pipe should still work a = pycall_sympy__ ('return _ins[0]*2', 3); assert (isequal (a, 6)) ***** test % This command does not fail with native interface and '@pyobject' s = warning ('off', 'OctSymPy:pythonic_no_convert'); try q = pycall_sympy__ ({'return type(int)'}); catch msg = lasterror.message; assert (~ isempty (regexp (msg, '.*does not know how to.*'))) end warning (s) disp('^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^') disp(' End of deliberate errors!') disp(' You should see "46/46" or "Passes 46 out of 46 tests" below') disp('**********************************************************************') % ...and after the above test, the pipe should still work a = pycall_sympy__ ('return _ins[0]*2', 3); assert (isequal (a, 6)) Traceback (most recent call last): File "", line 2, in File "", line 12, in octoutput_drv File "", line 96, in octoutput ValueError: octoutput does not know how to export type ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ End of deliberate errors! You should see "46/46" or "Passes 46 out of 46 tests" below ********************************************************************** ***** test % complex input [A, B] = pycall_sympy__ ('z = 2*_ins[0]; return (z.real,z.imag)', 3+4i); assert (A, 6) assert (B, 8) ***** test % complex output z = pycall_sympy__ ('return 3+2j'); assert (z, 3+2i) ***** error s = char ('abc', 'defgh', '12345'); r = pycall_sympy__ ('return _ins[0]', s); ***** test r = pycall_sympy__ ('return len(_ins[0])', ''); assert (r == 0) ***** test % ensure the 0x0 matrix in octave gets mapped to the empty list in python % @sym/subsasgn currently replies on this behaviour assert (pycall_sympy__ ('return _ins[0] == []', [])); ***** test % ensure the empty string gets mapped to the empty string in python assert (pycall_sympy__ ('return _ins[0] == ""', '')); 46 tests, 46 passed, 0 known failure, 0 skipped [inst/poly2sym.m] >>>>> /build/octave-symbolic-3.0.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/octsympy_tests.m] >>>>> /build/octave-symbolic-3.0.1/inst/octsympy_tests.m ***** assert(true) 1 test, 1 passed, 0 known failure, 0 skipped [inst/lambertw.m] >>>>> /build/octave-symbolic-3.0.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/laguerreL.m] >>>>> /build/octave-symbolic-3.0.1/inst/laguerreL.m ***** error laguerreL (1) ***** error laguerreL (1, 2, 3) ***** 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([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')) 18 tests, 18 passed, 0 known failure, 0 skipped [inst/heaviside.m] >>>>> /build/octave-symbolic-3.0.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/finiteset.m] >>>>> /build/octave-symbolic-3.0.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/findsymbols.m] >>>>> /build/octave-symbolic-3.0.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})) ***** test % array of eq syms x y assert (isequal (findsymbols (2 == [2 x y]), {x y})) ***** test % array of ineq syms x y A = [x < 1 2*x < y x >= 2 3 <= x x != y]; assert (isequal (findsymbols (A), {x y})) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/fibonacci.m] >>>>> /build/octave-symbolic-3.0.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/eulergamma.m] >>>>> /build/octave-symbolic-3.0.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/dirac.m] >>>>> /build/octave-symbolic-3.0.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/digits.m] >>>>> /build/octave-symbolic-3.0.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/cell2sym.m] >>>>> /build/octave-symbolic-3.0.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/catalan.m] >>>>> /build/octave-symbolic-3.0.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/assumptions.m] >>>>> /build/octave-symbolic-3.0.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 = pycall_sympy__ ('return Symbol("a", real=False)'); assert (strcmp (assumptions (a), {'a: ~real'})) 13 tests, 13 passed, 0 known failure, 0 skipped [inst/assume.m] >>>>> /build/octave-symbolic-3.0.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/@symfun/uminus.m] >>>>> /build/octave-symbolic-3.0.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/times.m] >>>>> /build/octave-symbolic-3.0.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 (formula (h), [x^2 6*x])) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@symfun/symvar.m] >>>>> /build/octave-symbolic-3.0.1/inst/@symfun/symvar.m ***** test % basic syms f(t, s) assert (isempty (symvar (f, 0))) 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/symfun.m] >>>>> /build/octave-symbolic-3.0.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 = argnames (f); 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/subsref.m] >>>>> /build/octave-symbolic-3.0.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/@symfun/size.m] >>>>> /build/octave-symbolic-3.0.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/rdivide.m] >>>>> /build/octave-symbolic-3.0.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 (formula (h), [1 x])) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@symfun/private_disp_name.m] >>>>> /build/octave-symbolic-3.0.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/power.m] >>>>> /build/octave-symbolic-3.0.1/inst/@symfun/power.m ***** test syms x f(x) = 2*x; h = f.^f; assert( isa(h, 'symfun')) assert (isequal (formula (h), (2*x)^(2*x))) ***** test syms x f(x) = [x 2*x]; h = f.^[x 3]; assert( isa(h, 'symfun')) assert (isequal (formula (h), [x^x 8*x^3])) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@symfun/plus.m] >>>>> /build/octave-symbolic-3.0.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/numel.m] >>>>> /build/octave-symbolic-3.0.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/mtimes.m] >>>>> /build/octave-symbolic-3.0.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/mrdivide.m] >>>>> /build/octave-symbolic-3.0.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/mpower.m] >>>>> /build/octave-symbolic-3.0.1/inst/@symfun/mpower.m ***** test syms x f(x) = 2*x; h = f^f; assert( isa(h, 'symfun')) assert (isequal (formula (h), (2*x)^(2*x))) h = f^sym(2); assert( isa(h, 'symfun')) assert (isequal (formula (h), 4*x^2)) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@symfun/mldivide.m] >>>>> /build/octave-symbolic-3.0.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/minus.m] >>>>> /build/octave-symbolic-3.0.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; h = x - f; assert (isa (h, 'symfun') && isequal (formula (h), x - g)) h = x + f; assert (isa (h, 'symfun') && isequal (formula (h), x + g)) h = x * f; assert (isa (h, 'symfun') && isequal (formula (h), x * g)) h = x / f; assert (isa (h, 'symfun') && isequal (formula (h), x / g)) h = x ^ f; assert (isa (h, 'symfun') && isequal (formula (h), x ^ g)) h = x .* f; assert (isa (h, 'symfun') && isequal (formula (h), x .* g)) h = x ./ f; assert (isa (h, 'symfun') && isequal (formula (h), x ./ g)) h = x .^ f; assert (isa (h, 'symfun') && isequal (formula (h), x .^ g)) ***** 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 (formula (h), 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 (formula (h), 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 (formula (h), 2*x*y - sin(y) + sin(x))) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@symfun/ldivide.m] >>>>> /build/octave-symbolic-3.0.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-3.0.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/isequal.m] >>>>> /build/octave-symbolic-3.0.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/int.m] >>>>> /build/octave-symbolic-3.0.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/formula.m] >>>>> /build/octave-symbolic-3.0.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/diff.m] >>>>> /build/octave-symbolic-3.0.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/argnames.m] >>>>> /build/octave-symbolic-3.0.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/@sym/ztrans.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/ztrans.m ***** test % basic Z-transform table checks % X1, ..., X4 must have inner radius of convergence 1 syms n z % trick to extract the closed form formula using the fact that inner roc = 1 closed_form = @(X) subs (X, abs (1 / z), 1 / sym (2)); % check if ztrans(f) == X check_ztrans = @(f, X) logical (simplify (closed_form (ztrans (f)) == X)); f1 = sym (1); X1 = 1 / (1 - 1 / z); assert (check_ztrans (f1, X1)); f2 = n; X2 = (1 / z) / (1 - 1 / z)^2; assert (check_ztrans (f2, X2)); f3 = n^2; X3 = (1 / z) * (1 + 1 / z) / (1 - 1 / z)^3; assert (check_ztrans (f3, X3)); f4 = n^3; X4 = (1 / z) * (1 + 4 / z + 1 / z^2) / (1 - 1 / z)^4; assert (check_ztrans (f4, X4)); % basic matrix checks A1 = ztrans ([f1 f2; f3 f4]); B1 = [ztrans(f1) ztrans(f2); ztrans(f3) ztrans(f4)]; assert (isequal (A1, B1)); A2 = ztrans ([f1 f2; f3 f4], z); B2 = [ztrans(f1, z) ztrans(f2, z); ztrans(f3, z) ztrans(f4, z)]; assert (isequal (A2, B2)); A3 = ztrans ([f1 f2; f3 f4], n, z); B3 = [ztrans(f1, n, z) ztrans(f2, n, z); ztrans(f3, n, z) ztrans(f4, n, z)]; assert (isequal (A3, B3)); ***** test % additional Z-transform table checks % X1, ..., X4 must have inner radius of convergence a syms n nonnegative integer syms m positive integer syms a syms z % trick to extract the closed form formula using the fact that inner roc = a closed_form = @(X) subs (X, abs (a / z), 1 / sym (2)); % check if ztrans(f) == X check_ztrans = @(f, X) logical (simplify (closed_form (ztrans (f)) == X)); f1 = a^n; X1 = 1 / (1 - a / z); assert (check_ztrans (f1, X1)); f2 = n * a^n; X2 = (a / z) / (1 - a / z)^2; assert (check_ztrans (f2, X2)); f3 = n^2 * a^n; X3 = (a / z) * (1 + a / z) / (1 - a / z)^3; assert (check_ztrans (f3, X3)); f4 = nchoosek(n + m - 1, m - 1) * a^n; X4 = 1 / (1 - a / z)^m; assert (check_ztrans (f4, X4)); % additional matrix checks A1 = ztrans (f1, [n m; m n], [z a; a z]); B1 = [ztrans(f1, n, z) ztrans(f1, m, a); ztrans(f1, m, a) ztrans(f1, n, z)]; assert (isequal (A1, B1)); A2 = ztrans (f1, m, [z a; a z]); B2 = [ztrans(f1, m, z) ztrans(f1, m, a); ztrans(f1, m, a) ztrans(f1, m, z)]; assert (isequal (A2, B2)); A3 = ztrans (f1, [n m; m n], a); B3 = [ztrans(f1, n, a) ztrans(f1, m, a); ztrans(f1, m, a) ztrans(f1, n, a)]; assert (isequal (A3, B3)); ***** test % Kronecker delta checks syms n n0 nonnegative integer syms z assert (isequal (ztrans (kroneckerDelta (n)), 1)); assert (isequal (ztrans (kroneckerDelta (n - n0)), 1 / z^n0)); ***** test % basic var selection checks syms n m z w assert (isequal (ztrans (1 / factorial (n)), exp (1 / z))); assert (isequal (ztrans (1 / factorial (z)), exp (1 / w))); assert (isequal (ztrans (1 / factorial (m), w), exp (1 / w))); assert (isequal (ztrans (1 / factorial (m), m, w), exp (1 / w))); ***** test % additional var selection checks syms n m z f = kroneckerDelta(m) / factorial (n); assert (isequal (ztrans (f, z), exp (1 / z) * kroneckerDelta (m))); assert (isequal (ztrans (f, n, z), exp (1 / z) * kroneckerDelta (m))); assert (isequal (ztrans (f, m, z), 1 / factorial (n))); ***** test % if no t, use symvar: take x before a syms a x z assert (isequal (ztrans (a / factorial (x)), a * exp (1 / z))); ***** error ztrans (sym ('n')^sym ('n', 'nonnegative', 'integer')) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/@sym/zeta.m] >>>>> /build/octave-symbolic-3.0.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 y = sym('y'); f = zeta (y); h = function_handle (f); A = zeta (2); B = h (2); assert (A, B, -eps) ***** test syms x assert (isequal (zeta (0, x), zeta(x))) ***** test % ensure its the nth deriv wrt x, not the n deriv syms x n F = zeta (n, x); F = subs(F, n, 3); assert (isequal (F, diff (zeta (x), x, x, x))) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/@sym/zeros.m] >>>>> /build/octave-symbolic-3.0.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))) ***** test y = zeros (sym([2 3])); x = sym (zeros ([2 3])); assert (isequal (y, 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 9 tests, 8 passed, 1 known failure, 0 skipped [inst/@sym/xor.m] >>>>> /build/octave-symbolic-3.0.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/vertcat.m] >>>>> /build/octave-symbolic-3.0.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/uplus.m] >>>>> /build/octave-symbolic-3.0.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/unique.m] >>>>> /build/octave-symbolic-3.0.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)) ***** test syms x assert (isequal (unique(x), x)) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/union.m] >>>>> /build/octave-symbolic-3.0.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/uminus.m] >>>>> /build/octave-symbolic-3.0.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/triu.m] >>>>> /build/octave-symbolic-3.0.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/tril.m] >>>>> /build/octave-symbolic-3.0.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/transpose.m] >>>>> /build/octave-symbolic-3.0.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/trace.m] >>>>> /build/octave-symbolic-3.0.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/toeplitz.m] >>>>> /build/octave-symbolic-3.0.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 warning: called from toeplitz at line 84 column 7 __test__ at line 6 column 4 test at line 683 column 11 /tmp/tmp.2sEzkfPv0E at line 454 column 31 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@sym/times.m] >>>>> /build/octave-symbolic-3.0.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 syms x A = [1 x]; B = [2 3]; assert (isequal (A.*B, [2 3*x])) ***** 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'))) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/taylor.m] >>>>> /build/octave-symbolic-3.0.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 syms x g = x^2 + 2*x + 3; h = taylor (g, x, 4, 'order', 1); assert (isequal (h, 27)) ***** 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/tanh.m] >>>>> /build/octave-symbolic-3.0.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/tand.m] >>>>> /build/octave-symbolic-3.0.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/tan.m] >>>>> /build/octave-symbolic-3.0.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/symvar.m] >>>>> /build/octave-symbolic-3.0.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/symsum.m] >>>>> /build/octave-symbolic-3.0.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/symreplace.m] >>>>> /build/octave-symbolic-3.0.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/sympy.m] >>>>> /build/octave-symbolic-3.0.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/symprod.m] >>>>> /build/octave-symbolic-3.0.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/sym2poly.m] >>>>> /build/octave-symbolic-3.0.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); ***** assert (isequal (sym2poly (sym(5)), sym(5))) 13 tests, 13 passed, 0 known failure, 0 skipped [inst/@sym/sym.m] >>>>> /build/octave-symbolic-3.0.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 (pycall_sympy__ ('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)) ***** test % not the identity, force symfun f = sym ('ff(x, y)'); s1 = sympy (f); s2 = 'Function(''ff'')(Symbol(''x''), Symbol(''y''))'; assert (strcmp (s1, s2)) ***** test % But this one should satisfy "sym(sympy(x) == x" identity % (OOTB, SymPy has ff -> FallingFactorial) f = sym ('FallingFactorial(x, y)'); s1 = sympy (f); s2 = 'FallingFactorial(Symbol(''x''), Symbol(''y''))'; assert (strcmp (s1, s2)) 82 tests, 82 passed, 0 known failure, 0 skipped [inst/@sym/svd.m] >>>>> /build/octave-symbolic-3.0.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/sum.m] >>>>> /build/octave-symbolic-3.0.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/subsref.m] >>>>> /build/octave-symbolic-3.0.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/subsindex.m] >>>>> /build/octave-symbolic-3.0.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/subsasgn.m] >>>>> /build/octave-symbolic-3.0.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 )) ***** error % Wrong shape matrix RHS: Matlab/Octave don't allow this on doubles. % Matlab SMT 2013b gets it wrong. We throw an error. rhs = [10 11; 12 13]; a = sym (magic (3)); a(1:2,1:2) = rhs(:); ***** test % Issue #963: vector RHS with diff orientation from 2D indexing b = 1:4; b = [b; 2*b; 3*b]; a = sym(b); b(1:2:3, 1) = 11:2:13; a(1:2:3, 1) = sym(11:2:13); assert (isequal (a, b)) b(1:2:3, 1) = 1:2:3; a(1:2:3, 1) = 1:2:3; assert (isequal (a, b)) ***** test % Issue #963: vector RHS with diff orientation from 2D indexing a = sym (magic (3)); b = a; a(1:2:3, 2) = [14 15]; b(1:2:3, 2) = [14; 15]; assert (isequal (a, b)) a(2, 1:2:3) = [24 25]; b(2, 1:2:3) = [24; 25]; 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])) ***** test % grow scalar equality expression into a matrix of equalities syms a b c d e = a == b; e(2) = c == d; assert (isequal (e, [a==b c==d])) ***** 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)) ***** shared ***** 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 % Issue #964 a = sym(10); a(1) = []; assert (isempty (a)) assert (isequal (a, zeros(1, 0))) ***** test % Issue #963: scalar asgn to empty part of matrix A = sym (magic (3)); B = A; A(1, []) = 42; assert (isequal (A, B)) A([], 2) = 42; assert (isequal (A, B)) A([]) = 42; assert (isequal (A, B)) A([], []) = 42; assert (isequal (A, B)) A(2:3, []) = 42; assert (isequal (A, B)) A([], 2:3) = 42; assert (isequal (A, B)) A(:, []) = 42; assert (isequal (A, B)) A([], :) = 42; assert (isequal (A, B)) ***** test % Issue #1026 a = sym(1:5); a(1:3) = []; assert (isequal (a, sym([4 5]))) ***** test % Issue #1026 B = eye(4); A = sym(B); A(1:2, :) = []; B(1:2, :) = []; assert (isequal (A, B)) ***** error % TODO: do we care what error? A = sym (magic (3)); A(2:3, []) = [66; 66]; ***** error A = sym (magic (3)); A([]) = [66; 66]; ***** error A = sym (magic (3)); A([], 1) = [66; 66]; ***** test % Issue #966: empty indexing, empty RHS, A unchanged B = magic(3); A = sym(B); A(1, []) = []; assert (isequal (A, B)) A([], 2) = []; assert (isequal (A, B)) A([], []) = []; assert (isequal (A, B)) A(2:3, []) = []; assert (isequal (A, B)) A([], 2:3) = []; assert (isequal (A, B)) A(:, []) = []; assert (isequal (A, B)) A([], :) = []; assert (isequal (A, B)) ***** test % Issue 967 B = [1 2; 3 4]; A = sym(B); A([]) = []; assert (isequal (A, B)) ***** test % Issue #965 a = sym(7); a([]) = []; assert (isequal (a, sym(7))) ***** test % Issue #965 a = sym(7); a([]) = 42; assert (isequal (a, sym(7))) ***** error % Issue #965 a = sym(7); a([]) = [42 42] ***** test b = eye (3); a = sym (b); I = [2 3; 4 5]; a(I) = -2*I; b(I) = -2*I; assert (isequal (a, sym (b))); assert (size (a), [3 3]); ***** 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)) 76 tests, 76 passed, 0 known failure, 0 skipped [inst/@sym/subs.m] >>>>> /build/octave-symbolic-3.0.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]))) ***** test % SMT compat, subbing in vec/mat for nonexist x syms x y z % you might think this would be y: assert (~ isequal (subs (y, x, [1 2]), y)) % but it gives two y's: assert (isequal (subs (y, x, [1 2]), [y y])) assert (isequal (subs (sym(42), [3 5]), sym([42 42]))) assert (isequal (subs (sym(42), x, []), sym([]))) assert (isequal (subs (y, {x y}, {[1 2; 3 4], 6}), sym([6 6; 6 6]))) assert (isequal (subs (y, {x z}, {[1 2; 3 4], 6}), [y y; y y])) ***** test syms x y assert (isequal (subs (sym(42), x, y), sym(42))) assert (isequal (subs (sym(42), y), sym(42))) assert (isequal (subs (sym(42)), sym(42))) ***** test % empty lists assert (isequal (subs (sym(42), {}, {}), sym(42))) assert (isequal (subs (42, sym([]), sym([])), sym(42))) ***** test syms x y f = x*y; x = 6; y = 7; g = subs (f); assert (isequal (g, sym (42))) assert (isa (g, 'sym')) ***** test syms x y f = x*y; x = 6; g = subs (f); assert (isequal (g, 6*y)) ***** test syms x y f = x*y; xsave = x; x = 6; g = subs (f); assert (isequal (g, 6*y)) assert (isequal (f, xsave*y)) ***** test syms a x y f = a*x*y; a = 6; clear x g = subs (f); syms x assert (isequal (g, 6*x*y)) 25 tests, 25 passed, 0 known failure, 0 skipped [inst/@sym/ssinint.m] >>>>> /build/octave-symbolic-3.0.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/sqrt.m] >>>>> /build/octave-symbolic-3.0.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/sort.m] >>>>> /build/octave-symbolic-3.0.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/solve.m] >>>>> /build/octave-symbolic-3.0.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 (isempty (A)) ***** test % Issue #850 A = solve (sym(pi)^2*x + y == 0); assert (isequal (A, -y/sym(pi)^2)) ***** 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/size.m] >>>>> /build/octave-symbolic-3.0.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/sinint.m] >>>>> /build/octave-symbolic-3.0.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 y = sym('y'); A = sinint (d); f = sinint (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 4 passed, 1 known failure, 0 skipped [inst/@sym/sinhint.m] >>>>> /build/octave-symbolic-3.0.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 y = sym('y'); A = sinhint (d); f = sinhint (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 4 passed, 1 known failure, 0 skipped [inst/@sym/sinh.m] >>>>> /build/octave-symbolic-3.0.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/sind.m] >>>>> /build/octave-symbolic-3.0.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/sinc.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/sinc.m ***** error sinc (sym(1), 2) ***** assert (isequaln (sinc (sym(nan)), sym(nan))) ***** assert (isequal (sinc (sym(0)), sym(1))) ***** assert (isequal (sinc (sym(1)), sym(0))) ***** assert (isequal (sinc (-sym(1)), sym(0))) ***** assert (double (sinc (sym(pi))), sinc (pi), -10*eps) ***** test A = [-sym(1)/2 sym(1)/2 pi; -sym(7)/2 sym(71)/2 sym(101)/3]; D = double (A); assert (sinc (D), double (sinc (A)), -200*eps) ***** test A = [sym(51)/2 sym(1001)/3 sym(10001)/3 sym(100001)/3]; D = double (A); assert (sinc (D), double (sinc (A)), 1e-10) ***** test % round trip syms x A = sinc (1); f = sinc (x); h = function_handle (f); B = h (1); assert (A, B, -eps) ***** test % round trip syms x f = sinc (x); h = function_handle (f); A = sinc (1.5); B = h (1.5); assert (A, B, -eps) ***** test syms x h = function_handle (sinc (x)); A = double (sinc (sym (12)/10)); B = h (1.2); C = sinc (1.2); assert (A, B, -eps) assert (A, C, -eps) 11 tests, 11 passed, 0 known failure, 0 skipped [inst/@sym/sin.m] >>>>> /build/octave-symbolic-3.0.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/simplify.m] >>>>> /build/octave-symbolic-3.0.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/signIm.m] >>>>> /build/octave-symbolic-3.0.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/sign.m] >>>>> /build/octave-symbolic-3.0.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/setxor.m] >>>>> /build/octave-symbolic-3.0.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/setdiff.m] >>>>> /build/octave-symbolic-3.0.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/sech.m] >>>>> /build/octave-symbolic-3.0.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 y = sym('y'); A = sech (d); f = sech (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/sec.m] >>>>> /build/octave-symbolic-3.0.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/rref.m] >>>>> /build/octave-symbolic-3.0.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/rows.m] >>>>> /build/octave-symbolic-3.0.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/round.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/round.m ***** test d = 3/2; x = sym('3/2'); f1 = round(x); f2 = round(d); assert (isequal (f1, f2)) ***** xtest % ideally rounding direction would match Octave d = 5/2; x = sym('5/2'); f1 = round(x); f2 = round(d); assert (isequal (f1, f2)) !!!!! known failure assert (isequal (f1, f2)) failed ***** 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 = 7j/2; x = sym(7j)/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, 6 passed, 1 known failure, 0 skipped [inst/@sym/rhs.m] >>>>> /build/octave-symbolic-3.0.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/rewrite.m] >>>>> /build/octave-symbolic-3.0.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/resize.m] >>>>> /build/octave-symbolic-3.0.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/reshape.m] >>>>> /build/octave-symbolic-3.0.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/repmat.m] >>>>> /build/octave-symbolic-3.0.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/real.m] >>>>> /build/octave-symbolic-3.0.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 syms x d = 3 - 5i; f = real (x); A = real (d); h = function_handle (f); B = h (d); assert (A, B) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/rdivide.m] >>>>> /build/octave-symbolic-3.0.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/rank.m] >>>>> /build/octave-symbolic-3.0.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/qr.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/qr.m ***** error qr (sym(1), 2, 3) ***** error [Q, R, P] = qr (sym(1)) ***** error qr (sym(1), 1) ***** test % scalar [q, r] = qr(sym(6)); assert (isequal (q, sym(1))) assert (isequal (r, sym(6))) ***** test syms x positive [q, r] = qr(x); assert (isequal (q*r, x)) assert (isequal (q, sym(1))) assert (isequal (r, x)) ***** test % trickier if x could be zero, fails on 1.8 <= SymPy <= 1.10.1 syms x [q, r] = qr(x); if (pycall_sympy__ ('return Version(spver) > Version("1.10.1")')) assert (isequal (q*r, x)) end ***** 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)) ***** test % non square: short fat A = sym([1 2 3; 4 5 6]); [Q, R] = qr (A); assert (isequal (Q*R, A)) ***** test % non square: short fat, rank deficient A = sym([1 2 3; 2 4 6]); [Q, R] = qr (A); assert (isequal (Q*R, A)) A = sym([1 2 3; 2 4 6; 0 0 0]); [Q, R] = qr (A); assert (isequal (Q*R, A)) ***** test % rank deficient A = sym([1 2 3; 2 4 6; 0 0 0]); [Q, R] = qr (A); assert (isequal (Q*R, A)) A = sym([1 2 3; 2 5 6; 0 0 0]); [Q, R] = qr (A); assert (isequal (Q*R, A)) ***** test % single return value R not Q assert (isequal (qr (sym(4)), sym(4))) 12 tests, 12 passed, 0 known failure, 0 skipped [inst/@sym/psi.m] >>>>> /build/octave-symbolic-3.0.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')) syms x f = psi (x); h = function_handle (f); A = h (1.1); B = psi (1.1); assert (A, B) end 10 tests, 10 passed, 0 known failure, 0 skipped [inst/@sym/prod.m] >>>>> /build/octave-symbolic-3.0.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/private_disp_name.m] >>>>> /build/octave-symbolic-3.0.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/prevprime.m] >>>>> /build/octave-symbolic-3.0.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/pretty.m] >>>>> /build/octave-symbolic-3.0.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/power.m] >>>>> /build/octave-symbolic-3.0.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/potential.m] >>>>> /build/octave-symbolic-3.0.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/polylog.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/polylog.m ***** assert (isequal (polylog (sym('s'), 0), sym(0))) ***** assert (isequal (double (polylog (1, sym(-1))), -log(2))) ***** 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 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) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/pochhammer.m] >>>>> /build/octave-symbolic-3.0.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 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) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/plus.m] >>>>> /build/octave-symbolic-3.0.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/pinv.m] >>>>> /build/octave-symbolic-3.0.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/permute.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/permute.m ***** error permute (sym(1)) ***** error permute (sym(1), 2, 3) ***** 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])) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/partfrac.m] >>>>> /build/octave-symbolic-3.0.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/orth.m] >>>>> /build/octave-symbolic-3.0.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/or.m] >>>>> /build/octave-symbolic-3.0.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/ones.m] >>>>> /build/octave-symbolic-3.0.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))) ***** test y = ones (sym([2 3])); x = sym (ones ([2 3])); assert (isequal (y, 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 9 tests, 8 passed, 1 known failure, 0 skipped [inst/@sym/numel.m] >>>>> /build/octave-symbolic-3.0.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/numden.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/numden.m ***** error numden (sym(1), 2) ***** test syms x [n, d] = numden (1/x); assert (isequal (n, sym(1)) && isequal (d, x)) ***** test syms x y n1 = [sym(1); x]; d1 = [x; y]; [n, d] = numden (n1 ./ d1); assert (isequal (n, n1) && isequal (d, d1)) ***** 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)); 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@sym/null.m] >>>>> /build/octave-symbolic-3.0.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/not.m] >>>>> /build/octave-symbolic-3.0.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/norm.m] >>>>> /build/octave-symbolic-3.0.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/nnz.m] >>>>> /build/octave-symbolic-3.0.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/nextprime.m] >>>>> /build/octave-symbolic-3.0.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/ne.m] >>>>> /build/octave-symbolic-3.0.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/nchoosek.m] >>>>> /build/octave-symbolic-3.0.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/mtimes.m] >>>>> /build/octave-symbolic-3.0.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/mrdivide.m] >>>>> /build/octave-symbolic-3.0.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)) ***** 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, 7 passed, 0 known failure, 0 skipped [inst/@sym/mpower.m] >>>>> /build/octave-symbolic-3.0.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)))) ***** xtest % scalar^array (e.g., defined by matrix exponential) not implemented in SymPy? % on 1.0 < SymPy <= 1.5.1, you can form the expression but still cannot eval syms x A = [1 2; 3 4]; B = x^A; assert (strcmp (regexprep (disp (B, 'flat'), '\s+', ''), 'x**Matrix([[1,2],[3,4]])')) % sub in and compare to double Bs = subs(B, x, sym(3)/2); D1 = double(Bs); D2 = (3/2)^[1 2; 3 4]; assert (max(max(abs(D1 - D2))) < 1e-14) !!!!! known failure Python exception: TypeError: unsupported operand type(s) for ** or pow(): 'Symbol' and 'MutableDenseMatrix' occurred at line 2 of the Python code block: return x**y ***** error A = sym([1 2; 3 4]); B = A^A; 9 tests, 8 passed, 1 known failure, 0 skipped [inst/@sym/mod.m] >>>>> /build/octave-symbolic-3.0.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/mldivide.m] >>>>> /build/octave-symbolic-3.0.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/minus.m] >>>>> /build/octave-symbolic-3.0.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/min.m] >>>>> /build/octave-symbolic-3.0.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 % empty without index output A = sym(zeros(3, 0)); assert (isempty (min (A, [], 1))) assert (isempty (max (A, [], 1))) assert (isempty (min (A, [], 2))) assert (isempty (max (A, [], 2))) A = sym(zeros(0, 3)); assert (isempty (min (A, [], 1))) assert (isempty (max (A, [], 1))) assert (isempty (min (A, [], 2))) assert (isempty (max (A, [], 2))) ***** 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))) ***** test syms x y assert (isequal (children (min (x, y)), [x y])) ***** test syms x y z A = [x 1; y z]; assert (isequal (min (A, [], 1), [min(x, y) min(1, z)])) assert (isequal (max (A, [], 1), [max(x, y) max(1, z)])) assert (isequal (min (A, [], 2), [min(x, 1); min(y, z)])) assert (isequal (max (A, [], 2), [max(x, 1); max(y, z)])) ***** test syms x y positive a = min([x 2 y -6]); assert (isequal (a, -6)) a = max([x y -6]); assert (isequal (a, max(x, y))) ***** test syms x negative a = min([x 6 10]); assert (isequal (a, x)) a = max([x -2 6]); assert (isequal (a, 6)) 21 tests, 21 passed, 0 known failure, 0 skipped [inst/@sym/max.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/max.m ***** test % simple assert (isequal (max([sym(10) sym(11)]), sym(11))) ***** test syms x y assert (isequal (children (max (x, y)), [x y])) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/matlabFunction.m] >>>>> /build/octave-symbolic-3.0.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/lu.m] >>>>> /build/octave-symbolic-3.0.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*B)) 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)) ***** test % rectangular A = sym([1 2; 3 4; 5 6]); [L, U] = lu (A); assert (isequal (L*U, A)) ***** test % rectangular A = sym([1 2 3; 4 5 6]); [L, U] = lu (A); assert (isequal (L*U, A)) ***** test % rectangular, repeated row A = sym([1 2 3; 2 4 6]); [L, U] = lu (A); assert (isequal (L*U, A)) ***** test % rectangular, needs permutation A = sym([0 0 0; 1 2 3]); [L, U] = lu (A); assert (isequal (L*U, A)) assert (~isequal (tril (L), L)) [L, U, P] = lu (A); assert (isequal (L*U, P*A)) assert (isequal (tril (L), L)) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/@sym/lt.m] >>>>> /build/octave-symbolic-3.0.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/logspace.m] >>>>> /build/octave-symbolic-3.0.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/logint.m] >>>>> /build/octave-symbolic-3.0.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 y = sym('y'); A = logint (d); f = logint (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 4 passed, 1 known failure, 0 skipped [inst/@sym/logical.m] >>>>> /build/octave-symbolic-3.0.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])) /usr/lib/python3/dist-packages/sympy/matrices/common.py:2058: SymPyDeprecationWarning: non-Expr objects in a Matrix is deprecated. Matrix represents a mathematical matrix. To represent a container of non-numeric entities, Use a list of lists, TableForm, NumPy array, or some other data structure instead. See https://docs.sympy.org/latest/explanation/active-deprecations.html#deprecated-non-expr-in-matrix for details. This has been deprecated since SymPy version 1.9. It will be removed in a future version of SymPy. return self._eval_applyfunc(f) ***** 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)) ***** test % older Octave (< 4.2) didn't automatically do "if (logical(obj))" e = sym(true); if (e) assert(true); else assert(false); end ***** test % more of above e2 = sym(1) == sym(1); if (e2) assert(true); else assert(false); end e3 = sym([1 2]) == sym([1 1]); if (e3(1)) assert(true); else assert(false); end 12 tests, 12 passed, 0 known failure, 0 skipped [inst/@sym/log2.m] >>>>> /build/octave-symbolic-3.0.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/log10.m] >>>>> /build/octave-symbolic-3.0.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/log.m] >>>>> /build/octave-symbolic-3.0.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/linspace.m] >>>>> /build/octave-symbolic-3.0.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/limit.m] >>>>> /build/octave-symbolic-3.0.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/lhs.m] >>>>> /build/octave-symbolic-3.0.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/lgamma.m] >>>>> /build/octave-symbolic-3.0.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/length.m] >>>>> /build/octave-symbolic-3.0.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/le.m] >>>>> /build/octave-symbolic-3.0.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/ldivide.m] >>>>> /build/octave-symbolic-3.0.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/latex.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/latex.m ***** test syms x y = sin(x); assert (strcmp (latex (y), '\sin{\left(x \right)}')) ***** assert (strcmp (latex (exp (sym('x'))), 'e^{x}')) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/laplacian.m] >>>>> /build/octave-symbolic-3.0.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)) Waiting........ ***** error laplacian(sym('x'), sym('x'), 42) ***** error laplacian([sym('x'), sym('x')]) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/@sym/laplace.m] >>>>> /build/octave-symbolic-3.0.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 assert (isequal (laplace (x*exp (t), z), x/(z - 1))) % 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 syms x a s % if no t, use symvar: take x before a assert (isequal (laplace (a*exp (x)), a/(s - 1))) ***** error laplace (sym('t')*sym('t', 'real')) ***** 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 Python exception: TypeError: 'Add' object is not subscriptable occurred at line 6 of the Python code block: return F[0], 8 tests, 7 passed, 1 known failure, 0 skipped [inst/@sym/lambertw.m] >>>>> /build/octave-symbolic-3.0.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 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) 11 tests, 10 passed, 1 known failure, 0 skipped [inst/@sym/laguerreL.m] >>>>> /build/octave-symbolic-3.0.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(x) ***** error laguerreL(1, 2, x, 3) ***** shared ***** test if (pycall_sympy__ ('return Version(spver) > Version("1.4")')) syms x assert (isequal (laguerreL (-3, x), exp(x)*(x^2/2 + 2*x + 1))) end ***** 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 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) ***** error % round trip f = laguerreL (n, y, x); h = function_handle (f); 19 tests, 19 passed, 0 known failure, 0 skipped [inst/@sym/kroneckerDelta.m] >>>>> /build/octave-symbolic-3.0.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 syms x y f = kroneckerDelta (x, y); h = function_handle (f); assert (h (1, 2), 0) assert (h (2, 2), 1) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/kron.m] >>>>> /build/octave-symbolic-3.0.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/jordan.m] >>>>> /build/octave-symbolic-3.0.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/jacobian.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/jacobian.m ***** error jacobian (sym(1), 2, 3) ***** error jacobian ([sym(1) 2; sym(3) 4]) ***** 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])) 10 tests, 10 passed, 0 known failure, 0 skipped [inst/@sym/isvector.m] >>>>> /build/octave-symbolic-3.0.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/isscalar.m] >>>>> /build/octave-symbolic-3.0.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/isrow.m] >>>>> /build/octave-symbolic-3.0.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/isprime.m] >>>>> /build/octave-symbolic-3.0.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/isnan.m] >>>>> /build/octave-symbolic-3.0.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/isna.m] >>>>> /build/octave-symbolic-3.0.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/ismember.m] >>>>> /build/octave-symbolic-3.0.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/ismatrix.m] >>>>> /build/octave-symbolic-3.0.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/isinf.m] >>>>> /build/octave-symbolic-3.0.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/isfinite.m] >>>>> /build/octave-symbolic-3.0.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/isequaln.m] >>>>> /build/octave-symbolic-3.0.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/isequal.m] >>>>> /build/octave-symbolic-3.0.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/isempty.m] >>>>> /build/octave-symbolic-3.0.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/isconstant.m] >>>>> /build/octave-symbolic-3.0.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/iscolumn.m] >>>>> /build/octave-symbolic-3.0.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/isallconstant.m] >>>>> /build/octave-symbolic-3.0.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/isNone.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/isNone.m ***** test None = pycall_sympy__ ('return None'); ***** shared None None = pycall_sympy__ ('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/isAlways.m] >>>>> /build/octave-symbolic-3.0.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/ipermute.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/ipermute.m ***** error permute (sym(1)) ***** error permute (sym(1), 2, 3) ***** test syms x A = [1 x]; perm = [2 1]; B = permute(A, perm); C = ipermute(B, perm); assert (isequal(C, A)) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/invhilb.m] >>>>> /build/octave-symbolic-3.0.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/inv.m] >>>>> /build/octave-symbolic-3.0.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/interval.m] >>>>> /build/octave-symbolic-3.0.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/intersect.m] >>>>> /build/octave-symbolic-3.0.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/int.m] >>>>> /build/octave-symbolic-3.0.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/imag.m] >>>>> /build/octave-symbolic-3.0.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 syms x d = 3 - 5i; f = imag (x); A = imag (d); h = function_handle (f); B = h (d); assert (A, B) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/ilaplace.m] >>>>> /build/octave-symbolic-3.0.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)) Waiting... ***** 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/igamma.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/igamma.m ***** test % mostly tested in @sym/gammainc syms x assert (isequal (igamma (2, x), gammainc(x, 2, 'upper'))) ***** test % unregularized B = double (igamma (sym(3), 1)); A = gammainc (1, 3, 'upper')*gamma (3); assert (A, B, -2*eps) ***** test % something like a round trip: no igamma() syms x a f = igamma (a, x); h = function_handle (f, 'vars', [a x]); A = h (1.1, 2.2); B = double (igamma (sym(11)/10, sym(22)/10)); C = gammainc (2.2, 1.1, 'upper')*gamma(1.1); assert (A, B, -10*eps) assert (A, C, -10*eps) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@sym/ifourier.m] >>>>> /build/octave-symbolic-3.0.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/hypot.m] >>>>> /build/octave-symbolic-3.0.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/hypergeom.m] >>>>> /build/octave-symbolic-3.0.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/horzcat.m] >>>>> /build/octave-symbolic-3.0.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/horner.m] >>>>> /build/octave-symbolic-3.0.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/hilb.m] >>>>> /build/octave-symbolic-3.0.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/hessian.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/hessian.m ***** error hessian (sym(1), 2, 3) ***** error hessian ([sym(1) sym(2)]) ***** 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)) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/heaviside.m] >>>>> /build/octave-symbolic-3.0.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 H0 = sym([1 -2 0; 3 0 pi]); A = heaviside (sym(0), H0); assert (isequal (A, H0)) ***** test A = heaviside ([-1 0 1], sym(1)/2); assert (isequal (A, [0 sym(1)/2 1])) ***** test A = heaviside ([-1 0 1], sym(1)/2); assert (isequal (A, [0 sym(1)/2 1])) ***** assert (isequaln (heaviside (sym(nan)), sym(nan))) ***** test 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))) ***** 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 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) 12 tests, 12 passed, 0 known failure, 0 skipped [inst/@sym/has.m] >>>>> /build/octave-symbolic-3.0.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/harmonic.m] >>>>> /build/octave-symbolic-3.0.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 y = sym('y'); A = harmonic (7); f = harmonic (y); h = function_handle (f); B = h (7); assert (A, B, -eps) 6 tests, 5 passed, 1 known failure, 0 skipped [inst/@sym/gt.m] >>>>> /build/octave-symbolic-3.0.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/gradient.m] >>>>> /build/octave-symbolic-3.0.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/ge.m] >>>>> /build/octave-symbolic-3.0.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/gammaln.m] >>>>> /build/octave-symbolic-3.0.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 syms x f = gammaln (x); h = function_handle (f); A = h (1.1); B = gammaln (1.1); assert (A, B) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/gammainc.m] >>>>> /build/octave-symbolic-3.0.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 where gamma(a) != 1 x = 5; a = 3; 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 x = 10; a = 1; A = gammainc (x, a, 'upper'); B = double (gammainc (sym(x), a, 'upper')); assert(A, B, -10*eps) ***** test % compare to double x = 40; a = 1; A = gammainc (x, a, 'upper'); B = double (gammainc (sym(x), a, 'upper')); assert(A, B, -10*eps) ***** 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 syms x a f = gammainc (x, a, 'upper'); h = function_handle (f, 'vars', [x a]); A = h (1.1, 2); B = gammainc (1.1, 2, 'upper'); assert (A, B) ***** test % round trip syms x a f = gammainc (x, a, 'lower'); h = function_handle (f, 'vars', [x a]); A = h (1.1, 2); B = gammainc (1.1, 2, 'lower'); assert (A, B) ***** test % round trip 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) ***** test % round trip 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) 22 tests, 22 passed, 0 known failure, 0 skipped [inst/@sym/gamma.m] >>>>> /build/octave-symbolic-3.0.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/function_handle.m] >>>>> /build/octave-symbolic-3.0.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_6FdZI1.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_toCbVG.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_r2XIwV.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 f = function_handle (x + 1i*sqrt (sym(3))); assert (f (1), complex (1, sqrt (3)), -eps) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/@sym/fresnels.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/fresnels.m ***** error fresnels (sym(1), 2) ***** 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 syms x f = fresnels (x); h = function_handle (f); A = h (1.1); B = fresnels (1.1); assert (A, B) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/fresnelc.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/fresnelc.m ***** error fresnelc (sym(1), 2) ***** 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 syms x f = fresnelc (x); h = function_handle (f); A = h (1.1); B = fresnelc (1.1); assert (A, B) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/frac.m] >>>>> /build/octave-symbolic-3.0.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/fourier.m] >>>>> /build/octave-symbolic-3.0.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/fortran.m] >>>>> /build/octave-symbolic-3.0.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/formula.m] >>>>> /build/octave-symbolic-3.0.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/floor.m] >>>>> /build/octave-symbolic-3.0.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-3.0.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/fliplr.m] >>>>> /build/octave-symbolic-3.0.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/fix.m] >>>>> /build/octave-symbolic-3.0.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/findsym.m] >>>>> /build/octave-symbolic-3.0.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/find.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/find.m ***** error find (sym (1), 2, 3, 4) ***** error [x, y, z, w] = find (sym (1)) ***** test syms x y positive assert (isequal (find ([0 x 0 y]), [2 4])) assert (isequal (find ([0 x 0 y], 1), 2)) assert (isequal (find ([0 x 0 y], 1, 'first'), 2)) assert (isequal (find ([0 x 0 y], 1, 'last'), 4)) assert (isequal (find ([0 x 0 y], 2, 'last'), [2 4])) ***** test % its enough that it could be non-zero, does not have to be syms x y assert (isequal (find ([0 x+y]), 2)) ***** test % false should not be found syms x y assert (isequal (find ([x==x x==y]), 1)) assert (isequal (find ([x==y]), [])) ***** test % and/or should be treated as boolean syms x y assert (isequal (find ([or(x==y, x==2*y) x==y x==x]), 3)) ***** test % None none = pycall_sympy__ ('return None'); assert (isequal (find ([sym(0) none sym(1)]), 3)) syms x y assert (isequal (find ([x==y none x==x]), 3)) ***** test % two output syms x y A = [x 0 0; x+y 5 0]; [i, j] = find (A); assert (isequal (i, [1; 2; 2])) assert (isequal (j, [1; 1; 2])) ***** test % three output syms x y A = [x 0 0; x+y 5 0]; [i, j, v] = find (A); assert (isequal (i, [1; 2; 2])) assert (isequal (j, [1; 1; 2])) assert (isequal (v, [x; x+y; sym(5)])) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/factorial.m] >>>>> /build/octave-symbolic-3.0.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/factor.m] >>>>> /build/octave-symbolic-3.0.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/ezsurf.m] >>>>> /build/octave-symbolic-3.0.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/ezmesh.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/ezmesh.m ***** error syms u v t ezmesh(u*v, 2*u*v, 3*v*t) ***** error syms u v t ezmesh(u*v, 2*u*v, u*v*t) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/ezcontour.m] >>>>> /build/octave-symbolic-3.0.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/eye.m] >>>>> /build/octave-symbolic-3.0.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))) ***** test y = eye (sym([2 3])); x = sym (eye ([2 3])); assert (isequal (y, 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 9 tests, 8 passed, 1 known failure, 0 skipped [inst/@sym/expm.m] >>>>> /build/octave-symbolic-3.0.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/expint.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/expint.m ***** error expint (sym(1), 2, 3) ***** 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)) ***** test % round trip syms x A = expint (3); f = expint (x); h = function_handle (f); B = h (3); assert (A, B, -eps) ***** 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/expand.m] >>>>> /build/octave-symbolic-3.0.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/exp.m] >>>>> /build/octave-symbolic-3.0.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/eval.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/eval.m ***** error eval (sym(1), 2) ***** assert (isnumeric (eval (sym(3)))) ***** assert (isnumeric (eval (sin (sym(3))))) ***** test syms x y f = 2*x*y; x = 3; y = 4; g = eval (f); assert (isequal (g, 24)) ***** test syms x y f = 2*x*y; clear y x = 3; g = eval (f); assert (isequal (g, 6*sym('y'))) ***** test % do not convert inputs to sym, for SMT compat nearpi = pi + 1e-14; % sym could make this pi x = sym('x'); f = 2*x; x = nearpi; d = eval (f); assert (abs (d - 2*pi) > 1e-15) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@sym/euler.m] >>>>> /build/octave-symbolic-3.0.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 syms x assert (isequal (euler(6, x), x^6 - 3*x^5 + 5*x^3 - 3*x)) ***** assert (isnan (euler (3, sym(nan)))) ***** test syms m x em = euler (m, x); A = subs(em, [m x], [2 sym(pi)]); assert (isequal (A, sym(pi)^2 - sym(pi))) ***** test % vectorized syms x y A = euler([1; 2], [x; y]); B = [x - sym(1)/2; y^2 - y]; assert (isequal (A, B)) ***** test % round trip 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) ***** test % compare vpa to maple: Digits:=34; evalf(euler(13, exp(1)+Pi*I/13)); 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); 9 tests, 9 passed, 0 known failure, 0 skipped [inst/@sym/erfinv.m] >>>>> /build/octave-symbolic-3.0.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/erfi.m] >>>>> /build/octave-symbolic-3.0.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 y = sym('y'); A = erfi (d); f = erfi (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/erfcinv.m] >>>>> /build/octave-symbolic-3.0.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/erfc.m] >>>>> /build/octave-symbolic-3.0.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/erf.m] >>>>> /build/octave-symbolic-3.0.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/equationsToMatrix.m] >>>>> /build/octave-symbolic-3.0.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 syms x equationsToMatrix (3*x == 2, [x x]) 12 tests, 12 passed, 0 known failure, 0 skipped [inst/@sym/eq.m] >>>>> /build/octave-symbolic-3.0.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/end.m] >>>>> /build/octave-symbolic-3.0.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/ellipticPi.m] >>>>> /build/octave-symbolic-3.0.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 ***** xtest % FIXME: this is a regression somewhere: loss of precision: Issue #1064 % 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) !!!!! known failure ASSERT errors for: assert (abs (double (maple - us)),0,2e-39) Location | Observed | Expected | Reason () 1.7643e-30 0 Abs err 1.7643e-30 exceeds tol 2e-39 by 2e-30 ***** 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-30) ***** 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) 9 tests, 7 passed, 2 known failures, 0 skipped [inst/@sym/ellipticK.m] >>>>> /build/octave-symbolic-3.0.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/ellipticF.m] >>>>> /build/octave-symbolic-3.0.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/ellipticE.m] >>>>> /build/octave-symbolic-3.0.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/ellipticCPi.m] >>>>> /build/octave-symbolic-3.0.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/ellipticCK.m] >>>>> /build/octave-symbolic-3.0.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/ellipticCE.m] >>>>> /build/octave-symbolic-3.0.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/ellipke.m] >>>>> /build/octave-symbolic-3.0.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/eig.m] >>>>> /build/octave-symbolic-3.0.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/ei.m] >>>>> /build/octave-symbolic-3.0.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/dsolve.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/dsolve.m ***** error dsolve (1, sym('x')) ***** 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 (f, g1) || isequal (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'); f = 42; end assert ((waserr && expectederr) || isequal (f, g)) ***** test % Solution in implicit form syms y(x) C1 de = (2*x*y(x) - exp(-2*y(x)))*diff(y(x), x) + y(x) == 0; sol = dsolve (de); eqn = x*exp(2*y(x)) - log(y(x)) == C1; % could differ by signs sol = lhs (sol) - rhs (sol); eqn = lhs (eqn) - rhs (eqn); sol2 = subs (sol, C1, -C1); assert (isequal (sol, eqn) || isequal (sol2, eqn)) Waiting... ***** test % Compute solution and classification syms y(x) C1 de = (2*x*y(x) - exp(-2*y(x)))*diff(y(x), x) + y(x) == 0; [sol, classy] = dsolve (de); assert (any (strcmp (classy, '1st_exact'))) Waiting.... ***** 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 (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 (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 (simplify (f - g), 0)) ***** 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 (simplify (f - g), 0)) ***** 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 (simplify (f - g), 0)) ***** test % System of ODEs gives struct, Issue #1003. syms x(t) y(t) ode1 = diff(x(t),t) == 2*y(t); ode2 = diff(y(t),t) == 2*x(t); soln = dsolve([ode1, ode2]); assert (isstruct (soln)) assert (numfields (soln) == 2) assert (isequal (sort (fieldnames (soln)), {'x'; 'y'})) ***** 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]); soln = [soln.x, soln.y]; g1 = [C1*exp(-2*t) + C2*exp(2*t), -C1*exp(-2*t) + C2*exp(2*t)]; g2 = [C1*exp(2*t) + C2*exp(-2*t), C1*exp(2*t) - C2*exp(-2*t)]; g3 = [-C1*exp(-2*t) + C2*exp(2*t), C1*exp(-2*t) + C2*exp(2*t)]; g4 = [C1*exp(2*t) - C2*exp(-2*t), C1*exp(2*t) + C2*exp(-2*t)]; % old SymPy <= 1.5.1 had some extra twos g5 = [2*C1*exp(-2*t) + 2*C2*exp(2*t), -2*C1*exp(-2*t) + 2*C2*exp(2*t)]; g6 = [2*C1*exp(2*t) + 2*C2*exp(-2*t), 2*C1*exp(2*t) - 2*C2*exp(-2*t)]; assert (isequal (soln, g1) || isequal (soln, g2) || ... isequal (soln, g3) || isequal (soln, g4) || ... isequal (soln, g5) || isequal (soln, g6)) ***** 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 ([sol_ivp.x, sol_ivp.y], 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 (f, g)) ***** test % Nonlinear example syms y(x) C1 e = diff(y, x) == y^2; g = -1 / (C1 + x); soln = dsolve(e); assert (isequal (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 (soln, g)) ***** test % forcing, Issue #183, broken in older sympy if (pycall_sympy__ ('return Version(spver) >= Version("1.7.1")')) 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 = soln.x; Y = soln.y; assert (isequal (diff(X) - (X + sin(t) + 2), 0)) assert (isequal (diff(Y) - (Y - t - 3), 0)) end ***** test syms f(x) a b de = diff(f, x) == 4*f; s = dsolve(de, f(a) == b); assert (isequal (subs(s, x, a), b)) ***** test % array of ICs syms x(t) y(t) ode_1 = diff (x(t), t) == 2*y(t); ode_2 = diff (y(t), t) == 2*x(t); sol = dsolve([ode_1, ode_2], [x(0)==1 y(0)==0]); g = [exp(-2*t)/2+exp(2*t)/2, -exp(-2*t)/2+exp(2*t)/2]; assert (isequal ([sol.x, sol.y], g)) ***** test % cell-array of ICs or ODEs, but not both % Note: to support both we'd need a wrapper outside of @sym syms x(t) y(t) ode_1 = diff (x(t), t) == 2*y(t); ode_2 = diff (y(t), t) == 2*x(t); sol = dsolve([ode_1, ode_2], {x(0)==1 y(0)==0}); g = [exp(-2*t)/2+exp(2*t)/2, -exp(-2*t)/2+exp(2*t)/2]; assert (isequal ([sol.x, sol.y], g)) sol = dsolve({ode_1, ode_2}, [x(0)==1 y(0)==0]); g = [exp(-2*t)/2+exp(2*t)/2, -exp(-2*t)/2+exp(2*t)/2]; assert (isequal ([sol.x, sol.y], g)) ***** test % array of ICs, Issue #1040. if (pycall_sympy__ ('return Version(spver) >= Version("1.7.1")')) syms x(t) y(t) z(t) syms x_0 y_0 z_0 diffEqns = [diff(x, t) == -x + 1, diff(y, t) == -y, diff(z, t) == -z]; initCond = [x(0) == x_0, y(0) == y_0, z(0) == z_0]; soln = dsolve (diffEqns, initCond); soln = [soln.x, soln.y, soln.z]; exact_soln = [(x_0 - 1)*exp(-t) + 1 y_0*exp(-t) z_0*exp(-t)]; assert (isequal (soln, exact_soln)) end 21 tests, 21 passed, 0 known failure, 0 skipped [inst/@sym/double.m] >>>>> /build/octave-symbolic-3.0.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/dot.m] >>>>> /build/octave-symbolic-3.0.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/divisors.m] >>>>> /build/octave-symbolic-3.0.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/divergence.m] >>>>> /build/octave-symbolic-3.0.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/display.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/display.m ***** test assert(true) 1 test, 1 passed, 0 known failure, 0 skipped [inst/@sym/disp.m] >>>>> /build/octave-symbolic-3.0.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/dirac.m] >>>>> /build/octave-symbolic-3.0.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/dilog.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/dilog.m ***** assert (isequal (dilog (sym(1)), sym(0))) ***** assert (isequal (dilog (sym(0)), sym(pi)^2/6)) ***** assert (isequal (dilog (sym(2)), -sym(pi)^2/12)) ***** assert (double(dilog(sym(-1))), pi^2/4 - pi*1i*log(2), eps) ***** test % round-trip syms x f = dilog (x); h = function_handle (f); A = h (1.1); B = dilog (1.1); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/diff.m] >>>>> /build/octave-symbolic-3.0.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/diag.m] >>>>> /build/octave-symbolic-3.0.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/det.m] >>>>> /build/octave-symbolic-3.0.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/degree.m] >>>>> /build/octave-symbolic-3.0.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/dawson.m] >>>>> /build/octave-symbolic-3.0.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/curl.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/curl.m ***** error curl([sym(1) 2 3], 42, 42) ***** 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')}) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/@sym/cumsum.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/cumsum.m ***** shared x, y x = sym ('x'); y = sym ('y'); ***** error cumsum (x, 1, 2) ***** assert (isequal (cumsum ([-x; -2*x; -3*x]), [-x; -3*x; -6*x])) ***** assert (isequal (cumsum ([x + 2i*y, 2*x + i*y]), [x + 2i*y, 3*x + 3i*y])) ***** assert (isequal (cumsum ([x, 2*x; 3*x, 4*x], 1), [1*x, 2*x; 4*x, 6*x] )) ***** assert (isequal (cumsum ([x, 2*x; 3*x, 4*x], 2), [1*x, 3*x; 3*x, 7*x] )) ***** test cumsum ([x, x], [2, 1]); # ensure behaves like builtin cumsum ***** test cumsum ([x, x], [1, -2]); # ensure behaves like builtin cumsum ***** error cumsum (x, []) ***** error cumsum (x, {1}) ***** error cumsum (x, struct('a', 1)) ***** error cumsum (x, x) ***** error cumsum (x, 0) ***** error cumsum (x, -1) 13 tests, 13 passed, 0 known failure, 0 skipped [inst/@sym/cumprod.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/cumprod.m ***** shared x, y x = sym ('x'); y = sym ('y'); ***** error cumprod (x, 1, 2) ***** assert (isequal (cumprod ([-x; -2*x; -3*x]), [-x; 2*x^2; -6*x^3])) ***** assert (isequal (expand (cumprod ([x + i, x - i])), [x + i, x^2 + 1])) ***** assert (isequal (cumprod ([1, x; y, 2], 1), [1, x; y, 2*x] )) ***** assert (isequal (cumprod ([1, x; y, 2], 2), [1, x; y, 2*y] )) ***** test cumprod ([x, x], [2, 1]); # ensure behaves like builtin cumprod ***** test cumprod ([x, x], [1, -2]); # ensure behaves like builtin cumprod ***** error cumprod (x, []) ***** error cumprod (x, {1}) ***** error cumprod (x, struct('a', 1)) ***** error cumprod (x, x) ***** error cumprod (x, 0) ***** error cumprod (x, -1) 13 tests, 13 passed, 0 known failure, 0 skipped [inst/@sym/ctranspose.m] >>>>> /build/octave-symbolic-3.0.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/csch.m] >>>>> /build/octave-symbolic-3.0.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 y = sym('y'); A = csch (d); f = csch (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/csc.m] >>>>> /build/octave-symbolic-3.0.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/cross.m] >>>>> /build/octave-symbolic-3.0.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/coth.m] >>>>> /build/octave-symbolic-3.0.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/cot.m] >>>>> /build/octave-symbolic-3.0.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/cosint.m] >>>>> /build/octave-symbolic-3.0.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 y = sym('y'); A = cosint (d); f = cosint (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 4 passed, 1 known failure, 0 skipped [inst/@sym/coshint.m] >>>>> /build/octave-symbolic-3.0.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 y = sym('y'); A = coshint (d); f = coshint (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 4 passed, 1 known failure, 0 skipped [inst/@sym/cosh.m] >>>>> /build/octave-symbolic-3.0.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/cosd.m] >>>>> /build/octave-symbolic-3.0.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, -4*eps) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/cos.m] >>>>> /build/octave-symbolic-3.0.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/conj.m] >>>>> /build/octave-symbolic-3.0.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/cond.m] >>>>> /build/octave-symbolic-3.0.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/columns.m] >>>>> /build/octave-symbolic-3.0.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/colon.m] >>>>> /build/octave-symbolic-3.0.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/coeffs.m] >>>>> /build/octave-symbolic-3.0.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/chol.m] >>>>> /build/octave-symbolic-3.0.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/children.m] >>>>> /build/octave-symbolic-3.0.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]); C = children (A); assert (isequal (C(2), n)) assert (isequal (C(3), m)) ***** xtest % symbolic size matrix, fails on newer SymPy Issue #1089 syms n m integer A = sym('a', [n m]); assert (isequal (children (A), [sym('a') n m])) !!!!! known failure assert (isequal (children (A), [sym('a'), n, m])) failed 10 tests, 9 passed, 1 known failure, 0 skipped [inst/@sym/chebyshevU.m] >>>>> /build/octave-symbolic-3.0.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 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) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/@sym/chebyshevT.m] >>>>> /build/octave-symbolic-3.0.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 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) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/@sym/charpoly.m] >>>>> /build/octave-symbolic-3.0.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/char.m] >>>>> /build/octave-symbolic-3.0.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/ceil.m] >>>>> /build/octave-symbolic-3.0.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/ccode.m] >>>>> /build/octave-symbolic-3.0.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/cbrt.m] >>>>> /build/octave-symbolic-3.0.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/cat.m] >>>>> /build/octave-symbolic-3.0.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/beta.m] >>>>> /build/octave-symbolic-3.0.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 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) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@sym/besselyn.m] >>>>> /build/octave-symbolic-3.0.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/bessely.m] >>>>> /build/octave-symbolic-3.0.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/besselk.m] >>>>> /build/octave-symbolic-3.0.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/besseljn.m] >>>>> /build/octave-symbolic-3.0.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/besselj.m] >>>>> /build/octave-symbolic-3.0.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/besseli.m] >>>>> /build/octave-symbolic-3.0.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/besselh.m] >>>>> /build/octave-symbolic-3.0.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/bernoulli.m] >>>>> /build/octave-symbolic-3.0.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 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) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/@sym/atanh.m] >>>>> /build/octave-symbolic-3.0.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/atand.m] >>>>> /build/octave-symbolic-3.0.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/atan2.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/atan2.m ***** error atan2 (1) ***** error atan2 (1, 2, 3) ***** 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) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@sym/atan.m] >>>>> /build/octave-symbolic-3.0.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/assumeAlso.m] >>>>> /build/octave-symbolic-3.0.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/assume.m] >>>>> /build/octave-symbolic-3.0.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/asinh.m] >>>>> /build/octave-symbolic-3.0.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/asind.m] >>>>> /build/octave-symbolic-3.0.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/@sym/asin.m] >>>>> /build/octave-symbolic-3.0.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/asech.m] >>>>> /build/octave-symbolic-3.0.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 y = sym('y'); A = asech (d); f = asech (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/asec.m] >>>>> /build/octave-symbolic-3.0.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 y = sym('y'); A = asec (d); f = asec (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/argnames.m] >>>>> /build/octave-symbolic-3.0.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/arg.m] >>>>> /build/octave-symbolic-3.0.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/any.m] >>>>> /build/octave-symbolic-3.0.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/angle.m] >>>>> /build/octave-symbolic-3.0.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 syms x A = angle (2+2i); f = angle (x); h = function_handle (f); B = h (2+2i); assert (A, B, -eps) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sym/and.m] >>>>> /build/octave-symbolic-3.0.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/all.m] >>>>> /build/octave-symbolic-3.0.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/airy.m] >>>>> /build/octave-symbolic-3.0.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/adjoint.m] >>>>> /build/octave-symbolic-3.0.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/acsch.m] >>>>> /build/octave-symbolic-3.0.1/inst/@sym/acsch.m ***** error acsch (sym(1), 2) ***** assert (isequaln (acsch (sym(nan)), sym(nan))) ***** shared x, d d = 1; x = sym('1'); ***** test f1 = acsch(x); f2 = acsch(d); assert( abs(double(f1) - f2) < 1e-15 ) ***** test 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 ))) ***** test % round trip y = sym('y'); A = acsch (d); f = acsch (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/acsc.m] >>>>> /build/octave-symbolic-3.0.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 y = sym('y'); A = acsc (d); f = acsc (y); h = function_handle (f); B = h (d); assert (A, B, -eps) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@sym/acoth.m] >>>>> /build/octave-symbolic-3.0.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/acot.m] >>>>> /build/octave-symbolic-3.0.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/acosh.m] >>>>> /build/octave-symbolic-3.0.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/acosd.m] >>>>> /build/octave-symbolic-3.0.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/acos.m] >>>>> /build/octave-symbolic-3.0.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/abs.m] >>>>> /build/octave-symbolic-3.0.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/@logical/isAlways.m] >>>>> /build/octave-symbolic-3.0.1/inst/@logical/isAlways.m ***** error isAlways (true, false) ***** assert(isAlways(true)) ***** assert(~isAlways(false)) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@double/zeta.m] >>>>> /build/octave-symbolic-3.0.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) ***** assert (zeta (inf), 1.0) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@double/sinint.m] >>>>> /build/octave-symbolic-3.0.1/inst/@double/sinint.m ***** error sinint (1, 2) ***** 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) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/@double/sinhint.m] >>>>> /build/octave-symbolic-3.0.1/inst/@double/sinhint.m ***** error sinhint (1, 2) ***** 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) ***** assert (sinhint (inf), inf) ***** assert (sinhint (-inf), -inf) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@double/polylog.m] >>>>> /build/octave-symbolic-3.0.1/inst/@double/polylog.m ***** error polylog (1) ***** error polylog (1, 2, 3) ***** error polylog ([1 2], [1 2 3]) ***** error polylog ([1 2], [1; 2]) ***** 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/pochhammer.m] >>>>> /build/octave-symbolic-3.0.1/inst/@double/pochhammer.m ***** error pochhammer (1) ***** error pochhammer (1, 2, 3) ***** error pochhammer ([1 2], [1 2 3]) ***** error pochhammer ([1 2], [1; 2]) ***** 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); ***** test % 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, -3*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 = pochhammer (s, x); B = double (pochhammer (t, y)); assert (A, B, -5*eps); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/@double/logint.m] >>>>> /build/octave-symbolic-3.0.1/inst/@double/logint.m ***** error logint (1, 2) ***** 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) ***** assert (logint (inf), inf) ***** assert (isnan (logint (-inf))) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@double/harmonic.m] >>>>> /build/octave-symbolic-3.0.1/inst/@double/harmonic.m ***** error harmonic (1, 2) ***** 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); 3 tests, 3 passed, 0 known failure, 0 skipped [inst/@double/fresnels.m] >>>>> /build/octave-symbolic-3.0.1/inst/@double/fresnels.m ***** error fresnels (1, 2) ***** 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) ***** assert (fresnels (inf), 0.5) ***** assert (fresnels (-inf), -0.5) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@double/fresnelc.m] >>>>> /build/octave-symbolic-3.0.1/inst/@double/fresnelc.m ***** error fresnelc (1, 2) ***** 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) ***** assert (fresnelc (inf), 0.5) ***** assert (fresnelc (-inf), -0.5) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/@double/euler.m] >>>>> /build/octave-symbolic-3.0.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 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); ***** test % correct behaviour at floating point infinity assert (isequal (euler (4, inf), inf)) assert (isequal (euler (4, -inf), inf)) assert (isequal (euler (3, inf), inf)) assert (isequal (euler (3, -inf), -inf)) ***** test assert (isnan (euler(3, nan))) assert (isnumeric (euler(3, nan))) ***** test % maple, complex input A = 113.33970046079423204 - 46.991080726974811540i; B = euler(7, 2.12345 + 1.23i); assert (A, B, -eps); ***** test % maple, complex input, large m, small x A = 0.18034673393294025238e276 + 0.27756266681280689172e276*i; B = euler (200, 0.123+0.234i); assert (A, B, -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 = euler (m, x); B = double (euler (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 = euler (m, x); B = double (euler (n, y)); assert (A, B, -3*eps); 15 tests, 15 passed, 0 known failure, 0 skipped [inst/@double/dilog.m] >>>>> /build/octave-symbolic-3.0.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) ***** xtest % https://github.com/fredrik-johansson/mpmath/issues/473 assert (isinf (dilog (inf))) !!!!! known failure assert (isinf (dilog (inf))) failed ***** assert (isnan (dilog (-inf))) 5 tests, 4 passed, 1 known failure, 0 skipped [inst/@double/cosint.m] >>>>> /build/octave-symbolic-3.0.1/inst/@double/cosint.m ***** error cosint (1, 2) ***** 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))) !!!!! known failure assert (isnan (cosint (0))) failed ***** 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); 16 tests, 15 passed, 1 known failure, 0 skipped [inst/@double/coshint.m] >>>>> /build/octave-symbolic-3.0.1/inst/@double/coshint.m ***** error coshint (1, 2) ***** 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) ***** assert (coshint (inf), inf) ***** assert (isinf (coshint (-inf))) ***** assert (imag (coshint (-inf)), pi) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/@double/chebyshevU.m] >>>>> /build/octave-symbolic-3.0.1/inst/@double/chebyshevU.m ***** error chebyshevU (1) ***** error chebyshevU (1, 2, 3) ***** error chebyshevU ([1 2], [1 2 3]) ***** error chebyshevU ([1 2], [1; 2]) ***** 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, -2*eps); ***** xtest % https://github.com/fredrik-johansson/mpmath/issues/469 assert (chebyshevU (4, inf), inf) assert (chebyshevU (4, -inf), inf) assert (chebyshevU (3, inf), inf) assert (chebyshevU (3, -inf), -inf) !!!!! known failure ASSERT errors for: assert (chebyshevU (4, inf),inf) Location | Observed | Expected | Reason () 5 Inf 'Inf' mismatch 11 tests, 10 passed, 1 known failure, 0 skipped [inst/@double/chebyshevT.m] >>>>> /build/octave-symbolic-3.0.1/inst/@double/chebyshevT.m ***** error chebyshevT (1) ***** error chebyshevT (1, 2, 3) ***** error chebyshevT ([1 2], [1 2 3]) ***** error chebyshevT ([1 2], [1; 2]) ***** 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); ***** xtest % https://github.com/fredrik-johansson/mpmath/issues/469 assert (chebyshevT (4, inf), inf) assert (chebyshevT (4, -inf), inf) assert (chebyshevT (3, inf), inf) assert (chebyshevT (3, -inf), -inf) !!!!! known failure ASSERT errors for: assert (chebyshevT (4, inf),inf) Location | Observed | Expected | Reason () 1 Inf 'Inf' mismatch 11 tests, 10 passed, 1 known failure, 0 skipped [inst/@double/bernoulli.m] >>>>> /build/octave-symbolic-3.0.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); ***** test 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); ***** test assert (isequal (bernoulli (4, inf), inf)) assert (isequal (bernoulli (4, -inf), inf)) ***** xtest % still broken? assert (isequal (bernoulli (3, inf), inf)) assert (isequal (bernoulli (3, -inf), -inf)) ***** 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); 15 tests, 15 passed, 0 known failure, 0 skipped [inst/@double/adjoint.m] >>>>> /build/octave-symbolic-3.0.1/inst/@double/adjoint.m ***** test M = [1 2; 3 4]; A = [4 -2; -3 1]; assert (isequal (adjoint (M), A)); ***** test assert (isequal (adjoint (42), 1)); 2 tests, 2 passed, 0 known failure, 0 skipped Checking C++ files ... Summary: 2386 tests, 2357 passed, 29 known failures, 0 skipped dh_installdocs -O--buildsystem=octave dh_installchangelogs -O--buildsystem=octave dh_octave_changelogs -O--buildsystem=octave dh_octave_examples -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_octave_substvar -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_3.0.1-2_all.deb'. dpkg-genbuildinfo --build=binary -O../octave-symbolic_3.0.1-2_arm64.buildinfo dpkg-genchanges --build=binary -O../octave-symbolic_3.0.1-2_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload 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/31437 and its subdirectories I: Current time: Wed Apr 12 11:41:27 -12 2023 I: pbuilder-time-stamp: 1681342887 Wed Apr 12 23:41:30 UTC 2023 I: 1st build successful. Starting 2nd build on remote node codethink13-arm64.debian.net. Wed Apr 12 23:41:30 UTC 2023 I: Preparing to do remote build '2' on codethink13-arm64.debian.net. Thu Apr 13 00:17:39 UTC 2023 I: Deleting $TMPDIR on codethink13-arm64.debian.net. Thu Apr 13 00:17:39 UTC 2023 I: octave-symbolic_3.0.1-2_arm64.changes: Format: 1.8 Date: Mon, 05 Dec 2022 12:10:38 -0300 Source: octave-symbolic Binary: octave-symbolic Architecture: all Version: 3.0.1-2 Distribution: unstable Urgency: medium Maintainer: Debian Octave Group Changed-By: Rafael Laboissière Description: octave-symbolic - symbolic package for Octave Changes: octave-symbolic (3.0.1-2) unstable; urgency=medium . * d/watch: Adjust for new URL at gnu-octave.github.io * d/s/lintian-override: Override Lintian warning debian-watch-lacks-sourceforge-redirector Checksums-Sha1: fd040c1009bc49f044088c645f4f2b8c3525a072 199944 octave-symbolic_3.0.1-2_all.deb df39382ee1d35514f822db29cffaf46b649e1be0 21441 octave-symbolic_3.0.1-2_arm64.buildinfo Checksums-Sha256: 3a2cf7d541288c3f88e7202d161697f9ffa24e34f0e2efdd759aa24d79d4db58 199944 octave-symbolic_3.0.1-2_all.deb a64185b4affe99cddb1da2012a2a1f3bac3c69d5e7aba4b2915a84c5d765441f 21441 octave-symbolic_3.0.1-2_arm64.buildinfo Files: 6ca2affb31202e621f246b2356f1595f 199944 math optional octave-symbolic_3.0.1-2_all.deb 0bac5c856c05a75ae6e939a07c30dd50 21441 math optional octave-symbolic_3.0.1-2_arm64.buildinfo Thu Apr 13 00:17:54 UTC 2023 I: diffoscope 240 will be used to compare the two builds: # Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.uJZE1Goq/octave-symbolic_3.0.1-2.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.uJZE1Goq/octave-symbolic_3.0.1-2.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.uJZE1Goq/octave-symbolic_3.0.1-2.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.uJZE1Goq/b1/octave-symbolic_3.0.1-2_arm64.changes /srv/reproducible-results/rbuild-debian/r-b-build.uJZE1Goq/b2/octave-symbolic_3.0.1-2_arm64.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: 2.529s) 2.529s 2 calls outputs 0.000s 1 call cleanup ## recognizes (total time: 0.599s) 0.599s 12 calls diffoscope.comparators.binary.FilesystemFile 0.000s 10 calls abc.DotChangesFile ## specialize (total time: 0.001s) 0.001s 1 call specialize Thu Apr 13 00:18:01 UTC 2023 I: diffoscope 240 found no differences in the changes files, and a .buildinfo file also exists. Thu Apr 13 00:18:01 UTC 2023 I: octave-symbolic from bookworm built successfully and reproducibly on arm64. Thu Apr 13 00:18:11 UTC 2023 I: Submitting .buildinfo files to external archives: Thu Apr 13 00:18:11 UTC 2023 I: Submitting 24K b1/octave-symbolic_3.0.1-2_arm64.buildinfo.asc Thu Apr 13 00:18:12 UTC 2023 I: Submitting 24K b2/octave-symbolic_3.0.1-2_arm64.buildinfo.asc Thu Apr 13 00:18:13 UTC 2023 I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit. Thu Apr 13 00:18:13 UTC 2023 I: Done submitting .buildinfo files. Thu Apr 13 00:18:13 UTC 2023 I: Removing signed octave-symbolic_3.0.1-2_arm64.buildinfo.asc files: removed './b1/octave-symbolic_3.0.1-2_arm64.buildinfo.asc' removed './b2/octave-symbolic_3.0.1-2_arm64.buildinfo.asc'