0s autopkgtest [18:27:30]: starting date and time: 2024-03-16 18:27:30+0000 0s autopkgtest [18:27:30]: git checkout: b506e79c ssh-setup/nova: fix ARCH having two lines of data 0s autopkgtest [18:27:30]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.n_melfxp/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:r-base,src:curl,src:glib2.0,src:libpng1.6,src:libpsl,src:libtirpc,src:libxt,src:openssl,src:orthanc-python,src:readline,src:wp2latex --apt-upgrade r-cran-expm --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=r-base/4.3.3-2build1 curl/8.5.0-2ubuntu7 glib2.0/2.79.3-3ubuntu5 libpng1.6/1.6.43-3 libpsl/0.21.2-1.1 libtirpc/1.3.4+ds-1.1 libxt/1:1.2.1-1.2 openssl/3.0.13-0ubuntu1 orthanc-python/4.1+ds-2build3 readline/8.2-3.1 wp2latex/4.4~ds-1build1' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-arm64-15.secgroup --name adt-noble-arm64-r-cran-expm-20240316-182730-juju-7f2275-prod-proposed-migration-environment-2 --image adt/ubuntu-noble-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 157s autopkgtest [18:30:07]: testbed dpkg architecture: arm64 157s autopkgtest [18:30:07]: testbed apt version: 2.7.12 157s autopkgtest [18:30:07]: @@@@@@@@@@@@@@@@@@@@ test bed setup 158s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 158s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [474 kB] 158s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [51.4 kB] 158s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 158s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3682 kB] 158s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 Packages [646 kB] 158s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 c-n-f Metadata [3144 B] 158s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 Packages [33.6 kB] 158s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 c-n-f Metadata [116 B] 158s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 Packages [4006 kB] 159s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 c-n-f Metadata [8528 B] 159s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 Packages [55.5 kB] 159s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 c-n-f Metadata [116 B] 160s Fetched 9084 kB in 2s (4856 kB/s) 161s Reading package lists... 164s Reading package lists... 164s Building dependency tree... 164s Reading state information... 164s Calculating upgrade... 165s The following packages will be REMOVED: 165s libglib2.0-0 libssl3 165s The following NEW packages will be installed: 165s libglib2.0-0t64 libssl3t64 xdg-user-dirs 165s The following packages have been kept back: 165s curl 165s The following packages will be upgraded: 165s gir1.2-glib-2.0 libglib2.0-data libtirpc-common openssl readline-common 165s ubuntu-minimal ubuntu-standard 165s 7 upgraded, 3 newly installed, 2 to remove and 1 not upgraded. 165s Need to get 4613 kB of archives. 165s After this operation, 211 kB of additional disk space will be used. 165s Get:1 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 gir1.2-glib-2.0 arm64 2.79.3-3ubuntu5 [182 kB] 165s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libglib2.0-0t64 arm64 2.79.3-3ubuntu5 [1527 kB] 166s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 openssl arm64 3.0.13-0ubuntu1 [983 kB] 166s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libssl3t64 arm64 3.0.13-0ubuntu1 [1770 kB] 166s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libglib2.0-data all 2.79.3-3ubuntu5 [46.6 kB] 166s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libtirpc-common all 1.3.4+ds-1.1 [8018 B] 166s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 readline-common all 8.2-3.1 [56.4 kB] 166s Get:8 http://ftpmaster.internal/ubuntu noble/main arm64 ubuntu-minimal arm64 1.536 [10.7 kB] 166s Get:9 http://ftpmaster.internal/ubuntu noble/main arm64 xdg-user-dirs arm64 0.18-1 [18.1 kB] 166s Get:10 http://ftpmaster.internal/ubuntu noble/main arm64 ubuntu-standard arm64 1.536 [10.7 kB] 166s Fetched 4613 kB in 1s (5689 kB/s) 166s (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 ... 74758 files and directories currently installed.) 166s Preparing to unpack .../gir1.2-glib-2.0_2.79.3-3ubuntu5_arm64.deb ... 166s Unpacking gir1.2-glib-2.0:arm64 (2.79.3-3ubuntu5) over (2.79.2-1~ubuntu1) ... 167s dpkg: libglib2.0-0:arm64: dependency problems, but removing anyway as you requested: 167s udisks2 depends on libglib2.0-0 (>= 2.77.0). 167s shared-mime-info depends on libglib2.0-0 (>= 2.75.3). 167s python3-gi depends on libglib2.0-0 (>= 2.77.0). 167s python3-dbus depends on libglib2.0-0 (>= 2.16.0). 167s netplan.io depends on libglib2.0-0 (>= 2.70.0). 167s netplan-generator depends on libglib2.0-0 (>= 2.70.0). 167s libxmlb2:arm64 depends on libglib2.0-0 (>= 2.54.0). 167s libvolume-key1:arm64 depends on libglib2.0-0 (>= 2.18.0). 167s libudisks2-0:arm64 depends on libglib2.0-0 (>= 2.75.3). 167s libqrtr-glib0:arm64 depends on libglib2.0-0 (>= 2.56). 167s libqmi-proxy depends on libglib2.0-0 (>= 2.30.0). 167s libqmi-glib5:arm64 depends on libglib2.0-0 (>= 2.54.0). 167s libpolkit-gobject-1-0:arm64 depends on libglib2.0-0 (>= 2.38.0). 167s libpolkit-agent-1-0:arm64 depends on libglib2.0-0 (>= 2.38.0). 167s libnetplan0:arm64 depends on libglib2.0-0 (>= 2.75.3). 167s libmm-glib0:arm64 depends on libglib2.0-0 (>= 2.62.0). 167s libmbim-proxy depends on libglib2.0-0 (>= 2.56). 167s libmbim-glib4:arm64 depends on libglib2.0-0 (>= 2.56). 167s libjson-glib-1.0-0:arm64 depends on libglib2.0-0 (>= 2.75.3). 167s libjcat1:arm64 depends on libglib2.0-0 (>= 2.75.3). 167s libgusb2:arm64 depends on libglib2.0-0 (>= 2.75.3). 167s libgudev-1.0-0:arm64 depends on libglib2.0-0 (>= 2.38.0). 167s libgirepository-1.0-1:arm64 depends on libglib2.0-0 (>= 2.79.0). 167s libfwupd2:arm64 depends on libglib2.0-0 (>= 2.79.0). 167s libblockdev3:arm64 depends on libglib2.0-0 (>= 2.42.2). 167s libblockdev-utils3:arm64 depends on libglib2.0-0 (>= 2.75.3). 167s libblockdev-swap3:arm64 depends on libglib2.0-0 (>= 2.42.2). 167s libblockdev-part3:arm64 depends on libglib2.0-0 (>= 2.42.2). 167s libblockdev-nvme3:arm64 depends on libglib2.0-0 (>= 2.42.2). 167s libblockdev-mdraid3:arm64 depends on libglib2.0-0 (>= 2.42.2). 167s libblockdev-loop3:arm64 depends on libglib2.0-0 (>= 2.42.2). 167s libblockdev-fs3:arm64 depends on libglib2.0-0 (>= 2.42.2). 167s libblockdev-crypto3:arm64 depends on libglib2.0-0 (>= 2.42.2). 167s fwupd depends on libglib2.0-0 (>= 2.79.0). 167s bolt depends on libglib2.0-0 (>= 2.56.0). 167s 167s (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 ... 74758 files and directories currently installed.) 167s Removing libglib2.0-0:arm64 (2.79.2-1~ubuntu1) ... 167s Selecting previously unselected package libglib2.0-0t64:arm64. 167s (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 ... 74733 files and directories currently installed.) 167s Preparing to unpack .../libglib2.0-0t64_2.79.3-3ubuntu5_arm64.deb ... 167s libglib2.0-0t64.preinst: Removing /var/lib/dpkg/info/libglib2.0-0:arm64.postrm to avoid loss of /usr/share/glib-2.0/schemas/gschemas.compiled... 167s removed '/var/lib/dpkg/info/libglib2.0-0:arm64.postrm' 167s Unpacking libglib2.0-0t64:arm64 (2.79.3-3ubuntu5) ... 167s Preparing to unpack .../openssl_3.0.13-0ubuntu1_arm64.deb ... 167s Unpacking openssl (3.0.13-0ubuntu1) over (3.0.10-1ubuntu4) ... 167s dpkg: libssl3:arm64: dependency problems, but removing anyway as you requested: 167s wget depends on libssl3 (>= 3.0.0). 167s u-boot-tools depends on libssl3 (>= 3.0.0). 167s tnftp depends on libssl3 (>= 3.0.0). 167s tcpdump depends on libssl3 (>= 3.0.0). 167s systemd-resolved depends on libssl3 (>= 3.0.0). 167s systemd depends on libssl3 (>= 3.0.0). 167s sudo depends on libssl3 (>= 3.0.0). 167s sbsigntool depends on libssl3 (>= 3.0.0). 167s rsync depends on libssl3 (>= 3.0.0). 167s python3-cryptography depends on libssl3 (>= 3.0.0). 167s openssh-server depends on libssl3 (>= 3.0.10). 167s openssh-client depends on libssl3 (>= 3.0.10). 167s mtd-utils depends on libssl3 (>= 3.0.0). 167s mokutil depends on libssl3 (>= 3.0.0). 167s linux-headers-6.8.0-11-generic depends on libssl3 (>= 3.0.0). 167s libsystemd-shared:arm64 depends on libssl3 (>= 3.0.0). 167s libssh-4:arm64 depends on libssl3 (>= 3.0.0). 167s libsasl2-modules:arm64 depends on libssl3 (>= 3.0.0). 167s libsasl2-2:arm64 depends on libssl3 (>= 3.0.0). 167s libpython3.12-minimal:arm64 depends on libssl3 (>= 3.0.0). 167s libnvme1 depends on libssl3 (>= 3.0.0). 167s libkrb5-3:arm64 depends on libssl3 (>= 3.0.0). 167s libkmod2:arm64 depends on libssl3 (>= 3.0.0). 167s libfido2-1:arm64 depends on libssl3 (>= 3.0.0). 167s libcurl4:arm64 depends on libssl3 (>= 3.0.0). 167s libcryptsetup12:arm64 depends on libssl3 (>= 3.0.0). 167s kmod depends on libssl3 (>= 3.0.0). 167s dhcpcd-base depends on libssl3 (>= 3.0.0). 167s bind9-libs:arm64 depends on libssl3 (>= 3.0.0). 167s 167s (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 ... 74758 files and directories currently installed.) 167s Removing libssl3:arm64 (3.0.10-1ubuntu4) ... 167s Selecting previously unselected package libssl3t64:arm64. 167s (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 ... 74747 files and directories currently installed.) 167s Preparing to unpack .../0-libssl3t64_3.0.13-0ubuntu1_arm64.deb ... 167s Unpacking libssl3t64:arm64 (3.0.13-0ubuntu1) ... 167s Preparing to unpack .../1-libglib2.0-data_2.79.3-3ubuntu5_all.deb ... 167s Unpacking libglib2.0-data (2.79.3-3ubuntu5) over (2.79.2-1~ubuntu1) ... 167s Preparing to unpack .../2-libtirpc-common_1.3.4+ds-1.1_all.deb ... 167s Unpacking libtirpc-common (1.3.4+ds-1.1) over (1.3.4+ds-1build1) ... 167s Preparing to unpack .../3-readline-common_8.2-3.1_all.deb ... 167s Unpacking readline-common (8.2-3.1) over (8.2-3) ... 167s Preparing to unpack .../4-ubuntu-minimal_1.536_arm64.deb ... 167s Unpacking ubuntu-minimal (1.536) over (1.535) ... 167s Selecting previously unselected package xdg-user-dirs. 167s Preparing to unpack .../5-xdg-user-dirs_0.18-1_arm64.deb ... 168s Unpacking xdg-user-dirs (0.18-1) ... 168s Preparing to unpack .../6-ubuntu-standard_1.536_arm64.deb ... 168s Unpacking ubuntu-standard (1.536) over (1.535) ... 168s Setting up ubuntu-minimal (1.536) ... 168s Setting up xdg-user-dirs (0.18-1) ... 168s Setting up libssl3t64:arm64 (3.0.13-0ubuntu1) ... 168s Setting up libtirpc-common (1.3.4+ds-1.1) ... 168s Setting up ubuntu-standard (1.536) ... 168s Setting up libglib2.0-0t64:arm64 (2.79.3-3ubuntu5) ... 168s No schema files found: doing nothing. 168s Setting up libglib2.0-data (2.79.3-3ubuntu5) ... 168s Setting up gir1.2-glib-2.0:arm64 (2.79.3-3ubuntu5) ... 168s Setting up openssl (3.0.13-0ubuntu1) ... 168s Setting up readline-common (8.2-3.1) ... 168s Processing triggers for man-db (2.12.0-3) ... 168s Processing triggers for install-info (7.1-3) ... 169s Processing triggers for libc-bin (2.39-0ubuntu2) ... 169s Reading package lists... 169s Building dependency tree... 169s Reading state information... 170s 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. 170s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 170s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 170s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 171s Hit:4 http://ftpmaster.internal/ubuntu noble-proposed InRelease 172s Reading package lists... 172s Reading package lists... 172s Building dependency tree... 172s Reading state information... 173s Calculating upgrade... 173s The following packages have been kept back: 173s curl 173s 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. 173s Reading package lists... 174s Building dependency tree... 174s Reading state information... 175s 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. 178s autopkgtest [18:30:28]: testbed running kernel: Linux 6.8.0-11-generic #11-Ubuntu SMP PREEMPT_DYNAMIC Wed Feb 14 02:53:31 UTC 2024 178s autopkgtest [18:30:28]: @@@@@@@@@@@@@@@@@@@@ apt-source r-cran-expm 181s Get:1 http://ftpmaster.internal/ubuntu noble/universe r-cran-expm 0.999-9-1 (dsc) [2129 B] 181s Get:2 http://ftpmaster.internal/ubuntu noble/universe r-cran-expm 0.999-9-1 (tar) [138 kB] 181s Get:3 http://ftpmaster.internal/ubuntu noble/universe r-cran-expm 0.999-9-1 (diff) [3124 B] 181s gpgv: Signature made Tue Jan 16 19:50:47 2024 UTC 181s gpgv: using RSA key F1F007320A035541F0A663CA578A0494D1C646D1 181s gpgv: issuer "tille@debian.org" 181s gpgv: Can't check signature: No public key 181s dpkg-source: warning: cannot verify inline signature for ./r-cran-expm_0.999-9-1.dsc: no acceptable signature found 181s autopkgtest [18:30:31]: testing package r-cran-expm version 0.999-9-1 181s autopkgtest [18:30:31]: build not needed 183s autopkgtest [18:30:33]: test run-unit-test: preparing testbed 185s Reading package lists... 186s Building dependency tree... 186s Reading state information... 186s Starting pkgProblemResolver with broken count: 0 187s Starting 2 pkgProblemResolver with broken count: 0 187s Done 187s The following additional packages will be installed: 187s curl fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 187s libblas3 libcairo2 libcurl4t64 libdatrie1 libdeflate0 libfontconfig1 187s libgfortran5 libgomp1 libgraphite2-3 libharfbuzz0b libice6 libjbig0 187s libjpeg-turbo8 libjpeg8 liblapack3 liblerc4 libpango-1.0-0 187s libpangocairo-1.0-0 libpangoft2-1.0-0 libpaper-utils libpaper1 libpixman-1-0 187s libpng16-16t64 libpsl5t64 libreadline8t64 libsharpyuv0 libsm6 libtcl8.6 187s libthai-data libthai0 libtiff6 libtirpc3t64 libtk8.6 libwebp7 libxcb-render0 187s libxcb-shm0 libxft2 libxrender1 libxss1 libxt6t64 r-base-core r-cran-expm 187s r-cran-gmp r-cran-lattice r-cran-matrix r-cran-rcolorbrewer r-cran-rmpfr 187s r-cran-sfsmisc unzip x11-common xdg-utils zip 187s Suggested packages: 187s tcl8.6 tk8.6 elpa-ess r-doc-info | r-doc-pdf r-mathlib r-base-html 187s Recommended packages: 187s r-recommended r-base-dev r-doc-html r-cran-mass r-cran-polynom 187s r-cran-cluster r-cran-nlme libfile-mimeinfo-perl libnet-dbus-perl 187s libx11-protocol-perl x11-utils x11-xserver-utils 187s The following packages will be REMOVED: 187s libcurl4 libpng16-16 libpsl5 libreadline8 libtirpc3 187s The following NEW packages will be installed: 187s autopkgtest-satdep fontconfig fontconfig-config fonts-dejavu-core 187s fonts-dejavu-mono libblas3 libcairo2 libcurl4t64 libdatrie1 libdeflate0 187s libfontconfig1 libgfortran5 libgomp1 libgraphite2-3 libharfbuzz0b libice6 187s libjbig0 libjpeg-turbo8 libjpeg8 liblapack3 liblerc4 libpango-1.0-0 187s libpangocairo-1.0-0 libpangoft2-1.0-0 libpaper-utils libpaper1 libpixman-1-0 187s libpng16-16t64 libpsl5t64 libreadline8t64 libsharpyuv0 libsm6 libtcl8.6 187s libthai-data libthai0 libtiff6 libtirpc3t64 libtk8.6 libwebp7 libxcb-render0 187s libxcb-shm0 libxft2 libxrender1 libxss1 libxt6t64 r-base-core r-cran-expm 187s r-cran-gmp r-cran-lattice r-cran-matrix r-cran-rcolorbrewer r-cran-rmpfr 187s r-cran-sfsmisc unzip x11-common xdg-utils zip 187s The following packages will be upgraded: 187s curl 187s 1 upgraded, 57 newly installed, 5 to remove and 0 not upgraded. 187s Need to get 45.2 MB/45.2 MB of archives. 187s After this operation, 87.2 MB of additional disk space will be used. 187s Get:1 /tmp/autopkgtest.s8nco8/1-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [736 B] 188s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libpsl5t64 arm64 0.21.2-1.1 [57.4 kB] 188s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 curl arm64 8.5.0-2ubuntu7 [222 kB] 188s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libcurl4t64 arm64 8.5.0-2ubuntu7 [332 kB] 188s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libpng16-16t64 arm64 1.6.43-3 [185 kB] 188s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libreadline8t64 arm64 8.2-3.1 [153 kB] 188s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libtirpc3t64 arm64 1.3.4+ds-1.1 [83.5 kB] 188s Get:8 http://ftpmaster.internal/ubuntu noble/main arm64 fonts-dejavu-mono all 2.37-8 [502 kB] 188s Get:9 http://ftpmaster.internal/ubuntu noble/main arm64 fonts-dejavu-core all 2.37-8 [835 kB] 188s Get:10 http://ftpmaster.internal/ubuntu noble/main arm64 fontconfig-config arm64 2.15.0-1ubuntu1 [37.0 kB] 188s Get:11 http://ftpmaster.internal/ubuntu noble/main arm64 libfontconfig1 arm64 2.15.0-1ubuntu1 [142 kB] 188s Get:12 http://ftpmaster.internal/ubuntu noble/main arm64 fontconfig arm64 2.15.0-1ubuntu1 [190 kB] 188s Get:13 http://ftpmaster.internal/ubuntu noble/main arm64 libblas3 arm64 3.12.0-3 [143 kB] 188s Get:14 http://ftpmaster.internal/ubuntu noble/main arm64 libpixman-1-0 arm64 0.42.2-1 [193 kB] 188s Get:15 http://ftpmaster.internal/ubuntu noble/main arm64 libxcb-render0 arm64 1.15-1 [16.1 kB] 188s Get:16 http://ftpmaster.internal/ubuntu noble/main arm64 libxcb-shm0 arm64 1.15-1 [5780 B] 188s Get:17 http://ftpmaster.internal/ubuntu noble/main arm64 libxrender1 arm64 1:0.9.10-1.1 [19.1 kB] 188s Get:18 http://ftpmaster.internal/ubuntu noble/main arm64 libcairo2 arm64 1.18.0-1 [550 kB] 188s Get:19 http://ftpmaster.internal/ubuntu noble/main arm64 libdatrie1 arm64 0.2.13-3 [21.7 kB] 188s Get:20 http://ftpmaster.internal/ubuntu noble/main arm64 libdeflate0 arm64 1.19-1 [43.4 kB] 188s Get:21 http://ftpmaster.internal/ubuntu noble/main arm64 libgfortran5 arm64 14-20240303-1ubuntu1 [444 kB] 188s Get:22 http://ftpmaster.internal/ubuntu noble/main arm64 libgomp1 arm64 14-20240303-1ubuntu1 [144 kB] 188s Get:23 http://ftpmaster.internal/ubuntu noble/main arm64 libgraphite2-3 arm64 1.3.14-2 [81.5 kB] 188s Get:24 http://ftpmaster.internal/ubuntu noble/main arm64 libharfbuzz0b arm64 8.3.0-2 [463 kB] 188s Get:25 http://ftpmaster.internal/ubuntu noble/main arm64 x11-common all 1:7.7+23ubuntu2 [23.4 kB] 188s Get:26 http://ftpmaster.internal/ubuntu noble/main arm64 libice6 arm64 2:1.0.10-1build2 [41.7 kB] 188s Get:27 http://ftpmaster.internal/ubuntu noble/main arm64 libjpeg-turbo8 arm64 2.1.5-2ubuntu1 [160 kB] 188s Get:28 http://ftpmaster.internal/ubuntu noble/main arm64 libjpeg8 arm64 8c-2ubuntu11 [2148 B] 188s Get:29 http://ftpmaster.internal/ubuntu noble/main arm64 liblapack3 arm64 3.12.0-3 [2241 kB] 188s Get:30 http://ftpmaster.internal/ubuntu noble/main arm64 liblerc4 arm64 4.0.0+ds-4ubuntu1 [153 kB] 188s Get:31 http://ftpmaster.internal/ubuntu noble/main arm64 libthai-data all 0.1.29-2 [158 kB] 188s Get:32 http://ftpmaster.internal/ubuntu noble/main arm64 libthai0 arm64 0.1.29-2 [18.1 kB] 188s Get:33 http://ftpmaster.internal/ubuntu noble/main arm64 libpango-1.0-0 arm64 1.51.0+ds-4 [226 kB] 188s Get:34 http://ftpmaster.internal/ubuntu noble/main arm64 libpangoft2-1.0-0 arm64 1.51.0+ds-4 [41.2 kB] 188s Get:35 http://ftpmaster.internal/ubuntu noble/main arm64 libpangocairo-1.0-0 arm64 1.51.0+ds-4 [27.6 kB] 188s Get:36 http://ftpmaster.internal/ubuntu noble/main arm64 libpaper1 arm64 1.1.29 [13.1 kB] 188s Get:37 http://ftpmaster.internal/ubuntu noble/main arm64 libpaper-utils arm64 1.1.29 [8480 B] 188s Get:38 http://ftpmaster.internal/ubuntu noble/main arm64 libsharpyuv0 arm64 1.3.2-0.4 [14.4 kB] 188s Get:39 http://ftpmaster.internal/ubuntu noble/main arm64 libsm6 arm64 2:1.2.3-1build2 [16.1 kB] 189s Get:40 http://ftpmaster.internal/ubuntu noble/main arm64 libtcl8.6 arm64 8.6.13+dfsg-2 [980 kB] 189s Get:41 http://ftpmaster.internal/ubuntu noble/main arm64 libjbig0 arm64 2.1-6.1ubuntu1 [28.9 kB] 189s Get:42 http://ftpmaster.internal/ubuntu noble/main arm64 libwebp7 arm64 1.3.2-0.4 [191 kB] 189s Get:43 http://ftpmaster.internal/ubuntu noble/main arm64 libtiff6 arm64 4.5.1+git230720-3ubuntu1 [226 kB] 189s Get:44 http://ftpmaster.internal/ubuntu noble/main arm64 libxft2 arm64 2.3.6-1 [43.3 kB] 189s Get:45 http://ftpmaster.internal/ubuntu noble/main arm64 libxss1 arm64 1:1.2.3-1build2 [8252 B] 189s Get:46 http://ftpmaster.internal/ubuntu noble/main arm64 libtk8.6 arm64 8.6.13-2 [760 kB] 189s Get:47 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libxt6t64 arm64 1:1.2.1-1.2 [168 kB] 189s Get:48 http://ftpmaster.internal/ubuntu noble/main arm64 zip arm64 3.0-13 [172 kB] 189s Get:49 http://ftpmaster.internal/ubuntu noble/main arm64 unzip arm64 6.0-28ubuntu3 [171 kB] 189s Get:50 http://ftpmaster.internal/ubuntu noble/main arm64 xdg-utils all 1.1.3-4.1ubuntu3 [62.0 kB] 189s Get:51 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 r-base-core arm64 4.3.3-2build1 [26.8 MB] 190s Get:52 http://ftpmaster.internal/ubuntu noble/universe arm64 r-cran-lattice arm64 0.22-5-1 [1342 kB] 190s Get:53 http://ftpmaster.internal/ubuntu noble/universe arm64 r-cran-matrix arm64 1.6-5-1 [3776 kB] 190s Get:54 http://ftpmaster.internal/ubuntu noble/universe arm64 r-cran-expm arm64 0.999-9-1 [217 kB] 190s Get:55 http://ftpmaster.internal/ubuntu noble/universe arm64 r-cran-gmp arm64 0.7-4-1 [299 kB] 190s Get:56 http://ftpmaster.internal/ubuntu noble/universe arm64 r-cran-rcolorbrewer all 1.1-3-1build1 [55.4 kB] 190s Get:57 http://ftpmaster.internal/ubuntu noble/universe arm64 r-cran-rmpfr arm64 0.9-5-1 [1219 kB] 190s Get:58 http://ftpmaster.internal/ubuntu noble/universe arm64 r-cran-sfsmisc all 1.1-16-1 [651 kB] 191s Preconfiguring packages ... 191s Fetched 45.2 MB in 3s (15.5 MB/s) 191s dpkg: libpsl5:arm64: dependency problems, but removing anyway as you requested: 191s wget depends on libpsl5 (>= 0.16.0). 191s libcurl4:arm64 depends on libpsl5 (>= 0.16.0). 191s libcurl3-gnutls:arm64 depends on libpsl5 (>= 0.16.0). 191s 191s (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 ... 74774 files and directories currently installed.) 191s Removing libpsl5:arm64 (0.21.2-1build1) ... 191s Selecting previously unselected package libpsl5t64:arm64. 191s (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 ... 74769 files and directories currently installed.) 191s Preparing to unpack .../libpsl5t64_0.21.2-1.1_arm64.deb ... 191s Unpacking libpsl5t64:arm64 (0.21.2-1.1) ... 191s Preparing to unpack .../curl_8.5.0-2ubuntu7_arm64.deb ... 191s Unpacking curl (8.5.0-2ubuntu7) over (8.5.0-2ubuntu2) ... 191s (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 ... 74775 files and directories currently installed.) 191s Removing libcurl4:arm64 (8.5.0-2ubuntu2) ... 191s Selecting previously unselected package libcurl4t64:arm64. 191s (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 ... 74770 files and directories currently installed.) 191s Preparing to unpack .../libcurl4t64_8.5.0-2ubuntu7_arm64.deb ... 191s Unpacking libcurl4t64:arm64 (8.5.0-2ubuntu7) ... 191s dpkg: libpng16-16:arm64: dependency problems, but removing anyway as you requested: 191s libplymouth5:arm64 depends on libpng16-16 (>= 1.6.2). 191s libfreetype6:arm64 depends on libpng16-16 (>= 1.6.2-1). 191s 191s (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 ... 74776 files and directories currently installed.) 191s Removing libpng16-16:arm64 (1.6.43-1) ... 191s Selecting previously unselected package libpng16-16t64:arm64. 191s (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 ... 74766 files and directories currently installed.) 191s Preparing to unpack .../libpng16-16t64_1.6.43-3_arm64.deb ... 191s Unpacking libpng16-16t64:arm64 (1.6.43-3) ... 192s dpkg: libreadline8:arm64: dependency problems, but removing anyway as you requested: 192s parted depends on libreadline8 (>= 6.0). 192s libpython3.12-stdlib:arm64 depends on libreadline8 (>= 7.0~beta). 192s gpgsm depends on libreadline8 (>= 6.0). 192s gpgconf depends on libreadline8 (>= 6.0). 192s gpg depends on libreadline8 (>= 6.0). 192s gawk depends on libreadline8 (>= 6.0). 192s fdisk depends on libreadline8 (>= 6.0). 192s 192s (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 ... 74777 files and directories currently installed.) 192s Removing libreadline8:arm64 (8.2-3) ... 192s Selecting previously unselected package libreadline8t64:arm64. 192s (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 ... 74765 files and directories currently installed.) 192s Preparing to unpack .../libreadline8t64_8.2-3.1_arm64.deb ... 192s Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8 to /lib/aarch64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' 192s Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8.2 to /lib/aarch64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' 192s Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8 to /lib/aarch64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' 192s Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8.2 to /lib/aarch64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' 192s Unpacking libreadline8t64:arm64 (8.2-3.1) ... 192s dpkg: libtirpc3:arm64: dependency problems, but removing anyway as you requested: 192s lsof depends on libtirpc3 (>= 1.0.2). 192s libpython3.12-stdlib:arm64 depends on libtirpc3 (>= 1.0.2). 192s libnss-nisplus:arm64 depends on libtirpc3 (>= 1.0.2). 192s libnsl2:arm64 depends on libtirpc3 (>= 1.0.2). 192s iproute2 depends on libtirpc3 (>= 1.0.2). 192s 192s (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 ... 74785 files and directories currently installed.) 192s Removing libtirpc3:arm64 (1.3.4+ds-1build1) ... 192s Selecting previously unselected package libtirpc3t64:arm64. 192s (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 ... 74779 files and directories currently installed.) 192s Preparing to unpack .../00-libtirpc3t64_1.3.4+ds-1.1_arm64.deb ... 192s Adding 'diversion of /lib/aarch64-linux-gnu/libtirpc.so.3 to /lib/aarch64-linux-gnu/libtirpc.so.3.usr-is-merged by libtirpc3t64' 192s Adding 'diversion of /lib/aarch64-linux-gnu/libtirpc.so.3.0.0 to /lib/aarch64-linux-gnu/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' 192s Unpacking libtirpc3t64:arm64 (1.3.4+ds-1.1) ... 192s Selecting previously unselected package fonts-dejavu-mono. 192s Preparing to unpack .../01-fonts-dejavu-mono_2.37-8_all.deb ... 192s Unpacking fonts-dejavu-mono (2.37-8) ... 192s Selecting previously unselected package fonts-dejavu-core. 192s Preparing to unpack .../02-fonts-dejavu-core_2.37-8_all.deb ... 192s Unpacking fonts-dejavu-core (2.37-8) ... 192s Selecting previously unselected package fontconfig-config. 192s Preparing to unpack .../03-fontconfig-config_2.15.0-1ubuntu1_arm64.deb ... 192s Unpacking fontconfig-config (2.15.0-1ubuntu1) ... 192s Selecting previously unselected package libfontconfig1:arm64. 192s Preparing to unpack .../04-libfontconfig1_2.15.0-1ubuntu1_arm64.deb ... 192s Unpacking libfontconfig1:arm64 (2.15.0-1ubuntu1) ... 192s Selecting previously unselected package fontconfig. 192s Preparing to unpack .../05-fontconfig_2.15.0-1ubuntu1_arm64.deb ... 192s Unpacking fontconfig (2.15.0-1ubuntu1) ... 192s Selecting previously unselected package libblas3:arm64. 192s Preparing to unpack .../06-libblas3_3.12.0-3_arm64.deb ... 192s Unpacking libblas3:arm64 (3.12.0-3) ... 192s Selecting previously unselected package libpixman-1-0:arm64. 192s Preparing to unpack .../07-libpixman-1-0_0.42.2-1_arm64.deb ... 192s Unpacking libpixman-1-0:arm64 (0.42.2-1) ... 192s Selecting previously unselected package libxcb-render0:arm64. 192s Preparing to unpack .../08-libxcb-render0_1.15-1_arm64.deb ... 192s Unpacking libxcb-render0:arm64 (1.15-1) ... 192s Selecting previously unselected package libxcb-shm0:arm64. 192s Preparing to unpack .../09-libxcb-shm0_1.15-1_arm64.deb ... 192s Unpacking libxcb-shm0:arm64 (1.15-1) ... 193s Selecting previously unselected package libxrender1:arm64. 193s Preparing to unpack .../10-libxrender1_1%3a0.9.10-1.1_arm64.deb ... 193s Unpacking libxrender1:arm64 (1:0.9.10-1.1) ... 193s Selecting previously unselected package libcairo2:arm64. 193s Preparing to unpack .../11-libcairo2_1.18.0-1_arm64.deb ... 193s Unpacking libcairo2:arm64 (1.18.0-1) ... 193s Selecting previously unselected package libdatrie1:arm64. 193s Preparing to unpack .../12-libdatrie1_0.2.13-3_arm64.deb ... 193s Unpacking libdatrie1:arm64 (0.2.13-3) ... 193s Selecting previously unselected package libdeflate0:arm64. 193s Preparing to unpack .../13-libdeflate0_1.19-1_arm64.deb ... 193s Unpacking libdeflate0:arm64 (1.19-1) ... 193s Selecting previously unselected package libgfortran5:arm64. 193s Preparing to unpack .../14-libgfortran5_14-20240303-1ubuntu1_arm64.deb ... 193s Unpacking libgfortran5:arm64 (14-20240303-1ubuntu1) ... 193s Selecting previously unselected package libgomp1:arm64. 193s Preparing to unpack .../15-libgomp1_14-20240303-1ubuntu1_arm64.deb ... 193s Unpacking libgomp1:arm64 (14-20240303-1ubuntu1) ... 193s Selecting previously unselected package libgraphite2-3:arm64. 193s Preparing to unpack .../16-libgraphite2-3_1.3.14-2_arm64.deb ... 193s Unpacking libgraphite2-3:arm64 (1.3.14-2) ... 193s Selecting previously unselected package libharfbuzz0b:arm64. 193s Preparing to unpack .../17-libharfbuzz0b_8.3.0-2_arm64.deb ... 193s Unpacking libharfbuzz0b:arm64 (8.3.0-2) ... 193s Selecting previously unselected package x11-common. 193s Preparing to unpack .../18-x11-common_1%3a7.7+23ubuntu2_all.deb ... 193s Unpacking x11-common (1:7.7+23ubuntu2) ... 193s Selecting previously unselected package libice6:arm64. 193s Preparing to unpack .../19-libice6_2%3a1.0.10-1build2_arm64.deb ... 193s Unpacking libice6:arm64 (2:1.0.10-1build2) ... 193s Selecting previously unselected package libjpeg-turbo8:arm64. 193s Preparing to unpack .../20-libjpeg-turbo8_2.1.5-2ubuntu1_arm64.deb ... 193s Unpacking libjpeg-turbo8:arm64 (2.1.5-2ubuntu1) ... 193s Selecting previously unselected package libjpeg8:arm64. 193s Preparing to unpack .../21-libjpeg8_8c-2ubuntu11_arm64.deb ... 193s Unpacking libjpeg8:arm64 (8c-2ubuntu11) ... 193s Selecting previously unselected package liblapack3:arm64. 193s Preparing to unpack .../22-liblapack3_3.12.0-3_arm64.deb ... 193s Unpacking liblapack3:arm64 (3.12.0-3) ... 193s Selecting previously unselected package liblerc4:arm64. 193s Preparing to unpack .../23-liblerc4_4.0.0+ds-4ubuntu1_arm64.deb ... 193s Unpacking liblerc4:arm64 (4.0.0+ds-4ubuntu1) ... 193s Selecting previously unselected package libthai-data. 193s Preparing to unpack .../24-libthai-data_0.1.29-2_all.deb ... 193s Unpacking libthai-data (0.1.29-2) ... 193s Selecting previously unselected package libthai0:arm64. 193s Preparing to unpack .../25-libthai0_0.1.29-2_arm64.deb ... 193s Unpacking libthai0:arm64 (0.1.29-2) ... 193s Selecting previously unselected package libpango-1.0-0:arm64. 193s Preparing to unpack .../26-libpango-1.0-0_1.51.0+ds-4_arm64.deb ... 193s Unpacking libpango-1.0-0:arm64 (1.51.0+ds-4) ... 193s Selecting previously unselected package libpangoft2-1.0-0:arm64. 193s Preparing to unpack .../27-libpangoft2-1.0-0_1.51.0+ds-4_arm64.deb ... 193s Unpacking libpangoft2-1.0-0:arm64 (1.51.0+ds-4) ... 193s Selecting previously unselected package libpangocairo-1.0-0:arm64. 193s Preparing to unpack .../28-libpangocairo-1.0-0_1.51.0+ds-4_arm64.deb ... 193s Unpacking libpangocairo-1.0-0:arm64 (1.51.0+ds-4) ... 193s Selecting previously unselected package libpaper1:arm64. 193s Preparing to unpack .../29-libpaper1_1.1.29_arm64.deb ... 193s Unpacking libpaper1:arm64 (1.1.29) ... 193s Selecting previously unselected package libpaper-utils. 193s Preparing to unpack .../30-libpaper-utils_1.1.29_arm64.deb ... 193s Unpacking libpaper-utils (1.1.29) ... 193s Selecting previously unselected package libsharpyuv0:arm64. 193s Preparing to unpack .../31-libsharpyuv0_1.3.2-0.4_arm64.deb ... 193s Unpacking libsharpyuv0:arm64 (1.3.2-0.4) ... 193s Selecting previously unselected package libsm6:arm64. 193s Preparing to unpack .../32-libsm6_2%3a1.2.3-1build2_arm64.deb ... 193s Unpacking libsm6:arm64 (2:1.2.3-1build2) ... 193s Selecting previously unselected package libtcl8.6:arm64. 193s Preparing to unpack .../33-libtcl8.6_8.6.13+dfsg-2_arm64.deb ... 193s Unpacking libtcl8.6:arm64 (8.6.13+dfsg-2) ... 193s Selecting previously unselected package libjbig0:arm64. 194s Preparing to unpack .../34-libjbig0_2.1-6.1ubuntu1_arm64.deb ... 194s Unpacking libjbig0:arm64 (2.1-6.1ubuntu1) ... 194s Selecting previously unselected package libwebp7:arm64. 194s Preparing to unpack .../35-libwebp7_1.3.2-0.4_arm64.deb ... 194s Unpacking libwebp7:arm64 (1.3.2-0.4) ... 194s Selecting previously unselected package libtiff6:arm64. 194s Preparing to unpack .../36-libtiff6_4.5.1+git230720-3ubuntu1_arm64.deb ... 194s Unpacking libtiff6:arm64 (4.5.1+git230720-3ubuntu1) ... 194s Selecting previously unselected package libxft2:arm64. 194s Preparing to unpack .../37-libxft2_2.3.6-1_arm64.deb ... 194s Unpacking libxft2:arm64 (2.3.6-1) ... 194s Selecting previously unselected package libxss1:arm64. 194s Preparing to unpack .../38-libxss1_1%3a1.2.3-1build2_arm64.deb ... 194s Unpacking libxss1:arm64 (1:1.2.3-1build2) ... 194s Selecting previously unselected package libtk8.6:arm64. 194s Preparing to unpack .../39-libtk8.6_8.6.13-2_arm64.deb ... 194s Unpacking libtk8.6:arm64 (8.6.13-2) ... 194s Selecting previously unselected package libxt6t64:arm64. 194s Preparing to unpack .../40-libxt6t64_1%3a1.2.1-1.2_arm64.deb ... 194s Unpacking libxt6t64:arm64 (1:1.2.1-1.2) ... 194s Selecting previously unselected package zip. 194s Preparing to unpack .../41-zip_3.0-13_arm64.deb ... 194s Unpacking zip (3.0-13) ... 194s Selecting previously unselected package unzip. 194s Preparing to unpack .../42-unzip_6.0-28ubuntu3_arm64.deb ... 194s Unpacking unzip (6.0-28ubuntu3) ... 194s Selecting previously unselected package xdg-utils. 194s Preparing to unpack .../43-xdg-utils_1.1.3-4.1ubuntu3_all.deb ... 194s Unpacking xdg-utils (1.1.3-4.1ubuntu3) ... 194s Selecting previously unselected package r-base-core. 194s Preparing to unpack .../44-r-base-core_4.3.3-2build1_arm64.deb ... 194s Unpacking r-base-core (4.3.3-2build1) ... 194s Selecting previously unselected package r-cran-lattice. 194s Preparing to unpack .../45-r-cran-lattice_0.22-5-1_arm64.deb ... 194s Unpacking r-cran-lattice (0.22-5-1) ... 195s Selecting previously unselected package r-cran-matrix. 195s Preparing to unpack .../46-r-cran-matrix_1.6-5-1_arm64.deb ... 195s Unpacking r-cran-matrix (1.6-5-1) ... 195s Selecting previously unselected package r-cran-expm. 195s Preparing to unpack .../47-r-cran-expm_0.999-9-1_arm64.deb ... 195s Unpacking r-cran-expm (0.999-9-1) ... 195s Selecting previously unselected package r-cran-gmp. 195s Preparing to unpack .../48-r-cran-gmp_0.7-4-1_arm64.deb ... 195s Unpacking r-cran-gmp (0.7-4-1) ... 195s Selecting previously unselected package r-cran-rcolorbrewer. 195s Preparing to unpack .../49-r-cran-rcolorbrewer_1.1-3-1build1_all.deb ... 195s Unpacking r-cran-rcolorbrewer (1.1-3-1build1) ... 195s Selecting previously unselected package r-cran-rmpfr. 195s Preparing to unpack .../50-r-cran-rmpfr_0.9-5-1_arm64.deb ... 195s Unpacking r-cran-rmpfr (0.9-5-1) ... 195s Selecting previously unselected package r-cran-sfsmisc. 195s Preparing to unpack .../51-r-cran-sfsmisc_1.1-16-1_all.deb ... 195s Unpacking r-cran-sfsmisc (1.1-16-1) ... 195s Selecting previously unselected package autopkgtest-satdep. 195s Preparing to unpack .../52-1-autopkgtest-satdep.deb ... 195s Unpacking autopkgtest-satdep (0) ... 195s Setting up libgraphite2-3:arm64 (1.3.14-2) ... 195s Setting up libpixman-1-0:arm64 (0.42.2-1) ... 195s Setting up libsharpyuv0:arm64 (1.3.2-0.4) ... 195s Setting up libpaper1:arm64 (1.1.29) ... 195s 195s Creating config file /etc/papersize with new version 195s Setting up liblerc4:arm64 (4.0.0+ds-4ubuntu1) ... 195s Setting up libxrender1:arm64 (1:0.9.10-1.1) ... 195s Setting up libdatrie1:arm64 (0.2.13-3) ... 195s Setting up libtirpc3t64:arm64 (1.3.4+ds-1.1) ... 195s Setting up libxcb-render0:arm64 (1.15-1) ... 195s Setting up unzip (6.0-28ubuntu3) ... 195s Setting up x11-common (1:7.7+23ubuntu2) ... 196s Setting up libpsl5t64:arm64 (0.21.2-1.1) ... 196s Setting up libdeflate0:arm64 (1.19-1) ... 196s Setting up libxcb-shm0:arm64 (1.15-1) ... 196s Setting up libpaper-utils (1.1.29) ... 196s Setting up libgomp1:arm64 (14-20240303-1ubuntu1) ... 196s Setting up libjbig0:arm64 (2.1-6.1ubuntu1) ... 196s Setting up zip (3.0-13) ... 196s Setting up libblas3:arm64 (3.12.0-3) ... 196s 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 196s Setting up fonts-dejavu-mono (2.37-8) ... 196s Setting up libpng16-16t64:arm64 (1.6.43-3) ... 196s Setting up libtcl8.6:arm64 (8.6.13+dfsg-2) ... 196s Setting up fonts-dejavu-core (2.37-8) ... 196s Setting up libjpeg-turbo8:arm64 (2.1.5-2ubuntu1) ... 196s Setting up libgfortran5:arm64 (14-20240303-1ubuntu1) ... 196s Setting up libwebp7:arm64 (1.3.2-0.4) ... 196s Setting up libreadline8t64:arm64 (8.2-3.1) ... 196s Setting up libharfbuzz0b:arm64 (8.3.0-2) ... 196s Setting up libthai-data (0.1.29-2) ... 196s Setting up libxss1:arm64 (1:1.2.3-1build2) ... 196s Setting up xdg-utils (1.1.3-4.1ubuntu3) ... 196s update-alternatives: using /usr/bin/xdg-open to provide /usr/bin/open (open) in auto mode 196s Setting up libjpeg8:arm64 (8c-2ubuntu11) ... 196s Setting up libice6:arm64 (2:1.0.10-1build2) ... 196s Setting up liblapack3:arm64 (3.12.0-3) ... 196s 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 196s Setting up libcurl4t64:arm64 (8.5.0-2ubuntu7) ... 196s Setting up fontconfig-config (2.15.0-1ubuntu1) ... 196s Setting up libthai0:arm64 (0.1.29-2) ... 196s Setting up libtiff6:arm64 (4.5.1+git230720-3ubuntu1) ... 196s Setting up curl (8.5.0-2ubuntu7) ... 196s Setting up libfontconfig1:arm64 (2.15.0-1ubuntu1) ... 196s Setting up libsm6:arm64 (2:1.2.3-1build2) ... 196s Setting up fontconfig (2.15.0-1ubuntu1) ... 198s Regenerating fonts cache... done. 198s Setting up libxft2:arm64 (2.3.6-1) ... 198s Setting up libtk8.6:arm64 (8.6.13-2) ... 198s Setting up libpango-1.0-0:arm64 (1.51.0+ds-4) ... 198s Setting up libcairo2:arm64 (1.18.0-1) ... 198s Setting up libxt6t64:arm64 (1:1.2.1-1.2) ... 198s Setting up libpangoft2-1.0-0:arm64 (1.51.0+ds-4) ... 198s Setting up libpangocairo-1.0-0:arm64 (1.51.0+ds-4) ... 198s Setting up r-base-core (4.3.3-2build1) ... 198s 198s Creating config file /etc/R/Renviron with new version 198s Setting up r-cran-lattice (0.22-5-1) ... 198s Setting up r-cran-gmp (0.7-4-1) ... 198s Setting up r-cran-sfsmisc (1.1-16-1) ... 198s Setting up r-cran-rcolorbrewer (1.1-3-1build1) ... 198s Setting up r-cran-matrix (1.6-5-1) ... 198s Setting up r-cran-rmpfr (0.9-5-1) ... 198s Setting up r-cran-expm (0.999-9-1) ... 198s Setting up autopkgtest-satdep (0) ... 198s Processing triggers for man-db (2.12.0-3) ... 199s Processing triggers for install-info (7.1-3) ... 199s Processing triggers for libc-bin (2.39-0ubuntu2) ... 205s (Reading database ... 77207 files and directories currently installed.) 205s Removing autopkgtest-satdep (0) ... 205s autopkgtest [18:30:55]: test run-unit-test: [----------------------- 206s 206s R version 4.3.3 (2024-02-29) -- "Angel Food Cake" 206s Copyright (C) 2024 The R Foundation for Statistical Computing 206s Platform: aarch64-unknown-linux-gnu (64-bit) 206s 206s R is free software and comes with ABSOLUTELY NO WARRANTY. 206s You are welcome to redistribute it under certain conditions. 206s Type 'license()' or 'licence()' for distribution details. 206s 206s R is a collaborative project with many contributors. 206s Type 'contributors()' for more information and 206s 'citation()' on how to cite R or R packages in publications. 206s 206s Type 'demo()' for some demos, 'help()' for on-line help, or 206s 'help.start()' for an HTML browser interface to help. 206s Type 'q()' to quit R. 206s 206s > library(expm) 206s Loading required package: Matrix 207s 207s Attaching package: ‘expm’ 207s 207s The following object is masked from ‘package:Matrix’: 207s 207s expm 207s 207s > 207s > source(system.file("test-tools.R", package= "expm"), keep.source=FALSE)# relErr() 207s Loading required package: tools 207s > 207s > set.seed(101) 207s > for(n in c(1:5, 10:11, if(doExtras) 100:101 else 25)) { 207s + cat("n = ",n,"\n-----\n") 207s + for(i in seq_len(if(doExtras)10 else 3)) { 207s + A <- matrix(round(10*rnorm(n^2))/4, n,n) 207s + E <- matrix(rnorm(n^2, sd = 1e-3), n,n) 207s + F1 <- expmFrechet(A, E) 207s + F2 <- expmFrechet(A, E, "block") 207s + if(i == 1 && n < 9) print(F1) 207s + stopifnot(all.equal(F1, F2, tol = 6e-15 * n)) 207s + cat(sprintf("%5.2f ", relErr(F1 $ L, F2 $ L) * 2^52)) 207s + } 207s + cat(" * eps_C \n") 207s + } 207s n = 1 207s ----- 207s $expm 207s [,1] 207s [1,] 0.4723666 207s 207s $Lexpm 207s [,1] 207s [1,] 0.0002609645 207s 207s 0.00 0.00 0.00 * eps_C 207s n = 2 207s ----- 207s $expm 207s [,1] [,2] 207s [1,] 3.7943192 3.9860952 207s [2,] -0.4428995 0.2511234 207s 207s $Lexpm 207s [,1] [,2] 207s [1,] -0.000196749 0.0005570041 207s [2,] -0.001188989 -0.0019747694 207s 207s 1.22 2.16 1.08 * eps_C 207s n = 3 207s ----- 207s $expm 207s [,1] [,2] [,3] 207s [1,] -13.234401 -7.815106 -5.911481 207s [2,] 3.475001 -14.396109 -2.922287 207s [3,] -4.792555 -3.230410 -2.237135 207s 207s $Lexpm 207s [,1] [,2] [,3] 207s [1,] -0.006244373 0.03825617 0.006773883 207s [2,] -0.009314389 -0.01048467 -0.005528605 207s [3,] -0.003071235 0.01362774 0.002137511 207s 207s 4.24 5.40 9.86 * eps_C 207s n = 4 207s ----- 207s $expm 207s [,1] [,2] [,3] [,4] 207s [1,] 0.2707319 -0.1626405 -2.119235 -0.07861206 207s [2,] 2.0900646 -0.7912464 -14.169394 -0.17449996 207s [3,] 6.3895316 12.2833412 -18.789145 6.32147099 207s [4,] -2.2731287 -5.9125055 4.417767 -2.96095147 207s 207s $Lexpm 207s [,1] [,2] [,3] [,4] 207s [1,] 7.677032e-05 0.001682315 -0.0008184674 0.0009526274 207s [2,] -1.662466e-03 0.009155436 0.0057316462 0.0050790835 207s [3,] -4.184527e-03 -0.001231147 0.0132157465 0.0025368226 207s [4,] -4.704290e-04 0.000236295 0.0019512119 -0.0013450671 207s 207s 4.42 8.78 0.71 * eps_C 207s n = 5 207s ----- 207s $expm 207s [,1] [,2] [,3] [,4] [,5] 207s [1,] 28.89025 -7.887859 -5.470599 0.5944806 9.342582 207s [2,] 13.49317 -13.253465 34.703223 31.9553150 -3.493428 207s [3,] 77.39341 -41.002709 78.782028 79.2962299 5.522557 207s [4,] 32.49178 -16.213884 20.464336 23.6511224 4.510920 207s [5,] -41.22584 20.972736 -29.288624 -33.2428425 -5.776531 207s 207s $Lexpm 207s [,1] [,2] [,3] [,4] [,5] 207s [1,] 0.056099069 -0.036816360 0.09881220 0.086689105 -0.0230892952 207s [2,] -0.022878412 0.028215505 -0.04468039 -0.041094058 0.0005738551 207s [3,] 0.047797873 -0.004093659 0.09600680 0.079920949 -0.0371636943 207s [4,] 0.022749004 -0.006615176 0.04445098 0.036856490 -0.0189132368 207s [5,] 0.004190808 -0.010861707 -0.01759342 -0.008662979 0.0249103378 207s 207s 2.42 2.05 1.94 * eps_C 207s n = 10 207s ----- 207s 2.75 5.08 2.23 * eps_C 207s n = 11 207s ----- 207s 3.40 2.25 3.69 * eps_C 207s n = 25 207s ----- 207s 4.85 4.33 3.25 * eps_C 207s > 207s > cat('Time elapsed: ', proc.time(), '\n') # for "statistical reasons" 207s Time elapsed: 1.622 0.144 1.752 0.003 0.002 207s > 208s 208s R version 4.3.3 (2024-02-29) -- "Angel Food Cake" 208s Copyright (C) 2024 The R Foundation for Statistical Computing 208s Platform: aarch64-unknown-linux-gnu (64-bit) 208s 208s R is free software and comes with ABSOLUTELY NO WARRANTY. 208s You are welcome to redistribute it under certain conditions. 208s Type 'license()' or 'licence()' for distribution details. 208s 208s R is a collaborative project with many contributors. 208s Type 'contributors()' for more information and 208s 'citation()' on how to cite R or R packages in publications. 208s 208s Type 'demo()' for some demos, 'help()' for on-line help, or 208s 'help.start()' for an HTML browser interface to help. 208s Type 'q()' to quit R. 208s 208s > library(expm) 208s Loading required package: Matrix 209s > source(system.file("test-tools.R", package= "expm"), keep.source=FALSE)## -> assertError()... 209s 209s Attaching package: ‘expm’ 209s 209s The following object is masked from ‘package:Matrix’: 209s 209s expm 209s 209s Loading required package: tools 209s > 209s > ## A matrix with 'Inf' 209s > mI <- rbind(0, c(-Inf, Inf, 0, 0), 0, 0) 209s > bal3 <- 209s + list(dB = dgebal(mI, "B"), # = default 209s + dP = dgebal(mI, "P"), 209s + dN = dgebal(mI, "N")) 209s Warning messages: 209s 1: 'dgebal' is deprecated. 209s Use 'balance' instead. 209s See help("Deprecated") 209s 2: 'dgebal' is deprecated. 209s Use 'balance' instead. 209s See help("Deprecated") 209s 3: 'dgebal' is deprecated. 209s Use 'balance' instead. 209s See help("Deprecated") 209s > str(bal3) 209s List of 3 209s $ dB:List of 4 209s ..$ z : num [1:4, 1:4] Inf 0 0 0 -Inf ... 209s ..$ scale: num [1:4] 1 1 3 4 209s ..$ i1 : int 1 209s ..$ i2 : int 1 209s $ dP:List of 4 209s ..$ z : num [1:4, 1:4] Inf 0 0 0 -Inf ... 209s ..$ scale: num [1:4] 1 1 3 4 209s ..$ i1 : int 1 209s ..$ i2 : int 1 209s $ dN:List of 4 209s ..$ z : num [1:4, 1:4] 0 -Inf 0 0 0 ... 209s ..$ scale: num [1:4] 1 1 1 1 209s ..$ i1 : int 1 209s ..$ i2 : int 4 209s > stopifnot(identical(mI, bal3$dN$z), 209s + with(bal3, all.equal(dB, dP, tol=1e-14)), 209s + all.equal(bal3$dB$z, rbind(c(Inf,-Inf,0,0), 0,0,0), tol=1e-14), 209s + all.equal(bal3$dB$scale, c(1,1,3,4))) 209s > assertError(dgebal(mI, "S"))# gave infinite loop 209s > 209s > 209s > 209s > ## Compare the two different "balance" pre-conditioning versions in Ward77: 209s > set.seed(1) 209s > mList <- lapply(integer(100), function(...) rSpMatrix(20, nnz=80)) 209s > re20 <- sapply(mList, function(M) 209s + relErr(expm(M, precond = "2bal"), 209s + expm(M, precond = "1bal"))) 209s > re20 ## ahh.: zero or ~ 1e-13 ... good 209s [1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 209s [38] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 209s [75] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 209s > table(re20 == 0) 209s 209s TRUE 209s 100 209s > summary(re20[re20 != 0]) 209s Min. 1st Qu. Median Mean 3rd Qu. Max. 209s 209s > ## Pentium M (ubuntu) 209s > ## Min. 1st Qu. Median Mean 3rd Qu. Max. 209s > ## 2.593e-14 8.703e-14 1.282e-13 2.434e-13 4.177e-13 6.295e-13 209s > 209s > 209s > demo(balanceTst) #-> the function definition and the first few examples 209s 209s 209s demo(balanceTst) 209s ---- ~~~~~~~~~~ 209s 209s > balanceTst <- function(A) { 209s + 209s + ## Purpose: Consistency checking of balance() {was "dgebal()"} 209s + ## ---------------------------------------------------------------------- 209s + ## Arguments: a square matrix 209s + ## ---------------------------------------------------------------------- 209s + ## Author: Martin Maechler, 20 Feb 2008 and on 209s + 209s + n <- dim(A)[1] 209s + ## do *the* three calls and look at result 209s + P <- balance(A, "P") 209s + 209s + doPerm <- function(A, pp, i1, i2) { 209s + stopifnot(length(pp) == n, dim(A) == c(n,n), 209s + 1 <= i1, i1 <= i2, i2 <= n) 209s + A. <- A 209s + if(i2 < n) { ## The upper part 209s + for(i in n:(i2+1)) { # 'p2' in *reverse* order 209s + ## swap i <-> pp[i] both rows and columns 209s + tt <- A.[,i]; A.[,i] <- A.[,pp[i]]; A.[,pp[i]] <- tt 209s + tt <- A.[i,]; A.[i,] <- A.[pp[i],]; A.[pp[i],] <- tt 209s + } 209s + } 209s + if(i1 > 1) { ## The lower part 209s + for(i in 1:(i1-1)) { # 'p1' in *forward* order 209s + tt <- A.[,i]; A.[,i] <- A.[,pp[i]]; A.[,pp[i]] <- tt 209s + tt <- A.[i,]; A.[i,] <- A.[pp[i],]; A.[pp[i],] <- tt 209s + } 209s + } 209s + A. 209s + } 209s + 209s + checkPerm <- function(P, orig.A) { 209s + didPerm <- ((leftP <- (i1 <- P$i1) != 1L) | 209s + (rightP <- (i2 <- P$i2) != n)) 209s + if(didPerm) { ## *had* permutation -- now check my idea about it 209s + pp <- as.integer(P$scale) 209s + ## Permute A to become P$z : 209s + A. <- doPerm(orig.A, pp = pp, i1=i1, i2=i2) 209s + stopifnot(isTRUE(all.equal(A., P$z, tolerance = 1e-15))) 209s + 209s + ## Now the reverse: Use pp[] and permute A. "back to A": 209s + if(leftP) { ## The lower part 209s + for(i in (i1-1):1) { # 'p1' in *reverse* order 209s + tt <- A.[,i]; A.[,i] <- A.[,pp[i]]; A.[,pp[i]] <- tt 209s + tt <- A.[i,]; A.[i,] <- A.[pp[i],]; A.[pp[i],] <- tt 209s + } 209s + } 209s + if(rightP) { ## The upper part 209s + for(i in (i2+1):n) { # 'p2' in *forward* order 209s + ## swap i <-> pp[i] both rows and columns 209s + tt <- A.[,i]; A.[,i] <- A.[,pp[i]]; A.[,pp[i]] <- tt 209s + tt <- A.[i,]; A.[i,] <- A.[pp[i],]; A.[pp[i],] <- tt 209s + } 209s + } 209s + stopifnot(isTRUE(all.equal(A., orig.A, tolerance = 1e-15))) 209s + } 209s + } 209s + checkPerm(P, orig.A = A) 209s + 209s + S <- balance(P$z, "S")# "S" starting from result of "P" 209s + stopifnot(S$i1 == 1, S$i2 == n) 209s + 209s + ## Now check the scaling 209s + checkScal <- function (d, A1, A2) { 209s + stopifnot(length(d) == n, dim(A1) == dim(A2), dim(A2) == c(n,n)) 209s + 209s + ## A.scaled <- diag(1/d, n) \%*\% A1 \%*\% diag(d, n) 209s + ## more efficiently: 209s + A.scaled <- A1 * (rep(d, each = n) / d) 209s + stopifnot(isTRUE(all.equal(A2, A.scaled, tolerance = 1e-15))) 209s + ## Check the reverse: 209s + S.rescaled <- A2 * (d * rep(1/d, each = n)) 209s + stopifnot(isTRUE(all.equal(A1, S.rescaled, tolerance = 1e-15))) 209s + } 209s + checkScal(d = S$scale, A1 = P$z, A2 = S$z) 209s + 209s + B <- balance(A, "B")# "B" : B[oth] 209s + stopifnot(P$i1 == B$i1, P$i2 == B$i2) 209s + ## now check *both* permutation and scaling 209s + 209s + A.perm <- doPerm(A, pp = as.integer(B$scale), i1=B$i1, i2=B$i2) 209s + ## checkPerm(B, orig.A = A) 209s + 209s + dB <- B$scale 209s + dB[c(if(B$i1 > 1) 1:(B$i1-1), 209s + if(B$i2 < n) (B$i2+1):n)] <- 1 209s + checkScal(d = dB, A1 = A.perm, A2 = B$z) 209s + 209s + ## return 209s + list(P = P, S = S, B = B, Sz.eq.Bz = isTRUE(all.equal(S$z, B$z))) 209s + } 209s 209s > m4. <- rbind(c(-1,-2, 0, 0), 209s + c( 0, 0,10,11), 209s + c( 0, 0,12, 0), 209s + c( 0,13, 0, 0)) 209s 209s > str(b4. <- balanceTst(m4.)) 209s List of 4 209s $ P :List of 4 209s ..$ z : num [1:4, 1:4] -1 0 0 0 -2 0 13 0 0 11 ... 209s ..$ scale: num [1:4] 1 1 1 3 209s ..$ i1 : int 2 209s ..$ i2 : int 3 209s $ S :List of 4 209s ..$ z : num [1:4, 1:4] -1 0 0 0 -2 0 13 0 0 11 ... 209s ..$ scale: num [1:4] 1 1 1 1 209s ..$ i1 : int 1 209s ..$ i2 : int 4 209s $ B :List of 4 209s ..$ z : num [1:4, 1:4] -1 0 0 0 -2 0 13 0 0 11 ... 209s ..$ scale: num [1:4] 1 1 1 3 209s ..$ i1 : int 2 209s ..$ i2 : int 3 209s $ Sz.eq.Bz: logi TRUE 209s 209s > ## better (?) example 209s > (m <- matrix(c(0,-1,0,-2,10, rep(0,11)), 4,4)) 209s [,1] [,2] [,3] [,4] 209s [1,] 0 10 0 0 209s [2,] -1 0 0 0 209s [3,] 0 0 0 0 209s [4,] -2 0 0 0 209s 209s > str(ba <- balanceTst(m)) 209s List of 4 209s $ P :List of 4 209s ..$ z : num [1:4, 1:4] 0 0 0 0 0 0 10 0 -2 -1 ... 209s ..$ scale: num [1:4] 3 1 1 3 209s ..$ i1 : int 2 209s ..$ i2 : int 3 209s $ S :List of 4 209s ..$ z : num [1:4, 1:4] 0 0 0 0 0 0 2.5 0 -2 -4 ... 209s ..$ scale: num [1:4] 1 0.25 1 1 209s ..$ i1 : int 1 209s ..$ i2 : int 4 209s $ B :List of 4 209s ..$ z : num [1:4, 1:4] 0 0 0 0 0 0 2.5 0 -2 -4 ... 209s ..$ scale: num [1:4] 3 0.25 1 3 209s ..$ i1 : int 2 209s ..$ i2 : int 3 209s $ Sz.eq.Bz: logi TRUE 209s 209s > ## Hmm: here S$z *differs* from B$z 209s > ## --- but at least, the scale[] and z[] returned seem ok 209s > 209s > 209s > ## a non-empty ``less-balanced'' example --- 209s > 209s > m4 <- matrix(outer(2^(0:7),c(-1,1)), 4,4) 209s 209s > m4[lower.tri(m4)] <- 0 #--> upper triangular ==> will have many permutations 209s 209s > ## now permute it; so balance() will find the permutation 209s > p <- c(4,2:1,3); m4 <- m4[p,p] 209s 209s > m4 209s [,1] [,2] [,3] [,4] 209s [1,] 128 0 0 0 209s [2,] 32 -32 0 2 209s [3,] 16 -16 -1 1 209s [4,] 64 0 0 4 209s 209s > str(dm4 <- balanceTst(m4)) # much permutation! i1 = i2 = 1 ! 209s List of 4 209s $ P :List of 4 209s ..$ z : num [1:4, 1:4] -1 0 0 0 -16 -32 0 0 1 2 ... 209s ..$ scale: num [1:4] 1 2 1 1 209s ..$ i1 : int 1 209s ..$ i2 : int 1 209s $ S :List of 4 209s ..$ z : num [1:4, 1:4] -1 0 0 0 -1 -32 0 0 0.25 8 ... 209s ..$ scale: num [1:4] 16 1 4 1 209s ..$ i1 : int 1 209s ..$ i2 : int 4 209s $ B :List of 4 209s ..$ z : num [1:4, 1:4] -1 0 0 0 -16 -32 0 0 1 2 ... 209s ..$ scale: num [1:4] 1 2 1 1 209s ..$ i1 : int 1 209s ..$ i2 : int 1 209s $ Sz.eq.Bz: logi FALSE 209s > 209s > dm4. <- dgebal(m4) 209s > storage.mode(m4) <- "integer" 209s > stopifnot(identical(dm4., dgebal(m4))) 209s > 209s > expm(m) 209s [,1] [,2] [,3] [,4] 209s [1,] -0.999786073 -0.06540707 0 0 209s [2,] 0.006540707 -0.99978607 0 0 209s [3,] 0.000000000 0.00000000 1 0 209s [4,] 0.013081414 -3.99957215 0 1 209s > expm(m,"Pade") ## are different indeed {when bug still existed} 209s [,1] [,2] [,3] [,4] 209s [1,] -0.999786073 -0.06540707 0 0 209s [2,] 0.006540707 -0.99978607 0 0 209s [3,] 0.000000000 0.00000000 1 0 209s [4,] 0.013081414 -3.99957215 0 1 209s attr(,"accuracy") 209s [1] 1.160917e-14 209s > expm(m,"R_Pade")# same as Pade 209s [,1] [,2] [,3] [,4] 209s [1,] -0.999786073 -0.06540707 0 0 209s [2,] 0.006540707 -0.99978607 0 0 209s [3,] 0.000000000 0.00000000 1 0 209s [4,] 0.013081414 -3.99957215 0 1 209s > 209s > 209s > ## a non-empty ``non-balanced'' example --- 209s > 209s > expm.t.identity(m4, "Ward") 209s [1] TRUE 209s > 209s > m6 <- zeroTrace(matrix(outer(2^(-8:9),c(-1,1)), 6,6)); m6 209s [,1] [,2] [,3] [,4] [,5] [,6] 209s [1,] -75.2584635 -0.25000 -16.0000 0.00390625 0.25000 16.0000 209s [2,] -0.0078125 -75.75456 -32.0000 0.00781250 0.50000 32.0000 209s [3,] -0.0156250 -1.00000 -139.2546 0.01562500 1.00000 64.0000 209s [4,] -0.0312500 -2.00000 -128.0000 -75.22330729 2.00000 128.0000 209s [5,] -0.0625000 -4.00000 -256.0000 0.06250000 -71.25456 256.0000 209s [6,] -0.1250000 -8.00000 -512.0000 0.12500000 8.00000 436.7454 209s > m6[lower.tri(m6)] <- 0 ## plus one non-zero 209s > m6[4,2] <- 77 209s > p <- c(6,4,5,2:1,3); m6 <- m6[p,p] 209s > expm.t.identity(m6, "Ward") ## difference; indeed 209s [1] TRUE 209s > expm(m6) # is very different from 209s Warning message: 209s 'dgebal' is deprecated. 209s Use 'balance' instead. 209s See help("Deprecated") 209s Warning message: 209s 'dgebal' is deprecated. 209s Use 'balance' instead. 209s See help("Deprecated") 209s [,1] [,2] [,3] [,4] [,5] 209s [1,] 4.743903e+189 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 209s [2,] 1.235301e+189 2.158311e-33 7.038631e-32 1.285266e-31 0.000000e+00 209s [3,] 2.390628e+189 0.000000e+00 1.133807e-31 0.000000e+00 0.000000e+00 209s [4,] 2.653829e+188 1.627057e-37 7.493870e-34 1.271561e-33 0.000000e+00 209s [5,] 1.326905e+188 8.096068e-38 3.743330e-34 -4.016897e-34 2.068543e-33 209s [6,] 5.312842e+188 5.266261e-37 1.683517e-33 3.098706e-35 0.000000e+00 209s [,6] 209s [1,] 0.000000e+00 209s [2,] -6.346149e-32 209s [3,] 0.000000e+00 209s [4,] -6.406872e-34 209s [5,] -3.187638e-34 209s [6,] -1.529642e-35 209s > expm(m6,"R_Pade") 209s [,1] [,2] [,3] [,4] [,5] 209s [1,] 4.743903e+189 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 209s [2,] 1.235301e+189 2.158311e-33 7.038631e-32 1.285266e-31 0.000000e+00 209s [3,] 2.390628e+189 0.000000e+00 1.133807e-31 0.000000e+00 0.000000e+00 209s [4,] 2.653829e+188 1.627057e-37 7.493870e-34 1.271561e-33 0.000000e+00 209s [5,] 1.326905e+188 8.096068e-38 3.743330e-34 -4.016897e-34 2.068543e-33 209s [6,] 5.312842e+188 5.266261e-37 1.683517e-33 3.098706e-35 0.000000e+00 209s [,6] 209s [1,] 0.000000e+00 209s [2,] -6.346149e-32 209s [3,] 0.000000e+00 209s [4,] -6.406872e-34 209s [5,] -3.187638e-34 209s [6,] -1.529642e-35 209s > 209s > str(dm6 <- balanceTst(m6)) 209s List of 4 209s $ P :List of 4 209s ..$ z : num [1:6, 1:6] -75.3 0 0 0 0 ... 209s ..$ scale: num [1:6] 3 1 1 1 3 1 209s ..$ i1 : int 2 209s ..$ i2 : int 4 209s $ S :List of 4 209s ..$ z : num [1:6, 1:6] -75.3 0 0 0 0 ... 209s ..$ scale: num [1:6] 1 1 1 1 2 1 209s ..$ i1 : int 1 209s ..$ i2 : int 6 209s $ B :List of 4 209s ..$ z : num [1:6, 1:6] -75.3 0 0 0 0 ... 209s ..$ scale: num [1:6] 3 1 1 1 3 1 209s ..$ i1 : int 2 209s ..$ i2 : int 4 209s $ Sz.eq.Bz: logi FALSE 209s > ## Now, that's interesting: 209s > ## 209s > ## 1. 'S' scales *more* (2 .. 5) than just (2:4 == i1:i2) ! 209s > ## 209s > ## 2. 'B' has quite different scaling and it does (must!) obey rule 209s > ## scale i1:i2 only 209s > ## 209s > ## 3. 'B'(oth) is better than "P" and "S" separately: 209s > ## 209s > kappa(eigen(m6)$vectors)# 597.5588 209s [1] 597.5588 209s > kappa(eigen(dm6$P$z)$vectors)# 597.5588 209s [1] 597.5588 209s > kappa(eigen(dm6$S$z)$vectors)# 42.58396 209s [1] 621.5746 209s > kappa(eigen(dm6$B$z)$vectors)# 22.20266 209s [1] 597.5588 209s > 209s > 209s > ## An n=17 example where octave's expm() is wrong too 209s > m17 <- matrix(c(10,0, 0, 2, 3,-1, 0, 0, 0, 0, 0, 4, 0, 5, 0, 0,-2, 209s + 0, 0, 0, 0,-3, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 7, 0, 209s + 0, 0,10, 0, 0,-4, 9, 0, 0, 0,-5, 0,-6, 0, 0, 0, 0, 209s + 0, 0,-7, 0, 0, 0, 0, 0, 0,10, 0, 0, 0, 0, 0,11, 0, 209s + 0, 0, 0, 0, 0, 0,12, 0, 0, 0, 0, 0,-8, 0, 0, 0, 0, 209s + 0, 0,-9, 0, 0, 0, 0, 0, 0,-10,0,13,14,-11,-12,-13, 0, 209s + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 209s + 0, 0, 0, 0, 0, 0, 0,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 209s + 0, 0, 0, 0, 0,-14,16,0,-10,0,17, 0, 0, 0, 0, 0, 0, 209s + 0, 0,-16,0, 0,18,19, 0, 0, 0, 0, 0, 0, 0,20, 0, 21, 209s + 22,0, 0, 0, 0, 0,-17,0, 0, 0,-10,-19,-20,0,0,0, 0, 209s + 0,-21,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 209s + 0, 0, 0,23,24, 0,25,26, 0, 0,27,-22,0,28,-23,0,-24, 209s + 0,-25,0,29, 0, 0, 0, 0, 0, 0, 0,30,31, 0, 0, 0, 0, 209s + 0, 0,-26,32,0, 0, 0, 0, 0,-27,0,33,34, 0, 0, 0, 0, 209s + 0,-28,-29,0,0, 0,35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 209s + 0, 0, 0, 0, 0, 0,36,37, 0, 0, 0, 0, 0, 0, 0, 0,-10), 209s + 17, 17) 209s > str(dm17 <- balanceTst(m17)) 209s List of 4 209s $ P :List of 4 209s ..$ z : num [1:17, 1:17] 0 0 0 0 0 0 0 0 0 0 ... 209s ..$ scale: num [1:17] 7 8 9 1 1 1 1 1 1 1 ... 209s ..$ i1 : int 4 209s ..$ i2 : int 16 209s $ S :List of 4 209s ..$ z : num [1:17, 1:17] 0 0 0 0 0 0 0 0 0 0 ... 209s ..$ scale: num [1:17] 1 4 1 2 1 1 1 2 2 1 ... 209s ..$ i1 : int 1 209s ..$ i2 : int 17 209s $ B :List of 4 209s ..$ z : num [1:17, 1:17] 0 0 0 0 0 0 0 0 0 0 ... 209s ..$ scale: num [1:17] 7 8 9 2 2 1 1 2 2 1 ... 209s ..$ i1 : int 4 209s ..$ i2 : int 16 209s $ Sz.eq.Bz: logi FALSE 209s > sapply(dm17[1:3], `[[`, "scale") 209s P S B 209s [1,] 7 1.0 7 209s [2,] 8 4.0 8 209s [3,] 9 1.0 9 209s [4,] 1 2.0 2 209s [5,] 1 1.0 2 209s [6,] 1 1.0 1 209s [7,] 1 1.0 1 209s [8,] 1 2.0 2 209s [9,] 1 2.0 2 209s [10,] 1 1.0 1 209s [11,] 1 1.0 1 209s [12,] 1 2.0 2 209s [13,] 1 1.0 1 209s [14,] 1 1.0 1 209s [15,] 1 1.0 1 209s [16,] 1 1.0 1 209s [17,] 9 0.5 9 209s > 209s > ## The balancing was really rather harmful -- cond(V) *not* improved: 209s > condX <- function(x) kappa(x, exact=TRUE) 209s > condX(eigen(m17)$vectors)# 8.9e16 209s [1] 5.42629e+16 209s > condX(eigen(dm17$P$z)$vectors)# 1.37e17 209s [1] 1.36865e+17 209s > condX(eigen(dm17$S$z)$vectors)# 1.44e17 209s [1] 6.451363e+16 209s > condX(eigen(dm17$B$z)$vectors)# 1.43e17 (very slightly smaller) 209s [1] 1.437207e+17 209s > 210s 210s R version 4.3.3 (2024-02-29) -- "Angel Food Cake" 210s Copyright (C) 2024 The R Foundation for Statistical Computing 210s Platform: aarch64-unknown-linux-gnu (64-bit) 210s 210s R is free software and comes with ABSOLUTELY NO WARRANTY. 210s You are welcome to redistribute it under certain conditions. 210s Type 'license()' or 'licence()' for distribution details. 210s 210s R is a collaborative project with many contributors. 210s Type 'contributors()' for more information and 210s 'citation()' on how to cite R or R packages in publications. 210s 210s Type 'demo()' for some demos, 'help()' for on-line help, or 210s 'help.start()' for an HTML browser interface to help. 210s Type 'q()' to quit R. 210s 210s Loading required package: Matrix 210s > library(expm) 211s 211s Attaching package: ‘expm’ 211s 211s The following object is masked from ‘package:Matrix’: 211s 211s expm 211s 211s > 211s > (sI <- sessionInfo()) 211s R version 4.3.3 (2024-02-29) 211s Platform: aarch64-unknown-linux-gnu (64-bit) 211s Running under: Ubuntu Noble Numbat (development branch) 211s 211s Matrix products: default 211s BLAS: /usr/lib/aarch64-linux-gnu/blas/libblas.so.3.12.0 211s LAPACK: /usr/lib/aarch64-linux-gnu/lapack/liblapack.so.3.12.0 211s 211s locale: 211s [1] LC_CTYPE=C.UTF-8 LC_NUMERIC=C LC_TIME=C.UTF-8 211s [4] LC_COLLATE=C.UTF-8 LC_MONETARY=C.UTF-8 LC_MESSAGES=C.UTF-8 211s [7] LC_PAPER=C.UTF-8 LC_NAME=C LC_ADDRESS=C 211s [10] LC_TELEPHONE=C LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C 211s 211s time zone: Etc/UTC 211s tzcode source: system (glibc) 211s 211s attached base packages: 211s [1] stats graphics grDevices utils datasets methods base 211s 211s other attached packages: 211s [1] expm_0.999-9 Matrix_1.6-5 211s 211s loaded via a namespace (and not attached): 211s [1] compiler_4.3.3 grid_4.3.3 lattice_0.22-5 211s > packageDescription("Matrix") 211s Package: Matrix 211s Version: 1.6-5 211s VersionNote: do also bump src/version.h, inst/include/Matrix/version.h 211s Date: 2024-01-06 211s Priority: recommended 211s Title: Sparse and Dense Matrix Classes and Methods 211s Description: A rich hierarchy of sparse and dense matrix classes, 211s including general, symmetric, triangular, and diagonal matrices 211s with numeric, logical, or pattern entries. Efficient methods 211s for operating on such matrices, often wrapping the 'BLAS', 211s 'LAPACK', and 'SuiteSparse' libraries. 211s License: GPL (>= 2) | file LICENCE 211s URL: https://Matrix.R-forge.R-project.org 211s BugReports: https://R-forge.R-project.org/tracker/?atid=294&group_id=61 211s Contact: Matrix-authors@R-project.org 211s Authors@R: c(person("Douglas", "Bates", role = "aut", comment = c(ORCID 211s = "0000-0001-8316-9503")), person("Martin", "Maechler", role = 211s c("aut", "cre"), email = "mmaechler+Matrix@gmail.com", comment 211s = c(ORCID = "0000-0002-8685-9910")), person("Mikael", "Jagan", 211s role = "aut", comment = c(ORCID = "0000-0002-3542-2938")), 211s person("Timothy A.", "Davis", role = "ctb", comment = c(ORCID = 211s "0000-0001-7614-6899", "SuiteSparse libraries, notably CHOLMOD 211s and AMD", "collaborators listed in 211s dir(pattern=\"^[A-Z]+[.]txt$\", full.names=TRUE, 211s system.file(\"doc\", \"SuiteSparse\", package=\"Matrix\"))")), 211s person("Jens", "Oehlschlägel", role = "ctb", comment = "initial 211s nearPD()"), person("Jason", "Riedy", role = "ctb", comment = 211s c(ORCID = "0000-0002-4345-4200", "GNU Octave's condest() and 211s onenormest()", "Copyright: Regents of the University of 211s California")), person("R Core Team", role = "ctb", comment = 211s "base R's matrix implementation")) 211s Depends: R (>= 3.5.0), methods 211s Imports: grDevices, graphics, grid, lattice, stats, utils 211s Suggests: MASS, datasets, sfsmisc, tools 211s Enhances: SparseM, graph 211s LazyData: no 211s LazyDataNote: not possible, since we use data/*.R and our S4 classes 211s BuildResaveData: no 211s Encoding: UTF-8 211s NeedsCompilation: yes 211s Packaged: 2024-01-11 08:36:29 UTC; maechler 211s Author: Douglas Bates [aut] (), 211s Martin Maechler [aut, cre] 211s (), Mikael Jagan [aut] 211s (), Timothy A. Davis 211s [ctb] (, SuiteSparse 211s libraries, notably CHOLMOD and AMD, collaborators listed in 211s dir(pattern="^[A-Z]+[.]txt$", full.names=TRUE, 211s system.file("doc", "SuiteSparse", package="Matrix"))), Jens 211s Oehlschlägel [ctb] (initial nearPD()), Jason Riedy [ctb] 211s (, GNU Octave's 211s condest() and onenormest(), Copyright: Regents of the 211s University of California), R Core Team [ctb] (base R's matrix 211s implementation) 211s Maintainer: Martin Maechler 211s Repository: CRAN 211s Date/Publication: 2024-01-11 17:50:15 UTC 211s Built: R 4.3.2; aarch64-unknown-linux-gnu; 'Thu, 11 Jan 2024 21:33:49 211s -0600'; unix 211s 211s -- File: /usr/lib/R/library/Matrix/Meta/package.rds 211s > packageDescription("expm") 211s Package: expm 211s Type: Package 211s Title: Matrix Exponential, Log, 'etc' 211s Version: 0.999-9 211s Date: 2024-01-11 211s Authors@R: c(person("Martin", "Maechler", role=c("aut","cre"), 211s email="maechler@stat.math.ethz.ch", comment = c(ORCID = 211s "0000-0002-8685-9910")) , person("Christophe","Dutang", role = 211s "aut", comment = c(ORCID = "0000-0001-6732-1501")) , 211s person("Vincent", "Goulet", role = "aut", comment = c(ORCID = 211s "0000-0002-9315-5719")) , person("Douglas", "Bates", role = 211s "ctb", comment = "cosmetic clean up, in svn r42") , 211s person("David", "Firth", role = "ctb", comment = "expm(method= 211s \"PadeO\" and \"TaylorO\")") , person("Marina", "Shapira", role 211s = "ctb", comment = "expm(method= \"PadeO\" and \"TaylorO\")") , 211s person("Michael", "Stadelmann", role = "ctb", comment = 211s "\"Higham08*\" methods, see ?expm.Higham08...") ) 211s Contact: expm-developers@lists.R-forge.R-project.org 211s Description: Computation of the matrix exponential, logarithm, sqrt, 211s and related quantities, using traditional and modern methods. 211s Depends: Matrix 211s Imports: methods 211s Suggests: RColorBrewer, sfsmisc, Rmpfr 211s BuildResaveData: no 211s License: GPL (>= 2) 211s URL: https://R-Forge.R-project.org/projects/expm/ 211s BugReports: 211s https://R-forge.R-project.org/tracker/?atid=472&group_id=107 211s Encoding: UTF-8 211s NeedsCompilation: yes 211s Packaged: 2024-01-11 09:19:42 UTC; maechler 211s Author: Martin Maechler [aut, cre] 211s (), Christophe Dutang 211s [aut] (), Vincent Goulet 211s [aut] (), Douglas Bates 211s [ctb] (cosmetic clean up, in svn r42), David Firth [ctb] 211s (expm(method= "PadeO" and "TaylorO")), Marina Shapira [ctb] 211s (expm(method= "PadeO" and "TaylorO")), Michael Stadelmann [ctb] 211s ("Higham08*" methods, see ?expm.Higham08...) 211s Maintainer: Martin Maechler 211s Repository: CRAN 211s Date/Publication: 2024-01-11 11:00:02 UTC 211s Built: R 4.3.2; aarch64-unknown-linux-gnu; 'Tue, 16 Jan 2024 20:49:14 211s +0100'; unix 211s 211s -- File: /usr/lib/R/site-library/expm/Meta/package.rds 211s > 211s > source(system.file("test-tools.R", package= "expm"), keep.source=FALSE) 211s > 211s > ## Note that these results are achieved with the default 211s > ## settings order=8, method="Pade" -- accuracy could 211s > ## presumably be improved still further by some tuning 211s > ## of these settings. 211s > 211s > ### Latest ATLAS (for BDR on F 36; R-devel Oct.2023) has much worse precision: 211s > ##==> use much larger tolerance in such cases: 211s > 211s > ## Simplified (needs R 3.4.0 and newer, from robustbase/inst/xtraR/platform-sessionInfo.R ) : 211s > BLAS <- extSoftVersion()[["BLAS"]] 211s > Lapack <- La_library() 211s > is.BLAS.Lapack <- identical(BLAS, Lapack) 211s > ## A cheap check (that works on KH's debian-gcc setup, 2019-05): 211s > if(!length(BLAS.is.openBLAS <- grepl("openblas", BLAS, ignore.case=TRUE))) 211s + BLAS.is.openBLAS <- NA 211s > if(!length(Lapack.is.openBLAS <- grepl("openblas", Lapack, ignore.case=TRUE))) 211s + Lapack.is.openBLAS <- NA 211s > 211s > (maybeATLAS <- is.BLAS.Lapack && !BLAS.is.openBLAS) 211s [1] FALSE 211s > 211s > 211s > ## ---------------------------- 211s > ## Test case 1 from Ward (1977) 211s > ## ---------------------------- 211s > T1 <- rbind(c(4, 2, 0), 211s + c(1, 4, 1), 211s + c(1, 1, 4)) 211s > (m1 <- expm(T1, method="Pade")) 211s Loading required package: tools 211s [,1] [,2] [,3] 211s [1,] 147.8666 183.7651 71.79703 211s [2,] 127.7811 183.7651 91.88257 211s [3,] 127.7811 163.6796 111.96811 211s attr(,"accuracy") 211s [1] 6.493412e-12 211s > (m1O <- expm(T1, method="PadeO"))# very slightly different 211s [,1] [,2] [,3] 211s [1,] 147.8666 183.7651 71.79703 211s [2,] 127.7811 183.7651 91.88257 211s [3,] 127.7811 163.6796 111.96811 211s attr(,"accuracy") 211s [1] 6.493412e-12 211s > (m1T <- expm(T1, method="Taylor")) 211s [,1] [,2] [,3] 211s [1,] 147.8666 183.7651 71.79703 211s [2,] 127.7811 183.7651 91.88257 211s [3,] 127.7811 163.6796 111.96811 211s attr(,"accuracy") 211s [1] 1.774935e-13 211s > (m1TO <- expm(T1, method="TaylorO")) 211s [,1] [,2] [,3] 211s [1,] 147.8666 183.7651 71.79703 211s [2,] 127.7811 183.7651 91.88257 211s [3,] 127.7811 163.6796 111.96811 211s attr(,"accuracy") 211s [1] 1.774935e-13 211s > ## True Eigenvalue Decomposition of T1 211s > s2 <- sqrt(2) 211s > eV1 <- matrix(c(s2,s2,s2, -2,1,1, 2,-1,-1) / sqrt(6), 211s + 3,3) 211s > L1 <- diag(lm1 <- c(6, 3, 3)) 211s > stopifnot( 211s + all.equal(eV1 %*% L1, T1 %*% eV1, tolerance=1e-15) 211s + ) 211s > ## However, eV1 is not orthogonal, but of rank 2 211s > 211s > if(FALSE) { ## require("Rmpfr")) { ## 200 bit precision version of that 211s + S2 <- sqrt(mpfr(2,200)) 211s + E1 <- c(S2,S2,S2, -2,1,1, 2,-1,-1) / sqrt(mpfr(6,200)) 211s + dim(E1) <- c(3,3) 211s + print(E1 %*% L1) 211s + print(E1) 211s + } 211s > 211s > ## "true" result 211s > m1.t <- matrix(c(147.866622446369, 127.781085523181, 127.781085523182, 211s + 183.765138646367, 183.765138646366, 163.679601723179, 211s + 71.797032399996, 91.8825693231832, 111.968106246371), 3,3) 211s > stopifnot(all.equal(m1.t, m1, check.attributes=FALSE, tolerance = 1e-13), 211s + all.equal(m1.t, m1O, check.attributes=FALSE, tolerance = 1e-13), 211s + all.equal(m1.t,m1T, check.attributes=FALSE, tolerance = 1e-13), 211s + all.equal(m1.t,m1TO, check.attributes=FALSE, tolerance = 1e-13), 211s + all.equal(m1.t, expm(T1,"Ward77"), tolerance = 1e-13), 211s + all.equal(m1.t, expm(T1,"R_Pade"), tolerance = 1e-13), 211s + all.equal(m1.t, expm(T1,"R_Ward77"), tolerance = 1e-13)) 211s > ## -- these agree with ward (1977, p608) 211s > ## 211s > m1.2 <- try( expm(T1, "R_Eigen") ) ## 32-bit: gives an error from solve; 64-bit "ok" 211s > if(!inherits(m1.2, "try-error")) { 211s + if(FALSE)## with libatlas R_Eigen is "sehr eigen" 211s + stopifnot(all.equal(m1.t, m1.2, check.attributes=FALSE)) 211s + ## but it's less accurate: 211s + print( all.equal(m1.t, m1.2, check.attributes=FALSE, tolerance= 1e-12)) 211s + ##-> rel.diff = 6.44e-10 / 6.2023e-10 211s + ##__ BUT 0.1228099 211s + ##__ with libatlas (ubuntu 12.04 libatlas-base-dev Version: 3.8.4-3build1) 211s + } 211s [1] "Mean relative difference: 0.093484" 211s > 211s > ## 211s > ## ---------------------------- 211s > ## Test case 2 from Ward (1977) 211s > ## ---------------------------- 211s > T2 <- t(matrix(c( 211s + 29.87942128909879, .7815750847907159, -2.289519314033932, 211s + .7815750847907159, 25.72656945571064, 8.680737820540137, 211s + -2.289519314033932, 8.680737820540137, 34.39400925519054), 211s + 3, 3)) 211s > (m2 <- expm(T2, method="Pade")) 211s [,1] [,2] [,3] 211s [1,] 5.496314e+15 -1.823188e+16 -3.047577e+16 211s [2,] -1.823188e+16 6.060523e+16 1.012918e+17 211s [3,] -3.047577e+16 1.012918e+17 1.692944e+17 211s attr(,"accuracy") 211s [1] 13550 211s > ## [,1] [,2] [,3] 211s > ##[1,] 5496313853692357 -18231880972009844 -30475770808580828 211s > ##[2,] -18231880972009852 60605228702227024 101291842930256144 211s > ##[3,] -30475770808580840 101291842930256144 169294411240859072 211s > ## -- which agrees with Ward (1977) to 13 significant figures 211s > (m2O <- expm(T2, method="PadeO")) 211s [,1] [,2] [,3] 211s [1,] 5.496314e+15 -1.823188e+16 -3.047577e+16 211s [2,] -1.823188e+16 6.060523e+16 1.012918e+17 211s [3,] -3.047577e+16 1.012918e+17 1.692944e+17 211s attr(,"accuracy") 211s [1] 13550 211s > (m2T <- expm(T2,method="Taylor")) 211s [,1] [,2] [,3] 211s [1,] 5.496314e+15 -1.823188e+16 -3.047577e+16 211s [2,] -1.823188e+16 6.060523e+16 1.012918e+17 211s [3,] -3.047577e+16 1.012918e+17 1.692944e+17 211s attr(,"accuracy") 211s [1] 6 211s > (m2TO <- expm(T2,method="TaylorO")) 211s [,1] [,2] [,3] 211s [1,] 5.496314e+15 -1.823188e+16 -3.047577e+16 211s [2,] -1.823188e+16 6.060523e+16 1.012918e+17 211s [3,] -3.047577e+16 1.012918e+17 1.692944e+17 211s attr(,"accuracy") 211s [1] 6 211s > 211s > m2.t <- matrix(c(5496313853692216, -18231880972008932, -30475770808579672, 211s + -18231880972008928, 60605228702222480, 101291842930249776, 211s + -30475770808579672, 101291842930249808, 169294411240850528), 211s + 3, 3) 211s > 211s > ## -- in this case a very similar degree of accuracy -- even Taylor is ok 211s > stopifnot(all.equal(m2.t, m2, check.attributes=FALSE, tolerance = 1e-12), 211s + all.equal(m2.t, m2O,check.attributes=FALSE, tolerance = 1e-12), 211s + all.equal(m2.t,m2T, check.attributes=FALSE, tolerance = 1e-12), 211s + all.equal(m2.t,m2TO,check.attributes=FALSE, tolerance = 1e-12), 211s + all.equal(m2.t, expm(T2,"Ward77"), tolerance = 1e-12), 211s + all.equal(m2.t, expm(T2,"R_Ward77"), tolerance = 1e-12), 211s + all.equal(m2.t, expm(T2,"R_Pade"), tolerance = 1e-12), 211s + TRUE) 211s > 211s > ## ---------------------------- 211s > ## Test case 3 from Ward (1977) 211s > ## ---------------------------- 211s > T3 <- t(matrix(c( 211s + -131, 19, 18, 211s + -390, 56, 54, 211s + -387, 57, 52), 3, 3)) 211s > (m3 <- expm(T3, method="Pade")) 211s [,1] [,2] [,3] 211s [1,] -1.509644 0.3678794 0.1353353 211s [2,] -5.632571 1.4715178 0.4060058 211s [3,] -4.934938 1.1036383 0.5413411 211s attr(,"accuracy") 211s [1] 1.267564e-10 211s > ## [,1] [,2] [,3] 211s > ##[1,] -1.5096441587713636 0.36787943910439874 0.13533528117301735 211s > ##[2,] -5.6325707997970271 1.47151775847745725 0.40600584351567010 211s > ##[3,] -4.9349383260294299 1.10363831731417195 0.54134112675653534 211s > ## -- agrees to 10dp with Ward (1977), p608. 211s > (m3O <- expm(T3, method="PadeO")) 211s [,1] [,2] [,3] 211s [1,] -1.509644 0.3678794 0.1353353 211s [2,] -5.632571 1.4715178 0.4060058 211s [3,] -4.934938 1.1036383 0.5413411 211s attr(,"accuracy") 211s [1] 1.267564e-10 211s > (m3T <- expm(T3,method="Taylor")) 211s [,1] [,2] [,3] 211s [1,] -1.509644 0.3678794 0.1353353 211s [2,] -5.632571 1.4715178 0.4060058 211s [3,] -4.934938 1.1036383 0.5413411 211s attr(,"accuracy") 211s [1] 0 211s > (m3TO <- expm(T3,method="TaylorO")) 211s [,1] [,2] [,3] 211s [1,] -1.509644 0.3678794 0.1353353 211s [2,] -5.632571 1.4715178 0.4060058 211s [3,] -4.934938 1.1036383 0.5413411 211s attr(,"accuracy") 211s [1] 0 211s > 211s > m3.t <- matrix(c(-1.50964415879218, -5.6325707998812, -4.934938326092, 211s + 0.367879439109187, 1.47151775849686, 1.10363831732856, 211s + 0.135335281175235, 0.406005843524598, 0.541341126763207), 211s + 3,3) 211s > 211s > stopifnot(all.equal(m3.t, m3, check.attributes=FALSE, tolerance = 3e-11), 211s + # ^^^^^ 211s + # 1.2455e-11 for libatlas (above) 211s + all.equal(m3.t, m3T, check.attributes=FALSE, tolerance = 1e-11), 211s + all.equal(m3.t, m3O, check.attributes=FALSE, tolerance = 8e-11),# M1: 1.39e-11 211s + all.equal(m3.t, m3TO, check.attributes=FALSE, tolerance = 1e-11), 211s + all.equal(m3.t, expm(T3,"R_Eigen"), tolerance = 1e-11), 211s + all.equal(m3.t, expm(T3,"Ward77"), tolerance = 1e-11), 211s + all.equal(m3.t, expm(T3,"R_Ward"), tolerance = 1e-11), 211s + all.equal(m3.t, expm(T3,"R_Pade"), tolerance = 1e-11), 211s + TRUE) 211s > ## -- in this case, a similar level of agreement with Ward (1977). 211s > 211s > ## ---------------------------- 211s > ## Test case 4 from Ward (1977) 211s > ## ---------------------------- 211s > T4 <- 211s + array(c(0, 0, 0, 0, 0, 0, 0, 0, 0, 1e-10, 211s + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 211s + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 211s + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 211s + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 211s + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 211s + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 211s + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 211s + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 211s + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0), 211s + dim = c(10, 10)) 211s > (m4 <- expm(T4, method="Pade")) 211s [,1] [,2] [,3] [,4] [,5] 211s [1,] 1.000000e+00 1.000000e+00 5.000000e-01 1.666667e-01 4.166667e-02 211s [2,] 2.755732e-16 1.000000e+00 1.000000e+00 5.000000e-01 1.666667e-01 211s [3,] 2.480159e-15 2.755732e-16 1.000000e+00 1.000000e+00 5.000000e-01 211s [4,] 1.984127e-14 2.480159e-15 2.755732e-16 1.000000e+00 1.000000e+00 211s [5,] 1.388889e-13 1.984127e-14 2.480159e-15 2.755732e-16 1.000000e+00 211s [6,] 8.333333e-13 1.388889e-13 1.984127e-14 2.480159e-15 2.755732e-16 211s [7,] 4.166667e-12 8.333333e-13 1.388889e-13 1.984127e-14 2.480159e-15 211s [8,] 1.666667e-11 4.166667e-12 8.333333e-13 1.388889e-13 1.984127e-14 211s [9,] 5.000000e-11 1.666667e-11 4.166667e-12 8.333333e-13 1.388889e-13 211s [10,] 1.000000e-10 5.000000e-11 1.666667e-11 4.166667e-12 8.333333e-13 211s [,6] [,7] [,8] [,9] [,10] 211s [1,] 8.333333e-03 1.388889e-03 1.984127e-04 2.480159e-05 2.755732e-06 211s [2,] 4.166667e-02 8.333333e-03 1.388889e-03 1.984127e-04 2.480159e-05 211s [3,] 1.666667e-01 4.166667e-02 8.333333e-03 1.388889e-03 1.984127e-04 211s [4,] 5.000000e-01 1.666667e-01 4.166667e-02 8.333333e-03 1.388889e-03 211s [5,] 1.000000e+00 5.000000e-01 1.666667e-01 4.166667e-02 8.333333e-03 211s [6,] 1.000000e+00 1.000000e+00 5.000000e-01 1.666667e-01 4.166667e-02 211s [7,] 2.755732e-16 1.000000e+00 1.000000e+00 5.000000e-01 1.666667e-01 211s [8,] 2.480159e-15 2.755732e-16 1.000000e+00 1.000000e+00 5.000000e-01 211s [9,] 1.984127e-14 2.480159e-15 2.755732e-16 1.000000e+00 1.000000e+00 211s [10,] 1.388889e-13 1.984127e-14 2.480159e-15 2.755732e-16 1.000000e+00 211s attr(,"accuracy") 211s [1] 6.023198e-15 211s > (m4O <- expm(T4, method="PadeO")) 211s [,1] [,2] [,3] [,4] [,5] 211s [1,] 1.000000e+00 1.000000e+00 5.000000e-01 1.666667e-01 4.166667e-02 211s [2,] 2.755732e-16 1.000000e+00 1.000000e+00 5.000000e-01 1.666667e-01 211s [3,] 2.480159e-15 2.755732e-16 1.000000e+00 1.000000e+00 5.000000e-01 211s [4,] 1.984127e-14 2.480159e-15 2.755732e-16 1.000000e+00 1.000000e+00 211s [5,] 1.388889e-13 1.984127e-14 2.480159e-15 2.755732e-16 1.000000e+00 211s [6,] 8.333333e-13 1.388889e-13 1.984127e-14 2.480159e-15 2.755732e-16 211s [7,] 4.166667e-12 8.333333e-13 1.388889e-13 1.984127e-14 2.480159e-15 211s [8,] 1.666667e-11 4.166667e-12 8.333333e-13 1.388889e-13 1.984127e-14 211s [9,] 5.000000e-11 1.666667e-11 4.166667e-12 8.333333e-13 1.388889e-13 211s [10,] 1.000000e-10 5.000000e-11 1.666667e-11 4.166667e-12 8.333333e-13 211s [,6] [,7] [,8] [,9] [,10] 211s [1,] 8.333333e-03 1.388889e-03 1.984127e-04 2.480159e-05 2.755732e-06 211s [2,] 4.166667e-02 8.333333e-03 1.388889e-03 1.984127e-04 2.480159e-05 211s [3,] 1.666667e-01 4.166667e-02 8.333333e-03 1.388889e-03 1.984127e-04 211s [4,] 5.000000e-01 1.666667e-01 4.166667e-02 8.333333e-03 1.388889e-03 211s [5,] 1.000000e+00 5.000000e-01 1.666667e-01 4.166667e-02 8.333333e-03 211s [6,] 1.000000e+00 1.000000e+00 5.000000e-01 1.666667e-01 4.166667e-02 211s [7,] 2.755732e-16 1.000000e+00 1.000000e+00 5.000000e-01 1.666667e-01 211s [8,] 2.480159e-15 2.755732e-16 1.000000e+00 1.000000e+00 5.000000e-01 211s [9,] 1.984127e-14 2.480159e-15 2.755732e-16 1.000000e+00 1.000000e+00 211s [10,] 1.388889e-13 1.984127e-14 2.480159e-15 2.755732e-16 1.000000e+00 211s attr(,"accuracy") 211s [1] 6.023198e-15 211s > (m4T <- expm(T4,method="Taylor")) 211s [,1] [,2] [,3] [,4] [,5] 211s [1,] 1.000000e+00 1.000000e+00 5.000000e-01 1.666667e-01 4.166667e-02 211s [2,] 2.755732e-16 1.000000e+00 1.000000e+00 5.000000e-01 1.666667e-01 211s [3,] 2.480159e-15 2.755732e-16 1.000000e+00 1.000000e+00 5.000000e-01 211s [4,] 1.984127e-14 2.480159e-15 2.755732e-16 1.000000e+00 1.000000e+00 211s [5,] 1.388889e-13 1.984127e-14 2.480159e-15 2.755732e-16 1.000000e+00 211s [6,] 8.333333e-13 1.388889e-13 1.984127e-14 2.480159e-15 2.755732e-16 211s [7,] 4.166667e-12 8.333333e-13 1.388889e-13 1.984127e-14 2.480159e-15 211s [8,] 1.666667e-11 4.166667e-12 8.333333e-13 1.388889e-13 1.984127e-14 211s [9,] 5.000000e-11 1.666667e-11 4.166667e-12 8.333333e-13 1.388889e-13 211s [10,] 1.000000e-10 5.000000e-11 1.666667e-11 4.166667e-12 8.333333e-13 211s [,6] [,7] [,8] [,9] [,10] 211s [1,] 8.333333e-03 1.388889e-03 1.984127e-04 2.480159e-05 2.755732e-06 211s [2,] 4.166667e-02 8.333333e-03 1.388889e-03 1.984127e-04 2.480159e-05 211s [3,] 1.666667e-01 4.166667e-02 8.333333e-03 1.388889e-03 1.984127e-04 211s [4,] 5.000000e-01 1.666667e-01 4.166667e-02 8.333333e-03 1.388889e-03 211s [5,] 1.000000e+00 5.000000e-01 1.666667e-01 4.166667e-02 8.333333e-03 211s [6,] 1.000000e+00 1.000000e+00 5.000000e-01 1.666667e-01 4.166667e-02 211s [7,] 2.755732e-16 1.000000e+00 1.000000e+00 5.000000e-01 1.666667e-01 211s [8,] 2.480159e-15 2.755732e-16 1.000000e+00 1.000000e+00 5.000000e-01 211s [9,] 1.984127e-14 2.480159e-15 2.755732e-16 1.000000e+00 1.000000e+00 211s [10,] 1.388889e-13 1.984127e-14 2.480159e-15 2.755732e-16 1.000000e+00 211s attr(,"accuracy") 211s [1] 2.505947e-18 211s > (m4TO <- expm(T4,method="TaylorO")) 211s [,1] [,2] [,3] [,4] [,5] 211s [1,] 1.000000e+00 1.000000e+00 5.000000e-01 1.666667e-01 4.166667e-02 211s [2,] 2.755732e-16 1.000000e+00 1.000000e+00 5.000000e-01 1.666667e-01 211s [3,] 2.480159e-15 2.755732e-16 1.000000e+00 1.000000e+00 5.000000e-01 211s [4,] 1.984127e-14 2.480159e-15 2.755732e-16 1.000000e+00 1.000000e+00 211s [5,] 1.388889e-13 1.984127e-14 2.480159e-15 2.755732e-16 1.000000e+00 211s [6,] 8.333333e-13 1.388889e-13 1.984127e-14 2.480159e-15 2.755732e-16 211s [7,] 4.166667e-12 8.333333e-13 1.388889e-13 1.984127e-14 2.480159e-15 211s [8,] 1.666667e-11 4.166667e-12 8.333333e-13 1.388889e-13 1.984127e-14 211s [9,] 5.000000e-11 1.666667e-11 4.166667e-12 8.333333e-13 1.388889e-13 211s [10,] 1.000000e-10 5.000000e-11 1.666667e-11 4.166667e-12 8.333333e-13 211s [,6] [,7] [,8] [,9] [,10] 211s [1,] 8.333333e-03 1.388889e-03 1.984127e-04 2.480159e-05 2.755732e-06 211s [2,] 4.166667e-02 8.333333e-03 1.388889e-03 1.984127e-04 2.480159e-05 211s [3,] 1.666667e-01 4.166667e-02 8.333333e-03 1.388889e-03 1.984127e-04 211s [4,] 5.000000e-01 1.666667e-01 4.166667e-02 8.333333e-03 1.388889e-03 211s [5,] 1.000000e+00 5.000000e-01 1.666667e-01 4.166667e-02 8.333333e-03 211s [6,] 1.000000e+00 1.000000e+00 5.000000e-01 1.666667e-01 4.166667e-02 211s [7,] 2.755732e-16 1.000000e+00 1.000000e+00 5.000000e-01 1.666667e-01 211s [8,] 2.480159e-15 2.755732e-16 1.000000e+00 1.000000e+00 5.000000e-01 211s [9,] 1.984127e-14 2.480159e-15 2.755732e-16 1.000000e+00 1.000000e+00 211s [10,] 1.388889e-13 1.984127e-14 2.480159e-15 2.755732e-16 1.000000e+00 211s attr(,"accuracy") 211s [1] 2.505947e-18 211s > 211s > ## ATLAS on BDR's gannet (Fedora 26; gcc-13; R-devel 2023-10-24) 211s > tol1 <- if(maybeATLAS) 4e-7 else 5e-15 # (m4, m4O) gave "Mean relative difference: 1.242879e-07" 211s > 211s > stopifnot(all.equal(m4 [,10], 1/gamma(10:1), tolerance=1e-14), 211s + all.equal(m4O [,10], 1/gamma(10:1), tolerance=1e-14), 211s + all.equal(m4T [,10], 1/gamma(10:1), tolerance=1e-14), 211s + all.equal(m4TO[,10], 1/gamma(10:1), tolerance=1e-14), 211s + all.equal(m4, m4O, check.attributes=FALSE, tolerance=tol1), 211s + all.equal(m4, m4T, check.attributes=FALSE, tolerance=tol1), 211s + all.equal(m4, m4TO,check.attributes=FALSE, tolerance=tol1), 211s + all.equal(m4, expm(T4,"Ward77"), check.attributes=FALSE, tolerance = 1e-14), 211s + all.equal(m4, expm(T4,"R_Ward"), check.attributes=FALSE, tolerance = 1e-14), 211s + all.equal(m4, expm(T4,"R_Pade"), check.attributes=FALSE, tolerance = 1e-14), 211s + max(abs(m4 - expm(T4,"R_Eigen"))) < 1e-7) 211s > ## here expm(., EV ) is accurate only to 7 d.p., whereas 211s > ## expm(.,Pade) is correct to at least 14 d.p. 211s > 211s > ### Test case with diagonalizable matrix with multiple Eigen values: 211s > A4 <- rbind(c(-1, 3, -1), 211s + c(-3, 5, -1), 211s + c(-3, 3, 1)) 211s > Ea4 <- eigen(A4) 211s > stopifnot(all.equal(Ea4$values, (lam4 <- c(2,2,1)))) 211s > ## However, the eigen values don't show the nice property: 211s > V4 <- Ea4$vectors 211s > crossprod(V4) 211s [,1] [,2] [,3] 211s [1,] 1.0000000 -0.6750957 -0.6903482 211s [2,] -0.6750957 1.0000000 0.9907611 211s [3,] -0.6903482 0.9907611 1.0000000 211s > ## i.e., they are *not* orthogonal 211s > ## but still diagonalize: 211s > stopifnot(all.equal(A4, 211s + V4 %*% diag(x=lam4) %*% solve(V4))) 211s > ## whereas this diagonalizes *and* looks nice 211s > W4 <- rbind(c(1, 1, -1), 211s + c(1, 1, 0), 211s + c(1, 0, 3)) 211s > (sW4 <- solve(W4)) 211s [,1] [,2] [,3] 211s [1,] 3 -3 1 211s [2,] -3 4 -1 211s [3,] -1 1 0 211s > assert.EQ(diag(x = c(1,2,2)), solve(W4) %*% A4 %*% W4, giveRE=TRUE) 211s > assert.EQ(A4, logm(expm(A4)), tol = 3e-13, giveRE=TRUE) 211s Mean relative difference: 5.587594e-14 211s > ## seen 5.5e-14 with R's own matprod 211s > 211s 211s R version 4.3.3 (2024-02-29) -- "Angel Food Cake" 211s Copyright (C) 2024 The R Foundation for Statistical Computing 211s Platform: aarch64-unknown-linux-gnu (64-bit) 211s 211s R is free software and comes with ABSOLUTELY NO WARRANTY. 211s You are welcome to redistribute it under certain conditions. 211s Type 'license()' or 'licence()' for distribution details. 211s 211s R is a collaborative project with many contributors. 211s Type 'contributors()' for more information and 211s 'citation()' on how to cite R or R packages in publications. 211s 211s Type 'demo()' for some demos, 'help()' for on-line help, or 211s 'help.start()' for an HTML browser interface to help. 211s Type 'q()' to quit R. 211s 211s > 211s > #### Example matrices from the Matlab demos // expAtv() examples 211s > 211s > library(expm) 211s Loading required package: Matrix 212s > 212s > source(system.file("test-tools.R", package= "expm"), keep.source=FALSE) 212s 212s Attaching package: ‘expm’ 212s 212s The following object is masked from ‘package:Matrix’: 212s 212s expm 212s 212s Loading required package: tools 212s > ## -> assertError()... doExtras 212s > 212s > ## --- 1 --- 212s > ## Here, all three {eigen; Taylor; Pade(Scaling & Squaring)} should do well 212s > 212s > A1 <- rbind(0:2, 212s + c(0.5, 0, 1), 212s + 2:0) 212s > A1 212s [,1] [,2] [,3] 212s [1,] 0.0 1 2 212s [2,] 0.5 0 1 212s [3,] 2.0 1 0 212s > ml1 <- lapply(c(4:10,20), 212s + function(order) expm(A1, "Pade", order=order)) 212s > for(k in seq_len(length(ml1) - 1)) 212s + stopifnot(all.equal(ml1[[k]], ml1[[k + 1]], tolerance = 1e-12)) 212s > 212s > for(k in seq_len(length(ml1) - 1)) { 212s + print(all.equal(ml1[[k]], ml1[[k + 1]], tolerance = 0)) 212s + } 212s [1] "Attributes: < Component “accuracy”: Mean relative difference: 28.51997 >" 212s [2] "Mean relative difference: 1.084305e-14" 212s [1] "Attributes: < Component “accuracy”: Mean relative difference: 0.745486 >" 212s [2] "Mean relative difference: 4.548568e-15" 212s [1] "Attributes: < Component “accuracy”: Mean relative difference: 0.1987097 >" 212s [2] "Mean relative difference: 5.708683e-15" 212s [1] "Attributes: < Component “accuracy”: Mean relative difference: 0.1200362 >" 212s [2] "Mean relative difference: 2.860084e-15" 212s [1] "Attributes: < Component “accuracy”: Mean relative difference: 0.698739 >" 212s [2] "Mean relative difference: 7.557974e-15" 212s [1] "Attributes: < Component “accuracy”: Mean relative difference: 0.6776293 >" 212s [2] "Mean relative difference: 2.883057e-15" 212s [1] "Attributes: < Component “accuracy”: Mean relative difference: 0.708767 >" 212s [2] "Mean relative difference: 4.561152e-15" 212s > 212s > mA1 <- ml1[[4]] 212s > stopifnot(all.equal(mA1, 212s + matrix(c(5.3090812852106, 2.8087900904073, 5.1737460019740, 212s + 4.0012030182399, 2.8845155413486, 4.0012030182399, 212s + 5.5778402926177, 3.1930144369526, 5.7131755758543), 212s + 3, 3), 212s + check.attributes = FALSE, tolerance = 1e-11)) 212s > 212s > 212s > ## --- 2 --- 212s > ## Here, Taylor "fails": 212s > 212s > ## A matrix where the terms in the Taylor series become very large 212s > ## before they go to zero. 212s > A2 <- rbind(c(-147, 72), 212s + c(-192, 93)) 212s > A2 212s [,1] [,2] 212s [1,] -147 72 212s [2,] -192 93 212s > (mA2 <- expm(A2, method="Pade")) 212s [,1] [,2] 212s [1,] -0.09957414 0.0746806 212s [2,] -0.19914827 0.1493612 212s attr(,"accuracy") 212s [1] 1.619931e-12 212s > stopifnot(all.equal(mA2, 212s + matrix(c(-0.099574136735459, -0.199148273470915, 212s + 0.074680602551593 , 0.149361205103183), 212s + 2, 2), check.attributes = FALSE, tolerance = 1e-11)) 212s > mA2.T <- expm(A2, method = "Taylor") 212s > stopifnot(all.equal(mA2, mA2.T, tolerance=1e-10)) 212s > all.equal(mA2, mA2.T, tolerance=1e-14)#-> 3.2e-12 {MM: I think that's pretty good} 212s [1] "Attributes: < Component “accuracy”: Mean relative difference: 1 >" 212s [2] "Mean relative difference: 5.022335e-12" 212s > 212s > ## --- 3 --- 212s > ## Here, Eigenvalues must fail ("not a full set"): 212s > A3 <- rbind(c(-1, 1), 212s + c(0, -1)) 212s > (mA3 <- expm(A3, method="Pade")) 212s [,1] [,2] 212s [1,] 0.3678794 0.3678794 212s [2,] 0.0000000 0.3678794 212s attr(,"accuracy") 212s [1] 1.665335e-16 212s > assertError(expm(mA3, method="R_Eigen")) 212s > em1 <- exp(-1) 212s > stopifnot(all.equal(mA3, ## and the exact solution: 212s + matrix(c(em1, 0, em1, em1), 2, 2), 212s + check.attributes = FALSE, tolerance = 1e-14)) 212s > 212s > ## using 'eps' instead of 0 : 212s > ## ---> see m2ex3() etc in ./exact-ex.R 212s > 212s > 212s > ## --- 4 --- 212s > ## Here, some version of do_expm() failed: 212s > (m <- matrix(c(0,2:0),2)) 212s [,1] [,2] 212s [1,] 0 1 212s [2,] 2 0 212s > ## Eigenvalue decomposition: 212s > d <- c(sqrt(2), -sqrt(2)) 212s > V <- rbind(c(sqrt(1/3), -sqrt(1/3)), 212s + c(sqrt(2/3), sqrt(2/3))) 212s > ## ==> 212s > IV <- rbind(c( sqrt(3/4), sqrt(3/8)), 212s + c(-sqrt(3/4), sqrt(3/8))) 212s > stopifnot(all.equal(V %*% IV, diag(2))) 212s > em.true <- V %*% (exp(d) * IV) 212s > stopifnot(all.equal(em.true, expm::expm(m)), 212s + all.equal(em.true, expm::expm(m,"Pade"), check.attributes=FALSE)) 212s > 212s > ###----------- expAtv() ---------------- 212s > 212s > ## Bug report, 8 Sep 2014 (R-forge Bugs item #5919), by: Peter Ralph 212s > stopifnot(expAtv(A3, v=c(0,0))$eAtv == 0) 212s > 212s > 212s > n <- 500 212s > A <- bandSparse(n,n, -1:1, diagonals = list(-(2:n), -5*(1:n), 1:(n-1))) 212s > v <- 100*(n:1) 212s > t.v <- showSys.time(rr <- expAtv(A, v=v)) 213s Time user system elapsed 213s Time 0.392 0.024 0.416 213s > if(doExtras) { ## this is an order of magnitude slower : 213s + t.A <- system.time(w. <- (eA <- expm(A, "Higham08")) %*% v) 213s + stopifnot(all.equal(rr$eAtv, as.numeric(w.))) 213s + print( mean((t.A / t.v)[c(1,3)]) )## 23.57 {nb-mm3}; 21.0 {lynne} 213s + } 213s > 213s > 213s > ## Bug report on R-forge by Peter Ralph (petrelharp) 213s > ## If the entries of A are less than about 1e-8, then expAtv(A,v) fails 213s > ## with Error: length(d <- dim(x)) == 2 is not TRUE 213s > ## ... an error that comes from expm, because it has got a 1x1 matrix. (I can't tell why this causes an error; outside of expAtv this doesn't cause an error...) 213s > 213s > ## To reproduce: 213s > 213s > ##' @title Compute several "scaled" versions of e^{At} v : 213s > ##' @param A n x n matrix 213s > ##' @param v n vector 213s > ##' @param s vector of scales 213s > ##' @return list of expAtv() results 213s > ##' @author Martin Maechler, based on Peter Ralph's idea: 213s > scl.e.Atv <- function(A, v, s) { 213s + c(list(I = expAtv(A, v)), 213s + unlist(lapply(s, function(l) { 213s + ## cat(sprintf(" %7g\n", l)) 213s + list(lA = expAtv(l*A, v), lAI = expAtv(l*A, v, t=1/l)) 213s + }), recursive = FALSE)) 213s + } 213s > 213s > A <- matrix( 1:9, nrow=3 )/8 213s > v <- rep(1,3) 213s > sc <- 4^c(-500, -200, -100, -5*(15:6), -2*(14:9), -17:15) 213s > ## 10^9 is too large => expm() "overflow" NaN 213s > r <- scl.e.Atv(A,v, s = sc) # at least without error 213s > (eAv <- t(sapply(r, `[[`, "eAtv"))) 213s [,1] [,2] [,3] 213s I 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000000e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000000e+00 1.000000e+00 1.000001e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000001e+00 1.000002e+00 1.000002e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000006e+00 1.000007e+00 1.000009e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000023e+00 1.000029e+00 1.000034e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000092e+00 1.000114e+00 1.000137e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.000366e+00 1.000458e+00 1.000549e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.001466e+00 1.001833e+00 1.002199e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.005883e+00 1.007353e+00 1.008823e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.023819e+00 1.029765e+00 1.035711e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.100054e+00 1.124924e+00 1.149795e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 1.490149e+00 1.610098e+00 1.730046e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 5.914433e+00 7.068231e+00 8.222030e+00 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 2.405492e+03 2.955530e+03 3.505568e+03 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 7.592135e+13 9.328559e+13 1.106498e+14 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 7.535331e+55 9.258764e+55 1.098220e+56 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA 7.312333e+223 8.984763e+223 1.065719e+224 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA NaN NaN Inf 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA NaN NaN Inf 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA NaN NaN Inf 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA NaN NaN Inf 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA NaN NaN Inf 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA NaN NaN Inf 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA NaN NaN Inf 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA NaN NaN Inf 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA NaN NaN Inf 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA NaN NaN Inf 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s lA NaN NaN NaN 213s lAI 5.914433e+00 7.068231e+00 8.222030e+00 213s > ## Ensure that indeed expAtv(A, v) =.= expAtv(e*A, v, 1/e) for e > 0 213s > ## ----- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 213s > eAv[1,] 213s [1] 5.914433 7.068231 8.222030 213s > assert.EQ.mat(unname( eAv[rep(1, length(sc)), ]), 213s + unname( eAv[1+2*seq_along(sc), ] ), tol = 1e-14) 213s > # 64-bit lynne: 2.7e-16 !! 213s > 213s > sc.Atv <- function(A,v, s) { 213s + vapply(s, function(l) expAtv(l*A, v, t=1/l)$eAtv, v) 213s + } 213s > 213s > chk.sc.Atv <- function(A,v, s, tol=1e-15) { 213s + r <- vapply(s, function(l) expAtv(l*A, v, t=1/l)$eAtv, v) 213s + I <- expAtv(A,v)$eAtv 213s + if (!isTRUE(eq <- all.equal(as.vector(r), rep(I, length(s)), tolerance = tol))) 213s + stop("not all.equal() |-> ", eq) 213s + } 213s > 213s > chk.sc.Atv(A,v, sc, tol=1e-14) 213s > ## for information: see the precision: 213s > tryCatch( chk.sc.Atv(A,v, sc, tol= 0), error=identity)$message 213s [1] "not all.equal() |-> Mean relative difference: 1.501714e-16" 213s > 213s > 213s > A0 <- matrix( c(-3,1,2,1,-2,1,0,1,-1), nrow=3, byrow=TRUE) 213s > A1 <- A0 + 1e-16*rnorm(9) 213s > ## These two also failed originally 213s > chk.sc.Atv(A0, v=10^(1:3), s=sc, tol=1e-14) 213s > chk.sc.Atv(A1, v=rep(1,3), s=sc, tol=1e-14) 213s > 213s > set.seed(17) 213s > S <- rSpMatrix(29, density = 1/64) 213s > v <- round(100*rnorm(nrow(S))) 213s > if(FALSE) ## Error in balance(baP$z, "S") : 213s + ## BLAS/LAPACK routine 'DGEBAL' gave error code -3 213s + chk.sc.Atv(S/64, v, s=sc, tol=1e-14) 213s > if(FALSE) { 213s + ## after 213s + debug(chk.sc.Atv) 213s + ## this is revealing: 213s + image(as(relErrV(I, r),"sparseMatrix")) 213s + ## ==> 213s + sc[28:29] # are giving the largest differences 213s + } 213s > 214s 214s R version 4.3.3 (2024-02-29) -- "Angel Food Cake" 214s Copyright (C) 2024 The R Foundation for Statistical Computing 214s Platform: aarch64-unknown-linux-gnu (64-bit) 214s 214s R is free software and comes with ABSOLUTELY NO WARRANTY. 214s You are welcome to redistribute it under certain conditions. 214s Type 'license()' or 'licence()' for distribution details. 214s 214s R is a collaborative project with many contributors. 214s Type 'contributors()' for more information and 214s 'citation()' on how to cite R or R packages in publications. 214s 214s Type 'demo()' for some demos, 'help()' for on-line help, or 214s 'help.start()' for an HTML browser interface to help. 214s Type 'q()' to quit R. 214s 214s > #### Examples where we know the result "exactly" 214s > 214s > library(expm) 214s Loading required package: Matrix 215s 215s Attaching package: ‘expm’ 215s 215s > 215s > options(digits = 4, width = 90, keep.source = FALSE) 215s > 215s > mSource <- function(file, ...) 215s + source(system.file(file, ..., package = "expm", mustWork=TRUE)) 215s > mSource("test-tools.R")## -> assertError(), rMat(), .. doExtras 215s The following object is masked from ‘package:Matrix’: 215s 215s expm 215s 215s > mSource("demo", "exact-fn.R") 215s > doExtras 215s [1] FALSE 215s > 215s > re.nilA3 <- function(xyz, EXPMlist) 215s + { 215s + stopifnot(is.list(EXPMlist)) 215s + r <- do.call(nilA3, as.list(xyz)) 215s + sapply(EXPMlist, function(Efn) relErr(r$expA, Efn(r$A))) 215s + } 215s > 215s > re.facMat <- function(n, EXPMlist, rFUN = rnorm, ...) 215s + { 215s + stopifnot(is.list(EXPMlist)) 215s + r <- facMat(n, rFUN, ...) 215s + vapply(EXPMlist, function(EXPM) { 215s + ct <- system.time(E <- EXPM(r$A), gc = FALSE)[[1]] 215s + c(relErr = relErr(r$expA, E), c.time = ct) 215s + }, double(2)) 215s + } 215s > 215s > re.m2ex3 <- function(eps, EXPMlist) 215s + { 215s + stopifnot(is.list(EXPMlist)) 215s + r <- m2ex3(eps) 215s + sapply(EXPMlist, function(EXPM) relErr(r$expA, EXPM(r$A))) 215s + } 215s > 215s > ## check 1x1 matrices 215s > stopifnot( 215s + ## these had failed before 2017-03-28 (= Liselotte's 58-th birthday): 215s + all.equal(as.matrix(sqrtm(matrix(4))), matrix(2)) , 215s Loading required package: tools 215s + all.equal(as.matrix(logm (matrix(pi))), matrix(log(pi))) , 215s + ## these had "always" worked : 215s + all.equal(as.matrix(expm (matrix(0))), matrix(1)) , 215s + all.equal(as.matrix(expm (matrix(1))), matrix(exp(1))) 215s + ) 215s > 215s > 215s > set.seed(321) 215s > re <- replicate(1000, 215s + c(re.nilA3(rlnorm(3),list(function(x)expm(x,"Pade"))), 215s + re.nilA3(rnorm(3), list(function(x)expm(x,"Pade"))))) 215s > 215s > summary(t(re)) 215s V1 V2 215s Min. :0.00e+00 Min. :0.00e+00 215s 1st Qu.:0.00e+00 1st Qu.:0.00e+00 215s Median :2.90e-17 Median :1.60e-17 215s Mean :4.42e-16 Mean :1.93e-16 215s 3rd Qu.:6.80e-17 3rd Qu.:4.20e-17 215s Max. :2.11e-14 Max. :4.60e-15 215s > stopifnot(rowMeans(re) < 1e-15, 215s + apply(re, 1, quantile, 0.80) < 1e-16, 215s + apply(re, 1, quantile, 0.90) < 2e-15, 215s + apply(re, 1, max) < c(4e-14, 6e-15)) 215s > 215s > showProc.time() 215s Time (user system elapsed): 0.399 0.016 0.417 215s > 215s > ## Check *many* random nilpotent 3 x 3 matrices: 215s > set.seed(321) 215s > RE <- replicate(1000, 215s + c(re.nilA3(rlnorm(3), list(function(x) expm(x, "Ward77"))), 215s + re.nilA3(rnorm(3), list(function(x) expm(x, "Ward77"))))) 216s > stopifnot(rowMeans(RE) < 1e-15, 216s + apply(RE, 1, quantile, 0.80) < 1e-16, 216s + apply(RE, 1, quantile, 0.90) < 2e-15, 216s + apply(RE, 1, max) < c(4e-14, 6e-15)) 216s > 216s > print(summary(t(RE))) 216s V1 V2 216s Min. :0.00e+00 Min. :0.00e+00 216s 1st Qu.:0.00e+00 1st Qu.:0.00e+00 216s Median :0.00e+00 Median :0.00e+00 216s Mean :1.61e-17 Mean :7.68e-18 216s 3rd Qu.:2.95e-17 3rd Qu.:9.51e-18 216s Max. :1.52e-16 Max. :1.50e-16 216s > epsC <- .Machine$double.eps 216s > cat("relErr(expm(.,Pade)) - relErr(expm(.,Ward77)) in Machine_eps units:\n") 216s relErr(expm(.,Pade)) - relErr(expm(.,Ward77)) in Machine_eps units: 216s > print(summary(c(re - RE)) / epsC) 216s Min. 1st Qu. Median Mean 3rd Qu. Max. 216s -0.56 0.00 0.00 1.38 0.16 94.98 216s > ## Min. 1st Qu. Median Mean 3rd Qu. Max. 216s > ## -0.6183442 0.0000000 0.0000000 1.3650410 0.1399719 94.9809161 216s > ## nb-mm3; ditto lynne (both x64), 2014-09-11: 216s > ## Min. 1st Qu. Median Mean 3rd Qu. Max. 216s > ## -0.8422 0.0000 0.0000 0.0725 0.1067 1.2205 216s > ## 32-bit [i686, florence, Linx 3.14.8-100.fc19..]: 216s > ## Min. 1st Qu. Median Mean 3rd Qu. Max. 216s > ## -0.62 0.00 0.00 1.36 0.14 95.93 216s > 216s > 216s > showProc.time() 216s Time (user system elapsed): 0.24 0 0.241 216s > 216s > ###--- A second group --- where we know the diagonalization of A --- 216s > 216s > if(!require("Matrix")) 216s + q('no') 216s > ## ------ the rest really uses 'Matrix' 216s > ##---> now use expm::expm() since Matrix has its own may mask the expm one 216s > ## ^^^^^^^^^^^^ 216s > 216s > if(!dev.interactive(orNone=TRUE)) pdf("expm_exact-ex.pdf") 216s > 216s > 216s > ## rMat() relies on Matrix::rcond(): 216s > ## Now with the change default rcondMin, this "works" 216s > R40 <- rMat(40) 216s > R80 <- rMat(80) 216s > showProc.time() 216s Time (user system elapsed): 0.075 0 0.075 216s > 216s > expm.safe.Eigen <- function(x, silent = FALSE) { 216s + r <- try(expm::expm(x, "R_Eigen"), silent = silent) 216s + if(inherits(r, "try-error")) NA else r 216s + } 216s > 216s > ## the S4 generic 216s > Matrix::expm 216s standardGeneric for "expm" defined from package "Matrix" 216s 216s function (x) 216s standardGeneric("expm") 216s 216s 216s Methods may be defined for arguments: x 216s Use showMethods(expm) for currently available ones. 216s > ## the dgeMatrix method - adapted to Matrix changes, had *more versatile* ..2dge() : 216s > expm.Matr.dge <- function(x) getDataPart(getMethod("expm", "dgeMatrix"))(Matrix::.m2dense(x)) 216s > expmList <- 216s + list(Matr = Matrix::expm, 216s + Matr.d = expm.Matr.dge, 216s + Ward = function(x) expm::expm(x, "Ward77"), 216s + s.P.s = function(x) expm::expm(x, "Pade"), 216s + s.P.sO= function(x) expm::expm(x, "PadeO"), 216s + s.P.sRBS= function(x) expm::expm(x, "PadeRBS"), 216s + sPs.H08.= function(x) expm:: expm.Higham08(x, balancing=FALSE), 216s + sPs.H08b= function(x) expm:: expm.Higham08(x, balancing= TRUE), 216s + AmHi09.06= function(x) expm:::expm.AlMoHi09(x, p = 6), 216s + AmHi09.08= function(x) expm:::expm.AlMoHi09(x, p = 8), 216s + AmHi09.10= function(x) expm:::expm.AlMoHi09(x, p = 10), 216s + AmHi09.12= function(x) expm:::expm.AlMoHi09(x, p = 12), 216s + AmHi09.13= function(x) expm:::expm.AlMoHi09(x, p = 13), 216s + s.T.s = function(x) expm::expm(x, "Taylor"), 216s + s.T.sO= function(x) expm::expm(x, "TaylorO"), 216s + Eigen = expm.safe.Eigen, 216s + hybrid= function(x) expm::expm(x, "hybrid") 216s + ) 216s > 216s > 216s > set.seed(12) 216s > fRE <- replicate(if(doExtras) 100 else 20, 216s + re.facMat(20, expmList)) 216s > cat("Number of correct decimal digits for facMat(20, rnorm):\n") 216s Number of correct decimal digits for facMat(20, rnorm): 216s > summary(-log10(t(fRE["relErr",,]))) 216s Matr Matr.d Ward s.P.s s.P.sO 216s Min. :13.7 Min. :13.7 Min. :13.7 Min. :12.8 Min. :12.8 216s 1st Qu.:14.2 1st Qu.:14.2 1st Qu.:14.2 1st Qu.:13.2 1st Qu.:13.2 216s Median :14.3 Median :14.3 Median :14.3 Median :13.2 Median :13.2 216s Mean :14.3 Mean :14.3 Mean :14.3 Mean :13.2 Mean :13.2 216s 3rd Qu.:14.6 3rd Qu.:14.6 3rd Qu.:14.6 3rd Qu.:13.3 3rd Qu.:13.3 216s Max. :14.8 Max. :14.8 Max. :14.8 Max. :13.6 Max. :13.6 216s s.P.sRBS sPs.H08. sPs.H08b AmHi09.06 AmHi09.08 216s Min. :13.9 Min. :14.6 Min. :14.6 Min. : 6.61 Min. : 9.78 216s 1st Qu.:14.3 1st Qu.:14.8 1st Qu.:14.9 1st Qu.: 7.69 1st Qu.:11.27 216s Median :14.4 Median :15.0 Median :15.0 Median : 8.24 Median :11.72 216s Mean :14.4 Mean :14.9 Mean :14.9 Mean : 8.47 Mean :12.19 216s 3rd Qu.:14.5 3rd Qu.:15.0 3rd Qu.:15.0 3rd Qu.: 9.41 3rd Qu.:13.55 216s Max. :14.8 Max. :15.2 Max. :15.2 Max. :10.35 Max. :14.39 216s AmHi09.10 AmHi09.12 AmHi09.13 s.T.s s.T.sO 216s Min. :13.4 Min. :14.5 Min. :14.5 Min. :13.1 Min. :13.1 216s 1st Qu.:14.6 1st Qu.:14.7 1st Qu.:14.7 1st Qu.:13.4 1st Qu.:13.4 216s Median :14.8 Median :14.9 Median :14.9 Median :13.5 Median :13.5 216s Mean :14.7 Mean :14.9 Mean :14.9 Mean :13.5 Mean :13.5 216s 3rd Qu.:14.9 3rd Qu.:15.0 3rd Qu.:15.0 3rd Qu.:13.7 3rd Qu.:13.7 216s Max. :15.0 Max. :15.1 Max. :15.1 Max. :13.9 Max. :13.9 216s Eigen hybrid 216s Min. :14.2 Min. :14.2 216s 1st Qu.:14.4 1st Qu.:14.4 216s Median :14.5 Median :14.5 216s Mean :14.5 Mean :14.5 216s 3rd Qu.:14.6 3rd Qu.:14.6 216s Max. :14.7 Max. :14.7 216s > 216s > 216s > ## Now look at that: 216s > boxplot(t(fRE["relErr",,]), log="y", notch=TRUE, ylim = c(8e-16, 1e-8), 216s + main = "relative errors for 'random' eigen-ok 20 x 20 matrix") 216s > 216s > showProc.time() 216s Time (user system elapsed): Warning message: 216s In (function (z, notch = FALSE, width = NULL, varwidth = FALSE, : 216s some notches went outside hinges ('box'): maybe set notch=FALSE 216s 0.304 0.008 0.315 216s > 216s > if(doExtras) { 216s + str(rf100 <- replicate(20, re.facMat(100, expmList))) 216s + print(1000*t(apply(rf100["c.time",,], 1, summary))) 216s + ## lynne {Linux 2.6.34.7-56.fc13.x86_64 --- AMD Phenom II X4 925}: 216s + ## Min. 1st Qu. Median Mean 3rd Qu. Max. 216s + ## Ward 23 24 24.5 24.4 25.0 25 216s + ## s.P.s 107 109 109.0 109.0 109.0 112 216s + ## s.P.sO 188 190 191.0 192.0 193.0 198 216s + ## s.P.sRBS 17 18 19.0 18.9 19.2 21 216s + ## sPs.H08. 15 17 18.0 17.6 18.0 19 216s + ## sPs.H08b 18 18 19.0 23.4 20.0 107 216s + ## s.T.s 44 45 45.0 45.6 46.0 48 216s + ## s.T.sO 96 98 99.0 100.0 100.0 116 216s + ## Eigen 18 19 20.0 24.4 21.0 109 216s + ## hybrid 40 42 42.0 47.1 44.0 133 216s + 216s + ##--> take out the real slow ones for the subsequent tests: 216s + `%w/o%` <- function(x, y) x[!x %in% y] #-- x without y 216s + print(nms.swift <- names(expmList) %w/o% 216s + c("s.P.s", "s.P.sO", "s.T.s", "s.T.sO")) 216s + expmL.swift <- expmList[nms.swift] 216s + 216s + set.seed(18) ## 12 replicates is too small .. but then it's too slow otherwise: 216s + rf400 <- replicate(12, re.facMat(400, expmL.swift)) 216s + print(1000*t(apply(rf400["c.time",,], 1, summary))) 216s + ## lynne: 216s + ## Min. 1st Qu. Median Mean 3rd Qu. Max. 216s + ## Ward 1740 1790 1830 1820 1860 1900 216s + ## s.P.sRBS 1350 1420 1440 1430 1450 1460 216s + ## sPs.H08. 1020 1030 1130 1140 1210 1290 216s + ## sPs.H08b 1120 1130 1220 1220 1300 1390 216s + ## Eigen 962 977 989 992 1000 1030 216s + ## hybrid 2740 2800 2840 2840 2890 2910 216s + 216s + showProc.time() 216s + 216s + }## if(doExtras) only 216s > 216s > ## Now try an example with badly conditioned "random" M matrix... 216s > ## ... 216s > ## ... (not yet) 216s > 216s > 216s > ### m2ex3() --- The 2x2 example with bad condition , see A3 in ./ex2.R 216s > 216s > RE <- re.m2ex3(1e-8, expmList) 216s > sort(RE)# Ward + both sps.H08 are best; s.P.s fair, Eigen (and hybrid): ~1e-9 216s s.P.sRBS sPs.H08. sPs.H08b Matr Matr.d Ward AmHi09.13 AmHi09.12 s.P.s 216s 5.030e-17 5.030e-17 5.030e-17 1.006e-16 1.006e-16 1.006e-16 2.012e-16 3.521e-16 2.113e-15 216s s.P.sO s.T.s s.T.sO AmHi09.10 Eigen hybrid AmHi09.08 AmHi09.06 216s 2.113e-15 2.113e-15 2.113e-15 2.325e-12 1.836e-09 1.836e-09 4.819e-09 3.156e-06 216s > 216s > eps <- 10^-(1:18) 216s > t.m2 <- t(sapply(eps, re.m2ex3, EXPMlist = expmList)) 216s Error in solve.default(V) : 216s system is computationally singular: reciprocal condition number = 1.11022e-16 216s Error in solve.default(V) : 216s system is computationally singular: reciprocal condition number = 1.11022e-16 216s > ## --> 3 error messages from solve(V), 5 error messages from try(. "R_Eigen" ...) 216s > 216s > showProc.time() 216s Time (user system elapsed): 0.115 0 0.116 216s > 216s > cbind(sort(apply(log(t.m2),2, median, na.rm=TRUE))) 216s Error in solve.default(V) : 216s system is computationally singular: reciprocal condition number = 1.11022e-16 216s [,1] 216s sPs.H08. -83.62 216s sPs.H08b -83.62 216s s.P.sRBS -83.28 216s Matr -37.53 216s Matr.d -37.53 216s Ward -37.53 216s AmHi09.13 -36.43 216s AmHi09.12 -35.74 216s s.P.s -33.79 216s s.P.sO -33.79 216s s.T.s -33.79 216s s.T.sO -33.79 216s AmHi09.10 -26.79 216s hybrid -23.74 216s Eigen -20.12 216s AmHi09.08 -19.15 216s AmHi09.06 -12.67 216s > ## 'na.rm=TRUE' needed for Eigen which blows up for the last 3 eps 216s > t.m2.ranks <- sort(rowMeans(apply(t.m2, 1, rank))) 216s > cbind(signif(t.m2.ranks, 3)) 216s [,1] 216s sPs.H08. 2.86 216s sPs.H08b 2.86 216s s.P.sRBS 2.94 216s Matr 5.19 216s Matr.d 5.19 216s Ward 5.19 216s AmHi09.13 5.50 216s AmHi09.12 7.44 216s s.T.s 10.70 216s s.T.sO 10.70 216s s.P.s 11.10 216s s.P.sO 11.10 216s hybrid 12.50 216s AmHi09.10 13.70 216s Eigen 14.70 216s AmHi09.08 15.10 216s AmHi09.06 16.40 216s > ## lynne (x86_64, Linux 3.14.4-100; Intel i7-4765T), 2014-09: 216s > ## sPs.H08. 2.67 216s > ## sPs.H08b 2.67 216s > ## s.P.sRBS 3.06 216s > ## Ward 4.03 216s > ## AmHi09.13 4.33 <<- still not close to H08 ! 216s > ## AmHi09.12 5.86 216s > ## s.T.s 8.33 216s > ## s.T.sO 8.33 216s > ## s.P.s 9.11 216s > ## s.P.sO 9.11 216s > ## hybrid 10.80 216s > ## AmHi09.10 11.70 << astonishingly bad 216s > ## Eigen 12.60 216s > ## AmHi09.08 13.10 216s > ## AmHi09.06 14.40 216s > 216s > print(t.m2[, names(t.m2.ranks)[1:8]], digits = 3) 216s sPs.H08. sPs.H08b s.P.sRBS Matr Matr.d Ward AmHi09.13 AmHi09.12 216s [1,] 9.99e-17 9.99e-17 2.00e-16 5.51e-16 5.51e-16 5.51e-16 3.51e-16 5.52e-16 216s [2,] 1.01e-16 1.01e-16 1.01e-16 5.53e-16 5.53e-16 5.53e-16 1.01e-16 2.51e-16 216s [3,] 5.03e-17 5.03e-17 2.51e-16 2.51e-16 2.51e-16 2.51e-16 2.51e-16 3.02e-16 216s [4,] 2.51e-16 2.51e-16 3.75e-25 2.01e-16 2.01e-16 2.01e-16 1.51e-16 2.51e-16 216s [5,] 3.52e-16 3.52e-16 2.01e-16 1.51e-16 1.51e-16 1.51e-16 1.01e-16 1.01e-16 216s [6,] 2.01e-16 2.01e-16 2.01e-16 2.01e-16 2.01e-16 2.01e-16 2.01e-16 3.52e-16 216s [7,] 3.52e-16 3.52e-16 3.52e-16 3.52e-16 3.52e-16 3.52e-16 1.01e-16 1.01e-16 216s [8,] 5.03e-17 5.03e-17 5.03e-17 1.01e-16 1.01e-16 1.01e-16 2.01e-16 3.52e-16 216s [9,] 4.36e-35 4.36e-35 8.73e-35 5.03e-17 5.03e-17 5.03e-17 1.51e-16 3.02e-16 216s [10,] 0.00e+00 0.00e+00 0.00e+00 5.03e-17 5.03e-17 5.03e-17 1.51e-16 3.02e-16 216s [11,] 5.33e-39 5.33e-39 5.33e-39 5.03e-17 5.03e-17 5.03e-17 1.51e-16 3.02e-16 216s [12,] 4.16e-41 4.16e-41 0.00e+00 5.03e-17 5.03e-17 5.03e-17 1.51e-16 3.02e-16 216s [13,] 0.00e+00 0.00e+00 6.50e-43 5.03e-17 5.03e-17 5.03e-17 1.51e-16 3.02e-16 216s [14,] 0.00e+00 0.00e+00 5.08e-45 5.03e-17 5.03e-17 5.03e-17 1.51e-16 3.02e-16 216s [15,] 3.97e-47 3.97e-47 3.97e-47 5.03e-17 5.03e-17 5.03e-17 1.51e-16 3.02e-16 216s [16,] 0.00e+00 0.00e+00 6.20e-49 5.03e-17 5.03e-17 5.03e-17 1.51e-16 3.02e-16 216s [17,] 0.00e+00 0.00e+00 4.84e-51 5.03e-17 5.03e-17 5.03e-17 1.51e-16 3.02e-16 216s [18,] 3.78e-53 3.78e-53 0.00e+00 5.03e-17 5.03e-17 5.03e-17 1.51e-16 3.02e-16 216s > ## ==> 1st class: H08 (both) and (but slightly better than) Ward 216s > ## 2nd class s.T.s and s.P.s 216s > ## "bad" : hybrid and Eigen 216s > 216s > ## ??? AmHi09 - methods, up to order = 10 are worse ! 216s > if(require(RColorBrewer)) { 216s + ## Bcol <- brewer.pal(ncol(t.m2),"Dark2") 216s + Bcol <- brewer.pal(min(9, ncol(t.m2)), "Set1") 216s + Bcol <- Bcol[sqrt(colSums(col2rgb(Bcol)^2)) < 340] 216s + ## FIXME: more colors ==> ~/R/MM/GRAPHICS/color-palettes.R 216s + } else { 216s + ## 7 from Dark2 216s + ## Bcol <- c("#1B9E77", "#D95F02", "#7570B3", "#E7298A", 216s + ## "#66A61E", "#E6AB02", "#A6761D") 216s + ## Rather: those from "Set1" 216s + Bcol <- c("#E41A1C", "#377EB8", "#4DAF4A", 216s + "#984EA3", "#FF7F00", # too bright: "#FFFF33", 216s + "#A65628", "#F781BF", "#999999") 216s + } 216s > 216s > matplot(eps, t.m2, type = "b", log = "xy", col=Bcol, lty = 1:9, pch=1:15, 216s + axes=FALSE, frame = TRUE, 216s + xlab = expression(epsilon), ylab = "relative error", 216s + main = expression(expm(A, method == "*") *" relative errors for " * 216s + A == bgroup("[", atop({-1} *" "* 1, {epsilon^2} *" "*{-1}), "]"))) 216s > legend("bottomright",colnames(t.m2), col=Bcol, lty = 1:9, pch=1:15, 216s + inset = 0.02) 216s > if(require("sfsmisc")) { 216s + sfsmisc::eaxis(1, labels=FALSE) 216s + sfsmisc::eaxis(1, at = eps[c(TRUE,FALSE)]) 216s + sfsmisc::eaxis(2) 216s + Loading required package: RColorBrewer 216s Warning message: 216s In xy.coords(x, y, xlabel, ylabel, log = log, recycle = TRUE) : 216s 13 y values <= 0 omitted from logarithmic plot 216s ## sfsmisc::eaxis(2, labels=FALSE) 216s + ## op <- par(las=2) 216s + ## sfsmisc::eaxis(2, at = axTicks(2,log=TRUE)[c(TRUE,FALSE,FALSE)]) 216s + ## par(op) 216s + } else { 216s + axis(1) 216s + axis(2) 216s + } 216s > 216s > ## typical case: 216s > ep <- 1e-10 216s > (me <- m2ex3(ep)) 216s $A 216s [,1] [,2] 216s [1,] -1e+00 1 216s [2,] 1e-20 -1 216s 216s $expA 216s [,1] [,2] 216s [1,] 3.679e-01 0.3679 216s [2,] 3.679e-21 0.3679 216s 216s > me$expA * exp(1) ## the correct value ; numerically identical to simple matrix: 216s [,1] [,2] 216s [1,] 1e+00 1 216s [2,] 1e-20 1 216s > ## identical() not fulfilled e.g. on Solaris 216s > stopifnot(all.equal(me$expA * exp(1), 216s + rbind(c( 1, 1), 216s + c(ep^2, 1)), 216s + tolerance = 1e-14)) 216s > ## The relative error (matrices): 216s > lapply(expmList, function(EXPM) 1 - EXPM(me$A)/me$expA) 216s $Matr 216s 2 x 2 Matrix of class "dgeMatrix" 216s [,1] [,2] 216s [1,] 0 1.11e-16 216s [2,] 0 0.00e+00 216s 216s $Matr.d 216s 2 x 2 Matrix of class "dgeMatrix" 216s [,1] [,2] 216s [1,] 0 1.11e-16 216s [2,] 0 0.00e+00 216s 216s $Ward 216s [,1] [,2] 216s [1,] 0 1.11e-16 216s [2,] 0 0.00e+00 216s 216s $s.P.s 216s [,1] [,2] 216s [1,] -2.22e-15 -2.22e-15 216s [2,] -2.22e-15 -2.22e-15 216s attr(,"accuracy") 216s [1] 1.665e-16 216s 216s $s.P.sO 216s [,1] [,2] 216s [1,] -2.22e-15 -2.22e-15 216s [2,] -2.22e-15 -2.22e-15 216s attr(,"accuracy") 216s [1] 1.665e-16 216s 216s $s.P.sRBS 216s [,1] [,2] 216s [1,] 0 0 216s [2,] 0 0 216s 216s $sPs.H08. 216s [,1] [,2] 216s [1,] 0 0 216s [2,] 0 0 216s 216s $sPs.H08b 216s [,1] [,2] 216s [1,] 0 0 216s [2,] 0 0 216s 216s $AmHi09.06 216s [,1] [,2] 216s [1,] -1.153e-06 7.160e-06 216s [2,] 7.160e-06 -1.153e-06 216s 216s $AmHi09.08 216s [,1] [,2] 216s [1,] -1.414e-09 1.163e-08 216s [2,] 1.163e-08 -1.414e-09 216s 216s $AmHi09.10 216s [,1] [,2] 216s [1,] -5.702e-13 5.836e-12 216s [2,] 5.836e-12 -5.702e-13 216s 216s $AmHi09.12 216s [,1] [,2] 216s [1,] 1.110e-16Loading required package: sfsmisc 216s 216s Attaching package: ‘sfsmisc’ 216s 216s The following objects are masked _by_ ‘.GlobalEnv’: 216s 216s relErr, relErrV, Sys.memGB 216s 216s 5.551e-16 216s [2,] 7.772e-16 1.110e-16 216s 216s $AmHi09.13 216s [,1] [,2] 216s [1,] 1.11e-16 1.11e-16 216s [2,] 2.22e-16 1.11e-16 216s 216s $s.T.s 216s [,1] [,2] 216s [1,] -2.22e-15 -2.22e-15 216s [2,] -2.22e-15 -2.22e-15 216s attr(,"accuracy") 216s [1] 0 216s 216s $s.T.sO 216s [,1] [,2] 216s [1,] -2.22e-15 -2.22e-15 216s [2,] -2.22e-15 -2.22e-15 216s attr(,"accuracy") 216s [1] 0 216s 216s $Eigen 216s [,1] [,2] 216s [1,] 0.000e+00 -5.109e-07 216s [2,] -1.048e-06 0.000e+00 216s 216s $hybrid 216s [,1] [,2] 216s [1,] 0.000e+00 -5.109e-07 216s [2,] -2.419e-07 -2.220e-16 216s 216s > 216s > ## Average number of correct digits [less "extreme" than plot above] 216s > nDig <- sapply(expmList, function(EXPM) -log10(mean(abs(1 - EXPM(me$A)/me$expA)))) 216s > round(nDig, 2) 216s Matr Matr.d Ward s.P.s s.P.sO s.P.sRBS sPs.H08. sPs.H08b AmHi09.06 216s 16.56 16.56 16.56 14.65 14.65 Inf Inf Inf 5.38 216s AmHi09.08 AmHi09.10 AmHi09.12 AmHi09.13 s.T.s s.T.sO Eigen hybrid 216s 8.19 11.49 15.41 15.86 14.65 14.65 6.41 6.73 216s > ## Ward s.P.s s.P.sO s.T.s s.T.sO Eigen hybrid 216s > ## 16.26 14.65 14.65 14.65 14.65 6.20 6.39 [AMD Opteron 64-bit] 216s > ## Inf 14.65 14.65 14.65 14.65 6.74 6.33 [Pentium-M (32-bit)] 216s > 216s > ###--- rnilMat() : random upper triangular (zero-diagonal) nilpotent n x n matrix 216s > 216s > set.seed(17) 216s > m <- rnilMat(10) 216s > (m. <- as(m,"sparseMatrix"))# for nicer printing - and more *below* 216s 10 x 10 sparse Matrix of class "dtCMatrix" 216s 216s [1,] . 3 10 7 3 4 9 5 9 6 216s [2,] . . 5 4 3 . 5 6 3 6 216s [3,] . . . 5 7 7 3 7 5 6 216s [4,] . . . . 3 7 6 8 2 7 216s [5,] . . . . . 9 5 2 7 6 216s [6,] . . . . . . 8 5 4 6 216s [7,] . . . . . . . 5 5 3 216s [8,] . . . . . . . . 3 5 216s [9,] . . . . . . . . . 3 216s [10,] . . . . . . . . . . 216s > E.m <- expm::expm(m, method="Pade") 216s > as(E.m, "sparseMatrix") 216s 10 x 10 sparse Matrix of class "dtCMatrix" 216s 216s [1,] 1 3 17.5 50.5 110.9 464.7 1224.0 2169.2 3394.8 5938.8 216s [2,] . 1 5.0 16.5 39.0 172.8 476.1 865.6 1376.4 2438.8 216s [3,] . . 1.0 5.0 14.5 78.5 251.7 498.6 836.0 1540.0 216s [4,] . . . 1.0 3.0 20.5 77.5 170.2 299.4 578.0 216s [5,] . . . . 1.0 9.0 41.0 97.0 180.5 357.1 216s [6,] . . . . . 1.0 8.0 25.0 51.5 112.3 216s [7,] . . . . . . 1.0 5.0 12.5 30.5 216s [8,] . . . . . . . 1.0 3.0 9.5 216s [9,] . . . . . . . . 1.0 3.0 216s [10,] . . . . . . . . . 1.0 216s > 216s > (dN <- 9*7*320) # 20160 216s [1] 20160 216s > stopifnot(abs(round(E.m * dN) - (E.m * dN)) < 9e-6) 216s > EmN <- matrix(c(dN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216s + 3*dN, dN, 0, 0, 0, 0, 0, 0, 0, 0, 216s + 352800, 5*dN, dN, 0, 0, 0, 0, 0, 0, 0, 216s + 1018080, 332640, 5*dN, dN, 0, 0, 0, 0, 0, 0, 216s + 2235240, 786240, 292320, 3*dN, dN, 0, 0, 0, 0, 0, 216s + 9368520, 3483480, 1582560, 413280, 181440, dN, 0, 0, 0, 0, 216s + 24676176, 9598680, 5073600, 1562400, 826560, 161280, dN, 0,0,0, 216s + 43730160, 17451000, 10051440, 3430560, 1955520, 504000, 216s + 5*dN, dN, 0, 0, 216s + 68438436, 27747480, 16853760, 6036240, 3638880, 1038240, 216s + 252000, 3*dN, dN, 0, 216s + 119725855, 49165892, 31046760, 11652480, 7198800, 2264640, 216s + 614880, 191520, 3*dN, dN), 216s + 10, 10) 216s > 216s > Em.xct <- EmN / dN 216s > 216s > stopifnot(all.equal(E.m, Em.xct, 216s + check.attributes = FALSE, tolerance= 1e-13)) 216s > re.x <- sapply(expmList, function(EXPM) relErr(Em.xct, EXPM(m))) 216s > ## with error message from "safe.Eigen" --> Eigen is NA here 216s > 216s > ## result depends quite a bit on platform 216s > which(is.na(re.x)) # gives c(Eigen = 16L) (but not everywhere ?!?) 216s Eigen 216s 16 216s > (re.x <- re.x[!is.na(re.x)]) 216s Error in solve.default(V) : 216s Lapack routine dgesv: system is exactly singular: U[3,3] = 0 216s Matr Matr.d Ward s.P.s s.P.sO s.P.sRBS sPs.H08. sPs.H08b AmHi09.06 216s 7.491e-17 7.491e-17 7.491e-17 4.502e-14 4.502e-14 9.143e-17 9.379e-17 9.379e-17 1.509e-11 216s AmHi09.08 AmHi09.10 AmHi09.12 AmHi09.13 s.T.s s.T.sO hybrid 216s 1.150e-16 1.150e-16 1.150e-16 1.150e-16 3.716e-17 3.716e-17 7.491e-17 216s > 216s > ## Pentium-M 32-bit ubuntu gave 216s > ## Ward s.P.s s.P.sO sPs.H08. sPs.H08b s.T.s s.T.sO hybrid 216s > ## 1.079e-16 4.505e-14 4.503e-14 9.379e-17 9.379e-17 3.716e-17 7.079e-18 1.079e-16 216s > ## 32-bit Quad-Core AMD Opteron 2380 (Linux 2.6.30.10-105.2.23.fc11.i686.PAE): 216s > ## Ward s.P.s s.P.sO sPs.H08. sPs.H08b s.T.s s.T.sO hybrid 216s > ## 1.079e-16 4.505e-14 4.503e-14 9.379e-17 9.379e-17 3.716e-17 7.079e-18 1.079e-16 216s > 216s > ## "Ward77": again more accurate than s+Pade+s, but s+Taylor+s is even more accurate 216s > 216s > ## but on 64-bit AMD Opterons 216s > ## Ward s.P.s s.P.sO sPs.H08. sPs.H08b s.T.s s.T.sO hybrid 216s > ## 4.42e-17 3.99e-17 3.99e-17 1.10e-16 1.10e-16 8.44e-17 8.44e-17 4.42e-17 216s > ## 216s > ## even more astonishing the result on Mac OSX (x86_32_mac; R-forge, R 2.9.0 patch.) 216s > ## Ward s.P.s s.P.sO sPs.H08. sPs.H08b s.T.s s.T.sO hybrid 216s > ## 5.13e-17 3.99e-17 3.99e-17 1.84e-15 1.84e-15 8.44e-17 8.44e-17 5.13e-17 216s > 216s > ## 2014-09: AmHi09 are very good (64bit: 8e-17) for p >= 8 (p=6 has 1.5e-11) 216s > 216s > not.09.06 <- which(names(re.x) != "AmHi09.06") 216s > stopifnot(re.x[c("Ward", "s.T.s", "s.T.sO")] < 3e-16, 216s + re.x[["AmHi09.06"]] < 9e-11, # x64 & 686(lnx): = 1.509e-11 216s + re.x[not.09.06] < 4e-13)# max: 686(32b): 4.52e-14, x64(lnx): 1.103e-16 216s > 216s > ##-- Looking at *sparse* matrices: [C,Fortran "dense" code based methods will fail]: 216s > (meths <- eval(formals(expm)$method)) 216s [1] "Higham08.b" "Higham08" "AlMohy-Hi09" "Ward77" 216s [5] "PadeRBS" "Pade" "Taylor" "PadeO" 216s [9] "TaylorO" "R_Eigen" "R_Pade" "R_Ward77" 216s [13] "hybrid_Eigen_Ward" 216s > ems <- sapply(meths, function(met) 216s + tryCatch(expm::expm(m., method=met), error=identity)) 216s coercing to dense matrix, as required by method “Higham08.b” 216s coercing to dense matrix, as required by method “AlMohy-Hi09” 216s coercing to dense matrix, as required by method “Ward77” 216s coercing to dense matrix, as required by method “PadeRBS” 216s coercing to dense matrix, as required by method “Pade” 216s coercing to dense matrix, as required by method “Taylor” 216s coercing to dense matrix, as required by method “PadeO” 216s coercing to dense matrix, as required by method “TaylorO” 216s coercing to dense matrix, as required by method “R_Ward77” 216s coercing to dense matrix, as required by method “hybrid_Eigen_Ward” 216s > ok <- !sapply(ems, is, class="error") 216s > meths[ok] # now most... are 216s [1] "Higham08.b" "Higham08" "AlMohy-Hi09" "Ward77" 216s [5] "PadeRBS" "Pade" "Taylor" "PadeO" 216s [9] "TaylorO" "R_Pade" "hybrid_Eigen_Ward" 216s > 216s > 216s > showProc.time() 216s Time (user system elapsed): 0.158 0.008 0.174 216s > 217s 217s R version 4.3.3 (2024-02-29) -- "Angel Food Cake" 217s Copyright (C) 2024 The R Foundation for Statistical Computing 217s Platform: aarch64-unknown-linux-gnu (64-bit) 217s 217s R is free software and comes with ABSOLUTELY NO WARRANTY. 217s You are welcome to redistribute it under certain conditions. 217s Type 'license()' or 'licence()' for distribution details. 217s 217s R is a collaborative project with many contributors. 217s Type 'contributors()' for more information and 217s 'citation()' on how to cite R or R packages in publications. 217s 217s Type 'demo()' for some demos, 'help()' for on-line help, or 217s 'help.start()' for an HTML browser interface to help. 217s Type 'q()' to quit R. 217s 217s > #### Testing the Exponential Condition Number computations 217s > 217s > library(expm) 217s Loading required package: Matrix 218s 218s Attaching package: ‘expm’ 218s 218s > 218s > mSource <- function(file, ...) source(system.file(file, ..., 218s + package = "expm", mustWork=TRUE), 218s + keep.source = FALSE) 218s > mSource("test-tools.R")## -> assertError(), rMat() 218s The following object is masked from ‘package:Matrix’: 218s 218s expm 218s 218s Loading required package: tools 218s > ## getting examples where we know expm(.) "exactly": 218s > mSource("demo", "exact-fn.R") 218s > 218s > M <- xct10$m 218s > eC <- list(expmCondF = 566.582631819923, 218s + expmCond1 = 137.455837652872) 218s > C1 <- expmCond(M, "exact") 218s > (C2 <- expmCond(M, "1.est", expm=FALSE)) 218s [1] 137.4558 218s > (C3. <- expmCond(M, "F.est", abstol = 0.1)[[1]]) 218s [1] 566.5826 218s attr(,"iter") 218s [1] 2 218s > (C3.1 <- expmCond(M, "F.est", abstol = 0.01, reltol = 1e-12)[[1]]) 218s [1] 566.5826 218s attr(,"iter") 218s [1] 3 218s > 218s > stopifnot(all.equal(C1[1:2], eC, tolerance = 1e-14), 218s + all.equal(C2 , eC$expmCond1, tolerance = 1e-14), 218s + all.equal(C3. , eC$expmCondF, tolerance = 1e-14, check.attributes = FALSE), 218s + all.equal(C3.1, eC$expmCondF, tolerance = 1e-14, check.attributes = FALSE)) 218s > 218s > cat('Time elapsed: ', (p1 <- proc.time()),'\n') # for ``statistical reasons'' 218s Time elapsed: 1.063 0.097 1.119 0.009 0 218s > 218s > ## cat('Time elapsed: ',(p2 <- proc.time())-p1,'\n') # for ``statistical reasons'' 218s > 218s > ## cat('Time elapsed: ',(p3 <- proc.time())-p2,'\n') # for ``statistical reasons'' 218s > 218s 218s R version 4.3.3 (2024-02-29) -- "Angel Food Cake" 218s Copyright (C) 2024 The R Foundation for Statistical Computing 218s Platform: aarch64-unknown-linux-gnu (64-bit) 218s 218s R is free software and comes with ABSOLUTELY NO WARRANTY. 218s You are welcome to redistribute it under certain conditions. 218s Type 'license()' or 'licence()' for distribution details. 218s 218s R is a collaborative project with many contributors. 218s Type 'contributors()' for more information and 218s 'citation()' on how to cite R or R packages in publications. 218s 218s Type 'demo()' for some demos, 'help()' for on-line help, or 218s 'help.start()' for an HTML browser interface to help. 218s Type 'q()' to quit R. 218s 218s > library(Matrix) 219s > library(expm) 219s 219s Attaching package: ‘expm’ 219s 219s > 219s > source(system.file("test-tools.R", package = "expm"), keep.source=FALSE) 219s The following object is masked from ‘package:Matrix’: 219s 219s expm 219s 219s Loading required package: tools 219s > doExtras 219s [1] FALSE 219s > 219s > tst.sqrtm <- function(m, tol = 1e-12, zap.Im.tol = 1e-10) { 219s + r.m <- sqrtm(m)## should now work 219s + s <- r.m %*% r.m 219s + if(is.complex(s) && all(abs(Im(s)) < mean(abs(s)) * zap.Im.tol)) 219s + s <- Re(s) 219s + all.equal(m, s, tolerance=tol) 219s + } 219s > 219s > 219s > options(verbose = TRUE) # -> get some messages from logm.Higham 219s > 219s > ### ---- Small exact : ---------- 219s > L2 <- cbind(1, 0:1) 219s > lL2 <- cbind(0:1, 0) 219s > (L3 <- rbind(cbind(1,cbind(0:1,0)),1)) 219s [,1] [,2] [,3] 219s [1,] 1 0 0 219s [2,] 1 1 0 219s [3,] 1 1 1 219s > (lL3 <- cbind(rbind(0, cbind((2:1)/2,0:1)), 0)) 219s [,1] [,2] [,3] 219s [1,] 0.0 0 0 219s [2,] 1.0 0 0 219s [3,] 0.5 1 0 219s > 219s > assertError(logm(L2, method="Eigen")) 219s > assertError(logm(L3, method="Eigen")) 219s > 219s > logm.Higham08 <- expm:::logm.Higham08 219s > l.L2 <- logm.Higham08(L2) 219s logm.Higham08() -> (k, m) = (2, 5) 219s > l.L3 <- logm.Higham08(L3) 219s > 219s > all.equal(l.L2, lL2, tolerance=0)# 5.64 e-14 (32-bit *and* 64-bit) 219s logm.Higham08() -> (k, m) = (4, 3) 219s [1] "Mean relative difference: 5.639933e-14" 219s > all.equal(l.L3, lL3, tolerance=0)# 2.40 e-15 (ditto) 219s [1] "Mean relative difference: 2.398082e-15" 219s > stopifnot(all.equal(l.L2, lL2, tolerance= 1000e-16), 219s + all.equal(l.L3, lL3, tolerance= 80e-16)) 219s > showProc.time() 219s Time (user system elapsed): 0.161 0.01 0.173 219s > 219s > ### --------- More & larger randomly generated examples : ----------------- 219s > set.seed(101) 219s > 219s > EA <- expm.Higham08(A <- matrix(round(rnorm(25),1), 5)) 219s > all.equal(EA, expm.Higham08(logm.Higham08(EA)), tolerance=0) 219s logm.Higham08() -> (k, m) = (4, 5) 219s [1] "Mean relative difference: 1.000586e-13"logm.Higham08() -> (k, m) = (4, 5) 219s 219s > ## "Mean relative difference: 1.020137e-13" 219s > stopifnot(all.equal(EA, expm.Higham08(logm.Higham08(EA)), tolerance=1e-12)) 219s > 219s > S <- crossprod(A) 219s > all.equal(S, sqrtm(S) %*% sqrtm(S), tolerance=0) 219s [1] "Mean relative difference: 1.757475e-15" 219s > ## "Mean relative difference: 2.26885e-15" 219s > stopifnot(all.equal(S, sqrtm(S) %*% sqrtm(S), tolerance=1e-14)) 219s > showProc.time() 219s Time (user system elapsed): 0.042 0.005 0.047 219s > 219s > set.seed(3) 219s > 219s > ## n = 50 is already "too" slow (well: logm.Higham08(.) needs 2.2 sec 219s > ## --> CPU measurements below 219s > for(n in c(2:5, 10:11, if(doExtras) 30)) { 219s + cat("n = ",n,": ") 219s + for(kk in seq_len(if(doExtras) 30 else 10)) { 219s + ## Testing logm() 219s + EA <- expm.Higham08(A <- matrix(round(rnorm(n^2),2), n,n)) 219s + stopifnot(all.equal(EA, expm.Higham08(logm.Higham08(EA)), tolerance=1e-12)) 219s + cat(" ") 219s + ## Testing sqrtm() --- for positive definite *and* arbitrary 219s + stopifnot(tst.sqrtm(A))# A is completely random 219s + S <- crossprod(A) + rnorm(n^2) / 1000 219s + stopifnot(tst.sqrtm(S)) 219s + cat(".") 219s + } 219s + cat("\n") 219s + } 219s n = 2 : logm.Higham08() -> (k, m) = (3, 4) 219s . logm.Higham08() -> (k, m) = (4, 4) 219s .logm.Higham08() -> (k, m) = (3, 5) 219s .logm.Higham08() -> (k, m) = (3, 5) 219s . .logm.Higham08() -> (k, m) = (4, 3) 219s logm.Higham08() -> (k, m) = (4, 4) 219s . 'x' has negative real eigenvalues; maybe ok for sqrtm() 219s logm.Higham08() -> (k, m) = (4, 3) 219s .logm.Higham08() -> (k, m) = (4, 4) 219s 'x' has negative real eigenvalues; maybe ok for sqrtm() 219s .logm.Higham08() -> (k, m) = (4, 3) 219s .logm.Higham08() -> (k, m) = (3, 4) 219s . 219s n = 3 : logm.Higham08() -> (k, m) = (5, 3) 219s 'x' has negative real eigenvalues; maybe ok for sqrtm() 219s . logm.Higham08() -> (k, m) = (3, 5) 219s 'x' has negative real eigenvalues; maybe ok for sqrtm() 219s . logm.Higham08() -> (k, m) = (4, 4) 219s 'x' has negative real eigenvalues; maybe ok for sqrtm() 219s .logm.Higham08() -> (k, m) = (5, 4) 219s 'x' has negative real eigenvalues; maybe ok for sqrtm() 219s .logm.Higham08() -> (k, m) = (4, 5) 220s .logm.Higham08() -> (k, m) = (4, 5) 220s .logm.Higham08() -> (k, m) = (5, 4) 220s . logm.Higham08() -> (k, m) = (5, 4) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (4, 5) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (5, 3) 220s . 220s n = 4 : logm.Higham08() -> (k, m) = (5, 3) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (5, 4) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (4, 5) 220s .'x' has negative real eigenvalues; maybe ok for sqrtm() 220s logm.Higham08() -> (k, m) = (5, 4) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (5, 4) 220s .logm.Higham08() -> (k, m) = (4, 5) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (5, 4) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (5, 4) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (4, 4) 220s .logm.Higham08() -> (k, m) = (4, 5) 220s . 220s n = 5 : logm.Higham08() -> (k, m) = (5, 4) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s . logm.Higham08() -> (k, m) = (5, 4) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s . logm.Higham08() -> (k, m) = (5, 3) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (6, 3) 220s .logm.Higham08() -> (k, m) = (6, 3) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (5, 4) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s logm.Higham08() -> (k, m) = (4, 5) 220s . 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (5, 4) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (6, 3) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (5, 4) 220s . 220s n = 10 : logm.Higham08() -> (k, m) = (7, 3) 220s .'x' has negative real eigenvalues; maybe ok for sqrtm() 220s logm.Higham08() -> (k, m) = (6, 4) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (6, 4) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (7, 3) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s . logm.Higham08() -> (k, m) = (6, 4) 220s .logm.Higham08() -> (k, m) = (6, 4) 220s .logm.Higham08() -> (k, m) = (7, 3) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (6, 4) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (6, 4) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (7, 3) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s . 220s n = 11 : logm.Higham08() -> (k, m) = (6, 4) 220s .logm.Higham08() -> (k, m) = (6, 5) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (6, 4) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (6, 4) 220s .logm.Higham08() -> (k, m) = (6, 4) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (7, 3) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (7, 3) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (6, 4) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (7, 3) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s .logm.Higham08() -> (k, m) = (7, 3) 220s 'x' has negative real eigenvalues; maybe ok for sqrtm() 220s . 220s > 220s > showProc.time() 220s Time (user system elapsed): 0.622 0.002 0.637 220s > 220s > 220s > ### CPU-measurements for logm() 220s > options(verbose = FALSE)# printing costs .. 220s > set.seed(5) 220s > if(doExtras) { 220s + n <- 50 220s + sim <- 32 220s + } else { 220s + n <- 21 220s + sim <- 8 220s + } 220s > 220s > cpuT <- numeric(sim) 220s > for(k in seq_len(sim)) { 220s + EA <- expm.Higham08(A <- matrix(rnorm(n^2), n,n)) 220s + cat(".") 220s + cpuT[k] <- system.time(LEA <- logm.Higham08(EA))[1] 220s + stopifnot(all.equal(EA, expm.Higham08(LEA), tolerance=1e-12)) 220s + }; cat("\n") 221s ........ 221s > summary(cpuT) 221s Min. 1st Qu. Median Mean 3rd Qu. Max. 221s 0.02900 0.03000 0.03150 0.03288 0.03500 0.03900 221s > ## cmath-5 {Feb.2009}; Michi's original code: 221s > ## Min. 1st Qu. Median Mean 3rd Qu. Max. 221s > ## 1.794 2.249 2.389 2.388 2.515 2.831 221s > 221s > showProc.time() 221s Time (user system elapsed): 0.986 0 0.987 221s > 221s > 222s 222s R version 4.3.3 (2024-02-29) -- "Angel Food Cake" 222s Copyright (C) 2024 The R Foundation for Statistical Computing 222s Platform: aarch64-unknown-linux-gnu (64-bit) 222s 222s R is free software and comes with ABSOLUTELY NO WARRANTY. 222s You are welcome to redistribute it under certain conditions. 222s Type 'license()' or 'licence()' for distribution details. 222s 222s R is a collaborative project with many contributors. 222s Type 'contributors()' for more information and 222s 'citation()' on how to cite R or R packages in publications. 222s 222s Type 'demo()' for some demos, 'help()' for on-line help, or 222s 'help.start()' for an HTML browser interface to help. 222s Type 'q()' to quit R. 222s 222s > library(expm) 222s Loading required package: Matrix 222s 222s Attaching package: ‘expm’ 222s 222s The following object is masked from ‘package:Matrix’: 222s 222s expm 222s 222s > 222s > source(system.file("test-tools.R", package= "expm"), keep.source=FALSE) 222s Loading required package: tools 222s > ## -> assertError()... doExtras 222s > doExtras 222s [1] FALSE 222s > 222s > ## Missing REPROTECT(), till 2014-09-03 [because 'A' is *integer*]: 223s > set.seed(17) 223s > n <- 300 223s > A <- matrix(rbinom(n^2, size=1, prob=0.1), n,n) 223s > A2 <- A %^% 2 223s > for(i in 1:100) { 223s + A. <- A %^% 2 223s + if(!isTRUE(all.equal(A2, A.))) 223s + cat("not equal; i=",i,"\n") 223s + } 225s > ## MM: On nb-mm3, I get a different error which shows memory corruption: 225s > ## REAL() can only be applied to a 'numeric', not a 'character' 225s > ## or REAL() can only be applied to a 'numeric', not a 'NULL' 225s > 225s > ## Check that *large* matrices now work 225s > if(FALSE) ## << even m %^% 2 takes > 20 hours (!!!) [but no longer stops early!] 225s + if(doExtras && require("sfsmisc") && 225s + exists("Sys.memGB", "package:sfsmisc", mode="function") && 225s + sfsmisc::Sys.memGB() > 50) { ## seems to need 3 x size(m) 225s + ## 225s + n <- 46341 225s + print(as.integer(n^2))# integer overflow 225s + cat("Creating large matrix 'm' (more than max_int entries):\n ") 225s + print(system.time(m <- diag(x = (1:n)^3, nrow = n))) # 9.1 sec 225s + i <- 1:(n-1) 225s + print(system.time( m[cbind(i,i+1)] <- i )) # 11.3 sec 225s + cat("object.size(m): "); print(object.size(m), units="Gb") 225s + ## 16 Gb (= 17.78 e9 bytes) 225s + ## This __STILL__ takes hours 225s + cat("m %^% 2: "); print(system.time(m2 <- m %^% 2)) 225s + ## user system elapsed 225s + ## 127199.580 9608.373 137236.405 ==> 225s + 225s + cat("m %^% 4: "); print(system.time(m4 <- m %^% 4)) # 225s + } 225s > 225s > 226s autopkgtest [18:31:16]: test run-unit-test: -----------------------] 227s autopkgtest [18:31:17]: test run-unit-test: - - - - - - - - - - results - - - - - - - - - - 227s run-unit-test PASS 227s autopkgtest [18:31:17]: test pkg-r-autopkgtest: preparing testbed 435s autopkgtest [18:34:45]: testbed dpkg architecture: arm64 435s autopkgtest [18:34:45]: testbed apt version: 2.7.12 435s autopkgtest [18:34:45]: @@@@@@@@@@@@@@@@@@@@ test bed setup 436s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 436s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 436s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [51.4 kB] 436s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [474 kB] 436s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3682 kB] 437s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 Packages [646 kB] 437s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 c-n-f Metadata [3144 B] 437s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 Packages [33.6 kB] 437s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 c-n-f Metadata [116 B] 437s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 Packages [4006 kB] 437s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 c-n-f Metadata [8528 B] 437s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 Packages [55.5 kB] 437s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 c-n-f Metadata [116 B] 440s Fetched 9084 kB in 2s (4729 kB/s) 440s Reading package lists... 443s Reading package lists... 444s Building dependency tree... 444s Reading state information... 444s Calculating upgrade... 445s The following packages will be REMOVED: 445s libglib2.0-0 libssl3 445s The following NEW packages will be installed: 445s libglib2.0-0t64 libssl3t64 xdg-user-dirs 445s The following packages have been kept back: 445s curl 445s The following packages will be upgraded: 445s gir1.2-glib-2.0 libglib2.0-data libtirpc-common openssl readline-common 445s ubuntu-minimal ubuntu-standard 445s 7 upgraded, 3 newly installed, 2 to remove and 1 not upgraded. 445s Need to get 4613 kB of archives. 445s After this operation, 211 kB of additional disk space will be used. 445s Get:1 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 gir1.2-glib-2.0 arm64 2.79.3-3ubuntu5 [182 kB] 445s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libglib2.0-0t64 arm64 2.79.3-3ubuntu5 [1527 kB] 445s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 openssl arm64 3.0.13-0ubuntu1 [983 kB] 445s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libssl3t64 arm64 3.0.13-0ubuntu1 [1770 kB] 445s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libglib2.0-data all 2.79.3-3ubuntu5 [46.6 kB] 445s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libtirpc-common all 1.3.4+ds-1.1 [8018 B] 445s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 readline-common all 8.2-3.1 [56.4 kB] 445s Get:8 http://ftpmaster.internal/ubuntu noble/main arm64 ubuntu-minimal arm64 1.536 [10.7 kB] 445s Get:9 http://ftpmaster.internal/ubuntu noble/main arm64 xdg-user-dirs arm64 0.18-1 [18.1 kB] 445s Get:10 http://ftpmaster.internal/ubuntu noble/main arm64 ubuntu-standard arm64 1.536 [10.7 kB] 446s Fetched 4613 kB in 1s (6548 kB/s) 446s (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 ... 74758 files and directories currently installed.) 446s Preparing to unpack .../gir1.2-glib-2.0_2.79.3-3ubuntu5_arm64.deb ... 446s Unpacking gir1.2-glib-2.0:arm64 (2.79.3-3ubuntu5) over (2.79.2-1~ubuntu1) ... 446s dpkg: libglib2.0-0:arm64: dependency problems, but removing anyway as you requested: 446s udisks2 depends on libglib2.0-0 (>= 2.77.0). 446s shared-mime-info depends on libglib2.0-0 (>= 2.75.3). 446s python3-gi depends on libglib2.0-0 (>= 2.77.0). 446s python3-dbus depends on libglib2.0-0 (>= 2.16.0). 446s netplan.io depends on libglib2.0-0 (>= 2.70.0). 446s netplan-generator depends on libglib2.0-0 (>= 2.70.0). 446s libxmlb2:arm64 depends on libglib2.0-0 (>= 2.54.0). 446s libvolume-key1:arm64 depends on libglib2.0-0 (>= 2.18.0). 446s libudisks2-0:arm64 depends on libglib2.0-0 (>= 2.75.3). 446s libqrtr-glib0:arm64 depends on libglib2.0-0 (>= 2.56). 446s libqmi-proxy depends on libglib2.0-0 (>= 2.30.0). 446s libqmi-glib5:arm64 depends on libglib2.0-0 (>= 2.54.0). 446s libpolkit-gobject-1-0:arm64 depends on libglib2.0-0 (>= 2.38.0). 446s libpolkit-agent-1-0:arm64 depends on libglib2.0-0 (>= 2.38.0). 446s libnetplan0:arm64 depends on libglib2.0-0 (>= 2.75.3). 446s libmm-glib0:arm64 depends on libglib2.0-0 (>= 2.62.0). 446s libmbim-proxy depends on libglib2.0-0 (>= 2.56). 446s libmbim-glib4:arm64 depends on libglib2.0-0 (>= 2.56). 446s libjson-glib-1.0-0:arm64 depends on libglib2.0-0 (>= 2.75.3). 446s libjcat1:arm64 depends on libglib2.0-0 (>= 2.75.3). 446s libgusb2:arm64 depends on libglib2.0-0 (>= 2.75.3). 446s libgudev-1.0-0:arm64 depends on libglib2.0-0 (>= 2.38.0). 446s libgirepository-1.0-1:arm64 depends on libglib2.0-0 (>= 2.79.0). 446s libfwupd2:arm64 depends on libglib2.0-0 (>= 2.79.0). 446s libblockdev3:arm64 depends on libglib2.0-0 (>= 2.42.2). 446s libblockdev-utils3:arm64 depends on libglib2.0-0 (>= 2.75.3). 446s libblockdev-swap3:arm64 depends on libglib2.0-0 (>= 2.42.2). 446s libblockdev-part3:arm64 depends on libglib2.0-0 (>= 2.42.2). 446s libblockdev-nvme3:arm64 depends on libglib2.0-0 (>= 2.42.2). 446s libblockdev-mdraid3:arm64 depends on libglib2.0-0 (>= 2.42.2). 446s libblockdev-loop3:arm64 depends on libglib2.0-0 (>= 2.42.2). 446s libblockdev-fs3:arm64 depends on libglib2.0-0 (>= 2.42.2). 446s libblockdev-crypto3:arm64 depends on libglib2.0-0 (>= 2.42.2). 446s fwupd depends on libglib2.0-0 (>= 2.79.0). 446s bolt depends on libglib2.0-0 (>= 2.56.0). 446s 446s (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 ... 74758 files and directories currently installed.) 446s Removing libglib2.0-0:arm64 (2.79.2-1~ubuntu1) ... 446s Selecting previously unselected package libglib2.0-0t64:arm64. 446s (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 ... 74733 files and directories currently installed.) 446s Preparing to unpack .../libglib2.0-0t64_2.79.3-3ubuntu5_arm64.deb ... 447s libglib2.0-0t64.preinst: Removing /var/lib/dpkg/info/libglib2.0-0:arm64.postrm to avoid loss of /usr/share/glib-2.0/schemas/gschemas.compiled... 447s removed '/var/lib/dpkg/info/libglib2.0-0:arm64.postrm' 447s Unpacking libglib2.0-0t64:arm64 (2.79.3-3ubuntu5) ... 447s Preparing to unpack .../openssl_3.0.13-0ubuntu1_arm64.deb ... 447s Unpacking openssl (3.0.13-0ubuntu1) over (3.0.10-1ubuntu4) ... 447s dpkg: libssl3:arm64: dependency problems, but removing anyway as you requested: 447s wget depends on libssl3 (>= 3.0.0). 447s u-boot-tools depends on libssl3 (>= 3.0.0). 447s tnftp depends on libssl3 (>= 3.0.0). 447s tcpdump depends on libssl3 (>= 3.0.0). 447s systemd-resolved depends on libssl3 (>= 3.0.0). 447s systemd depends on libssl3 (>= 3.0.0). 447s sudo depends on libssl3 (>= 3.0.0). 447s sbsigntool depends on libssl3 (>= 3.0.0). 447s rsync depends on libssl3 (>= 3.0.0). 447s python3-cryptography depends on libssl3 (>= 3.0.0). 447s openssh-server depends on libssl3 (>= 3.0.10). 447s openssh-client depends on libssl3 (>= 3.0.10). 447s mtd-utils depends on libssl3 (>= 3.0.0). 447s mokutil depends on libssl3 (>= 3.0.0). 447s linux-headers-6.8.0-11-generic depends on libssl3 (>= 3.0.0). 447s libsystemd-shared:arm64 depends on libssl3 (>= 3.0.0). 447s libssh-4:arm64 depends on libssl3 (>= 3.0.0). 447s libsasl2-modules:arm64 depends on libssl3 (>= 3.0.0). 447s libsasl2-2:arm64 depends on libssl3 (>= 3.0.0). 447s libpython3.12-minimal:arm64 depends on libssl3 (>= 3.0.0). 447s libnvme1 depends on libssl3 (>= 3.0.0). 447s libkrb5-3:arm64 depends on libssl3 (>= 3.0.0). 447s libkmod2:arm64 depends on libssl3 (>= 3.0.0). 447s libfido2-1:arm64 depends on libssl3 (>= 3.0.0). 447s libcurl4:arm64 depends on libssl3 (>= 3.0.0). 447s libcryptsetup12:arm64 depends on libssl3 (>= 3.0.0). 447s kmod depends on libssl3 (>= 3.0.0). 447s dhcpcd-base depends on libssl3 (>= 3.0.0). 447s bind9-libs:arm64 depends on libssl3 (>= 3.0.0). 447s 447s (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 ... 74758 files and directories currently installed.) 447s Removing libssl3:arm64 (3.0.10-1ubuntu4) ... 447s Selecting previously unselected package libssl3t64:arm64. 447s (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 ... 74747 files and directories currently installed.) 447s Preparing to unpack .../0-libssl3t64_3.0.13-0ubuntu1_arm64.deb ... 447s Unpacking libssl3t64:arm64 (3.0.13-0ubuntu1) ... 447s Preparing to unpack .../1-libglib2.0-data_2.79.3-3ubuntu5_all.deb ... 447s Unpacking libglib2.0-data (2.79.3-3ubuntu5) over (2.79.2-1~ubuntu1) ... 447s Preparing to unpack .../2-libtirpc-common_1.3.4+ds-1.1_all.deb ... 447s Unpacking libtirpc-common (1.3.4+ds-1.1) over (1.3.4+ds-1build1) ... 447s Preparing to unpack .../3-readline-common_8.2-3.1_all.deb ... 447s Unpacking readline-common (8.2-3.1) over (8.2-3) ... 447s Preparing to unpack .../4-ubuntu-minimal_1.536_arm64.deb ... 447s Unpacking ubuntu-minimal (1.536) over (1.535) ... 447s Selecting previously unselected package xdg-user-dirs. 447s Preparing to unpack .../5-xdg-user-dirs_0.18-1_arm64.deb ... 447s Unpacking xdg-user-dirs (0.18-1) ... 447s Preparing to unpack .../6-ubuntu-standard_1.536_arm64.deb ... 447s Unpacking ubuntu-standard (1.536) over (1.535) ... 447s Setting up ubuntu-minimal (1.536) ... 447s Setting up xdg-user-dirs (0.18-1) ... 447s Setting up libssl3t64:arm64 (3.0.13-0ubuntu1) ... 447s Setting up libtirpc-common (1.3.4+ds-1.1) ... 447s Setting up ubuntu-standard (1.536) ... 447s Setting up libglib2.0-0t64:arm64 (2.79.3-3ubuntu5) ... 447s No schema files found: doing nothing. 447s Setting up libglib2.0-data (2.79.3-3ubuntu5) ... 447s Setting up gir1.2-glib-2.0:arm64 (2.79.3-3ubuntu5) ... 447s Setting up openssl (3.0.13-0ubuntu1) ... 447s Setting up readline-common (8.2-3.1) ... 447s Processing triggers for man-db (2.12.0-3) ... 448s Processing triggers for install-info (7.1-3) ... 448s Processing triggers for libc-bin (2.39-0ubuntu2) ... 449s Reading package lists... 449s Building dependency tree... 449s Reading state information... 450s 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. 451s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 451s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 451s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 451s Hit:4 http://ftpmaster.internal/ubuntu noble-proposed InRelease 453s Reading package lists... 453s Reading package lists... 453s Building dependency tree... 453s Reading state information... 454s Calculating upgrade... 454s The following packages have been kept back: 454s curl 454s 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. 454s Reading package lists... 455s Building dependency tree... 455s Reading state information... 455s 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. 460s Reading package lists... 461s Building dependency tree... 461s Reading state information... 461s Starting pkgProblemResolver with broken count: 0 461s Starting 2 pkgProblemResolver with broken count: 0 461s Done 462s The following additional packages will be installed: 462s build-essential cpp cpp-13 cpp-13-aarch64-linux-gnu cpp-aarch64-linux-gnu 462s curl dctrl-tools fontconfig fontconfig-config fonts-dejavu-core 462s fonts-dejavu-mono g++ g++-13 g++-13-aarch64-linux-gnu g++-aarch64-linux-gnu 462s gcc gcc-13 gcc-13-aarch64-linux-gnu gcc-aarch64-linux-gnu gfortran 462s gfortran-13 gfortran-13-aarch64-linux-gnu gfortran-aarch64-linux-gnu 462s icu-devtools libasan8 libatomic1 libblas-dev libblas3 libbz2-dev 462s libc-dev-bin libc6-dev libcairo2 libcc1-0 libcrypt-dev libcurl4t64 462s libdatrie1 libdeflate0 libfontconfig1 libgcc-13-dev libgfortran-13-dev 462s libgfortran5 libgomp1 libgraphite2-3 libharfbuzz0b libhwasan0 libice6 462s libicu-dev libisl23 libitm1 libjbig0 libjpeg-dev libjpeg-turbo8 462s libjpeg-turbo8-dev libjpeg8 libjpeg8-dev liblapack-dev liblapack3 liblerc4 462s liblsan0 liblzma-dev libmpc3 libncurses-dev libnsl-dev libpango-1.0-0 462s libpangocairo-1.0-0 libpangoft2-1.0-0 libpaper-utils libpaper1 libpcre2-16-0 462s libpcre2-32-0 libpcre2-dev libpcre2-posix3 libpixman-1-0 libpkgconf3 462s libpng-dev libpng16-16t64 libpsl5t64 libreadline-dev libreadline8t64 462s libsharpyuv0 libsm6 libstdc++-13-dev libtcl8.6 libthai-data libthai0 462s libtiff6 libtirpc-dev libtirpc3t64 libtk8.6 libtsan2 libubsan1 libwebp7 462s libxcb-render0 libxcb-shm0 libxft2 libxrender1 libxss1 libxt6t64 462s linux-libc-dev pkg-config pkg-r-autopkgtest pkgconf pkgconf-bin r-base-core 462s r-base-dev r-cran-expm r-cran-lattice r-cran-matrix r-cran-rcolorbrewer 462s r-cran-sfsmisc rpcsvc-proto unzip x11-common xdg-utils zip zlib1g-dev 462s Suggested packages: 462s cpp-doc gcc-13-locales cpp-13-doc debtags gcc-13-doc gcc-multilib 462s manpages-dev autoconf automake libtool flex bison gdb gcc-doc 462s gdb-aarch64-linux-gnu gfortran-doc gfortran-13-doc libcoarrays-dev 462s liblapack-doc glibc-doc icu-doc liblzma-doc ncurses-doc readline-doc 462s libstdc++-13-doc tcl8.6 tk8.6 elpa-ess r-doc-info | r-doc-pdf r-mathlib 462s r-base-html texlive-base texlive-latex-base texlive-plain-generic 462s texlive-fonts-recommended texlive-fonts-extra texlive-extra-utils 462s texlive-latex-recommended texlive-latex-extra texinfo 462s Recommended packages: 462s bzip2-doc manpages manpages-dev libc-devtools libpng-tools r-recommended 462s r-doc-html r-cran-rmpfr r-cran-cluster r-cran-mass r-cran-nlme r-cran-gmp 462s libfile-mimeinfo-perl libnet-dbus-perl libx11-protocol-perl x11-utils 462s x11-xserver-utils 462s The following packages will be REMOVED: 462s libcurl4 libpng16-16 libpsl5 libreadline8 libtirpc3 462s The following NEW packages will be installed: 462s autopkgtest-satdep build-essential cpp cpp-13 cpp-13-aarch64-linux-gnu 462s cpp-aarch64-linux-gnu dctrl-tools fontconfig fontconfig-config 462s fonts-dejavu-core fonts-dejavu-mono g++ g++-13 g++-13-aarch64-linux-gnu 462s g++-aarch64-linux-gnu gcc gcc-13 gcc-13-aarch64-linux-gnu 462s gcc-aarch64-linux-gnu gfortran gfortran-13 gfortran-13-aarch64-linux-gnu 462s gfortran-aarch64-linux-gnu icu-devtools libasan8 libatomic1 libblas-dev 462s libblas3 libbz2-dev libc-dev-bin libc6-dev libcairo2 libcc1-0 libcrypt-dev 462s libcurl4t64 libdatrie1 libdeflate0 libfontconfig1 libgcc-13-dev 462s libgfortran-13-dev libgfortran5 libgomp1 libgraphite2-3 libharfbuzz0b 462s libhwasan0 libice6 libicu-dev libisl23 libitm1 libjbig0 libjpeg-dev 462s libjpeg-turbo8 libjpeg-turbo8-dev libjpeg8 libjpeg8-dev liblapack-dev 462s liblapack3 liblerc4 liblsan0 liblzma-dev libmpc3 libncurses-dev libnsl-dev 462s libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpaper-utils 462s libpaper1 libpcre2-16-0 libpcre2-32-0 libpcre2-dev libpcre2-posix3 462s libpixman-1-0 libpkgconf3 libpng-dev libpng16-16t64 libpsl5t64 462s libreadline-dev libreadline8t64 libsharpyuv0 libsm6 libstdc++-13-dev 462s libtcl8.6 libthai-data libthai0 libtiff6 libtirpc-dev libtirpc3t64 libtk8.6 462s libtsan2 libubsan1 libwebp7 libxcb-render0 libxcb-shm0 libxft2 libxrender1 462s libxss1 libxt6t64 linux-libc-dev pkg-config pkg-r-autopkgtest pkgconf 462s pkgconf-bin r-base-core r-base-dev r-cran-expm r-cran-lattice r-cran-matrix 462s r-cran-rcolorbrewer r-cran-sfsmisc rpcsvc-proto unzip x11-common xdg-utils 462s zip zlib1g-dev 462s The following packages will be upgraded: 462s curl 462s 1 upgraded, 116 newly installed, 5 to remove and 0 not upgraded. 462s Need to get 137 MB/137 MB of archives. 462s After this operation, 428 MB of additional disk space will be used. 462s Get:1 /tmp/autopkgtest.s8nco8/2-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [732 B] 462s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libpsl5t64 arm64 0.21.2-1.1 [57.4 kB] 462s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 curl arm64 8.5.0-2ubuntu7 [222 kB] 462s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libcurl4t64 arm64 8.5.0-2ubuntu7 [332 kB] 463s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libpng16-16t64 arm64 1.6.43-3 [185 kB] 463s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libreadline8t64 arm64 8.2-3.1 [153 kB] 463s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libtirpc3t64 arm64 1.3.4+ds-1.1 [83.5 kB] 463s Get:8 http://ftpmaster.internal/ubuntu noble/main arm64 libc-dev-bin arm64 2.39-0ubuntu2 [19.7 kB] 463s Get:9 http://ftpmaster.internal/ubuntu noble/main arm64 linux-libc-dev arm64 6.8.0-11.11 [1569 kB] 463s Get:10 http://ftpmaster.internal/ubuntu noble/main arm64 libcrypt-dev arm64 1:4.4.36-4 [136 kB] 463s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libtirpc-dev arm64 1.3.4+ds-1.1 [201 kB] 463s Get:12 http://ftpmaster.internal/ubuntu noble/main arm64 libnsl-dev arm64 1.3.0-3 [71.9 kB] 463s Get:13 http://ftpmaster.internal/ubuntu noble/main arm64 rpcsvc-proto arm64 1.4.2-0ubuntu6 [65.4 kB] 463s Get:14 http://ftpmaster.internal/ubuntu noble/main arm64 libc6-dev arm64 2.39-0ubuntu2 [1596 kB] 463s Get:15 http://ftpmaster.internal/ubuntu noble/main arm64 libisl23 arm64 0.26-3 [713 kB] 463s Get:16 http://ftpmaster.internal/ubuntu noble/main arm64 libmpc3 arm64 1.3.1-1 [55.3 kB] 463s Get:17 http://ftpmaster.internal/ubuntu noble/main arm64 cpp-13-aarch64-linux-gnu arm64 13.2.0-17ubuntu2 [10.3 MB] 463s Get:18 http://ftpmaster.internal/ubuntu noble/main arm64 cpp-13 arm64 13.2.0-17ubuntu2 [1028 B] 463s Get:19 http://ftpmaster.internal/ubuntu noble/main arm64 cpp-aarch64-linux-gnu arm64 4:13.2.0-7ubuntu1 [5316 B] 463s Get:20 http://ftpmaster.internal/ubuntu noble/main arm64 cpp arm64 4:13.2.0-7ubuntu1 [22.4 kB] 463s Get:21 http://ftpmaster.internal/ubuntu noble/main arm64 libcc1-0 arm64 14-20240303-1ubuntu1 [44.7 kB] 463s Get:22 http://ftpmaster.internal/ubuntu noble/main arm64 libgomp1 arm64 14-20240303-1ubuntu1 [144 kB] 463s Get:23 http://ftpmaster.internal/ubuntu noble/main arm64 libitm1 arm64 14-20240303-1ubuntu1 [27.7 kB] 463s Get:24 http://ftpmaster.internal/ubuntu noble/main arm64 libatomic1 arm64 14-20240303-1ubuntu1 [11.4 kB] 463s Get:25 http://ftpmaster.internal/ubuntu noble/main arm64 libasan8 arm64 14-20240303-1ubuntu1 [2919 kB] 463s Get:26 http://ftpmaster.internal/ubuntu noble/main arm64 liblsan0 arm64 14-20240303-1ubuntu1 [1282 kB] 463s Get:27 http://ftpmaster.internal/ubuntu noble/main arm64 libtsan2 arm64 14-20240303-1ubuntu1 [2687 kB] 463s Get:28 http://ftpmaster.internal/ubuntu noble/main arm64 libubsan1 arm64 14-20240303-1ubuntu1 [1151 kB] 463s Get:29 http://ftpmaster.internal/ubuntu noble/main arm64 libhwasan0 arm64 14-20240303-1ubuntu1 [1597 kB] 463s Get:30 http://ftpmaster.internal/ubuntu noble/main arm64 libgcc-13-dev arm64 13.2.0-17ubuntu2 [2464 kB] 463s Get:31 http://ftpmaster.internal/ubuntu noble/main arm64 gcc-13-aarch64-linux-gnu arm64 13.2.0-17ubuntu2 [20.1 MB] 464s Get:32 http://ftpmaster.internal/ubuntu noble/main arm64 gcc-13 arm64 13.2.0-17ubuntu2 [467 kB] 464s Get:33 http://ftpmaster.internal/ubuntu noble/main arm64 gcc-aarch64-linux-gnu arm64 4:13.2.0-7ubuntu1 [1198 B] 464s Get:34 http://ftpmaster.internal/ubuntu noble/main arm64 gcc arm64 4:13.2.0-7ubuntu1 [5018 B] 464s Get:35 http://ftpmaster.internal/ubuntu noble/main arm64 libstdc++-13-dev arm64 13.2.0-17ubuntu2 [2322 kB] 464s Get:36 http://ftpmaster.internal/ubuntu noble/main arm64 g++-13-aarch64-linux-gnu arm64 13.2.0-17ubuntu2 [11.7 MB] 464s Get:37 http://ftpmaster.internal/ubuntu noble/main arm64 g++-13 arm64 13.2.0-17ubuntu2 [14.4 kB] 464s Get:38 http://ftpmaster.internal/ubuntu noble/main arm64 g++-aarch64-linux-gnu arm64 4:13.2.0-7ubuntu1 [962 B] 464s Get:39 http://ftpmaster.internal/ubuntu noble/main arm64 g++ arm64 4:13.2.0-7ubuntu1 [1082 B] 464s Get:40 http://ftpmaster.internal/ubuntu noble/main arm64 build-essential arm64 12.10ubuntu1 [4932 B] 464s Get:41 http://ftpmaster.internal/ubuntu noble/main arm64 dctrl-tools arm64 2.24-3build2 [65.2 kB] 464s Get:42 http://ftpmaster.internal/ubuntu noble/main arm64 fonts-dejavu-mono all 2.37-8 [502 kB] 464s Get:43 http://ftpmaster.internal/ubuntu noble/main arm64 fonts-dejavu-core all 2.37-8 [835 kB] 464s Get:44 http://ftpmaster.internal/ubuntu noble/main arm64 fontconfig-config arm64 2.15.0-1ubuntu1 [37.0 kB] 464s Get:45 http://ftpmaster.internal/ubuntu noble/main arm64 libfontconfig1 arm64 2.15.0-1ubuntu1 [142 kB] 464s Get:46 http://ftpmaster.internal/ubuntu noble/main arm64 fontconfig arm64 2.15.0-1ubuntu1 [190 kB] 464s Get:47 http://ftpmaster.internal/ubuntu noble/main arm64 libgfortran5 arm64 14-20240303-1ubuntu1 [444 kB] 464s Get:48 http://ftpmaster.internal/ubuntu noble/main arm64 libgfortran-13-dev arm64 13.2.0-17ubuntu2 [478 kB] 464s Get:49 http://ftpmaster.internal/ubuntu noble/main arm64 gfortran-13-aarch64-linux-gnu arm64 13.2.0-17ubuntu2 [10.8 MB] 465s Get:50 http://ftpmaster.internal/ubuntu noble/main arm64 gfortran-13 arm64 13.2.0-17ubuntu2 [10.3 kB] 465s Get:51 http://ftpmaster.internal/ubuntu noble/main arm64 gfortran-aarch64-linux-gnu arm64 4:13.2.0-7ubuntu1 [1022 B] 465s Get:52 http://ftpmaster.internal/ubuntu noble/main arm64 gfortran arm64 4:13.2.0-7ubuntu1 [1164 B] 465s Get:53 http://ftpmaster.internal/ubuntu noble/main arm64 icu-devtools arm64 74.2-1ubuntu1 [209 kB] 465s Get:54 http://ftpmaster.internal/ubuntu noble/main arm64 libblas3 arm64 3.12.0-3 [143 kB] 465s Get:55 http://ftpmaster.internal/ubuntu noble/main arm64 libblas-dev arm64 3.12.0-3 [111 kB] 465s Get:56 http://ftpmaster.internal/ubuntu noble/main arm64 libbz2-dev arm64 1.0.8-5ubuntu1 [35.8 kB] 465s Get:57 http://ftpmaster.internal/ubuntu noble/main arm64 libpixman-1-0 arm64 0.42.2-1 [193 kB] 465s Get:58 http://ftpmaster.internal/ubuntu noble/main arm64 libxcb-render0 arm64 1.15-1 [16.1 kB] 465s Get:59 http://ftpmaster.internal/ubuntu noble/main arm64 libxcb-shm0 arm64 1.15-1 [5780 B] 465s Get:60 http://ftpmaster.internal/ubuntu noble/main arm64 libxrender1 arm64 1:0.9.10-1.1 [19.1 kB] 465s Get:61 http://ftpmaster.internal/ubuntu noble/main arm64 libcairo2 arm64 1.18.0-1 [550 kB] 465s Get:62 http://ftpmaster.internal/ubuntu noble/main arm64 libdatrie1 arm64 0.2.13-3 [21.7 kB] 465s Get:63 http://ftpmaster.internal/ubuntu noble/main arm64 libdeflate0 arm64 1.19-1 [43.4 kB] 465s Get:64 http://ftpmaster.internal/ubuntu noble/main arm64 libgraphite2-3 arm64 1.3.14-2 [81.5 kB] 465s Get:65 http://ftpmaster.internal/ubuntu noble/main arm64 libharfbuzz0b arm64 8.3.0-2 [463 kB] 465s Get:66 http://ftpmaster.internal/ubuntu noble/main arm64 x11-common all 1:7.7+23ubuntu2 [23.4 kB] 465s Get:67 http://ftpmaster.internal/ubuntu noble/main arm64 libice6 arm64 2:1.0.10-1build2 [41.7 kB] 465s Get:68 http://ftpmaster.internal/ubuntu noble/main arm64 libicu-dev arm64 74.2-1ubuntu1 [11.9 MB] 465s Get:69 http://ftpmaster.internal/ubuntu noble/main arm64 libjpeg-turbo8 arm64 2.1.5-2ubuntu1 [160 kB] 465s Get:70 http://ftpmaster.internal/ubuntu noble/main arm64 libjpeg-turbo8-dev arm64 2.1.5-2ubuntu1 [304 kB] 465s Get:71 http://ftpmaster.internal/ubuntu noble/main arm64 libjpeg8 arm64 8c-2ubuntu11 [2148 B] 465s Get:72 http://ftpmaster.internal/ubuntu noble/main arm64 libjpeg8-dev arm64 8c-2ubuntu11 [1484 B] 465s Get:73 http://ftpmaster.internal/ubuntu noble/main arm64 libjpeg-dev arm64 8c-2ubuntu11 [1482 B] 465s Get:74 http://ftpmaster.internal/ubuntu noble/main arm64 liblapack3 arm64 3.12.0-3 [2241 kB] 465s Get:75 http://ftpmaster.internal/ubuntu noble/main arm64 liblapack-dev arm64 3.12.0-3 [4293 kB] 465s Get:76 http://ftpmaster.internal/ubuntu noble/main arm64 liblerc4 arm64 4.0.0+ds-4ubuntu1 [153 kB] 465s Get:77 http://ftpmaster.internal/ubuntu noble/main arm64 libncurses-dev arm64 6.4+20240113-1ubuntu1 [385 kB] 465s Get:78 http://ftpmaster.internal/ubuntu noble/main arm64 libthai-data all 0.1.29-2 [158 kB] 465s Get:79 http://ftpmaster.internal/ubuntu noble/main arm64 libthai0 arm64 0.1.29-2 [18.1 kB] 465s Get:80 http://ftpmaster.internal/ubuntu noble/main arm64 libpango-1.0-0 arm64 1.51.0+ds-4 [226 kB] 465s Get:81 http://ftpmaster.internal/ubuntu noble/main arm64 libpangoft2-1.0-0 arm64 1.51.0+ds-4 [41.2 kB] 465s Get:82 http://ftpmaster.internal/ubuntu noble/main arm64 libpangocairo-1.0-0 arm64 1.51.0+ds-4 [27.6 kB] 465s Get:83 http://ftpmaster.internal/ubuntu noble/main arm64 libpaper1 arm64 1.1.29 [13.1 kB] 465s Get:84 http://ftpmaster.internal/ubuntu noble/main arm64 libpaper-utils arm64 1.1.29 [8480 B] 465s Get:85 http://ftpmaster.internal/ubuntu noble/main arm64 libpcre2-16-0 arm64 10.42-4ubuntu1 [195 kB] 465s Get:86 http://ftpmaster.internal/ubuntu noble/main arm64 libpcre2-32-0 arm64 10.42-4ubuntu1 [183 kB] 465s Get:87 http://ftpmaster.internal/ubuntu noble/main arm64 libpcre2-posix3 arm64 10.42-4ubuntu1 [6654 B] 465s Get:88 http://ftpmaster.internal/ubuntu noble/main arm64 libpcre2-dev arm64 10.42-4ubuntu1 [679 kB] 465s Get:89 http://ftpmaster.internal/ubuntu noble/main arm64 libpkgconf3 arm64 1.8.1-2 [31.2 kB] 465s Get:90 http://ftpmaster.internal/ubuntu noble/main arm64 zlib1g-dev arm64 1:1.3.dfsg-3ubuntu1 [895 kB] 465s Get:91 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libpng-dev arm64 1.6.43-3 [267 kB] 465s Get:92 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libreadline-dev arm64 8.2-3.1 [177 kB] 465s Get:93 http://ftpmaster.internal/ubuntu noble/main arm64 libsharpyuv0 arm64 1.3.2-0.4 [14.4 kB] 465s Get:94 http://ftpmaster.internal/ubuntu noble/main arm64 libsm6 arm64 2:1.2.3-1build2 [16.1 kB] 465s Get:95 http://ftpmaster.internal/ubuntu noble/main arm64 libtcl8.6 arm64 8.6.13+dfsg-2 [980 kB] 465s Get:96 http://ftpmaster.internal/ubuntu noble/main arm64 libjbig0 arm64 2.1-6.1ubuntu1 [28.9 kB] 465s Get:97 http://ftpmaster.internal/ubuntu noble/main arm64 libwebp7 arm64 1.3.2-0.4 [191 kB] 465s Get:98 http://ftpmaster.internal/ubuntu noble/main arm64 libtiff6 arm64 4.5.1+git230720-3ubuntu1 [226 kB] 465s Get:99 http://ftpmaster.internal/ubuntu noble/main arm64 libxft2 arm64 2.3.6-1 [43.3 kB] 465s Get:100 http://ftpmaster.internal/ubuntu noble/main arm64 libxss1 arm64 1:1.2.3-1build2 [8252 B] 465s Get:101 http://ftpmaster.internal/ubuntu noble/main arm64 libtk8.6 arm64 8.6.13-2 [760 kB] 465s Get:102 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 libxt6t64 arm64 1:1.2.1-1.2 [168 kB] 465s Get:103 http://ftpmaster.internal/ubuntu noble/main arm64 pkgconf-bin arm64 1.8.1-2 [20.4 kB] 466s Get:104 http://ftpmaster.internal/ubuntu noble/main arm64 pkgconf arm64 1.8.1-2 [16.7 kB] 466s Get:105 http://ftpmaster.internal/ubuntu noble/main arm64 pkg-config arm64 1.8.1-2 [7170 B] 466s Get:106 http://ftpmaster.internal/ubuntu noble/main arm64 zip arm64 3.0-13 [172 kB] 466s Get:107 http://ftpmaster.internal/ubuntu noble/main arm64 unzip arm64 6.0-28ubuntu3 [171 kB] 466s Get:108 http://ftpmaster.internal/ubuntu noble/main arm64 xdg-utils all 1.1.3-4.1ubuntu3 [62.0 kB] 466s Get:109 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 r-base-core arm64 4.3.3-2build1 [26.8 MB] 467s Get:110 http://ftpmaster.internal/ubuntu noble/main arm64 liblzma-dev arm64 5.4.5-0.3 [209 kB] 467s Get:111 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 r-base-dev all 4.3.3-2build1 [4334 B] 467s Get:112 http://ftpmaster.internal/ubuntu noble/universe arm64 pkg-r-autopkgtest all 20231212ubuntu1 [6448 B] 467s Get:113 http://ftpmaster.internal/ubuntu noble/universe arm64 r-cran-lattice arm64 0.22-5-1 [1342 kB] 467s Get:114 http://ftpmaster.internal/ubuntu noble/universe arm64 r-cran-matrix arm64 1.6-5-1 [3776 kB] 467s Get:115 http://ftpmaster.internal/ubuntu noble/universe arm64 r-cran-expm arm64 0.999-9-1 [217 kB] 467s Get:116 http://ftpmaster.internal/ubuntu noble/universe arm64 r-cran-rcolorbrewer all 1.1-3-1build1 [55.4 kB] 467s Get:117 http://ftpmaster.internal/ubuntu noble/universe arm64 r-cran-sfsmisc all 1.1-16-1 [651 kB] 469s Preconfiguring packages ... 469s Fetched 137 MB in 5s (26.7 MB/s) 469s dpkg: libpsl5:arm64: dependency problems, but removing anyway as you requested: 469s wget depends on libpsl5 (>= 0.16.0). 469s libcurl4:arm64 depends on libpsl5 (>= 0.16.0). 469s libcurl3-gnutls:arm64 depends on libpsl5 (>= 0.16.0). 469s 469s (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 ... 74774 files and directories currently installed.) 469s Removing libpsl5:arm64 (0.21.2-1build1) ... 469s Selecting previously unselected package libpsl5t64:arm64. 469s (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 ... 74769 files and directories currently installed.) 469s Preparing to unpack .../libpsl5t64_0.21.2-1.1_arm64.deb ... 469s Unpacking libpsl5t64:arm64 (0.21.2-1.1) ... 470s Preparing to unpack .../curl_8.5.0-2ubuntu7_arm64.deb ... 470s Unpacking curl (8.5.0-2ubuntu7) over (8.5.0-2ubuntu2) ... 470s (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 ... 74775 files and directories currently installed.) 470s Removing libcurl4:arm64 (8.5.0-2ubuntu2) ... 470s Selecting previously unselected package libcurl4t64:arm64. 470s (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 ... 74770 files and directories currently installed.) 470s Preparing to unpack .../libcurl4t64_8.5.0-2ubuntu7_arm64.deb ... 470s Unpacking libcurl4t64:arm64 (8.5.0-2ubuntu7) ... 471s dpkg: libpng16-16:arm64: dependency problems, but removing anyway as you requested: 471s libplymouth5:arm64 depends on libpng16-16 (>= 1.6.2). 471s libfreetype6:arm64 depends on libpng16-16 (>= 1.6.2-1). 471s 471s (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 ... 74776 files and directories currently installed.) 471s Removing libpng16-16:arm64 (1.6.43-1) ... 471s Selecting previously unselected package libpng16-16t64:arm64. 471s (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 ... 74766 files and directories currently installed.) 471s Preparing to unpack .../libpng16-16t64_1.6.43-3_arm64.deb ... 471s Unpacking libpng16-16t64:arm64 (1.6.43-3) ... 471s dpkg: libreadline8:arm64: dependency problems, but removing anyway as you requested: 471s parted depends on libreadline8 (>= 6.0). 471s libpython3.12-stdlib:arm64 depends on libreadline8 (>= 7.0~beta). 471s gpgsm depends on libreadline8 (>= 6.0). 471s gpgconf depends on libreadline8 (>= 6.0). 471s gpg depends on libreadline8 (>= 6.0). 471s gawk depends on libreadline8 (>= 6.0). 471s fdisk depends on libreadline8 (>= 6.0). 471s 471s (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 ... 74777 files and directories currently installed.) 471s Removing libreadline8:arm64 (8.2-3) ... 471s Selecting previously unselected package libreadline8t64:arm64. 471s (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 ... 74765 files and directories currently installed.) 471s Preparing to unpack .../libreadline8t64_8.2-3.1_arm64.deb ... 471s Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8 to /lib/aarch64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' 471s Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8.2 to /lib/aarch64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' 471s Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8 to /lib/aarch64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' 471s Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8.2 to /lib/aarch64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' 471s Unpacking libreadline8t64:arm64 (8.2-3.1) ... 471s dpkg: libtirpc3:arm64: dependency problems, but removing anyway as you requested: 471s lsof depends on libtirpc3 (>= 1.0.2). 471s libpython3.12-stdlib:arm64 depends on libtirpc3 (>= 1.0.2). 471s libnss-nisplus:arm64 depends on libtirpc3 (>= 1.0.2). 471s libnsl2:arm64 depends on libtirpc3 (>= 1.0.2). 471s iproute2 depends on libtirpc3 (>= 1.0.2). 471s 471s (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 ... 74785 files and directories currently installed.) 471s Removing libtirpc3:arm64 (1.3.4+ds-1build1) ... 471s Selecting previously unselected package libtirpc3t64:arm64. 472s (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 ... 74779 files and directories currently installed.) 472s Preparing to unpack .../000-libtirpc3t64_1.3.4+ds-1.1_arm64.deb ... 472s Adding 'diversion of /lib/aarch64-linux-gnu/libtirpc.so.3 to /lib/aarch64-linux-gnu/libtirpc.so.3.usr-is-merged by libtirpc3t64' 472s Adding 'diversion of /lib/aarch64-linux-gnu/libtirpc.so.3.0.0 to /lib/aarch64-linux-gnu/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' 472s Unpacking libtirpc3t64:arm64 (1.3.4+ds-1.1) ... 472s Selecting previously unselected package libc-dev-bin. 472s Preparing to unpack .../001-libc-dev-bin_2.39-0ubuntu2_arm64.deb ... 472s Unpacking libc-dev-bin (2.39-0ubuntu2) ... 472s Selecting previously unselected package linux-libc-dev:arm64. 472s Preparing to unpack .../002-linux-libc-dev_6.8.0-11.11_arm64.deb ... 472s Unpacking linux-libc-dev:arm64 (6.8.0-11.11) ... 472s Selecting previously unselected package libcrypt-dev:arm64. 472s Preparing to unpack .../003-libcrypt-dev_1%3a4.4.36-4_arm64.deb ... 472s Unpacking libcrypt-dev:arm64 (1:4.4.36-4) ... 472s Selecting previously unselected package libtirpc-dev:arm64. 472s Preparing to unpack .../004-libtirpc-dev_1.3.4+ds-1.1_arm64.deb ... 472s Unpacking libtirpc-dev:arm64 (1.3.4+ds-1.1) ... 472s Selecting previously unselected package libnsl-dev:arm64. 473s Preparing to unpack .../005-libnsl-dev_1.3.0-3_arm64.deb ... 473s Unpacking libnsl-dev:arm64 (1.3.0-3) ... 473s Selecting previously unselected package rpcsvc-proto. 473s Preparing to unpack .../006-rpcsvc-proto_1.4.2-0ubuntu6_arm64.deb ... 473s Unpacking rpcsvc-proto (1.4.2-0ubuntu6) ... 473s Selecting previously unselected package libc6-dev:arm64. 473s Preparing to unpack .../007-libc6-dev_2.39-0ubuntu2_arm64.deb ... 473s Unpacking libc6-dev:arm64 (2.39-0ubuntu2) ... 473s Selecting previously unselected package libisl23:arm64. 473s Preparing to unpack .../008-libisl23_0.26-3_arm64.deb ... 473s Unpacking libisl23:arm64 (0.26-3) ... 473s Selecting previously unselected package libmpc3:arm64. 473s Preparing to unpack .../009-libmpc3_1.3.1-1_arm64.deb ... 473s Unpacking libmpc3:arm64 (1.3.1-1) ... 473s Selecting previously unselected package cpp-13-aarch64-linux-gnu. 473s Preparing to unpack .../010-cpp-13-aarch64-linux-gnu_13.2.0-17ubuntu2_arm64.deb ... 473s Unpacking cpp-13-aarch64-linux-gnu (13.2.0-17ubuntu2) ... 473s Selecting previously unselected package cpp-13. 473s Preparing to unpack .../011-cpp-13_13.2.0-17ubuntu2_arm64.deb ... 473s Unpacking cpp-13 (13.2.0-17ubuntu2) ... 473s Selecting previously unselected package cpp-aarch64-linux-gnu. 474s Preparing to unpack .../012-cpp-aarch64-linux-gnu_4%3a13.2.0-7ubuntu1_arm64.deb ... 474s Unpacking cpp-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 474s Selecting previously unselected package cpp. 474s Preparing to unpack .../013-cpp_4%3a13.2.0-7ubuntu1_arm64.deb ... 474s Unpacking cpp (4:13.2.0-7ubuntu1) ... 474s Selecting previously unselected package libcc1-0:arm64. 474s Preparing to unpack .../014-libcc1-0_14-20240303-1ubuntu1_arm64.deb ... 474s Unpacking libcc1-0:arm64 (14-20240303-1ubuntu1) ... 474s Selecting previously unselected package libgomp1:arm64. 474s Preparing to unpack .../015-libgomp1_14-20240303-1ubuntu1_arm64.deb ... 474s Unpacking libgomp1:arm64 (14-20240303-1ubuntu1) ... 474s Selecting previously unselected package libitm1:arm64. 474s Preparing to unpack .../016-libitm1_14-20240303-1ubuntu1_arm64.deb ... 474s Unpacking libitm1:arm64 (14-20240303-1ubuntu1) ... 474s Selecting previously unselected package libatomic1:arm64. 474s Preparing to unpack .../017-libatomic1_14-20240303-1ubuntu1_arm64.deb ... 474s Unpacking libatomic1:arm64 (14-20240303-1ubuntu1) ... 474s Selecting previously unselected package libasan8:arm64. 474s Preparing to unpack .../018-libasan8_14-20240303-1ubuntu1_arm64.deb ... 474s Unpacking libasan8:arm64 (14-20240303-1ubuntu1) ... 474s Selecting previously unselected package liblsan0:arm64. 474s Preparing to unpack .../019-liblsan0_14-20240303-1ubuntu1_arm64.deb ... 474s Unpacking liblsan0:arm64 (14-20240303-1ubuntu1) ... 474s Selecting previously unselected package libtsan2:arm64. 474s Preparing to unpack .../020-libtsan2_14-20240303-1ubuntu1_arm64.deb ... 474s Unpacking libtsan2:arm64 (14-20240303-1ubuntu1) ... 474s Selecting previously unselected package libubsan1:arm64. 474s Preparing to unpack .../021-libubsan1_14-20240303-1ubuntu1_arm64.deb ... 474s Unpacking libubsan1:arm64 (14-20240303-1ubuntu1) ... 475s Selecting previously unselected package libhwasan0:arm64. 475s Preparing to unpack .../022-libhwasan0_14-20240303-1ubuntu1_arm64.deb ... 475s Unpacking libhwasan0:arm64 (14-20240303-1ubuntu1) ... 475s Selecting previously unselected package libgcc-13-dev:arm64. 475s Preparing to unpack .../023-libgcc-13-dev_13.2.0-17ubuntu2_arm64.deb ... 475s Unpacking libgcc-13-dev:arm64 (13.2.0-17ubuntu2) ... 475s Selecting previously unselected package gcc-13-aarch64-linux-gnu. 475s Preparing to unpack .../024-gcc-13-aarch64-linux-gnu_13.2.0-17ubuntu2_arm64.deb ... 475s Unpacking gcc-13-aarch64-linux-gnu (13.2.0-17ubuntu2) ... 475s Selecting previously unselected package gcc-13. 475s Preparing to unpack .../025-gcc-13_13.2.0-17ubuntu2_arm64.deb ... 475s Unpacking gcc-13 (13.2.0-17ubuntu2) ... 475s Selecting previously unselected package gcc-aarch64-linux-gnu. 475s Preparing to unpack .../026-gcc-aarch64-linux-gnu_4%3a13.2.0-7ubuntu1_arm64.deb ... 475s Unpacking gcc-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 475s Selecting previously unselected package gcc. 476s Preparing to unpack .../027-gcc_4%3a13.2.0-7ubuntu1_arm64.deb ... 476s Unpacking gcc (4:13.2.0-7ubuntu1) ... 476s Selecting previously unselected package libstdc++-13-dev:arm64. 476s Preparing to unpack .../028-libstdc++-13-dev_13.2.0-17ubuntu2_arm64.deb ... 476s Unpacking libstdc++-13-dev:arm64 (13.2.0-17ubuntu2) ... 476s Selecting previously unselected package g++-13-aarch64-linux-gnu. 476s Preparing to unpack .../029-g++-13-aarch64-linux-gnu_13.2.0-17ubuntu2_arm64.deb ... 476s Unpacking g++-13-aarch64-linux-gnu (13.2.0-17ubuntu2) ... 476s Selecting previously unselected package g++-13. 476s Preparing to unpack .../030-g++-13_13.2.0-17ubuntu2_arm64.deb ... 476s Unpacking g++-13 (13.2.0-17ubuntu2) ... 476s Selecting previously unselected package g++-aarch64-linux-gnu. 476s Preparing to unpack .../031-g++-aarch64-linux-gnu_4%3a13.2.0-7ubuntu1_arm64.deb ... 476s Unpacking g++-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 476s Selecting previously unselected package g++. 476s Preparing to unpack .../032-g++_4%3a13.2.0-7ubuntu1_arm64.deb ... 476s Unpacking g++ (4:13.2.0-7ubuntu1) ... 476s Selecting previously unselected package build-essential. 476s Preparing to unpack .../033-build-essential_12.10ubuntu1_arm64.deb ... 476s Unpacking build-essential (12.10ubuntu1) ... 477s Selecting previously unselected package dctrl-tools. 477s Preparing to unpack .../034-dctrl-tools_2.24-3build2_arm64.deb ... 477s Unpacking dctrl-tools (2.24-3build2) ... 477s Selecting previously unselected package fonts-dejavu-mono. 477s Preparing to unpack .../035-fonts-dejavu-mono_2.37-8_all.deb ... 477s Unpacking fonts-dejavu-mono (2.37-8) ... 477s Selecting previously unselected package fonts-dejavu-core. 477s Preparing to unpack .../036-fonts-dejavu-core_2.37-8_all.deb ... 477s Unpacking fonts-dejavu-core (2.37-8) ... 477s Selecting previously unselected package fontconfig-config. 477s Preparing to unpack .../037-fontconfig-config_2.15.0-1ubuntu1_arm64.deb ... 477s Unpacking fontconfig-config (2.15.0-1ubuntu1) ... 477s Selecting previously unselected package libfontconfig1:arm64. 477s Preparing to unpack .../038-libfontconfig1_2.15.0-1ubuntu1_arm64.deb ... 477s Unpacking libfontconfig1:arm64 (2.15.0-1ubuntu1) ... 477s Selecting previously unselected package fontconfig. 477s Preparing to unpack .../039-fontconfig_2.15.0-1ubuntu1_arm64.deb ... 477s Unpacking fontconfig (2.15.0-1ubuntu1) ... 477s Selecting previously unselected package libgfortran5:arm64. 477s Preparing to unpack .../040-libgfortran5_14-20240303-1ubuntu1_arm64.deb ... 477s Unpacking libgfortran5:arm64 (14-20240303-1ubuntu1) ... 477s Selecting previously unselected package libgfortran-13-dev:arm64. 477s Preparing to unpack .../041-libgfortran-13-dev_13.2.0-17ubuntu2_arm64.deb ... 477s Unpacking libgfortran-13-dev:arm64 (13.2.0-17ubuntu2) ... 477s Selecting previously unselected package gfortran-13-aarch64-linux-gnu. 477s Preparing to unpack .../042-gfortran-13-aarch64-linux-gnu_13.2.0-17ubuntu2_arm64.deb ... 477s Unpacking gfortran-13-aarch64-linux-gnu (13.2.0-17ubuntu2) ... 477s Selecting previously unselected package gfortran-13. 477s Preparing to unpack .../043-gfortran-13_13.2.0-17ubuntu2_arm64.deb ... 477s Unpacking gfortran-13 (13.2.0-17ubuntu2) ... 478s Selecting previously unselected package gfortran-aarch64-linux-gnu. 478s Preparing to unpack .../044-gfortran-aarch64-linux-gnu_4%3a13.2.0-7ubuntu1_arm64.deb ... 478s Unpacking gfortran-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 478s Selecting previously unselected package gfortran. 478s Preparing to unpack .../045-gfortran_4%3a13.2.0-7ubuntu1_arm64.deb ... 478s Unpacking gfortran (4:13.2.0-7ubuntu1) ... 478s Selecting previously unselected package icu-devtools. 478s Preparing to unpack .../046-icu-devtools_74.2-1ubuntu1_arm64.deb ... 478s Unpacking icu-devtools (74.2-1ubuntu1) ... 478s Selecting previously unselected package libblas3:arm64. 478s Preparing to unpack .../047-libblas3_3.12.0-3_arm64.deb ... 478s Unpacking libblas3:arm64 (3.12.0-3) ... 478s Selecting previously unselected package libblas-dev:arm64. 478s Preparing to unpack .../048-libblas-dev_3.12.0-3_arm64.deb ... 478s Unpacking libblas-dev:arm64 (3.12.0-3) ... 478s Selecting previously unselected package libbz2-dev:arm64. 478s Preparing to unpack .../049-libbz2-dev_1.0.8-5ubuntu1_arm64.deb ... 478s Unpacking libbz2-dev:arm64 (1.0.8-5ubuntu1) ... 478s Selecting previously unselected package libpixman-1-0:arm64. 478s Preparing to unpack .../050-libpixman-1-0_0.42.2-1_arm64.deb ... 478s Unpacking libpixman-1-0:arm64 (0.42.2-1) ... 478s Selecting previously unselected package libxcb-render0:arm64. 478s Preparing to unpack .../051-libxcb-render0_1.15-1_arm64.deb ... 478s Unpacking libxcb-render0:arm64 (1.15-1) ... 478s Selecting previously unselected package libxcb-shm0:arm64. 479s Preparing to unpack .../052-libxcb-shm0_1.15-1_arm64.deb ... 479s Unpacking libxcb-shm0:arm64 (1.15-1) ... 479s Selecting previously unselected package libxrender1:arm64. 479s Preparing to unpack .../053-libxrender1_1%3a0.9.10-1.1_arm64.deb ... 479s Unpacking libxrender1:arm64 (1:0.9.10-1.1) ... 479s Selecting previously unselected package libcairo2:arm64. 479s Preparing to unpack .../054-libcairo2_1.18.0-1_arm64.deb ... 479s Unpacking libcairo2:arm64 (1.18.0-1) ... 479s Selecting previously unselected package libdatrie1:arm64. 479s Preparing to unpack .../055-libdatrie1_0.2.13-3_arm64.deb ... 479s Unpacking libdatrie1:arm64 (0.2.13-3) ... 479s Selecting previously unselected package libdeflate0:arm64. 479s Preparing to unpack .../056-libdeflate0_1.19-1_arm64.deb ... 479s Unpacking libdeflate0:arm64 (1.19-1) ... 479s Selecting previously unselected package libgraphite2-3:arm64. 479s Preparing to unpack .../057-libgraphite2-3_1.3.14-2_arm64.deb ... 479s Unpacking libgraphite2-3:arm64 (1.3.14-2) ... 479s Selecting previously unselected package libharfbuzz0b:arm64. 479s Preparing to unpack .../058-libharfbuzz0b_8.3.0-2_arm64.deb ... 479s Unpacking libharfbuzz0b:arm64 (8.3.0-2) ... 479s Selecting previously unselected package x11-common. 479s Preparing to unpack .../059-x11-common_1%3a7.7+23ubuntu2_all.deb ... 479s Unpacking x11-common (1:7.7+23ubuntu2) ... 479s Selecting previously unselected package libice6:arm64. 479s Preparing to unpack .../060-libice6_2%3a1.0.10-1build2_arm64.deb ... 479s Unpacking libice6:arm64 (2:1.0.10-1build2) ... 479s Selecting previously unselected package libicu-dev:arm64. 479s Preparing to unpack .../061-libicu-dev_74.2-1ubuntu1_arm64.deb ... 479s Unpacking libicu-dev:arm64 (74.2-1ubuntu1) ... 480s Selecting previously unselected package libjpeg-turbo8:arm64. 480s Preparing to unpack .../062-libjpeg-turbo8_2.1.5-2ubuntu1_arm64.deb ... 480s Unpacking libjpeg-turbo8:arm64 (2.1.5-2ubuntu1) ... 480s Selecting previously unselected package libjpeg-turbo8-dev:arm64. 480s Preparing to unpack .../063-libjpeg-turbo8-dev_2.1.5-2ubuntu1_arm64.deb ... 480s Unpacking libjpeg-turbo8-dev:arm64 (2.1.5-2ubuntu1) ... 480s Selecting previously unselected package libjpeg8:arm64. 480s Preparing to unpack .../064-libjpeg8_8c-2ubuntu11_arm64.deb ... 480s Unpacking libjpeg8:arm64 (8c-2ubuntu11) ... 480s Selecting previously unselected package libjpeg8-dev:arm64. 481s Preparing to unpack .../065-libjpeg8-dev_8c-2ubuntu11_arm64.deb ... 481s Unpacking libjpeg8-dev:arm64 (8c-2ubuntu11) ... 481s Selecting previously unselected package libjpeg-dev:arm64. 481s Preparing to unpack .../066-libjpeg-dev_8c-2ubuntu11_arm64.deb ... 481s Unpacking libjpeg-dev:arm64 (8c-2ubuntu11) ... 481s Selecting previously unselected package liblapack3:arm64. 481s Preparing to unpack .../067-liblapack3_3.12.0-3_arm64.deb ... 481s Unpacking liblapack3:arm64 (3.12.0-3) ... 481s Selecting previously unselected package liblapack-dev:arm64. 481s Preparing to unpack .../068-liblapack-dev_3.12.0-3_arm64.deb ... 481s Unpacking liblapack-dev:arm64 (3.12.0-3) ... 481s Selecting previously unselected package liblerc4:arm64. 481s Preparing to unpack .../069-liblerc4_4.0.0+ds-4ubuntu1_arm64.deb ... 481s Unpacking liblerc4:arm64 (4.0.0+ds-4ubuntu1) ... 481s Selecting previously unselected package libncurses-dev:arm64. 481s Preparing to unpack .../070-libncurses-dev_6.4+20240113-1ubuntu1_arm64.deb ... 481s Unpacking libncurses-dev:arm64 (6.4+20240113-1ubuntu1) ... 481s Selecting previously unselected package libthai-data. 481s Preparing to unpack .../071-libthai-data_0.1.29-2_all.deb ... 481s Unpacking libthai-data (0.1.29-2) ... 481s Selecting previously unselected package libthai0:arm64. 481s Preparing to unpack .../072-libthai0_0.1.29-2_arm64.deb ... 481s Unpacking libthai0:arm64 (0.1.29-2) ... 481s Selecting previously unselected package libpango-1.0-0:arm64. 481s Preparing to unpack .../073-libpango-1.0-0_1.51.0+ds-4_arm64.deb ... 481s Unpacking libpango-1.0-0:arm64 (1.51.0+ds-4) ... 482s Selecting previously unselected package libpangoft2-1.0-0:arm64. 482s Preparing to unpack .../074-libpangoft2-1.0-0_1.51.0+ds-4_arm64.deb ... 482s Unpacking libpangoft2-1.0-0:arm64 (1.51.0+ds-4) ... 482s Selecting previously unselected package libpangocairo-1.0-0:arm64. 482s Preparing to unpack .../075-libpangocairo-1.0-0_1.51.0+ds-4_arm64.deb ... 482s Unpacking libpangocairo-1.0-0:arm64 (1.51.0+ds-4) ... 482s Selecting previously unselected package libpaper1:arm64. 482s Preparing to unpack .../076-libpaper1_1.1.29_arm64.deb ... 482s Unpacking libpaper1:arm64 (1.1.29) ... 482s Selecting previously unselected package libpaper-utils. 482s Preparing to unpack .../077-libpaper-utils_1.1.29_arm64.deb ... 482s Unpacking libpaper-utils (1.1.29) ... 482s Selecting previously unselected package libpcre2-16-0:arm64. 482s Preparing to unpack .../078-libpcre2-16-0_10.42-4ubuntu1_arm64.deb ... 482s Unpacking libpcre2-16-0:arm64 (10.42-4ubuntu1) ... 482s Selecting previously unselected package libpcre2-32-0:arm64. 482s Preparing to unpack .../079-libpcre2-32-0_10.42-4ubuntu1_arm64.deb ... 482s Unpacking libpcre2-32-0:arm64 (10.42-4ubuntu1) ... 482s Selecting previously unselected package libpcre2-posix3:arm64. 482s Preparing to unpack .../080-libpcre2-posix3_10.42-4ubuntu1_arm64.deb ... 482s Unpacking libpcre2-posix3:arm64 (10.42-4ubuntu1) ... 482s Selecting previously unselected package libpcre2-dev:arm64. 482s Preparing to unpack .../081-libpcre2-dev_10.42-4ubuntu1_arm64.deb ... 482s Unpacking libpcre2-dev:arm64 (10.42-4ubuntu1) ... 482s Selecting previously unselected package libpkgconf3:arm64. 482s Preparing to unpack .../082-libpkgconf3_1.8.1-2_arm64.deb ... 482s Unpacking libpkgconf3:arm64 (1.8.1-2) ... 482s Selecting previously unselected package zlib1g-dev:arm64. 482s Preparing to unpack .../083-zlib1g-dev_1%3a1.3.dfsg-3ubuntu1_arm64.deb ... 482s Unpacking zlib1g-dev:arm64 (1:1.3.dfsg-3ubuntu1) ... 482s Selecting previously unselected package libpng-dev:arm64. 482s Preparing to unpack .../084-libpng-dev_1.6.43-3_arm64.deb ... 482s Unpacking libpng-dev:arm64 (1.6.43-3) ... 482s Selecting previously unselected package libreadline-dev:arm64. 482s Preparing to unpack .../085-libreadline-dev_8.2-3.1_arm64.deb ... 482s Unpacking libreadline-dev:arm64 (8.2-3.1) ... 482s Selecting previously unselected package libsharpyuv0:arm64. 482s Preparing to unpack .../086-libsharpyuv0_1.3.2-0.4_arm64.deb ... 482s Unpacking libsharpyuv0:arm64 (1.3.2-0.4) ... 482s Selecting previously unselected package libsm6:arm64. 482s Preparing to unpack .../087-libsm6_2%3a1.2.3-1build2_arm64.deb ... 482s Unpacking libsm6:arm64 (2:1.2.3-1build2) ... 482s Selecting previously unselected package libtcl8.6:arm64. 482s Preparing to unpack .../088-libtcl8.6_8.6.13+dfsg-2_arm64.deb ... 482s Unpacking libtcl8.6:arm64 (8.6.13+dfsg-2) ... 483s Selecting previously unselected package libjbig0:arm64. 483s Preparing to unpack .../089-libjbig0_2.1-6.1ubuntu1_arm64.deb ... 483s Unpacking libjbig0:arm64 (2.1-6.1ubuntu1) ... 483s Selecting previously unselected package libwebp7:arm64. 483s Preparing to unpack .../090-libwebp7_1.3.2-0.4_arm64.deb ... 483s Unpacking libwebp7:arm64 (1.3.2-0.4) ... 483s Selecting previously unselected package libtiff6:arm64. 483s Preparing to unpack .../091-libtiff6_4.5.1+git230720-3ubuntu1_arm64.deb ... 483s Unpacking libtiff6:arm64 (4.5.1+git230720-3ubuntu1) ... 483s Selecting previously unselected package libxft2:arm64. 483s Preparing to unpack .../092-libxft2_2.3.6-1_arm64.deb ... 483s Unpacking libxft2:arm64 (2.3.6-1) ... 483s Selecting previously unselected package libxss1:arm64. 483s Preparing to unpack .../093-libxss1_1%3a1.2.3-1build2_arm64.deb ... 483s Unpacking libxss1:arm64 (1:1.2.3-1build2) ... 483s Selecting previously unselected package libtk8.6:arm64. 483s Preparing to unpack .../094-libtk8.6_8.6.13-2_arm64.deb ... 483s Unpacking libtk8.6:arm64 (8.6.13-2) ... 483s Selecting previously unselected package libxt6t64:arm64. 483s Preparing to unpack .../095-libxt6t64_1%3a1.2.1-1.2_arm64.deb ... 483s Unpacking libxt6t64:arm64 (1:1.2.1-1.2) ... 483s Selecting previously unselected package pkgconf-bin. 483s Preparing to unpack .../096-pkgconf-bin_1.8.1-2_arm64.deb ... 483s Unpacking pkgconf-bin (1.8.1-2) ... 483s Selecting previously unselected package pkgconf:arm64. 483s Preparing to unpack .../097-pkgconf_1.8.1-2_arm64.deb ... 483s Unpacking pkgconf:arm64 (1.8.1-2) ... 483s Selecting previously unselected package pkg-config:arm64. 483s Preparing to unpack .../098-pkg-config_1.8.1-2_arm64.deb ... 483s Unpacking pkg-config:arm64 (1.8.1-2) ... 483s Selecting previously unselected package zip. 483s Preparing to unpack .../099-zip_3.0-13_arm64.deb ... 483s Unpacking zip (3.0-13) ... 483s Selecting previously unselected package unzip. 483s Preparing to unpack .../100-unzip_6.0-28ubuntu3_arm64.deb ... 483s Unpacking unzip (6.0-28ubuntu3) ... 483s Selecting previously unselected package xdg-utils. 483s Preparing to unpack .../101-xdg-utils_1.1.3-4.1ubuntu3_all.deb ... 483s Unpacking xdg-utils (1.1.3-4.1ubuntu3) ... 483s Selecting previously unselected package r-base-core. 483s Preparing to unpack .../102-r-base-core_4.3.3-2build1_arm64.deb ... 483s Unpacking r-base-core (4.3.3-2build1) ... 484s Selecting previously unselected package liblzma-dev:arm64. 484s Preparing to unpack .../103-liblzma-dev_5.4.5-0.3_arm64.deb ... 484s Unpacking liblzma-dev:arm64 (5.4.5-0.3) ... 484s Selecting previously unselected package r-base-dev. 484s Preparing to unpack .../104-r-base-dev_4.3.3-2build1_all.deb ... 484s Unpacking r-base-dev (4.3.3-2build1) ... 484s Selecting previously unselected package pkg-r-autopkgtest. 484s Preparing to unpack .../105-pkg-r-autopkgtest_20231212ubuntu1_all.deb ... 484s Unpacking pkg-r-autopkgtest (20231212ubuntu1) ... 484s Selecting previously unselected package r-cran-lattice. 484s Preparing to unpack .../106-r-cran-lattice_0.22-5-1_arm64.deb ... 484s Unpacking r-cran-lattice (0.22-5-1) ... 484s Selecting previously unselected package r-cran-matrix. 484s Preparing to unpack .../107-r-cran-matrix_1.6-5-1_arm64.deb ... 484s Unpacking r-cran-matrix (1.6-5-1) ... 484s Selecting previously unselected package r-cran-expm. 484s Preparing to unpack .../108-r-cran-expm_0.999-9-1_arm64.deb ... 484s Unpacking r-cran-expm (0.999-9-1) ... 484s Selecting previously unselected package r-cran-rcolorbrewer. 484s Preparing to unpack .../109-r-cran-rcolorbrewer_1.1-3-1build1_all.deb ... 484s Unpacking r-cran-rcolorbrewer (1.1-3-1build1) ... 484s Selecting previously unselected package r-cran-sfsmisc. 484s Preparing to unpack .../110-r-cran-sfsmisc_1.1-16-1_all.deb ... 484s Unpacking r-cran-sfsmisc (1.1-16-1) ... 484s Selecting previously unselected package autopkgtest-satdep. 484s Preparing to unpack .../111-2-autopkgtest-satdep.deb ... 484s Unpacking autopkgtest-satdep (0) ... 485s Setting up libgraphite2-3:arm64 (1.3.14-2) ... 485s Setting up libpixman-1-0:arm64 (0.42.2-1) ... 485s Setting up libsharpyuv0:arm64 (1.3.2-0.4) ... 485s Setting up libpaper1:arm64 (1.1.29) ... 485s 485s Creating config file /etc/papersize with new version 485s Setting up liblerc4:arm64 (4.0.0+ds-4ubuntu1) ... 485s Setting up libxrender1:arm64 (1:0.9.10-1.1) ... 485s Setting up libdatrie1:arm64 (0.2.13-3) ... 485s Setting up libtirpc3t64:arm64 (1.3.4+ds-1.1) ... 485s Setting up libxcb-render0:arm64 (1.15-1) ... 485s Setting up unzip (6.0-28ubuntu3) ... 485s Setting up x11-common (1:7.7+23ubuntu2) ... 485s Setting up libpsl5t64:arm64 (0.21.2-1.1) ... 485s Setting up libdeflate0:arm64 (1.19-1) ... 485s Setting up linux-libc-dev:arm64 (6.8.0-11.11) ... 485s Setting up libxcb-shm0:arm64 (1.15-1) ... 486s Setting up libpaper-utils (1.1.29) ... 486s Setting up libgomp1:arm64 (14-20240303-1ubuntu1) ... 486s Setting up libjbig0:arm64 (2.1-6.1ubuntu1) ... 486s Setting up libpcre2-16-0:arm64 (10.42-4ubuntu1) ... 486s Setting up zip (3.0-13) ... 486s Setting up libpcre2-32-0:arm64 (10.42-4ubuntu1) ... 486s Setting up libblas3:arm64 (3.12.0-3) ... 486s 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 486s Setting up libtirpc-dev:arm64 (1.3.4+ds-1.1) ... 486s Setting up libpkgconf3:arm64 (1.8.1-2) ... 486s Setting up rpcsvc-proto (1.4.2-0ubuntu6) ... 486s Setting up fonts-dejavu-mono (2.37-8) ... 486s Setting up libpng16-16t64:arm64 (1.6.43-3) ... 486s Setting up libmpc3:arm64 (1.3.1-1) ... 486s Setting up libatomic1:arm64 (14-20240303-1ubuntu1) ... 486s Setting up libtcl8.6:arm64 (8.6.13+dfsg-2) ... 486s Setting up icu-devtools (74.2-1ubuntu1) ... 486s Setting up fonts-dejavu-core (2.37-8) ... 486s Setting up pkgconf-bin (1.8.1-2) ... 486s Setting up libjpeg-turbo8:arm64 (2.1.5-2ubuntu1) ... 486s Setting up libgfortran5:arm64 (14-20240303-1ubuntu1) ... 486s Setting up libwebp7:arm64 (1.3.2-0.4) ... 486s Setting up libreadline8t64:arm64 (8.2-3.1) ... 486s Setting up liblzma-dev:arm64 (5.4.5-0.3) ... 486s Setting up libubsan1:arm64 (14-20240303-1ubuntu1) ... 486s Setting up libpcre2-posix3:arm64 (10.42-4ubuntu1) ... 486s Setting up libnsl-dev:arm64 (1.3.0-3) ... 486s Setting up libhwasan0:arm64 (14-20240303-1ubuntu1) ... 486s Setting up libcrypt-dev:arm64 (1:4.4.36-4) ... 486s Setting up libasan8:arm64 (14-20240303-1ubuntu1) ... 486s Setting up libharfbuzz0b:arm64 (8.3.0-2) ... 486s Setting up libthai-data (0.1.29-2) ... 486s Setting up libxss1:arm64 (1:1.2.3-1build2) ... 486s Setting up libtsan2:arm64 (14-20240303-1ubuntu1) ... 486s Setting up libisl23:arm64 (0.26-3) ... 486s Setting up libc-dev-bin (2.39-0ubuntu2) ... 486s Setting up xdg-utils (1.1.3-4.1ubuntu3) ... 486s update-alternatives: using /usr/bin/xdg-open to provide /usr/bin/open (open) in auto mode 486s Setting up libcc1-0:arm64 (14-20240303-1ubuntu1) ... 486s Setting up liblsan0:arm64 (14-20240303-1ubuntu1) ... 486s Setting up libblas-dev:arm64 (3.12.0-3) ... 486s 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 486s Setting up dctrl-tools (2.24-3build2) ... 486s Setting up libitm1:arm64 (14-20240303-1ubuntu1) ... 486s Setting up libjpeg8:arm64 (8c-2ubuntu11) ... 486s Setting up libice6:arm64 (2:1.0.10-1build2) ... 486s Setting up liblapack3:arm64 (3.12.0-3) ... 486s 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 486s Setting up cpp-13-aarch64-linux-gnu (13.2.0-17ubuntu2) ... 486s Setting up libcurl4t64:arm64 (8.5.0-2ubuntu7) ... 486s Setting up fontconfig-config (2.15.0-1ubuntu1) ... 486s Setting up pkgconf:arm64 (1.8.1-2) ... 486s Setting up libthai0:arm64 (0.1.29-2) ... 486s Setting up cpp-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 486s Setting up liblapack-dev:arm64 (3.12.0-3) ... 486s 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 486s Setting up pkg-config:arm64 (1.8.1-2) ... 486s Setting up libgcc-13-dev:arm64 (13.2.0-17ubuntu2) ... 486s Setting up libtiff6:arm64 (4.5.1+git230720-3ubuntu1) ... 486s Setting up libc6-dev:arm64 (2.39-0ubuntu2) ... 486s Setting up curl (8.5.0-2ubuntu7) ... 486s Setting up libfontconfig1:arm64 (2.15.0-1ubuntu1) ... 486s Setting up libgfortran-13-dev:arm64 (13.2.0-17ubuntu2) ... 486s Setting up libsm6:arm64 (2:1.2.3-1build2) ... 486s Setting up libicu-dev:arm64 (74.2-1ubuntu1) ... 486s Setting up libstdc++-13-dev:arm64 (13.2.0-17ubuntu2) ... 486s Setting up libbz2-dev:arm64 (1.0.8-5ubuntu1) ... 486s Setting up fontconfig (2.15.0-1ubuntu1) ... 488s Regenerating fonts cache... done. 488s Setting up libjpeg-turbo8-dev:arm64 (2.1.5-2ubuntu1) ... 488s Setting up libxft2:arm64 (2.3.6-1) ... 488s Setting up libncurses-dev:arm64 (6.4+20240113-1ubuntu1) ... 488s Setting up libpcre2-dev:arm64 (10.42-4ubuntu1) ... 488s Setting up cpp-13 (13.2.0-17ubuntu2) ... 488s Setting up libtk8.6:arm64 (8.6.13-2) ... 488s Setting up libpango-1.0-0:arm64 (1.51.0+ds-4) ... 488s Setting up gcc-13-aarch64-linux-gnu (13.2.0-17ubuntu2) ... 488s Setting up libreadline-dev:arm64 (8.2-3.1) ... 488s Setting up libcairo2:arm64 (1.18.0-1) ... 488s Setting up libxt6t64:arm64 (1:1.2.1-1.2) ... 488s Setting up gcc-13 (13.2.0-17ubuntu2) ... 488s Setting up zlib1g-dev:arm64 (1:1.3.dfsg-3ubuntu1) ... 488s Setting up cpp (4:13.2.0-7ubuntu1) ... 488s Setting up libpangoft2-1.0-0:arm64 (1.51.0+ds-4) ... 488s Setting up libjpeg8-dev:arm64 (8c-2ubuntu11) ... 488s Setting up libpangocairo-1.0-0:arm64 (1.51.0+ds-4) ... 488s Setting up g++-13-aarch64-linux-gnu (13.2.0-17ubuntu2) ... 488s Setting up gcc-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 488s Setting up g++-13 (13.2.0-17ubuntu2) ... 488s Setting up libpng-dev:arm64 (1.6.43-3) ... 488s Setting up libjpeg-dev:arm64 (8c-2ubuntu11) ... 488s Setting up gfortran-13-aarch64-linux-gnu (13.2.0-17ubuntu2) ... 488s Setting up gcc (4:13.2.0-7ubuntu1) ... 488s Setting up gfortran-13 (13.2.0-17ubuntu2) ... 488s Setting up r-base-core (4.3.3-2build1) ... 488s 488s Creating config file /etc/R/Renviron with new version 489s Setting up r-cran-lattice (0.22-5-1) ... 489s Setting up g++-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 489s Setting up gfortran-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 489s Setting up r-cran-sfsmisc (1.1-16-1) ... 489s Setting up gfortran (4:13.2.0-7ubuntu1) ... 489s update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f95 (f95) in auto mode 489s update-alternatives: warning: skip creation of /usr/share/man/man1/f95.1.gz because associated file /usr/share/man/man1/gfortran.1.gz (of link group f95) doesn't exist 489s update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f77 (f77) in auto mode 489s update-alternatives: warning: skip creation of /usr/share/man/man1/f77.1.gz because associated file /usr/share/man/man1/gfortran.1.gz (of link group f77) doesn't exist 489s Setting up r-cran-rcolorbrewer (1.1-3-1build1) ... 489s Setting up r-cran-matrix (1.6-5-1) ... 489s Setting up g++ (4:13.2.0-7ubuntu1) ... 489s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 489s Setting up build-essential (12.10ubuntu1) ... 489s Setting up r-base-dev (4.3.3-2build1) ... 489s Setting up r-cran-expm (0.999-9-1) ... 489s Setting up pkg-r-autopkgtest (20231212ubuntu1) ... 489s Setting up autopkgtest-satdep (0) ... 489s Processing triggers for man-db (2.12.0-3) ... 490s Processing triggers for install-info (7.1-3) ... 490s Processing triggers for libc-bin (2.39-0ubuntu2) ... 497s (Reading database ... 80675 files and directories currently installed.) 497s Removing autopkgtest-satdep (0) ... 499s autopkgtest [18:35:49]: test pkg-r-autopkgtest: /usr/share/dh-r/pkg-r-autopkgtest 499s autopkgtest [18:35:49]: test pkg-r-autopkgtest: [----------------------- 500s Test: Try to load the R library expm 501s 501s R version 4.3.3 (2024-02-29) -- "Angel Food Cake" 501s Copyright (C) 2024 The R Foundation for Statistical Computing 501s Platform: aarch64-unknown-linux-gnu (64-bit) 501s 501s R is free software and comes with ABSOLUTELY NO WARRANTY. 501s You are welcome to redistribute it under certain conditions. 501s Type 'license()' or 'licence()' for distribution details. 501s 501s R is a collaborative project with many contributors. 501s Type 'contributors()' for more information and 501s 'citation()' on how to cite R or R packages in publications. 501s 501s Type 'demo()' for some demos, 'help()' for on-line help, or 501s 'help.start()' for an HTML browser interface to help. 501s Type 'q()' to quit R. 501s 501s > library('expm') 501s Loading required package: Matrix 502s 502s Attaching package: ‘expm’ 502s 502s The following object is masked from ‘package:Matrix’: 502s 502s expm 502s 502s > 502s > 502s Other tests are currently unsupported! 502s They will be progressively added. 502s autopkgtest [18:35:52]: test pkg-r-autopkgtest: -----------------------] 503s autopkgtest [18:35:53]: test pkg-r-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 503s pkg-r-autopkgtest PASS 503s autopkgtest [18:35:53]: @@@@@@@@@@@@@@@@@@@@ summary 503s run-unit-test PASS 503s pkg-r-autopkgtest PASS 514s Creating nova instance adt-noble-arm64-r-cran-expm-20240316-182730-juju-7f2275-prod-proposed-migration-environment-2 from image adt/ubuntu-noble-arm64-server-20240314.img (UUID 7faf5f09-d335-4346-a441-4eab2f9c04fe)... 514s Creating nova instance adt-noble-arm64-r-cran-expm-20240316-182730-juju-7f2275-prod-proposed-migration-environment-2 from image adt/ubuntu-noble-arm64-server-20240314.img (UUID 7faf5f09-d335-4346-a441-4eab2f9c04fe)...