Category:Packages: Difference between revisions

1,276 bytes removed ,  6 May 2023
Update link, remove duplicate entries.
(→‎Other codes: Fix indention.)
(Update link, remove duplicate entries.)
 
(24 intermediate revisions by 4 users not shown)
Line 3: Line 3:
:''This is a list of Packages and Codes available for GNU Octave.''
:''This is a list of Packages and Codes available for GNU Octave.''


= Octave packages =
Octave [https://octave.org/doc/latest/Packages.html packages] extend the functionality of GNU Octave by particular useful features and can be developed and distributed by anyone.  Currently there are two collections of Octave packages:


[https://octave.org/doc/latest/Packages.html Octave packages] extend the functionality of GNU Octave by particular useful features and can be developed and distributed by anyone.  Currently there are two collections of Octave packages:
* https://packages.octave.org
* [[:Category:Octave Forge|Octave Forge]] (legacy)


* [[:Category:Octave Forge|Octave Forge]]
== About Octave packages ==
* [https://gnu-octave.github.io/pkg-index/ Package extensions index]


The format and requirements of Octave packages is specified in the [https://octave.org/doc/latest/Creating-Packages.html GNU Octave manual].  There is an [https://github.com/gnu-octave/pkg-example example package] as well.
The format and requirements of Octave packages is specified in the [https://octave.org/doc/latest/Creating-Packages.html GNU Octave manual].  There is an [https://github.com/gnu-octave/pkg-example example package] as well.
Line 17: Line 17:
# <code>pkg install https://github.com/gnu-octave/pkg-example/archive/1.0.0.tar.gz</code>
# <code>pkg install https://github.com/gnu-octave/pkg-example/archive/1.0.0.tar.gz</code>


If your packages meets [https://octave.sourceforge.io/developers.php additional criteria] and is added to the Octave Forge index, you can furthermore install it with the <code>-forge</code> flag, for example:
If you created your own package, it can be added to the [https://github.com/gnu-octave/packages/blob/master/CONTRIBUTING.md Octave Package] index.
 
Existing packages of the Octave Forge index can be installed with the <code>-forge</code> flag, for example:


* <code>pkg install -forge image</code>
* <code>pkg install -forge image</code>


= Other codes =
The Octave Forge index is a legacy project and does not accept new packages.


== With <code>pkg</code> install ==
== Free and open-source code with custom installation ==
 
Those codes have to be installed as described on the respective website.


{| class="wikitable sortable"
{| class="wikitable sortable"
Line 31: Line 35:
! scope="col" class="unsortable" | Links
! scope="col" class="unsortable" | Links
|-
|-
| MPI
| GeoPDEs
| Octave bindings for basic Message Passing Interface (MPI) functions for parallel computing.
| Open source and free package for the research and teaching of Isogeometric Analysis, written in Octave and fully compatible with Matlab. The GeoPDEs package provides a common and flexible framework for implementing and testing new isogeometric methods for the solution of partial differential equations.  
| https://github.com/carlodefalco/octave-mpi
| https://github.com/rafavzqz/geopdes/ https://rafavzqz.github.io/geopdes/
|-
|-
| Packajoozle
| go-redis
| An experimental alternative package manager for Octave.
| Redis client
| https://github.com/apjanke/octave-packajoozle
| https://github.com/markuman/go-redis
|-
|-
| Tablicious
| LIBSVM, LIBLINEAR
| Matlab-compatible table, datetime, and categorical data types (Like "pandas for Octave").
| Libraries for support vector machine / machine learning classification, regression, and distribution estimation problems. C++, with an interface to Octave.
| https://github.com/apjanke/octave-tablicious
| https://www.csie.ntu.edu.tw/~cjlin/libsvm/ https://www.csie.ntu.edu.tw/~cjlin/liblinear/
|-
|-
| Websockets
| ltfat
| The Websockets package is a simple implementation of a websocket client for GNU Octave. It contains the elemental functions to communicate with a websockets server.
| The Large Time-Frequency Analysis Toolbox®.
| https://github.com/gnu-octave/octave-websockets
| https://ltfat.github.io/
|-
|-
| [[Pythonic]]
| mex-sqlite3
| The Pythonic package provides a Python language binding for Octave, to allow any Python package to be loaded and used directly, with automatic translation from Octave to Python data types.
| Access to sqlite3 databases.
| https://gitlab.com/mtmiller/octave-pythonic
| https://github.com/rmartinjak/mex-sqlite3
|-
| octave-network-toolbox
| A set of graph/networks analysis functions in Octave.
| https://aeolianine.github.io/octave-networks-toolbox/
|-
| [[sci cosim]]
| Scilab co-simulation package.
| https://github.com/amromanov/sci_cosim
|-
| shogun
| The Shogun Machine Learning Toolbox®.
| https://github.com/shogun-toolbox/shogun
|-
| vlfeat
| The VLFeat open source library implements popular computer vision algorithms including HOG, SIFT, MSER, k-means, hierarchical k-means, agglomerative information bottleneck, SLIC superpixels, and quick shift.
| https://github.com/vlfeat/vlfeat https://www.vlfeat.org/
|-
| epanet-octave
| The epanet-octave open source library is a wrapper, including some scripts, to call Epanet Toolkit. Functions are adapted to improve its usability in GNU Octave (e.g. allowing vectors as EpaNet Toolkit function inputs). Still under development.
| https://forja.cica.es/projects/epanet-octave/
|-
| mexopencv
| Collection and a development kit of mex functions for OpenCV library.
| https://github.com/kyamagu/mexopencv/ https://kyamagu.github.io/mexopencv/
|-
| gpml
| Gaussian processes for machine learning.  
| https://gitlab.com/hnickisch/gpml-matlab/ http://gaussianprocess.org/gpml/code/matlab/doc/
|-
| ekfukf
| Kalman filtering and smoothing.
| https://github.com/kakila/ekfukf/
|}
|}


== Custom installation method ==
== Commercial ==


== GeoPDEs ==
{| class="wikitable sortable"
 
|-
[http://rafavzqz.github.io/geopdes/ GeoPDEs] is an open source and free package for the research and teaching of Isogeometric Analysis, written in Octave and fully compatible with Matlab.
! scope="col" | Name
 
! scope="col" class="unsortable" | Description
The GeoPDEs package provides a common and flexible framework for implementing and testing new isogeometric methods for the solution of partial differential equations.
! scope="col" class="unsortable" | Links
 
|-
== FEATool - Finite Element Analysis Toolbox ==
| FEATool
 
| [https://www.featool.com/multiphysics/ FEATool Multiphysics] is a commercial and proprietary FEM toolbox for modeling and simulation of physics and engineering applications with the finite element method. FEATool features an easy to use GUI and fully integrated CAD, geometry tools, automatic grid generation and solvers.  
[https://www.featool.com/multiphysics/ FEATool Multiphysics] is a commercial and proprietary Octave and Matlab FEM toolbox for modeling and simulation of physics and engineering applications with the finite element method. FEATool features an easy to use GUI and fully integrated CAD, geometry tools, automatic grid generation and solvers.
| https://www.featool.com/
 
|}
* https://www.featool.com/
 
=== go-redis ===
 
GNU Octave Redis client
 
* https://github.com/markuman/go-redis
 
=== LIBSVM, LIBLINEAR ===
 
Libraries for support vector machine / machine learning classification, regression, and distribution estimation problems. C++, with an interface to Octave.
 
* http://www.csie.ntu.edu.tw/~cjlin/libsvm
* http://www.csie.ntu.edu.tw/~cjlin/liblinear
 
=== ltfat ===
 
The Large Time-Frequency Analysis Toolbox®. Please note, this package is available on Octave Forge too, but it has its own website.
 
* http://ltfat.github.io/
 
=== mex-sqlite3 ===
 
An extension for MATLAB® or GNU/octave to access sqlite3 databases
 
* https://github.com/rmartinjak/mex-sqlite3
 
=== octave-network-toolbox ===
 
A set of graph/networks analysis functions in Octave
 
* http://aeolianine.github.io/octave-networks-toolbox/
 
=== octsympy ===
 
: ''Main article: [[Symbolic package]]''
 
This package is now part of Octave Forge as [[Symbolic package]].  Main development site is still at https://github.com/cbm755/octsympy.
 
=== sci cosim ===
 
: ''Main article: [[sci cosim]]''
 
Scilab co-simulation package
 
* https://github.com/amromanov/sci_cosim
 
=== shogun ===
 
The Shogun Machine Learning Toolbox®
 
* https://github.com/shogun-toolbox/shogun
 
=== vlfeat ===
 
The VLFeat open source library implements popular computer vision algorithms including HOG, SIFT, MSER, k-means, hierarchical k-means, agglomerative information bottleneck, SLIC superpixels, and quick shift.
 
* http://www.vlfeat.org/index.html
 
=== epanet-octave ===
 
The epanet-octave open source library is a wrapper, including some scripts, to call Epanet Toolkit. Functions are adapted to improve its usability in GNU Octave (e.g. allowing vectors as EpaNet Toolkit function inputs). Still under development.
 
* https://forja.cica.es/projects/epanet-octave/
 
=== mexopencv ===
 
Collection and a development kit of matlab mex functions for OpenCV library
 
* http://kyamagu.github.io/mexopencv
* https://github.com/kyamagu/mexopencv
 
=== gpml ===
 
Gaussian processes for machine learning
 
* [http://www.gaussianprocess.org/gpml/code/matlab/doc/ Webpage of the author]
* [https://gitlab.com/hnickisch/gpml-matlab Repository]
* Downloads or pkg installation: https://gitlab.com/hnickisch/gpml-matlab/-/releases
 
=== ekfukf ===
 
Kalman filtering and smoothing
 
* [https://github.com/kakila/ekfukf Repository]
 
=== fda ===
 
Functional data analysis
 
* [http://www.psych.mcgill.ca/misc/fda/ Webpage of the author]
* [https://gitlab.com/kakila/fda Repository]


= See also =
== See also ==


* [https://octave.org/doc/latest/Creating-Packages.html Octave manual - Creating packages]
* [https://octave.org/doc/latest/Creating-Packages.html Octave manual - Creating packages]
* [https://github.com/gnu-octave/pkg-example Octave package example]
* [https://github.com/gnu-octave/pkg-example Octave package example]
* [[:Category:User Codes]]


[[Category:Contents]]
[[Category:Contents]]