https://wiki.octave.org/wiki/api.php?action=feedcontributions&user=Archisman&feedformat=atomOctave - User contributions [en]2024-03-28T19:38:06ZUser contributionsMediaWiki 1.39.2https://wiki.octave.org/wiki/index.php?title=Octave_for_Android&diff=14322Octave for Android2022-04-30T21:10:46Z<p>Archisman: </p>
<hr />
<div>== Termux ==<br />
<br />
[https://termux.com Termux] is a Terminal Emulator for Android. You can install it from [https://f-droid.org/repository/browse/?fdid=com.termux F-Droid] (preferred) or [https://play.google.com/store/apps/details?id=com.termux Play store] (deprecated). You don't need a rooted device to use Octave with Termux.<br />
<br />
=== Direct Octave installation ===<br />
<br />
You can directly install Octave in Termux using the repository by [https://github.com/its-pointless/gcc_termux its-pointless].<br />
<br />
<syntaxhighlight lang="shell"><br />
pkg install wget<br />
wget https://its-pointless.github.io/setup-pointless-repo.sh<br />
sh setup-pointless-repo.sh<br />
pkg install octave<br />
</syntaxhighlight><br />
<br />
[https://www.openblas.net/ OpenBLAS] is installed as a dependency, and this method provides much better performance compared to Octave installed inside a GNU/Linux distro running in Termux. By default, Octave only plots with ASCII characters in the terminal. <br />
<br />
For graphical plots, [https://wiki.termux.com/wiki/Graphical_Environment#Desktop_environment_.28XFCE.29 install] a graphical environment like xfce, and use octave with a vnc server. Only the graphics toolkit "gnuplot" is known to work in this method.<br />
<br />
[[File:Octave in Termux.png|thumb|GNU Octave running directly in Termux]]<br />
<br />
<br />
=== Via some GNU/Linux distribution ===<br />
<br />
Inside Termux in Android, you can install a GNU/Linux distribution like Debian, Ubuntu, Arch or Alpine. Note that Alpine consumes relatively less disk space. Octave can be installed as described in [[Octave for GNU/Linux]] from the distribution's respective package manager.<br />
<br />
To use Octave's graphical capabilities, one needs to install a desktop environment, and a VNC server in the GNU/Linux distro, and one also needs to install a separate VNC viewer app in the Android phone (can be installed from Play Store/F-Droid). On many android devices, only the graphics toolkit "gnuplot" is known to work. Several apps (e.g. [https://github.com/EXALAB/AnLinux-App Anlinux], [https://andronix.app/ Andronix]) are available to easily install the Linux distribution of your choice, and setting up the desktop environment. Refer to the [https://docs.andronix.app/vnc/vnc-basics Andronix docs] for an overview of setting up the VNC server.<br />
<br />
'''Optimizing performance''': Installing [https://github.com/xianyi/OpenBLAS/wiki/Precompiled-installation-packages/ OpenBLAS] (with the distribution's package manager) to replace the system's BLAS libraries may tremendously increase the performance of Octave.<br />
<br />
== GNURoot Octave ==<br />
<br />
The Android app [https://play.google.com/store/apps/details?id=com.gnuroot.octave GNURoot Octave] in the Google play store is built and maintained by Corbin Champion. However, note that these repositories have not been updated for several years. It is not part of the GNU Octave project. Thus please use the following GitHub pages for questions and bug reports:<br />
<br />
* https://github.com/corbinlc/GNURootDebian<br />
* https://github.com/corbinlc/octave4android<br />
<br />
The implementation has been done in close cooperation with the Octave developers and makes use of the Octave source code without essential changes. Thus, it is fully compatible with the versions of Octave on other platforms.<br />
<br />
Some probably outdated build instructions for the older "octave4android" app:<br />
<br />
* https://lists.gnu.org/archive/html/octave-maintainers/2013-10/msg00406.html<br />
<br />
== Octave app in Google Play==<br />
<br />
'''Unlike the other methods, this requires buying an app (released under GPL-3) from Google Play'''.<br />
<br />
The Octave app built and maintained by Userland Technologies [https://play.google.com/store/apps/details?id=tech.ula.octave] in the Google Play Store is the full featured and professionally supported GNU Octave running on your phone. It runs off of their UserLAnd platform which does not require root to your device. Userland Tech has pre-installed GNU Octave so the user has a seamless "desktop" experience on their phone. The application is open source and any bug reports or questions can be posted at their github at: https://github.com/CypherpunkArmory/octave<br />
<br />
<br />
[[Category:Installation]]</div>Archismanhttps://wiki.octave.org/wiki/index.php?title=Octave_for_Android&diff=14321Octave for Android2022-04-30T21:10:14Z<p>Archisman: move paid app to the last</p>
<hr />
<div>== Termux ==<br />
<br />
[https://termux.com Termux] is a Terminal Emulator for Android. You can install it from [https://f-droid.org/repository/browse/?fdid=com.termux F-Droid] (preferred) or [https://play.google.com/store/apps/details?id=com.termux Play store] (deprecated). You don't need a rooted device to use Octave with Termux.<br />
<br />
=== Direct Octave installation ===<br />
<br />
You can directly install Octave in Termux using the repository by [https://github.com/its-pointless/gcc_termux its-pointless].<br />
<br />
<syntaxhighlight lang="shell"><br />
pkg install wget<br />
wget https://its-pointless.github.io/setup-pointless-repo.sh<br />
sh setup-pointless-repo.sh<br />
pkg install octave<br />
</syntaxhighlight><br />
<br />
[https://www.openblas.net/ OpenBLAS] is installed as a dependency, and this method provides much better performance compared to Octave installed inside a GNU/Linux distro running in Termux. By default, Octave only plots with ASCII characters in the terminal. <br />
<br />
For graphical plots, [https://wiki.termux.com/wiki/Graphical_Environment#Desktop_environment_.28XFCE.29 install] a graphical environment like xfce, and use octave with a vnc server. Only the graphics toolkit "gnuplot" is known to work in this method.<br />
<br />
[[File:Octave in Termux.png|thumb|GNU Octave running directly in Termux]]<br />
<br />
<br />
=== Via some GNU/Linux distribution ===<br />
<br />
Inside Termux in Android, you can install a GNU/Linux distribution like Debian, Ubuntu, Arch or Alpine. Note that Alpine consumes relatively less disk space. Octave can be installed as described in [[Octave for GNU/Linux]] from the distribution's respective package manager.<br />
<br />
To use Octave's graphical capabilities, one needs to install a desktop environment, and a VNC server in the GNU/Linux distro, and one also needs to install a separate VNC viewer app in the Android phone (can be installed from Play Store/F-Droid). On many android devices, only the graphics toolkit "gnuplot" is known to work. Several apps (e.g. [https://github.com/EXALAB/AnLinux-App Anlinux], [https://andronix.app/ Andronix]) are available to easily install the Linux distribution of your choice, and setting up the desktop environment. Refer to the [https://docs.andronix.app/vnc/vnc-basics Andronix docs] for an overview of setting up the VNC server.<br />
<br />
'''Optimizing performance''': Installing [https://github.com/xianyi/OpenBLAS/wiki/Precompiled-installation-packages/ OpenBLAS] (with the distribution's package manager) to replace the system's BLAS libraries may tremendously increase the performance of Octave.<br />
<br />
== GNURoot Octave ==<br />
<br />
The Android app [https://play.google.com/store/apps/details?id=com.gnuroot.octave GNURoot Octave] in the Google play store is built and maintained by Corbin Champion. However, note that these repositories have not been updated for several years. It is not part of the GNU Octave project. Thus please use the following GitHub pages for questions and bug reports:<br />
<br />
* https://github.com/corbinlc/GNURootDebian<br />
* https://github.com/corbinlc/octave4android<br />
<br />
The implementation has been done in close cooperation with the Octave developers and makes use of the Octave source code without essential changes. Thus, it is fully compatible with the versions of Octave on other platforms.<br />
<br />
Some probably outdated build instructions for the older "octave4android" app:<br />
<br />
* https://lists.gnu.org/archive/html/octave-maintainers/2013-10/msg00406.html<br />
<br />
== Octave app in Google play==<br />
<br />
'''Unlike the other methods, this requires buying an app (released under GPL-3) from Google Play'''.<br />
<br />
The Octave app built and maintained by Userland Technologies [https://play.google.com/store/apps/details?id=tech.ula.octave] in the Google Play Store is the full featured and professionally supported GNU Octave running on your phone. It runs off of their UserLAnd platform which does not require root to your device. Userland Tech has pre-installed GNU Octave so the user has a seamless "desktop" experience on their phone. The application is open source and any bug reports or questions can be posted at their github at: https://github.com/CypherpunkArmory/octave<br />
<br />
<br />
[[Category:Installation]]</div>Archismanhttps://wiki.octave.org/wiki/index.php?title=Octave_for_Android&diff=13894Octave for Android2021-08-23T13:41:47Z<p>Archisman: </p>
<hr />
<div>== Termux ==<br />
<br />
[https://termux.com Termux] is a Terminal Emulator for Android. You can install it from [https://f-droid.org/repository/browse/?fdid=com.termux F-Droid] (preferred) or [https://play.google.com/store/apps/details?id=com.termux Play store] (deprecated). You don't need a rooted device to use Octave with Termux.<br />
<br />
=== Direct Octave installation ===<br />
<br />
You can directly install Octave in Termux using the repository by [https://github.com/its-pointless/gcc_termux its-pointless].<br />
<br />
<syntaxhighlight lang="shell"><br />
pkg install wget<br />
wget https://its-pointless.github.io/setup-pointless-repo.sh<br />
sh setup-pointless-repo.sh<br />
pkg install octave<br />
</syntaxhighlight><br />
<br />
[https://www.openblas.net/ OpenBLAS] is installed as a dependency, and this method provides much better performance compared to Octave installed inside a GNU/Linux distro running in Termux. By default, Octave only plots with ASCII characters in the terminal. <br />
<br />
For graphical plots, [https://wiki.termux.com/wiki/Graphical_Environment#Desktop_environment_.28XFCE.29 install] a graphical environment like xfce, and use octave with a vnc server. Only the graphics toolkit "gnuplot" is known to work in this method.<br />
<br />
[[File:Octave in Termux.png|thumb|GNU Octave running directly in Termux]]<br />
<br />
<br />
=== Via some GNU/Linux distribution ===<br />
<br />
Inside Termux in Android, you can install a GNU/Linux distribution like Debian, Ubuntu, Arch or Alpine. Note that Alpine consumes relatively less disk space. Octave can be installed as described in [[Octave for GNU/Linux]] from the distribution's respective package manager.<br />
<br />
To use Octave's graphical capabilities, one needs to install a desktop environment, and a VNC server in the GNU/Linux distro, and one also needs to install a separate VNC viewer app in the Android phone (can be installed from Play Store/F-Droid). On many android devices, only the graphics toolkit "gnuplot" is known to work. Several apps (e.g. [https://github.com/EXALAB/AnLinux-App Anlinux], [https://andronix.app/ Andronix]) are available to easily install the Linux distribution of your choice, and setting up the desktop environment. Refer to the [https://docs.andronix.app/vnc/vnc-basics Andronix docs] for an overview of setting up the VNC server.<br />
<br />
'''Optimizing performance''': Installing [https://github.com/xianyi/OpenBLAS/wiki/Precompiled-installation-packages/ OpenBLAS] (with the distribution's package manager) to replace the system's BLAS libraries may tremendously increase the performance of Octave.<br />
<br />
== GNURoot Octave ==<br />
<br />
The Android app [https://play.google.com/store/apps/details?id=com.gnuroot.octave GNURoot Octave] in the Google play store is built and maintained by Corbin Champion. However, note that these repositories have not been updated for several years. It is not part of the GNU Octave project. Thus please use the following GitHub pages for questions and bug reports:<br />
<br />
* https://github.com/corbinlc/GNURootDebian<br />
* https://github.com/corbinlc/octave4android<br />
<br />
The implementation has been done in close cooperation with the Octave developers and makes use of the Octave source code without essential changes. Thus, it is fully compatible with the versions of Octave on other platforms.<br />
<br />
Some probably outdated build instructions for the older "octave4android" app:<br />
<br />
* https://lists.gnu.org/archive/html/octave-maintainers/2013-10/msg00406.html<br />
<br />
[[Category:Installation]]</div>Archismanhttps://wiki.octave.org/wiki/index.php?title=Octave_for_Android&diff=13893Octave for Android2021-08-23T13:39:44Z<p>Archisman: </p>
<hr />
<div>== Termux ==<br />
<br />
[https://termux.com Termux] is a Terminal Emulator for Android. You can install it from [https://f-droid.org/repository/browse/?fdid=com.termux F-Droid] (preferred) or [https://play.google.com/store/apps/details?id=com.termux Play store] (deprecated). You don't need a rooted device to use Octave with Termux.<br />
<br />
=== Direct Octave installation ===<br />
<br />
You can directly install Octave in Termux using the repository by [https://github.com/its-pointless/gcc_termux its-pointless].<br />
<br />
<syntaxhighlight lang="shell"><br />
wget https://its-pointless.github.io/setup-pointless-repo.sh<br />
sh setup-pointless-repo.sh<br />
apt install octave<br />
</syntaxhighlight><br />
<br />
OpenBLAS is installed by default, and this method provides much better performance compared to Octave installed inside a GNU/Linux distro running in Termux. By default, Octave only plots with ASCII characters in the terminal. <br />
<br />
For graphical plots, [https://wiki.termux.com/wiki/Graphical_Environment#Desktop_environment_.28XFCE.29 install] a graphical environment like xfce, and use octave with a vnc server. Only the graphics toolkit "gnuplot" is known to work in this method.<br />
<br />
[[File:Octave in Termux.png|thumb|GNU Octave running directly in Termux]]<br />
<br />
<br />
=== Via some GNU/Linux distribution ===<br />
<br />
Inside Termux in Android, you can install a GNU/Linux distribution like Debian, Ubuntu, Arch or Alpine. Note that Alpine consumes relatively less disk space. Octave can be installed as described in [[Octave for GNU/Linux]] from the distribution's respective package manager.<br />
<br />
To use Octave's graphical capabilities, one needs to install a desktop environment, and a VNC server in the GNU/Linux distro, and one also needs to install a separate VNC viewer app in the Android phone (can be installed from Play Store/F-Droid). On many android devices, only the graphics toolkit "gnuplot" is known to work. Several apps (e.g. [https://github.com/EXALAB/AnLinux-App Anlinux], [https://andronix.app/ Andronix]) are available to easily install the Linux distribution of your choice, and setting up the desktop environment. Refer to the [https://docs.andronix.app/vnc/vnc-basics Andronix docs] for an overview of setting up the VNC server.<br />
<br />
'''Optimizing performance''': Installing [https://github.com/xianyi/OpenBLAS/wiki/Precompiled-installation-packages/ OpenBLAS] (with the distribution's package manager) to replace the system's BLAS libraries may tremendously increase the performance of Octave.<br />
<br />
== GNURoot Octave ==<br />
<br />
The Android app [https://play.google.com/store/apps/details?id=com.gnuroot.octave GNURoot Octave] in the Google play store is built and maintained by Corbin Champion. However, note that these repositories have not been updated for several years. It is not part of the GNU Octave project. Thus please use the following GitHub pages for questions and bug reports:<br />
<br />
* https://github.com/corbinlc/GNURootDebian<br />
* https://github.com/corbinlc/octave4android<br />
<br />
The implementation has been done in close cooperation with the Octave developers and makes use of the Octave source code without essential changes. Thus, it is fully compatible with the versions of Octave on other platforms.<br />
<br />
Some probably outdated build instructions for the older "octave4android" app:<br />
<br />
* https://lists.gnu.org/archive/html/octave-maintainers/2013-10/msg00406.html<br />
<br />
[[Category:Installation]]</div>Archismanhttps://wiki.octave.org/wiki/index.php?title=Octave_for_Android&diff=13892Octave for Android2021-08-23T13:37:58Z<p>Archisman: play store version is deprecated</p>
<hr />
<div>== Termux ==<br />
<br />
[https://termux.com Termux] is a Terminal Emulator for Android. You can install it from [https://f-droid.org/repository/browse/?fdid=com.termux F-Droid] (preferred) or [https://play.google.com/store/apps/details?id=com.termux Play store] (deprecated). You don't need a rooted device to use Octave with Termux.<br />
<br />
=== Direct Octave installation ===<br />
<br />
You can directly install Octave in Termux using the repository by [https://github.com/its-pointless/gcc_termux its-pointless].<br />
<br />
<syntaxhighlight lang="shell"><br />
wget https://its-pointless.github.io/setup-pointless-repo.sh<br />
sh setup-pointless-repo.sh<br />
apt install octave<br />
</syntaxhighlight><br />
<br />
OpenBLAS is installed by default, and this method provides much better performance compared to Octave installed inside a GNU/Linux distro running in Termux. By default, Octave only plots with ASCII characters in the terminal. <br />
<br />
For graphical plots, [https://wiki.termux.com/wiki/Graphical_Environment#Desktop_environment_.28XFCE.29 install] a graphical environment like xfce, and use octave with a vnc server. Only the graphics toolkit `gnuplot` is known to work in this method.<br />
<br />
[[File:Octave in Termux.png|thumb|GNU Octave running directly in Termux]]<br />
<br />
<br />
=== Via some GNU/Linux distribution ===<br />
<br />
Inside Termux in Android, you can install a Linux distribution like Debian, Ubuntu, Arch or Alpine. Note that Alpine consumes relatively less disk space. Octave can be installed as described in [[Octave for GNU/Linux]] from the distribution's respective package manager.<br />
<br />
To use Octave's graphical capabilities, one needs to install a desktop environment, and a VNC server in the GNU/Linux distro, and one also needs to install a separate VNC viewer app in the Android phone (can be installed from Play Store/F-Droid). On many android devices, only the graphics toolkit "gnuplot" is known to work. Several apps (e.g. [https://github.com/EXALAB/AnLinux-App Anlinux], [https://andronix.app/ Andronix]) are available to easily install the Linux distribution of your choice, and setting up the desktop environment. Refer to the [https://docs.andronix.app/vnc/vnc-basics Andronix docs] for an overview of setting up the VNC server.<br />
<br />
'''Optimizing performance''': Installing [https://github.com/xianyi/OpenBLAS/wiki/Precompiled-installation-packages/ OpenBLAS] (with the distribution's package manager) to replace the system's BLAS libraries may tremendously increase the performance of Octave.<br />
<br />
== GNURoot Octave ==<br />
<br />
The Android app [https://play.google.com/store/apps/details?id=com.gnuroot.octave GNURoot Octave] in the Google play store is built and maintained by Corbin Champion. However, note that these repositories have not been updated for several years. It is not part of the GNU Octave project. Thus please use the following GitHub pages for questions and bug reports:<br />
<br />
* https://github.com/corbinlc/GNURootDebian<br />
* https://github.com/corbinlc/octave4android<br />
<br />
The implementation has been done in close cooperation with the Octave developers and makes use of the Octave source code without essential changes. Thus, it is fully compatible with the versions of Octave on other platforms.<br />
<br />
Some probably outdated build instructions for the older "octave4android" app:<br />
<br />
* https://lists.gnu.org/archive/html/octave-maintainers/2013-10/msg00406.html<br />
<br />
[[Category:Installation]]</div>Archismanhttps://wiki.octave.org/wiki/index.php?title=Octave_for_Android&diff=13693Octave for Android2021-03-11T17:26:57Z<p>Archisman: remove duplicate line</p>
<hr />
<div>== Termux ==<br />
<br />
[https://termux.com Termux] is a Terminal Emulator for Android. You can install it from [https://play.google.com/store/apps/details?id=com.termux Play store] or [https://f-droid.org/repository/browse/?fdid=com.termux F-Droid]. You don't need a rooted device to use Octave with Termux.<br />
<br />
=== Direct Octave installation ===<br />
<br />
You can directly install Octave in Termux using the repository by [https://github.com/its-pointless/gcc_termux its-pointless].<br />
<br />
<syntaxhighlight lang="shell"><br />
wget https://its-pointless.github.io/setup-pointless-repo.sh<br />
sh setup-pointless-repo.sh<br />
apt install octave<br />
</syntaxhighlight><br />
<br />
OpenBLAS is installed by default, and this method provides much better performance compared to Octave installed inside a GNU/Linux distro running in Termux. By default, Octave only plots with ASCII characters in the terminal. <br />
<br />
For graphical plots, [https://wiki.termux.com/wiki/Graphical_Environment#Desktop_environment_.28XFCE.29 install] a graphical environment like xfce, and use octave with a vnc server. Only the graphics toolkit `gnuplot` is known to work in this method.<br />
<br />
[[File:Octave in Termux.png|thumb|GNU Octave running directly in Termux]]<br />
<br />
<br />
=== Via some GNU/Linux distribution ===<br />
<br />
Inside Termux in Android, you can install a Linux distribution like Debian, Ubuntu, Arch or Alpine. Note that Alpine consumes relatively less disk space. Octave can be installed as described in [[Octave for GNU/Linux]] from the distribution's respective package manager.<br />
<br />
To use Octave's graphical capabilities, one needs to install a desktop environment, and a VNC server in the GNU/Linux distro, and one also needs to install a separate VNC viewer app in the Android phone (can be installed from Play Store/F-Droid). On many android devices, only the graphics toolkit "gnuplot" is known to work. Several apps (e.g. [https://github.com/EXALAB/AnLinux-App Anlinux], [https://andronix.app/ Andronix]) are available to easily install the Linux distribution of your choice, and setting up the desktop environment. Refer to the [https://docs.andronix.app/vnc/vnc-basics Andronix docs] for an overview of setting up the VNC server.<br />
<br />
'''Optimizing performance''': Installing [https://github.com/xianyi/OpenBLAS/wiki/Precompiled-installation-packages/ OpenBLAS] (with the distribution's package manager) to replace the system's BLAS libraries may tremendously increase the performance of Octave.<br />
<br />
== GNURoot Octave ==<br />
<br />
The Android app [https://play.google.com/store/apps/details?id=com.gnuroot.octave GNURoot Octave] in the Google play store is built and maintained by Corbin Champion. However, note that these repositories have not been updated for several years. It is not part of the GNU Octave project. Thus please use the following GitHub pages for questions and bug reports:<br />
<br />
* https://github.com/corbinlc/GNURootDebian<br />
* https://github.com/corbinlc/octave4android<br />
<br />
The implementation has been done in close cooperation with the Octave developers and makes use of the Octave source code without essential changes. Thus, it is fully compatible with the versions of Octave on other platforms.<br />
<br />
Some probably outdated build instructions for the older "octave4android" app:<br />
<br />
* https://lists.gnu.org/archive/html/octave-maintainers/2013-10/msg00406.html<br />
<br />
[[Category:Installation]]</div>Archismanhttps://wiki.octave.org/wiki/index.php?title=Octave_for_Android&diff=13692Octave for Android2021-03-11T17:26:21Z<p>Archisman: add info about graphical environment</p>
<hr />
<div>== Termux ==<br />
<br />
[https://termux.com Termux] is a Terminal Emulator for Android. You can install it from [https://play.google.com/store/apps/details?id=com.termux Play store] or [https://f-droid.org/repository/browse/?fdid=com.termux F-Droid]. You don't need a rooted device to use Octave with Termux.<br />
<br />
=== Direct Octave installation ===<br />
<br />
You can directly install Octave in Termux using the repository by [https://github.com/its-pointless/gcc_termux its-pointless].<br />
<br />
<syntaxhighlight lang="shell"><br />
wget https://its-pointless.github.io/setup-pointless-repo.sh<br />
sh setup-pointless-repo.sh<br />
apt install octave<br />
</syntaxhighlight><br />
<br />
OpenBLAS is installed by default, and this method provides much better performance compared to Octave installed inside a GNU/Linux distro running in Termux. By default, Octave only plots with ASCII characters in the terminal. <br />
<br />
For graphical plots, [https://wiki.termux.com/wiki/Graphical_Environment#Desktop_environment_.28XFCE.29 install] a graphical environment like xfce, and use octave with a vnc server. Only the graphics toolkit `gnuplot` is known to work in this method.<br />
<br />
<br />
[[File:Octave in Termux.png|thumb|GNU Octave running directly in Termux]]<br />
<br />
Openblas is automatically installed as a dependency of Octave, so one does not need to manually install it.<br />
<br />
=== Via some GNU/Linux distribution ===<br />
<br />
Inside Termux in Android, you can install a Linux distribution like Debian, Ubuntu, Arch or Alpine. Note that Alpine consumes relatively less disk space. Octave can be installed as described in [[Octave for GNU/Linux]] from the distribution's respective package manager.<br />
<br />
To use Octave's graphical capabilities, one needs to install a desktop environment, and a VNC server in the GNU/Linux distro, and one also needs to install a separate VNC viewer app in the Android phone (can be installed from Play Store/F-Droid). On many android devices, only the graphics toolkit "gnuplot" is known to work. Several apps (e.g. [https://github.com/EXALAB/AnLinux-App Anlinux], [https://andronix.app/ Andronix]) are available to easily install the Linux distribution of your choice, and setting up the desktop environment. Refer to the [https://docs.andronix.app/vnc/vnc-basics Andronix docs] for an overview of setting up the VNC server.<br />
<br />
'''Optimizing performance''': Installing [https://github.com/xianyi/OpenBLAS/wiki/Precompiled-installation-packages/ OpenBLAS] (with the distribution's package manager) to replace the system's BLAS libraries may tremendously increase the performance of Octave.<br />
<br />
== GNURoot Octave ==<br />
<br />
The Android app [https://play.google.com/store/apps/details?id=com.gnuroot.octave GNURoot Octave] in the Google play store is built and maintained by Corbin Champion. However, note that these repositories have not been updated for several years. It is not part of the GNU Octave project. Thus please use the following GitHub pages for questions and bug reports:<br />
<br />
* https://github.com/corbinlc/GNURootDebian<br />
* https://github.com/corbinlc/octave4android<br />
<br />
The implementation has been done in close cooperation with the Octave developers and makes use of the Octave source code without essential changes. Thus, it is fully compatible with the versions of Octave on other platforms.<br />
<br />
Some probably outdated build instructions for the older "octave4android" app:<br />
<br />
* https://lists.gnu.org/archive/html/octave-maintainers/2013-10/msg00406.html<br />
<br />
[[Category:Installation]]</div>Archismanhttps://wiki.octave.org/wiki/index.php?title=Octave_for_Android&diff=13660Octave for Android2021-02-19T10:16:06Z<p>Archisman: added screenshot</p>
<hr />
<div>== Termux ==<br />
<br />
[https://termux.com Termux] is a Terminal Emulator for Android. You can install it from [https://play.google.com/store/apps/details?id=com.termux Play store] or [https://f-droid.org/repository/browse/?fdid=com.termux F-Droid]. You don't need a rooted device to use Octave with Termux.<br />
<br />
=== Direct Octave installation ===<br />
<br />
You can directly install Octave in Termux using the repository by [https://github.com/its-pointless/gcc_termux its-pointless].<br />
<br />
<syntaxhighlight lang="shell"><br />
wget https://its-pointless.github.io/setup-pointless-repo.sh<br />
sh setup-pointless-repo.sh<br />
apt install octave<br />
</syntaxhighlight><br />
<br />
However, graphics capabilities are not available with this approach. It would only plot with ASCII characters in the terminal.<br />
[[File:Octave in Termux.png|thumb|GNU Octave running directly in Termux]]<br />
<br />
Openblas is automatically installed as a dependency of Octave, so one does not need to manually install it.<br />
<br />
=== Via some GNU/Linux distribution ===<br />
<br />
Inside Termux in Android, you can install a Linux distribution like Debian, Ubuntu, Arch or Alpine. Note that Alpine consumes relatively less disk space. Octave can be installed as described in [[Octave for GNU/Linux]] from the distribution's respective package manager.<br />
<br />
To use Octave's graphical capabilities, one needs to install a desktop environment, and a VNC server in the GNU/Linux distro, and one also needs to install a separate VNC viewer app in the Android phone (can be installed from Play Store/F-Droid). On many android devices, only the graphics toolkit "gnuplot" is known to work. Several apps (e.g. [https://github.com/EXALAB/AnLinux-App Anlinux], [https://andronix.app/ Andronix]) are available to easily install the Linux distribution of your choice, and setting up the desktop environment. Refer to the [https://docs.andronix.app/vnc/vnc-basics Andronix docs] for an overview of setting up the VNC server.<br />
<br />
'''Optimizing performance''': Installing [https://github.com/xianyi/OpenBLAS/wiki/Precompiled-installation-packages/ OpenBLAS] (with the distribution's package manager) to replace the system's BLAS libraries may tremendously increase the performance of Octave.<br />
<br />
== GNURoot Octave ==<br />
<br />
The Android app [https://play.google.com/store/apps/details?id=com.gnuroot.octave GNURoot Octave] in the Google play store is built and maintained by Corbin Champion. However, note that these repositories have not been updated for several years. It is not part of the GNU Octave project. Thus please use the following GitHub pages for questions and bug reports:<br />
<br />
* https://github.com/corbinlc/GNURootDebian<br />
* https://github.com/corbinlc/octave4android<br />
<br />
The implementation has been done in close cooperation with the Octave developers and makes use of the Octave source code without essential changes. Thus, it is fully compatible with the versions of Octave on other platforms.<br />
<br />
Some probably outdated build instructions for the older "octave4android" app:<br />
<br />
* https://lists.gnu.org/archive/html/octave-maintainers/2013-10/msg00406.html<br />
<br />
[[Category:Installation]]</div>Archismanhttps://wiki.octave.org/wiki/index.php?title=Octave_for_Android&diff=13659Octave for Android2021-02-19T06:47:07Z<p>Archisman: add info about OpenBLAS</p>
<hr />
<div>== Termux ==<br />
<br />
[https://termux.com Termux] is a Terminal Emulator for Android. You can install it from [https://play.google.com/store/apps/details?id=com.termux Play store] or [https://f-droid.org/repository/browse/?fdid=com.termux F-Droid]. You don't need a rooted device to use Octave with Termux.<br />
<br />
=== Direct Octave installation ===<br />
<br />
You can directly install Octave in Termux using the repository by [https://github.com/its-pointless/gcc_termux its-pointless].<br />
<br />
<syntaxhighlight lang="shell"><br />
wget https://its-pointless.github.io/setup-pointless-repo.sh<br />
sh setup-pointless-repo.sh<br />
apt install octave<br />
</syntaxhighlight><br />
<br />
However, graphics capabilities are not available with this approach. It would only plot with ASCII characters in the terminal. <br />
<br />
Openblas is automatically installed as a dependency of Octave, so one does not need to manually install it.<br />
<br />
=== Via some GNU/Linux distribution ===<br />
<br />
Inside Termux in Android, you can install a Linux distribution like Debian, Ubuntu, Arch or Alpine. Note that Alpine consumes relatively less disk space. Octave can be installed as described in [[Octave for GNU/Linux]] from the distribution's respective package manager.<br />
<br />
To use Octave's graphical capabilities, one needs to install a desktop environment, and a VNC server in the GNU/Linux distro, and one also needs to install a separate VNC viewer app in the Android phone (can be installed from Play Store/F-Droid). On many android devices, only the graphics toolkit "gnuplot" is known to work. Several apps (e.g. [https://github.com/EXALAB/AnLinux-App Anlinux], [https://andronix.app/ Andronix]) are available to easily install the Linux distribution of your choice, and setting up the desktop environment. Refer to the [https://docs.andronix.app/vnc/vnc-basics Andronix docs] for an overview of setting up the VNC server.<br />
<br />
'''Optimizing performance''': Installing [https://github.com/xianyi/OpenBLAS/wiki/Precompiled-installation-packages/ OpenBLAS] (with the distribution's package manager) to replace the system's BLAS libraries may tremendously increase the performance of Octave.<br />
<br />
== GNURoot Octave ==<br />
<br />
The Android app [https://play.google.com/store/apps/details?id=com.gnuroot.octave GNURoot Octave] in the Google play store is built and maintained by Corbin Champion. However, note that these repositories have not been updated for several years. It is not part of the GNU Octave project. Thus please use the following GitHub pages for questions and bug reports:<br />
<br />
* https://github.com/corbinlc/GNURootDebian<br />
* https://github.com/corbinlc/octave4android<br />
<br />
The implementation has been done in close cooperation with the Octave developers and makes use of the Octave source code without essential changes. Thus, it is fully compatible with the versions of Octave on other platforms.<br />
<br />
Some probably outdated build instructions for the older "octave4android" app:<br />
<br />
* https://lists.gnu.org/archive/html/octave-maintainers/2013-10/msg00406.html<br />
<br />
[[Category:Installation]]</div>Archismanhttps://wiki.octave.org/wiki/index.php?title=Tips_and_tricks&diff=13658Tips and tricks2021-02-19T06:36:58Z<p>Archisman: Fix broken link with the wayback machine</p>
<hr />
<div>==Preferences==<br />
Sometimes, Octave defaults are not the best for someone's specific use. To change the defaults, use the following on the {{Path|[[.octaverc]]}} file.<br />
<br />
=== Changing default figure size ===<br />
The default size of a figure may be appropriate for simple figures but not so much when using {{Codeline|subplot}} for example. This can be changed though. <br />
<br />
{{Code|change default figure size|<pre>set (0, 'DefaultFigurePosition', [1 get(0, "screensize")(4:-1:3) get(0, "DefaultFigurePosition")(4)]);</pre>}}<br />
<br />
The value of {{Codeline|DefaultFigurePosition}} must be a four element vector with the x and y coordinates for the figure, followed by its width and height. The code above sets the default image to be placed at the top of the monitor, with the width of the monitor and the same height previously set as default.<br />
<br />
=== Changing default font for axes ===<br />
<br />
To display tex characters such as '\alpha' or '\lambda', a TrueType font ("arial" for instance) is better for the gnuplot backend [https://savannah.gnu.org/bugs/?30681]<br />
{{Code|change default axes font name|<pre>set (0, "DefaultAxesFontName", "Arial")</pre>}}<br />
It can then be necessary to change the font size as well<br />
{{Code|change default axes font size|<pre>set(0, 'DefaultAxesFontSize', 10)</pre>}}<br />
<br />
<br />
=== Shorten help message ===<br />
To get rid of the long help message with the link to the Octave homepage place this in your startup file usually at ~/.octaverc (if it does not exist, create it). See the [http://www.gnu.org/software/octave/doc/interpreter/Startup-Files.html documentation] for more information.<br />
suppress_verbose_help_message(1)<br />
<br />
==Tiny helper functions==<br />
<br />
This is a list of tiny helper functions (the equivalent of e.g., shell aliases), the kind one would have on its {{Path|.octaverc}} file.<br />
<br />
=== Reload 'octave.rc' after 'clear' ===<br />
When using {{Codeline|clear}}, one may accidentally remove functions (alias) or other variables set on the {{Path|octave.rc}} file. This can fixed by shadowing the {{Codeline|clear}} function with the following:<br />
<br />
{{Code|reload octave.rc after clear|<pre><br />
function clear (varargin)<br />
args = sprintf (', "%s"', varargin{:});<br />
evalin ("caller", ['builtin ("clear"' args ')']);<br />
source ("~/.octaverc");<br />
endfunction</pre>}}<br />
<br />
The problem with this approach is if there's path manipulation on the {{Path|octave.rc}} file, such as {{Codeline|addpath}}. A workaround is needed for each case since it is not possible to obtain a reliable list of what's in Octave load path. But basically should be to undo what the file does, before {{Codeline|source ("~/.octaverc")}}.<br />
<br />
If there's a {{Codeline|pkg unload all}} on it, this would also unload all packages. The following adjustment will keep the packages loaded<br />
<br />
{{Code|reload octave.rc after clear but keep packages loaded|<pre><br />
function clear (varargin)<br />
args = sprintf (', "%s"', varargin{:});<br />
evalin ("caller", ['builtin ("clear"' args ')']);<br />
pkglist = pkg ("list");<br />
loadedpkg = cell (0);<br />
for ii = 1:numel (pkglist)<br />
if (pkglist{ii}.loaded)<br />
loadedpkg{end+1} = pkglist{ii}.name;<br />
endif<br />
endfor<br />
source ("~/.octaverc");<br />
if (numel (loadedpkg) != 0)<br />
pkg ("load", loadedpkg{:});<br />
endif<br />
endfunction</pre>}}<br />
<br />
<br />
=== replace help with man ===<br />
<br />
If you use octave too much, you'll find yourself trying to use {{Codeline|help}} instead of {{Codeline|man}} on bash. This function will fix that so you can use {{Codeline|man}} in your octave instance (you can also do the opposite, create a {{Codeline|help}} alias in bash but {{Codeline|man}} has fewer characters).<br />
<br />
{{Code|alias to help|<pre><br />
function man (name)<br />
help (char (name))<br />
endfunction</pre>}}<br />
<br />
==C++==<br />
<br />
=== Real matrix operations===<br />
<br />
This is a table of matrix operations commonly performed in Octave and their equivalents in C++ when using the octave libraries.<br />
<br />
<table><br />
<tr><td><b>Operation</b></td><td><b>Octave</b></td><td><b>C++</b></td><tr><td>add</td><td><code>A+B</code></td><td><code>A+B</code></td></tr><br />
<tr><td>subtract</td><td><code>A-B</code></td><td><code>A-B</code></td></tr><br />
<tr><td>matrix multiplication</td><td><code>A*B</code></td><td><code>A*B</code></td></tr><br />
<tr><td>element multiplication</td><td><code>A.*B</code></td><td><code>product(A,B) </code></td></tr><br />
<tr><td>element division</td><td><code>A./B</code></td><td><code>quotient(A,B) </code></td></tr><br />
<tr><td>transpose*</td><td><code>A.'</code></td><td><code>A.transpose()</code></td></tr><br />
<tr><td>select element m,n of A**</td><td><code>A(m,n)</code></td><td><code>A(m-1,n-1)</code></td></tr><br />
<tr><td>select row N of A**</td><td><code>A(N,:)</code></td><td><code>A.row(N-1)</code></td></tr><br />
<tr><td>select column N of A**</td><td><code>A(:,N)</code></td><td><code>A.column(N-1)</code></td></tr><br />
<tr><td>extract submatrix of A</td><td><code>A(a:b,c:d)</code></td><td><code>A.extract(a-1,c-1,b-1,d-1)</code></td></tr><br />
<tr><td>absolute value of A</td><td><code>abs(A)</code></td><td><code>A.abs()</code></td></tr><br />
<tr><td>comparison to scalar***</td><td><code>A&gt;2</code></td><td><code>mx_el_gt(A,2)</code></td></tr><br />
<tr><td></td><td><code>A&lt;2</code></td><td><code>mx_el_lt(A,2)</code></td></tr><br />
<tr><td></td><td><code>A==2</code></td><td><code>mx_el_eq(A,2)</code></td></tr><br />
<tr><td></td><td><code>A~=2</code></td><td><code>mx_el_ne(A,2)</code></td></tr><br />
<tr><td></td><td><code>A&gt;=2</code></td><td><code>mx_el_ge(A,2)</code></td></tr><br />
<tr><td></td><td><code>A&lt;=2</code></td><td><code>mx_el_le(A,2)</code></td></tr><br />
<tr><td>matrix of zeros</td><td><code>A=zeros(m,n)</code></td><td><code>A.fill(0.0)</code></td></tr><br />
<tr><td>matrix of ones</td><td><code>A=ones(m,n)</code></td><td><code>A.fill(1.0)</code></td></tr><br />
<tr><td>identity matrix</td><td><code>eye(N)</code></td><td><code>identity_matrix(N,N)</code></td></tr><br />
<tr><td>inverse of A</td><td><code>inv(A)</code></td><td><code>A.inverse()</code></td></tr><br />
<tr><td>pseudoinverse of A</td><td><code>pinv(A)</code></td><td><code>A.pseudo_inverse()</code></td></tr><br />
<tr><td>diagonal elements of A</td><td><code>diag(A)</code></td><td><code>A.diag()</code></td></tr><br />
<tr><td>column vector</td><td><code>A(:)</code></td><td><code>ColumnVector(A.reshape (dim_vector(A.length())))</code></td></tr><br />
<tr><td>row vector</td><td><code>A(:)'</code></td><td><code>RowVector(A.reshape (dim_vector(A.length())))</code></td></tr><br />
<tr><td>check for Inf or NaN</td><td><code>any(~isfinite(A))</code></td><td><code>A.any_element_is_inf_or_nan()</code></td></tr><br />
<tr><td>stack two matrices vertically</td><td><code>A=[B;C]</code></td><td><code>B.stack(C)</code></td></tr><br />
<tr><td>uniform random matrix</td><td><code>rand(a,b)</code></td><td><code>octave_rand::distribution("uniform"); octave_rand::matrix(a,b)</code></td></tr><br />
<tr><td>normal random matrix</td><td><code>randn(a,b)</code></td><td><code>octave_rand::distribution("normal"); octave_rand::matrix(a,b)</code></td></tr><br />
<tr><td>sum squares of columns</td><td><code>sumsq(A)</code></td><td><code>A.sumsq()</code></td></tr><br />
<tr><td>sum along columns</td><td><code>sum(A,1)</code></td><td><code>A.sum(0)</code></td></tr><br />
<tr><td>sum along rows</td><td><code>sum(A,2)</code></td><td><code>A.sum(1)</code></td></tr><br />
<tr><td>product along columns</td><td><code>prod(A,1)</code></td><td><code>A.prod(0)</code></td></tr><br />
<tr><td>product along rows</td><td><code>prod(A,2)</code></td><td><code>A.prod(1)</code></td></tr><br />
<tr><td>cumsum along columns</td><td><code>cumsum(A,1)</code></td><td><code>A.cumsum(0)</code></td></tr><br />
<tr><td>cumsum along rows</td><td><code>cumsum(A,2)</code></td><td><code>A.cumsum(1)</code></td></tr><br />
<tr><td>cumproduct along columns</td><td><code>cumprod(A,1)</code></td><td><code>A.cumprod(0)</code></td></tr><br />
<tr><td>cumproduct along rows</td><td><code>cumprod(A,2)</code></td><td><code>A.cumprod(1)</code></td></tr><br />
<tr><td>number of rows</td><td><code>size(A,1)</code></td><td><code>A.rows()</code></td></tr><br />
<tr><td>number of columns</td><td><code>size(A,2)</code></td><td><code>A.cols()</code></td></tr><br />
<tr><td>range</td><td><code>0.1:0.2:0.9</code></td><td><code>Range (0.1, 0.9, 0.2).matrix_value ()</code></td></tr><br />
</table><br />
<br />
Notes:<br />
<br />
* Transpose, addition, and multiplication operations also apply to RowVector, ComplexRowVector, ColumnVector, and ComplexColumnVector data types when the dimensions are in agreement. <br />
<br />
* The difference is due to the fact that arrays are zero-based in C++, but one-based in Octave. <br />
<br />
* The names of Octave internal functions, such as mx_el_gt, are not documented and are subject to change. Functions such as mx_el_gt may eventually be available at both the scripting level and in C++ under more common names such as gt.<br />
<br />
===Complex Matrix Operations===<br />
<br />
<table><br />
<tr><td><b>Operation</b></td><td><b>Octave</b></td><td><b>C++</b></td></tr><br />
<tr><td>conjugate tranpose</td><td><code>A'</code></td><td><code>A.hermitian()</code></td></tr><br />
</table><br />
<br />
==General==<br />
<br />
===Vectorizing Tricks===<br />
<br />
You can easily fill a vector with an index:<br />
<br />
for i=1:n, x(i) = i; end<br />
<br />
x = 1:n;<br />
<br />
This works for expressions on the index by wrapping the index in an expression:<br />
<br />
for i=1:n, x(i) = sin(2*pi*i*f/r); end<br />
<br />
x = sin(2*pi*(1:n)*f/r);<br />
<br />
You can also work with other vectors this way:<br />
<br />
for i=1:n, x(i) = sin(2*pi*y(i)*f/r); end<br />
<br />
x = sin(2*pi*y*f/r);<br />
<br />
Conditionals in the for loop are a little bit tricky. We need to create an index vector for the true condition, and another for the false condition, then calculate the two independently.<br />
<br />
for i=1:n, if y(i)<1, x(i)=y(i); else x(i) = 2*y(i); endif<br />
<br />
idx = y < 1;<br />
x(idx) = y(idx);<br />
x(!idx) = 2*y(!idx);<br />
<br />
FIXME: add the following<br />
*examples from matrices<br />
*tricks with sort and cumsum (e.g., hist, lookup)<br />
*counter-examples such as a tridiagonal solver<br />
*sparse matrix tricks<br />
*tricks relying on fortran indexing<br />
<br />
====Other references====<br />
<br />
*MATLAB array manipulation tips and tricks by Peter Acklam: http://home.online.no/~pjacklam/matlab/doc/mtt/index.html<br />
*The MathWorks: Code Vectorization Guide: http://www.mathworks.com/support/tech-notes/1100/1109.html<br />
<br />
[[Category:Tips and tricks]]<br />
<br />
<br />
===Changing BLAS===<br />
<br />
Many Octave functions are wrappers to optimized numerical libraries, notably BLAS and ATLAS. It is possible to achieve impressive performance gains by simply using a library tuned to your platform. One example is using OpenBLAS to replace the default BLAS implementation ([https://web.archive.org/web/20140217072457/http://www.stat.cmu.edu/~nmv/2013/07/09/for-faster-r-use-openblas-instead-better-than-atlas-trivial-to-switch-to-on-ubuntu/ further details]).<br />
<br />
On some Linux distributions, this just takes a few commands. For instance, on Ubuntu, it usually suffices to run<br />
<br />
sudo apt-get install libopenblas-base libatlas3gf-base<br />
<br />
followed by<br />
<br />
sudo update-alternatives --config libblas.so.3<br />
<br />
and then selecting the openblas option.</div>Archismanhttps://wiki.octave.org/wiki/index.php?title=Octave_for_Android&diff=13657Octave for Android2021-02-19T06:20:55Z<p>Archisman: tried to improve the description</p>
<hr />
<div>== Termux ==<br />
<br />
[https://termux.com Termux] is a Terminal Emulator for Android. You can install it from [https://play.google.com/store/apps/details?id=com.termux Play store] or [https://f-droid.org/repository/browse/?fdid=com.termux F-Droid]. You don't need a rooted device to use Octave with Termux.<br />
<br />
=== Direct Octave installation ===<br />
<br />
You can directly install Octave in Termux using the repository by [https://github.com/its-pointless/gcc_termux its-pointless].<br />
<br />
<syntaxhighlight lang="shell"><br />
wget https://its-pointless.github.io/setup-pointless-repo.sh<br />
sh setup-pointless-repo.sh<br />
apt install octave<br />
</syntaxhighlight><br />
<br />
However, graphics capabilities are not available with this approach. It would only plot with ASCII characters in the terminal.<br />
<br />
=== Via some GNU/Linux distribution ===<br />
<br />
Inside Termux in Android, you can install a Linux distribution like Debian, Ubuntu, Arch or Alpine. Note that Alpine consumes relatively less disk space. Octave can be installed as described in [[Octave for GNU/Linux]] from the distribution's respective package manager.<br />
<br />
To use Octave's graphical capabilities, one needs to install a desktop environment, and a VNC server in the GNU/Linux distro, and one also needs to install a separate VNC viewer app in the Android phone (can be installed from Play Store/F-Droid). On many android devices, only the graphics toolkit "gnuplot" is known to work. Several apps (e.g. [https://github.com/EXALAB/AnLinux-App Anlinux], [https://andronix.app/ Andronix]) are available to easily install the Linux distribution of your choice, and setting up the desktop environment. Refer to the [https://docs.andronix.app/vnc/vnc-basics Andronix docs] for an overview of setting up the VNC server.<br />
<br />
== GNURoot Octave ==<br />
<br />
The Android app [https://play.google.com/store/apps/details?id=com.gnuroot.octave GNURoot Octave] in the Google play store is built and maintained by Corbin Champion. However, note that these repositories have not been updated for several years. It is not part of the GNU Octave project. Thus please use the following GitHub pages for questions and bug reports:<br />
<br />
* https://github.com/corbinlc/GNURootDebian<br />
* https://github.com/corbinlc/octave4android<br />
<br />
The implementation has been done in close cooperation with the Octave developers and makes use of the Octave source code without essential changes. Thus, it is fully compatible with the versions of Octave on other platforms.<br />
<br />
Some probably outdated build instructions for the older "octave4android" app:<br />
<br />
* https://lists.gnu.org/archive/html/octave-maintainers/2013-10/msg00406.html<br />
<br />
[[Category:Installation]]</div>Archismanhttps://wiki.octave.org/wiki/index.php?title=Octave_for_Android&diff=13656Octave for Android2021-02-19T06:15:02Z<p>Archisman: fix spelling, and more info about VNC server.</p>
<hr />
<div>== Termux ==<br />
<br />
[https://termux.com Termux] is a Terminal Emulator for Android. You can install it from [https://play.google.com/store/apps/details?id=com.termux Play store] or [https://f-droid.org/repository/browse/?fdid=com.termux F-Droid]. You don't need a rooted device to use Octave with Termux.<br />
<br />
=== Direct Octave installation ===<br />
<br />
You can directly install Octave in Termux using the repository by [https://github.com/its-pointless/gcc_termux its-pointless].<br />
<br />
<syntaxhighlight lang="shell"><br />
wget https://its-pointless.github.io/setup-pointless-repo.sh<br />
sh setup-pointless-repo.sh<br />
apt install octave<br />
</syntaxhighlight><br />
<br />
However, graphics capabilities are not available with this approach. It would only plot with ASCII characters in the terminal.<br />
<br />
=== Via some Linux distribution ===<br />
<br />
Inside Termux in Android, you can install a Linux distribution like Debian, Ubuntu, Arch or Alpine. Note that Alpine consumes relatively less disk space. Octave can be installed as described in [[Octave for GNU/Linux]] from the distribution's respective package manager.<br />
<br />
To use Octave's graphical capabilities, the installation of a desktop environment and the usage of a VNC Server is required. On many android devices, only the graphics toolkit "gnuplot" is known to work. Several apps (e.g. [https://github.com/EXALAB/AnLinux-App Anlinux], [https://andronix.app/ Andronix]) are available to easily install the Linux distribution of your choice, and setting up the desktop environment. Refer to the [https://docs.andronix.app/vnc/vnc-basics Andronix docs] for an overview of setting up the VNC server.<br />
<br />
== GNURoot Octave ==<br />
<br />
The Android app [https://play.google.com/store/apps/details?id=com.gnuroot.octave GNURoot Octave] in the Google play store is built and maintained by Corbin Champion. However, note that these repositories have not been updated for several years. It is not part of the GNU Octave project. Thus please use the following GitHub pages for questions and bug reports:<br />
<br />
* https://github.com/corbinlc/GNURootDebian<br />
* https://github.com/corbinlc/octave4android<br />
<br />
The implementation has been done in close cooperation with the Octave developers and makes use of the Octave source code without essential changes. Thus, it is fully compatible with the versions of Octave on other platforms.<br />
<br />
Some probably outdated build instructions for the older "octave4android" app:<br />
<br />
* https://lists.gnu.org/archive/html/octave-maintainers/2013-10/msg00406.html<br />
<br />
[[Category:Installation]]</div>Archismanhttps://wiki.octave.org/wiki/index.php?title=Octave_for_Android&diff=13655Octave for Android2021-02-19T06:04:57Z<p>Archisman: root is not required</p>
<hr />
<div>== Termux ==<br />
<br />
[https://termux.com Termux] is a Terminal Emulator for Android. You can install it from [https://play.google.com/store/apps/details?id=com.termux Play store] or [https://f-droid.org/repository/browse/?fdid=com.termux F-Droid]. You don't need a rooted device to use Octave with Termux.<br />
<br />
=== Direct Octave installation ===<br />
<br />
You can directly install Octave in Termux using the repository by [https://github.com/its-pointless/gcc_termux its-pointless].<br />
<br />
<syntaxhighlight lang="shell"><br />
wget https://its-pointless.github.io/setup-pointless-repo.sh<br />
sh setup-pointless-repo.sh<br />
apt install octave<br />
</syntaxhighlight><br />
<br />
However, graphics capabilities are not available with this approach.<br />
<br />
=== Via some Linux distribution ===<br />
<br />
Inside Termux in Android, you can install a Linux distribution like Debian, Ubuntu, Arch or Alpine (this consumes less disk space). Octave can be installed as descrbied in [[Octave for GNU/Linux]] from the distribution's respective package manager.<br />
<br />
To use Octave's graphical capabilities, the installation of a desktop environment and the usage of a VNC Server is required. (Please add more information how to do this here.) On many android devices, only the graphics toolkit "gnuplot" is known to work. Several apps (e.g. [https://github.com/EXALAB/AnLinux-App Anlinux], [https://andronix.app/ Andronix]) are available to easily install the Linux distribution of your choice, and setting up the desktop environment.<br />
<br />
== GNURoot Octave ==<br />
<br />
The Android app [https://play.google.com/store/apps/details?id=com.gnuroot.octave GNURoot Octave] in the Google play store is built and maintained by Corbin Champion. However, note that these repositories have not been updated for several years. It is not part of the GNU Octave project. Thus please use the following GitHub pages for questions and bug reports:<br />
<br />
* https://github.com/corbinlc/GNURootDebian<br />
* https://github.com/corbinlc/octave4android<br />
<br />
The implementation has been done in close cooperation with the Octave developers and makes use of the Octave source code without essential changes. Thus, it is fully compatible with the versions of Octave on other platforms.<br />
<br />
Some probably outdated build instructions for the older "octave4android" app:<br />
<br />
* https://lists.gnu.org/archive/html/octave-maintainers/2013-10/msg00406.html<br />
<br />
[[Category:Installation]]</div>Archismanhttps://wiki.octave.org/wiki/index.php?title=User:Archisman&diff=13613User:Archisman2021-02-03T12:43:37Z<p>Archisman: Created page with "This is '''Archisman Panigrahi'''. I also have a GitHub account. https://github.com/apandada1/ I made some contributions to the [https://wiki.octave.org/wiki/index.php?title=O..."</p>
<hr />
<div>This is '''Archisman Panigrahi'''. I also have a GitHub account. https://github.com/apandada1/<br />
I made some contributions to the [https://wiki.octave.org/wiki/index.php?title=Octave_for_Android Octave for Android] page.</div>Archismanhttps://wiki.octave.org/wiki/index.php?title=Talk:Octave_for_Android&diff=13612Talk:Octave for Android2021-02-03T12:30:49Z<p>Archisman: root is not required</p>
<hr />
<div>The termux method (no graphics) requires a rooted android device? [[User:Artemon ge|Artemon ge]] ([[User talk:Artemon ge|talk]]) 03:59, 3 February 2021 (PST)<br />
<br />
No, it does not require a rooted Android device. [[User:Archisman|Archisman]] 17:58, 3 February 2021 (IST)</div>Archismanhttps://wiki.octave.org/wiki/index.php?title=Octave_for_Android&diff=13299Octave for Android2020-08-23T06:19:28Z<p>Archisman: make octave on termux and distro in termux in separate</p>
<hr />
<div>== GNURoot Octave ==<br />
<br />
The Android app [https://play.google.com/store/apps/details?id=com.gnuroot.octave GNURoot Octave] in the Google play store is built and maintained by Corbin Champion. However, note that these repositories have not been updated for several years. It is not part of the GNU Octave project. Thus please use the following GitHub pages for questions and bug reports:<br />
<br />
* https://github.com/corbinlc/GNURootDebian<br />
* https://github.com/corbinlc/octave4android<br />
<br />
The implementation has been done in close cooperation with the Octave developers and makes use of the Octave source code without essential changes. Thus, it is fully compatible with the versions of Octave on other platforms.<br />
<br />
Some probably outdated build instructions for the older "octave4android" app:<br />
<br />
* https://lists.gnu.org/archive/html/octave-maintainers/2013-10/msg00406.html<br />
<br />
== Octave for Linux on Dex (Samsung Android devices) ==<br />
<br />
[https://www.linuxondex.com/ Linux on Dex (LoD)] is an application (beta testing status) that runs on some Samsung Android devices.<br />
<br />
To build Octave on LoD, do the following. This assumes you have LoD working. If not, follow the instructions on the LoD website.<br />
<br />
# Many of the packages that Octave needs are not in the default Ubuntu installation. You will need to install them using <code>sudo apt install <package></code>. First, you need the compilers gcc, and gfortran. There are other packages that are essential to download: "libblas", "liblapack", "libatlas" and their development counterparts with the "-dev" extension.<br />
# Remove all "libopenblas" packages with <code>sudo apt remove libopenblas*</code>. The OpenBLAS library from the default Ubuntu distribution does not work with Octave. You have to remove it. For details see bug {{bug|56900}}.<br />
# Unpack the Octave source code and enter the directory. Create a build directory <code>mkdir my_build</code>, enter that directory and issue <code>../configure</code>. This will start the configure script. Look at the output at the end of the configure process to see what packages are not found by the script. Many of these will be things you want/need in terms of functionality. You can search for the packages available using the command "apt search", and install the ones you want using <code>sudo apt install <package></code> before compiling. If you want to install Octave in "my_build" be sure to issue <code>../configure --prefix=`pwd`</code> from this directory.<br />
# In the {{Path|my_build}} directory issue <code>make</code> and <code>make install</code>.<br />
<br />
Now you should have a working installation in, e.g., {{Path|/home/dextop/path_to/octave-5.1.0/my_build/}}.<br />
<br />
Graphics:<br />
<br />
# If you set the graphics toolbox to "gnuplot", Octave should generate plots correctly. If it does not, set the environment variable GNUTERM to x11. The default shell in LoD is bash, and you can either issue <code>export GNUTERM=x11</code> in the bash terminal or in your octave session issuing "setenv GNUTERM x11". You can also add <code>setenv GNUTERM x11</code> to your {{Path|.octaverc}} file to do this automatically.<br />
# If you want to use Qt graphics it will take some work, and may or may not be possible. It has not been tested by anyone. You will need to download the package [https://github.com/termux/libandroid-shmem libandroid-shmem], get it working, and then recompile Octave linking to this library. There are more detailed instructions regarding the compilation on the github website.<br />
<br />
== Octave on Termux ==<br />
<br />
[https://termux.com Termux] is a Terminal Emulator for Android. You can install it from [https://play.google.com/store/apps/details?id=com.termux Play store] or [https://f-droid.org/repository/browse/?fdid=com.termux F-Droid].<br />
You can directly install Octave in Termux using the repository by [https://github.com/its-pointless/gcc_termux its-pointless].<br />
<br />
<code><br />
wget https://its-pointless.github.io/setup-pointless-repo.sh<br />
</code><br />
<br />
<code><br />
sh setup-pointless-repo.sh<br />
</code><br />
<br />
<code><br />
apt install octave<br />
</code><br />
<br />
However, graphics capabilities are not available in this.<br />
<br />
== Octave running in a Distro in Termux ==<br />
<br />
You can [https://github.com/EXALAB/AnLinux-App install a distro] like Debian, Ubuntu, Arch or Alpine (this consumes less disk space), and then install Octave from the package manager of that distro. You can also install desktop environments with the Anlinux app, and use VNC Server to use Octave's graphical capabilities. In many android devices, only the graphics toolkit "gnuplot" works.<br />
<br />
[[Category:Installation]]</div>Archismanhttps://wiki.octave.org/wiki/index.php?title=Octave_for_Android&diff=13298Octave for Android2020-08-23T06:03:17Z<p>Archisman: add new lines</p>
<hr />
<div>== GNURoot Octave ==<br />
<br />
The Android app [https://play.google.com/store/apps/details?id=com.gnuroot.octave GNURoot Octave] in the Google play store is built and maintained by Corbin Champion. It is not part of the GNU Octave project. Thus please use the following GitHub pages for questions and bug reports:<br />
<br />
* https://github.com/corbinlc/GNURootDebian<br />
* https://github.com/corbinlc/octave4android<br />
<br />
The implementation has been done in close cooperation with the Octave developers and makes use of the Octave source code without essential changes. Thus, it is fully compatible with the versions of Octave on other platforms.<br />
However, note that these repositories have not been updated for several years.<br />
<br />
Some probably outdated build instructions for the older "octave4android" app:<br />
<br />
* https://lists.gnu.org/archive/html/octave-maintainers/2013-10/msg00406.html<br />
<br />
== Octave for Linux on Dex (Samsung Android devices) ==<br />
<br />
[https://www.linuxondex.com/ Linux on Dex (LoD)] is an application (beta testing status) that runs on some Samsung Android devices.<br />
<br />
To build Octave on LoD, do the following. This assumes you have LoD working. If not, follow the instructions on the LoD website.<br />
<br />
# Many of the packages that Octave needs are not in the default Ubuntu installation. You will need to install them using <code>sudo apt install <package></code>. First, you need the compilers gcc, and gfortran. There are other packages that are essential to download: "libblas", "liblapack", "libatlas" and their development counterparts with the "-dev" extension.<br />
# Remove all "libopenblas" packages with <code>sudo apt remove libopenblas*</code>. The OpenBLAS library from the default Ubuntu distribution does not work with Octave. You have to remove it. For details see bug {{bug|56900}}.<br />
# Unpack the Octave source code and enter the directory. Create a build directory <code>mkdir my_build</code>, enter that directory and issue <code>../configure</code>. This will start the configure script. Look at the output at the end of the configure process to see what packages are not found by the script. Many of these will be things you want/need in terms of functionality. You can search for the packages available using the command "apt search", and install the ones you want using <code>sudo apt install <package></code> before compiling. If you want to install Octave in "my_build" be sure to issue <code>../configure --prefix=`pwd`</code> from this directory.<br />
# In the {{Path|my_build}} directory issue <code>make</code> and <code>make install</code>.<br />
<br />
Now you should have a working installation in, e.g., {{Path|/home/dextop/path_to/octave-5.1.0/my_build/}}.<br />
<br />
Graphics:<br />
<br />
# If you set the graphics toolbox to "gnuplot", Octave should generate plots correctly. If it does not, set the environment variable GNUTERM to x11. The default shell in LoD is bash, and you can either issue <code>export GNUTERM=x11</code> in the bash terminal or in your octave session issuing "setenv GNUTERM x11". You can also add <code>setenv GNUTERM x11</code> to your {{Path|.octaverc}} file to do this automatically.<br />
# If you want to use Qt graphics it will take some work, and may or may not be possible. It has not been tested by anyone. You will need to download the package [https://github.com/termux/libandroid-shmem libandroid-shmem], get it working, and then recompile Octave linking to this library. There are more detailed instructions regarding the compilation on the github website.<br />
<br />
== Octave on Termux ==<br />
<br />
[https://termux.com Termux] is a Terminal Emulator for Android. You can install it from [https://play.google.com/store/apps/details?id=com.termux Play store] or [https://f-droid.org/repository/browse/?fdid=com.termux F-Droid].<br />
You can directly install Octave in Termux using the repository by [https://github.com/its-pointless/gcc_termux its-pointless].<br />
<br />
<code><br />
wget https://its-pointless.github.io/setup-pointless-repo.sh<br />
</code><br />
<br />
<code><br />
sh setup-pointless-repo.sh<br />
</code><br />
<br />
<code><br />
apt install octave<br />
</code><br />
<br />
Graphics - Using a Distro in Termux:<br />
<br />
You can [https://github.com/EXALAB/AnLinux-App install a distro] like Debian, Ubuntu, Arch or Alpine (this consumes less disk space), and then install Octave from the package manager of that distro. You can also install desktop environments and use VNC Server to use Octave's graphical capabilities. In many android devices, only the graphics toolkit "gnuplot" works.<br />
<br />
[[Category:Installation]]</div>Archismanhttps://wiki.octave.org/wiki/index.php?title=Octave_for_Android&diff=13297Octave for Android2020-08-23T06:02:48Z<p>Archisman: fix commands</p>
<hr />
<div>== GNURoot Octave ==<br />
<br />
The Android app [https://play.google.com/store/apps/details?id=com.gnuroot.octave GNURoot Octave] in the Google play store is built and maintained by Corbin Champion. It is not part of the GNU Octave project. Thus please use the following GitHub pages for questions and bug reports:<br />
<br />
* https://github.com/corbinlc/GNURootDebian<br />
* https://github.com/corbinlc/octave4android<br />
<br />
The implementation has been done in close cooperation with the Octave developers and makes use of the Octave source code without essential changes. Thus, it is fully compatible with the versions of Octave on other platforms.<br />
However, note that these repositories have not been updated for several years.<br />
<br />
Some probably outdated build instructions for the older "octave4android" app:<br />
<br />
* https://lists.gnu.org/archive/html/octave-maintainers/2013-10/msg00406.html<br />
<br />
== Octave for Linux on Dex (Samsung Android devices) ==<br />
<br />
[https://www.linuxondex.com/ Linux on Dex (LoD)] is an application (beta testing status) that runs on some Samsung Android devices.<br />
<br />
To build Octave on LoD, do the following. This assumes you have LoD working. If not, follow the instructions on the LoD website.<br />
<br />
# Many of the packages that Octave needs are not in the default Ubuntu installation. You will need to install them using <code>sudo apt install <package></code>. First, you need the compilers gcc, and gfortran. There are other packages that are essential to download: "libblas", "liblapack", "libatlas" and their development counterparts with the "-dev" extension.<br />
# Remove all "libopenblas" packages with <code>sudo apt remove libopenblas*</code>. The OpenBLAS library from the default Ubuntu distribution does not work with Octave. You have to remove it. For details see bug {{bug|56900}}.<br />
# Unpack the Octave source code and enter the directory. Create a build directory <code>mkdir my_build</code>, enter that directory and issue <code>../configure</code>. This will start the configure script. Look at the output at the end of the configure process to see what packages are not found by the script. Many of these will be things you want/need in terms of functionality. You can search for the packages available using the command "apt search", and install the ones you want using <code>sudo apt install <package></code> before compiling. If you want to install Octave in "my_build" be sure to issue <code>../configure --prefix=`pwd`</code> from this directory.<br />
# In the {{Path|my_build}} directory issue <code>make</code> and <code>make install</code>.<br />
<br />
Now you should have a working installation in, e.g., {{Path|/home/dextop/path_to/octave-5.1.0/my_build/}}.<br />
<br />
Graphics:<br />
<br />
# If you set the graphics toolbox to "gnuplot", Octave should generate plots correctly. If it does not, set the environment variable GNUTERM to x11. The default shell in LoD is bash, and you can either issue <code>export GNUTERM=x11</code> in the bash terminal or in your octave session issuing "setenv GNUTERM x11". You can also add <code>setenv GNUTERM x11</code> to your {{Path|.octaverc}} file to do this automatically.<br />
# If you want to use Qt graphics it will take some work, and may or may not be possible. It has not been tested by anyone. You will need to download the package [https://github.com/termux/libandroid-shmem libandroid-shmem], get it working, and then recompile Octave linking to this library. There are more detailed instructions regarding the compilation on the github website.<br />
<br />
== Octave on Termux ==<br />
<br />
[https://termux.com Termux] is a Terminal Emulator for Android. You can install it from [https://play.google.com/store/apps/details?id=com.termux Play store] or [https://f-droid.org/repository/browse/?fdid=com.termux F-Droid].<br />
You can directly install Octave in Termux using the repository by [https://github.com/its-pointless/gcc_termux its-pointless].<br />
<br />
<code><br />
wget https://its-pointless.github.io/setup-pointless-repo.sh<br />
</code><br />
<code><br />
sh setup-pointless-repo.sh<br />
</code><br />
<code><br />
apt install octave<br />
</code><br />
<br />
Graphics - Using a Distro in Termux:<br />
<br />
You can [https://github.com/EXALAB/AnLinux-App install a distro] like Debian, Ubuntu, Arch or Alpine (this consumes less disk space), and then install Octave from the package manager of that distro. You can also install desktop environments and use VNC Server to use Octave's graphical capabilities. In many android devices, only the graphics toolkit "gnuplot" works.<br />
<br />
[[Category:Installation]]</div>Archismanhttps://wiki.octave.org/wiki/index.php?title=Octave_for_Android&diff=13296Octave for Android2020-08-23T06:01:59Z<p>Archisman: added info about termux</p>
<hr />
<div>== GNURoot Octave ==<br />
<br />
The Android app [https://play.google.com/store/apps/details?id=com.gnuroot.octave GNURoot Octave] in the Google play store is built and maintained by Corbin Champion. It is not part of the GNU Octave project. Thus please use the following GitHub pages for questions and bug reports:<br />
<br />
* https://github.com/corbinlc/GNURootDebian<br />
* https://github.com/corbinlc/octave4android<br />
<br />
The implementation has been done in close cooperation with the Octave developers and makes use of the Octave source code without essential changes. Thus, it is fully compatible with the versions of Octave on other platforms.<br />
However, note that these repositories have not been updated for several years.<br />
<br />
Some probably outdated build instructions for the older "octave4android" app:<br />
<br />
* https://lists.gnu.org/archive/html/octave-maintainers/2013-10/msg00406.html<br />
<br />
== Octave for Linux on Dex (Samsung Android devices) ==<br />
<br />
[https://www.linuxondex.com/ Linux on Dex (LoD)] is an application (beta testing status) that runs on some Samsung Android devices.<br />
<br />
To build Octave on LoD, do the following. This assumes you have LoD working. If not, follow the instructions on the LoD website.<br />
<br />
# Many of the packages that Octave needs are not in the default Ubuntu installation. You will need to install them using <code>sudo apt install <package></code>. First, you need the compilers gcc, and gfortran. There are other packages that are essential to download: "libblas", "liblapack", "libatlas" and their development counterparts with the "-dev" extension.<br />
# Remove all "libopenblas" packages with <code>sudo apt remove libopenblas*</code>. The OpenBLAS library from the default Ubuntu distribution does not work with Octave. You have to remove it. For details see bug {{bug|56900}}.<br />
# Unpack the Octave source code and enter the directory. Create a build directory <code>mkdir my_build</code>, enter that directory and issue <code>../configure</code>. This will start the configure script. Look at the output at the end of the configure process to see what packages are not found by the script. Many of these will be things you want/need in terms of functionality. You can search for the packages available using the command "apt search", and install the ones you want using <code>sudo apt install <package></code> before compiling. If you want to install Octave in "my_build" be sure to issue <code>../configure --prefix=`pwd`</code> from this directory.<br />
# In the {{Path|my_build}} directory issue <code>make</code> and <code>make install</code>.<br />
<br />
Now you should have a working installation in, e.g., {{Path|/home/dextop/path_to/octave-5.1.0/my_build/}}.<br />
<br />
Graphics:<br />
<br />
# If you set the graphics toolbox to "gnuplot", Octave should generate plots correctly. If it does not, set the environment variable GNUTERM to x11. The default shell in LoD is bash, and you can either issue <code>export GNUTERM=x11</code> in the bash terminal or in your octave session issuing "setenv GNUTERM x11". You can also add <code>setenv GNUTERM x11</code> to your {{Path|.octaverc}} file to do this automatically.<br />
# If you want to use Qt graphics it will take some work, and may or may not be possible. It has not been tested by anyone. You will need to download the package [https://github.com/termux/libandroid-shmem libandroid-shmem], get it working, and then recompile Octave linking to this library. There are more detailed instructions regarding the compilation on the github website.<br />
<br />
== Octave on Termux ==<br />
<br />
[https://termux.com Termux] is a Terminal Emulator for Android. You can install it from [https://play.google.com/store/apps/details?id=com.termux Play store] or [https://f-droid.org/repository/browse/?fdid=com.termux F-Droid].<br />
You can directly install Octave in Termux using the repository by [https://github.com/its-pointless/gcc_termux its-pointless].<br />
<br />
<code><br />
wget https://its-pointless.github.io/setup-pointless-repo.sh<br />
sh setup-pointless-repo.sh<br />
apt install octave<br />
</code><br />
<br />
Graphics - Using a Distro in Termux:<br />
<br />
You can [https://github.com/EXALAB/AnLinux-App install a distro] like Debian, Ubuntu, Arch or Alpine (this consumes less disk space), and then install Octave from the package manager of that distro. You can also install desktop environments and use VNC Server to use Octave's graphical capabilities. In many android devices, only the graphics toolkit "gnuplot" works.<br />
<br />
[[Category:Installation]]</div>Archisman