Editing FAQ
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 8: | Line 8: | ||
* Search for an answer in our [https://lists.gnu.org/archive/html/help-octave/ mailing list archives] | * Search for an answer in our [https://lists.gnu.org/archive/html/help-octave/ mailing list archives] | ||
* Contact our user community using our [https://octave. | * Contact our user community using our [https://lists.gnu.org/mailman/listinfo/help-octave help@octave.org mailing list] (feel free to subscribe to this mailing list for the latest updates and discussions) | ||
* Contact our user community using our [https://webchat.freenode.net/?channels=octave IRC chat room <code>#octave</code> in Freenode] | * Contact our user community using our [https://webchat.freenode.net/?channels=octave IRC chat room <code>#octave</code> in Freenode] | ||
<div class="tocinline">__TOC__</div> | <div class="tocinline">__TOC__</div> | ||
=General= | =General= | ||
Line 57: | Line 52: | ||
John W. Eaton, David Bateman, Søren Hauberg, Rik Wehbring ({{Release Year}}). | John W. Eaton, David Bateman, Søren Hauberg, Rik Wehbring ({{Release Year}}). | ||
GNU Octave version {{Release}} manual: a high-level interactive language for numerical computations. | GNU Octave version {{Release}} manual: a high-level interactive language for numerical computations. | ||
URL https:// | URL https://www.gnu.org/software/octave/doc/v{{Release}}/ | ||
A [https://en.wikipedia.org/wiki/BibTeX BibTeX] entry for [https://en.wikipedia.org/wiki/LaTeX LaTeX] users is: | A [https://en.wikipedia.org/wiki/BibTeX BibTeX] entry for [https://en.wikipedia.org/wiki/LaTeX LaTeX] users is: | ||
Line 65: | Line 60: | ||
author = {John W. Eaton and David Bateman and S{\o}ren Hauberg and Rik Wehbring}, | author = {John W. Eaton and David Bateman and S{\o}ren Hauberg and Rik Wehbring}, | ||
year = <span>{</span>{{Release Year}}}, | year = <span>{</span>{{Release Year}}}, | ||
url = { | url = {https://www.gnu.org/software/octave/doc/v{{Release}}/}, | ||
} | } | ||
Line 87: | Line 82: | ||
The following steps have been the solution to several bug reports and help requests. Please try them before asking for further support. If nothing below helps, please give us the following information: | The following steps have been the solution to several bug reports and help requests. Please try them before asking for further support. If nothing below helps, please give us the following information: | ||
* Operating system: e.g. [https://support.microsoft.com/en-us/help/13443/windows-which-version-am-i-running ''' | * Operating system: e.g. [https://support.microsoft.com/en-us/help/13443/windows-which-version-am-i-running '''Windows 10 (version 1909)'''] or '''Ubuntu 20.04''' | ||
* GNU Octave version: e.g. '''Version {{Release}}''' | * GNU Octave version: e.g. '''Version {{Release}}''' | ||
* Installation method: e.g. '''Downloaded and installed "octave-{{Release}}-w64-installer.exe" from https://www.octave.org/download.html''' | * Installation method: e.g. '''Downloaded and installed "octave-{{Release}}-w64-installer.exe" from https://www.octave.org/download.html''' | ||
Line 94: | Line 89: | ||
* After Octave upgrade the GUI does not open / shuts down immediately. | * After Octave upgrade the GUI does not open / shuts down immediately. | ||
** '''Solution:''' | ** '''Solution:''' Delete the folder {{path|C:\Users\YOUR_USER_NAME\.config\octave}} | ||
* Missing/conflicting files. | * Missing/conflicting files. | ||
** '''Solution:''' Remove/Uninstall all existing Octave versions. Restart the system. Install GNU Octave again. | ** '''Solution:''' Remove/Uninstall all existing Octave versions. Restart the system. Install GNU Octave again. | ||
* Permission errors. | |||
* Permission errors | ** '''Solution 1:''' Consult your malware detection (a.k.a. AntiVirus) software, if files are blocked. | ||
** '''Solution 1 | ** '''Solution 2:''' Did you install Octave on a network-drive? Do you have the execution permissions? | ||
** '''Solution | |||
==I do not see any output of my script until it has finished?== | ==I do not see any output of my script until it has finished?== | ||
Line 158: | Line 122: | ||
==Why is Octave's floating-point computation wrong?== | ==Why is Octave's floating-point computation wrong?== | ||
Floating-point arithmetic is an approximation '''in binary''' to arithmetic on real or complex numbers. Just like you cannot represent 1/3 exactly in decimal arithmetic (0.333333... is only a rough approximation to 1/3 | Floating-point arithmetic is an approximation '''in binary''' to arithmetic on real or complex numbers. Just like you cannot represent 1/3 exactly in decimal arithmetic (0.333333... is only a rough approximation to 1/3), you cannot represent some fractions like <math>1/10</math> exactly in base 2. In binary, the representation to one tenth is <math>0.0\overline{0011}_b</math> where the bar indicates that it repeats infinitely (like how <math>1/6 = 0.1\overline{6}_d</math> in decimal). Because this infinite repetition cannot be represented exactly with a finite number of digits, rounding errors occur for values that appear to be exact in decimal but are in fact approximations in binary, such as for example how 0.3 - 0.2 - 0.1 is not equal to zero. | ||
In addition, some advanced operations are computed by approximation and there is no guarantee for them to be accurate, see [https://en.wikipedia.org/wiki/Rounding#Table-maker.27s_dilemma Table-maker's dilemma] for further references. Their results are system-dependent. | In addition, some advanced operations are computed by approximation and there is no guarantee for them to be accurate, see [https://en.wikipedia.org/wiki/Rounding#Table-maker.27s_dilemma Table-maker's dilemma] for further references. Their results are system-dependent. | ||
Line 205: | Line 169: | ||
'''No.''' Instead of asking us to change the licensing terms for Octave, we recommend that you release your program under terms that are compatible with the GPL, this way the free software community can be benefited from your work the same as you were/have benefited from the work of all the people who have contributed to Octave. | '''No.''' Instead of asking us to change the licensing terms for Octave, we recommend that you release your program under terms that are compatible with the GPL, this way the free software community can be benefited from your work the same as you were/have benefited from the work of all the people who have contributed to Octave. | ||
==Should I | ==Should I favour the MEX interface to avoid the GPL?== | ||
'''No.''' The original reason for implementing the [https://www.gnu.org/software/octave/doc/interpreter/Mex_002dFiles.html MEX interface] for Octave was to allow Octave to run free software that uses MEX files (the particular goal was to run [https://computation.llnl.gov/projects/sundials/release-history#sundialsTB sundialsTB] in Octave). The intent was to liberate that software from Matlab and increase the amount of free softwares available to Octave users & not to enable people to write proprietary code for Octave. For the good of the community, we strongly encourage users of Octave to release the code they write for Octave under terms that are compatible with the [https://www.gnu.org/licenses/gpl.html GPL]. | '''No.''' The original reason for implementing the [https://www.gnu.org/software/octave/doc/interpreter/Mex_002dFiles.html MEX interface] for Octave was to allow Octave to run free software that uses MEX files (the particular goal was to run [https://computation.llnl.gov/projects/sundials/release-history#sundialsTB sundialsTB] in Octave). The intent was to liberate that software from Matlab and increase the amount of free softwares available to Octave users & not to enable people to write proprietary code for Octave. For the good of the community, we strongly encourage users of Octave to release the code they write for Octave under terms that are compatible with the [https://www.gnu.org/licenses/gpl.html GPL]. | ||
Line 543: | Line 507: | ||
This is one of those times where the best documentation is to read the existing code. We have three different toolkits in Octave now, so there are some examples to draw from. | This is one of those times where the best documentation is to read the existing code. We have three different toolkits in Octave now, so there are some examples to draw from. | ||
= Development = | =Development= | ||
==When will feature X be released or implemented?== | |||
When it's ready, sooner [http://www.octave.org/get-involved.html if you help]. You can [https://savannah.gnu.org/patch/?group=octave send us patches] if you can implement feature X yourself. If you can't, some [http://www.octave.org/commercial-support.html developers may be convinced to work on your specific problem for some money]. | |||
==How can I get involved in Octave development?== | |||
Be around. Be social. Participate in our mailing lists [https://lists.gnu.org/mailman/listinfo/help-octave help@octave.org] and [https://lists.gnu.org/mailman/listinfo/octave-maintainers maintainers@octave.org]. Find things about Octave you don't like, and start thinking about how to fix them. Many people who now contribute to Octave first spent several years helping in the mailing list before they started to delve into the code. A good way to learn Octave is to understand the problems other people are having with it, so being helpful in the mailing lists not only helps Octave as a whole, but it also prepares you to be a better Octave contributor. | |||
If you feel ready to dive right into the code, read the [[Developers]] wiki page or [http://www.octave.org/get-involved.html start here]. But do not send an email to the mailing lists listing your skills and offering to help. We won't just suggest things for you to do. We lack volunteers and we do need your help, but because of that, we also lack the time to provide good guidance and mentoring. If there is a specific short-term project you would like to work on, say so, and just do it. Then ask for help or advice when you're doing it. It is a lot more important that you do something that you're actually interested on than something we suggested because it only matches your skills. | |||
We also need help with this wiki and the [http://www.octave.org/doc/interpreter/ manual]. These are also important tasks. The documentation is easy to patch, and the help text for individual functions even more so. Editing this wiki is even easier. | |||
: | Accurate bug reporting is also very useful. Find and report [http://bugs.octave.org/ bugs], making an attempt to diagnose them. Eventually, you will also know how to fix them. If you want to help with bug reports or patches, subscribe to the [https://lists.gnu.org/mailman/listinfo/octave-bug-tracker bug tracker mailing list]. You'll get updates on all bug activity, and you can jump in when you see | ||
something you can help with. | |||
[[ | Look at our [[projects]], [[short projects]], and [[Summer of Code - Getting Started]] if you need specific inspiration for coding tasks that we would like to get done. |