msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2026-04-10 13:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#. (itstool) path: para/ulink
#: C/legal.xml:9
msgid "link"
msgstr ""

#. (itstool) path: legalnotice/para
#: C/legal.xml:2
msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this <_:ulink-1/> or in the file COPYING-DOCS distributed with this manual."
msgstr ""

#. (itstool) path: legalnotice/para
#: C/legal.xml:12
msgid "This manual is part of a collection of GNOME manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license."
msgstr ""

#. (itstool) path: legalnotice/para
#: C/legal.xml:19
msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and the members of the GNOME Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters."
msgstr ""

#. (itstool) path: listitem/para
#: C/legal.xml:35
msgid "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
msgstr ""

#. (itstool) path: listitem/para
#: C/legal.xml:55
msgid "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES."
msgstr ""

#. (itstool) path: legalnotice/para
#: C/legal.xml:28
msgid "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: <_:orderedlist-1/>"
msgstr ""

#. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
msgctxt "_"
msgid "translator-credits"
msgstr ""

#. (itstool) path: abstract/para
#: C/genius.xml:36
msgid "Manual for the Genius Math Tool."
msgstr ""

#. (itstool) path: bookinfo/title
#: C/genius.xml:37
msgid "Genius Manual"
msgstr ""

#. (itstool) path: bookinfo/copyright
#: C/genius.xml:39
msgid "<year>1997-2026</year> <holder>Jiří (George) Lebl</holder>"
msgstr ""

#. (itstool) path: bookinfo/copyright
#: C/genius.xml:43
msgid "<year>2004</year> <holder>Kai Willadsen</holder>"
msgstr ""

#. (itstool) path: authorgroup/author
#: C/genius.xml:64
msgid "<firstname>Jiří</firstname> <surname>Lebl</surname> <affiliation> <orgname>Oklahoma State University</orgname> <address> <email>jiri.lebl@gmail.com</email> </address> </affiliation>"
msgstr ""

#. (itstool) path: authorgroup/author
#: C/genius.xml:72
msgid "<firstname>Kai</firstname> <surname>Willadsen</surname> <affiliation> <orgname>University of Queensland, Australia</orgname> <address> <email>kaiw@itee.uq.edu.au</email> </address> </affiliation>"
msgstr ""

#. (itstool) path: revdescription/para
#: C/genius.xml:148
msgid "Jiri (George) Lebl <email>jiri.lebl@gmail.com</email>"
msgstr ""

#. (itstool) path: revhistory/revision
#: C/genius.xml:144
msgid "<revnumber>0.3</revnumber> <date>March 2026</date> <_:revdescription-1/>"
msgstr ""

#. (itstool) path: bookinfo/releaseinfo
#: C/genius.xml:154
msgid "This manual describes version 1.0.29 of Genius."
msgstr ""

#. (itstool) path: legalnotice/title
#: C/genius.xml:157
msgid "Feedback"
msgstr ""

#. (itstool) path: legalnotice/para
#: C/genius.xml:158
msgid "To report a bug or make a suggestion regarding the <application>Genius Mathematics Tool</application> application or this manual, please visit the <ulink url=\"http://www.jirka.org/genius.html\" type=\"http\">Genius Web page</ulink> or email me at <email>jiri.lebl@gmail.com</email>."
msgstr ""

#. (itstool) path: chapter/title
#: C/genius.xml:171
msgid "Introduction"
msgstr ""

#. (itstool) path: chapter/para
#: C/genius.xml:172
msgid "The <application>Genius Mathematics Tool</application> application is a general calculator for use as a desktop calculator, an educational tool in mathematics and other STEM fields, and has found use in research. The language used in <application>Genius Mathematics Tool</application> is designed to be ‘mathematical’ in the sense that it should be ‘what you mean is what you get’. Of course, that is not an entirely attainable goal. <application>Genius Mathematics Tool</application> features rationals, arbitrary precision integers and multiple precision floats using the GMP library. It handles complex numbers using cartesian notation. It has good vector and matrix manipulation and can handle basic linear algebra. The programming language allows user defined functions, variables, and parameters."
msgstr ""

#. (itstool) path: chapter/para
#: C/genius.xml:186
msgid "<application>Genius Mathematics Tool</application> comes in two versions. One version is the graphical GNOME version, which features an IDE style interface and the ability to plot functions of one or two variables. Parametric plots of curves are also supported. It can plot slope fields, vector fields and draw their solutions. The plots can be exported to several formats. The command line version does not require GNOME, but does not implement any feature that requires the graphical interface, such as plotting"
msgstr ""

#. (itstool) path: chapter/para
#: C/genius.xml:198
msgid "Parts of this manual describe the graphical version of the calculator. The language that both versions use is the same, it is simply the graphical features such as plotting that are unique to the GUI version."
msgstr ""

#. (itstool) path: chapter/para
#: C/genius.xml:204
msgid "Generally, when some feature of the language (function, operator, etc...) is new in some version past 1.0.5, it is mentioned, but below 1.0.5 you would have to look at the NEWS file."
msgstr ""

#. (itstool) path: chapter/title
#: C/genius.xml:214
msgid "Getting Started"
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:217
msgid "To Start <application>Genius Mathematics Tool</application>"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:218
msgid "You can start <application>Genius Mathematics Tool</application> in the following ways:"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:222
msgid "<guimenu>Applications</guimenu> menu"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:224
msgid "Depending on your operating system and version, the menu item for <application>Genius Mathematics Tool</application> could appear in a number of different places. It can be in the <guisubmenu>Education</guisubmenu>, <guisubmenu>Accessories</guisubmenu>, <guisubmenu>Office</guisubmenu>, <guisubmenu>Science</guisubmenu>, or similar submenu, depending on your particular setup. The menu item name you are looking for is <guimenuitem>Genius Math Tool</guimenuitem>. Once you locate this menu item click on it to start <application>Genius Mathematics Tool</application>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:240
msgid "<guilabel>Run</guilabel> dialog"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:242
msgid "Depending on your system installation the menu item may not be available. If it is not, you can open the Run dialog and execute <command>gnome-genius</command>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:250
msgid "Command line"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:252
msgid "To start the GNOME version of <application>Genius Mathematics Tool</application> execute <command>gnome-genius</command> from the command line."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:256
msgid "To start the command line only version, execute the following command: <command>genius</command>. This version does not include the graphical environment and some functionality such as plotting will not be available."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:268
msgid "When You Start Genius"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:269
msgid "When you start the GNOME edition of <application>Genius Mathematics Tool</application>, the window pictured in <xref linkend=\"mainwindow-fig\"/> is displayed."
msgstr ""

#. (itstool) path: figure/title
#: C/genius.xml:274
msgid "<application>Genius Mathematics Tool</application> Window"
msgstr ""

#. (itstool) path: imageobject/imagedata
#. This is a reference to an external file such as an image or video. When
#. the file changes, the md5 hash will change to let you know you need to
#. update your localized copy. The msgstr is not used at all. Set it to
#. whatever you like once you have updated your copy of the file.
#: C/genius.xml:279
msgctxt "_"
msgid "external ref='figures/genius_window.png' md5='30949c611b0d473aed2e1658e9d4bf49'"
msgstr ""

#. (itstool) path: screenshot/mediaobject
#: C/genius.xml:276
msgid "<imageobject> <imagedata fileref=\"figures/genius_window.png\" format=\"PNG\" scalefit=\"1\"/> </imageobject> <textobject> <phrase>Shows <application>Genius Mathematics Tool</application> main window. Contains titlebar, menubar, toolbar and working area. Menubar contains <guilabel>File</guilabel>, <guilabel>Edit</guilabel>, <guilabel>Calculator</guilabel>, <guilabel>Examples</guilabel>, <guilabel>Programs</guilabel>, <guilabel>Settings</guilabel>, and <guilabel>Help</guilabel> menus.</phrase> </textobject>"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:293
msgid "The <application>Genius Mathematics Tool</application> window contains the following elements:"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:297
msgid "Menubar."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:299
msgid "The menus on the menubar contain all of the commands that you need to work with files in <application>Genius Mathematics Tool</application>. The <guilabel>File</guilabel> menu contains items for loading and saving items and creating new programs. The <guilabel>Load and Run...</guilabel> command does not open a new window for the program, but just executes the program directly. It is equivalent to the <command>load</command> command."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:304
msgid "The <guilabel>Calculator</guilabel> menu controls the calculator engine. It allows you to run the currently selected program or to interrupt the current calculation. You can also look at the full expression of the last answer (useful if the last answer was too large to fit onto the console), or you can view a listing of the values of all user defined variables. You can also monitor user variables, which is especially useful while a long calculation is running, or to debug a certain program. Finally the <guilabel>Calculator</guilabel> allows plotting functions using a user friendly dialog box."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:314
msgid "The <guilabel>Examples</guilabel> menu is a list of example programs or demos. If you open the menu, it will load the example into a new program, which you can run, edit, modify, and save. These programs should be well documented and generally demonstrate either some feature of <application>Genius Mathematics Tool</application> or some mathematical concept."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:322
msgid "The <guilabel>Programs</guilabel> menu lists the currently open programs and allows you to switch between them."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:327
msgid "The other menus have same familiar functions as in other applications."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:333
msgid "Toolbar."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:335
msgid "The toolbar contains a subset of the commands that you can access from the menubar."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:339
msgid "Working area"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:341
msgid "The working area is the primary method of interacting with the application."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:345
msgid "The working area initially has just the <guilabel>Console</guilabel> tab, which is the main way of interacting with the calculator. Here you type expressions and the results are immediately returned after you hit the Enter key."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:351
msgid "Alternatively you can write longer programs and those can appear in separate tabs. The programs are a set of commands or functions that can be run all at once rather than entering them at the command line. The programs can be saved in files for later retrieval."
msgstr ""

#. (itstool) path: chapter/title
#: C/genius.xml:367
msgid "Basic Usage"
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:370
msgid "Using the Work Area"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:372
msgid "Normally you interact with the calculator in the <guilabel>Console</guilabel> tab of the work area. If you are running the text only version then the console will be the only thing that is available to you. If you want to use <application>Genius Mathematics Tool</application> as a calculator only, just type in your expression in the console, it will be evaluated, and the returned value will be printed."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:385
#, no-wrap
msgid ""
"<prompt>genius&gt; </prompt><userinput>30*70 + 67^3.0 + ln(7) * (88.8/100)</userinput>\n"
""
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:388
#, no-wrap
msgid ""
"<prompt>genius&gt; </prompt><userinput>62734 + 812634 + 77^4 mod 5</userinput>\n"
""
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:391
#, no-wrap
msgid ""
"<prompt>genius&gt; </prompt><userinput>| sin(37) - e^7 |</userinput>\n"
""
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:394
#, no-wrap
msgid ""
"<prompt>genius&gt; </prompt><userinput>sum n=1 to 70 do 1/n</userinput>\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:380
msgid "To evaluate an expression, type it into the <guilabel>Console</guilabel> work area and press enter. Expressions are written in a language called GEL. The most simple GEL expressions just looks like mathematics. For example <_:screen-1/> or <_:screen-2/> or <_:screen-3/> or <_:screen-4/> (Last is the harmonic sum from 1 to 70)"
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:400
#, no-wrap
msgid ""
"<prompt>genius&gt; </prompt><userinput>help</userinput>\n"
""
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:403
#, no-wrap
msgid ""
"<prompt>genius&gt; </prompt><userinput>help FunctionName</userinput>\n"
""
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:406
#, no-wrap
msgid ""
"<prompt>genius&gt; </prompt><userinput>manual</userinput>\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:398
msgid "To get a list of functions and commands, type: <_:screen-1/> If you wish to get more help on a specific function, type: <_:screen-2/> To view this manual, type: <_:screen-3/>"
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:414
#, no-wrap
msgid ""
"<prompt>genius&gt; </prompt><userinput>load path/to/program.gel</userinput>\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:409
msgid "Suppose you have previously saved some GEL commands as a program to a file and you now want to execute them. To load this program from the file <filename>path/to/program.gel</filename>, type <_:screen-1/> <application>Genius Mathematics Tool</application> keeps track of the current directory. To list files in the current directory type <command>ls</command>, to change directory do <userinput>cd directory</userinput> as in the UNIX command shell."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:423
msgid "To Create a New Program"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:424
msgid "If you wish to enter several more complicated commands, or perhaps write a complicated function using the <link linkend=\"genius-gel\">GEL</link> language, you can create a new program; really just a file with many commands."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:429
msgid "To start writing a new program, choose <menuchoice><guimenu>File</guimenu><guimenuitem>New Program</guimenuitem></menuchoice>. A new tab will appear in the work area. You can write a <link linkend=\"genius-gel\">GEL</link> program in this work area. Once you have written your program you can run it by <menuchoice><guimenu>Calculator</guimenu><guimenuitem>Run</guimenuitem></menuchoice> (or the <guilabel>Run</guilabel> toolbar button). This will execute your program and will display any output on the <guilabel>Console</guilabel> tab. Executing a program is equivalent of taking the text of the program and typing it into the console. The only difference is that this input is done independent of the console and just the output goes onto the console. <menuchoice><guimenu>Calculator</guimenu><guimenuitem>Run</guimenuitem></menuchoice> will always run the currently selected program even if you are on the <guilabel>Console</guilabel> tab. The currently selected program has its tab in bold type. To select a program, just click on its tab."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:446
msgid "To save the program you've just written, choose <menuchoice><guimenu>File</guimenu><guimenuitem>Save As...</guimenuitem></menuchoice>. Similarly as in other programs you can choose <menuchoice><guimenu>File</guimenu><guimenuitem>Save</guimenuitem></menuchoice> to save a program that already has a filename attached to it. If you have many opened programs you have edited and wish to save you can also choose <menuchoice><guimenu>File</guimenu><guimenuitem>Save All Unsaved</guimenuitem></menuchoice>."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:453
msgid "Programs that have unsaved changes will have a \"[+]\" next to their filename. This way you can see if the file on disk and the currently opened tab differ in content. Programs which have not yet had a filename associated with them are always considered unsaved and no \"[+]\" is printed."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:461
msgid "To Open and Run a Program"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:462
msgid "To open a file, choose <menuchoice><guimenu>File</guimenu><guimenuitem>Open</guimenuitem></menuchoice>. A new tab containing the file will appear in the work area. You can use this to edit the file."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:468
msgid "To run a program from a file, choose <menuchoice><guimenu>File</guimenu><guimenuitem>Load and Run...</guimenuitem></menuchoice>. This will run the program without opening it in a separate tab. This is equivalent to the <command>load</command> command."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:474
msgid "If you have made edits to a file you wish to throw away and want to reload to the version that's on disk, you can choose the <menuchoice><guimenu>File</guimenu><guimenuitem>Reload from Disk</guimenuitem></menuchoice> menuitem. This is useful for experimenting with a program and making temporary edits, to run a program, but that you do not intend to keep."
msgstr ""

#. (itstool) path: chapter/title
#. (itstool) path: sect1/title
#: C/genius.xml:486
#: C/genius.xml:9037
msgid "Plotting"
msgstr ""

#. (itstool) path: chapter/para
#: C/genius.xml:488
msgid "Plotting support is only available in the graphical GNOME version. All plotting accessible from the graphical interface is available from the <guilabel>Create Plot</guilabel> window. You can access this window by either clicking on the <guilabel>Plot</guilabel> button on the toolbar or selecting <guilabel>Plot</guilabel> from the <guilabel>Calculator</guilabel> menu. You can also access the plotting functionality by using the <link linkend=\"genius-gel-function-list-plotting\">plotting functions</link> of the GEL language. See <xref linkend=\"genius-gel\"/> to find out how to enter expressions that Genius understands."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:501
msgid "Line Plots"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:502
msgid "To graph real-valued functions of one variable, open the <guilabel>Create Plot</guilabel> window. You can also use the <link linkend=\"gel-function-LinePlot\"><function>LinePlot</function></link> function on the command line (see its documentation). And by the words line plot, we mean plots in the plane, as opposed to surface plots, which are in three dimensions."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:509
msgid "Once you click the <guilabel>Plot</guilabel> button, a window opens up with some notebooks in it. You want to be in the <guilabel>Function line plot</guilabel> notebook tab, and inside you want to be on the <guilabel>Functions / Expressions</guilabel> notebook tab. See <xref linkend=\"lineplot-fig\"/>."
msgstr ""

#. (itstool) path: figure/title
#: C/genius.xml:517
msgid "Create Plot Window"
msgstr ""

#. (itstool) path: imageobject/imagedata
#. This is a reference to an external file such as an image or video. When
#. the file changes, the md5 hash will change to let you know you need to
#. update your localized copy. The msgstr is not used at all. Set it to
#. whatever you like once you have updated your copy of the file.
#: C/genius.xml:521
msgctxt "_"
msgid "external ref='figures/line_plot.png' md5='a9434af040a158a4d1440a03edd0e873'"
msgstr ""

#. (itstool) path: screenshot/mediaobject
#: C/genius.xml:519
msgid "<imageobject> <imagedata fileref=\"figures/line_plot.png\" format=\"PNG\" scalefit=\"1\"/> </imageobject> <textobject> <phrase>Shows the line plotting window.</phrase> </textobject>"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:530
msgid "Type expressions with <userinput>x</userinput> as the independent variable into the textboxes. Alternatively you can give names of functions such as <userinput>cos</userinput> rather then having to type <userinput>cos(x)</userinput>. You can graph up to ten functions. If you make a mistake and Genius cannot parse the input it will signify this with a warning icon on the right of the text input box where the error occurred, as well as giving you an error dialog. You can change the ranges of the dependent and independent variables in the bottom part of the dialog. In the boxes for the ranges, simple expressions are allowed, such as <userinput>2*pi</userinput> or <userinput>10^3</userinput>. The <varname>y</varname> (dependent) range can be set automatically by turning on the <guilabel>Fit dependent axis</guilabel> checkbox. The names of the variables can also be changed. Pressing the <guilabel>Plot</guilabel> button produces the graph shown in <xref linkend=\"lineplot2-fig\"/>."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:545
msgid "The variables can be renamed by clicking the <guilabel>Change variable names...</guilabel> button, which is useful if you wish to print or save the figure and don't want to use the standard names. Finally you can also avoid printing the legend and the axis labels completely, which is also useful if printing or saving, when the legend might simply be clutter."
msgstr ""

#. (itstool) path: figure/title
#: C/genius.xml:553
msgid "Plot Window"
msgstr ""

#. (itstool) path: imageobject/imagedata
#. This is a reference to an external file such as an image or video. When
#. the file changes, the md5 hash will change to let you know you need to
#. update your localized copy. The msgstr is not used at all. Set it to
#. whatever you like once you have updated your copy of the file.
#: C/genius.xml:557
msgctxt "_"
msgid "external ref='figures/line_plot_graph.png' md5='38c25568f3143571cd5789f364e98776'"
msgstr ""

#. (itstool) path: screenshot/mediaobject
#: C/genius.xml:555
msgid "<imageobject> <imagedata fileref=\"figures/line_plot_graph.png\" format=\"PNG\" scalefit=\"1\"/> </imageobject> <textobject> <phrase>The graph produced.</phrase> </textobject>"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:566
msgid "From here you can print out the plot, create encapsulated postscript or a PNG version of the plot or change the zoom. If the dependent axis was not set correctly you can have Genius fit it by finding out the extrema of the graphed functions."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:573
msgid "For plotting using the command line see the documentation of the <link linkend=\"gel-function-LinePlot\"><function>LinePlot</function></link> function."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:580
msgid "Parametric Plots"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:581
msgid "In the create plot window, you can also choose the <guilabel>Parametric</guilabel> notebook tab to create two dimensional parametric plots. This way you can plot a single parametric function. You can either specify the points as <varname>x</varname> and <varname>y</varname>, or giving a single complex number as a function of the variable <varname>t</varname>. The range of the variable <varname>t</varname> is given explicitly, and the function is sampled according to the given increment. The <varname>x</varname> and <varname>y</varname> range can be set automatically by turning on the <guilabel>Fit dependent axis</guilabel> checkbox, or it can be specified explicitly. See <xref linkend=\"paramplot-fig\"/>."
msgstr ""

#. (itstool) path: figure/title
#: C/genius.xml:596
msgid "Parametric Plot Tab"
msgstr ""

#. (itstool) path: imageobject/imagedata
#. This is a reference to an external file such as an image or video. When
#. the file changes, the md5 hash will change to let you know you need to
#. update your localized copy. The msgstr is not used at all. Set it to
#. whatever you like once you have updated your copy of the file.
#: C/genius.xml:600
msgctxt "_"
msgid "external ref='figures/parametric.png' md5='a259ec34ff3909261009bf11b5054144'"
msgstr ""

#. (itstool) path: screenshot/mediaobject
#: C/genius.xml:598
msgid "<imageobject> <imagedata fileref=\"figures/parametric.png\" format=\"PNG\" scalefit=\"1\"/> </imageobject> <textobject> <phrase>Parametric plotting tab in the <guilabel>Create Plot</guilabel> window.</phrase> </textobject>"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:609
msgid "An example of a parametric plot is given in <xref linkend=\"paramplot2-fig\"/>. Similar operations can be done on such graphs as can be done on the other line plots. For plotting using the command line see the documentation of the <link linkend=\"gel-function-LinePlotParametric\"><function>LinePlotParametric</function></link> or <link linkend=\"gel-function-LinePlotCParametric\"><function>LinePlotCParametric</function></link> function."
msgstr ""

#. (itstool) path: figure/title
#: C/genius.xml:620
msgid "Parametric Plot"
msgstr ""

#. (itstool) path: imageobject/imagedata
#. This is a reference to an external file such as an image or video. When
#. the file changes, the md5 hash will change to let you know you need to
#. update your localized copy. The msgstr is not used at all. Set it to
#. whatever you like once you have updated your copy of the file.
#: C/genius.xml:624
msgctxt "_"
msgid "external ref='figures/parametric_graph.png' md5='3b291065f178a30e900948574ab0891a'"
msgstr ""

#. (itstool) path: screenshot/mediaobject
#: C/genius.xml:622
msgid "<imageobject> <imagedata fileref=\"figures/parametric_graph.png\" format=\"PNG\" scalefit=\"1\"/> </imageobject> <textobject> <phrase>Parametric plot produced</phrase> </textobject>"
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:636
msgid "Slopefield Plots"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:637
msgid "In the create plot window, you can also choose the <guilabel>Slope field</guilabel> notebook tab to create a two dimensional slope field plot. Similar operations can be done on such graphs as can be done on the other line plots. For plotting using the command line see the documentation of the <link linkend=\"gel-function-SlopefieldPlot\"><function>SlopefieldPlot</function></link> function."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:646
msgid "When a slope field is active, there is an extra <guilabel>Solver</guilabel> menu available, through which you can bring up the solver dialog. Here you can have Genius plot specific solutions for the given initial conditions. You can either specify initial conditions in the dialog, or you can click on the plot directly to specify the initial point. While the solver dialog is active, the zooming by clicking and dragging does not work. You have to close the dialog first if you want to zoom using the mouse."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:655
msgid "The solver uses the standard Runge-Kutta method. The plots will stay on the screen until cleared. The solver will stop whenever it reaches the boundary of the plot window. Zooming does not change the limits or parameters of the solutions, you will have to clear and redraw them with appropriate parameters. You can also use the <link linkend=\"gel-function-SlopefieldDrawSolution\"><function>SlopefieldDrawSolution</function></link> function to draw solutions from the command line or programs."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:668
msgid "Vectorfield Plots"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:669
msgid "In the create plot window, you can also choose the <guilabel>Vector field</guilabel> notebook tab to create a two dimensional vector field plot. Similar operations can be done on such graphs as can be done on the other line plots. For plotting using the command line see the documentation of the <link linkend=\"gel-function-VectorfieldPlot\"><function>VectorfieldPlot</function></link> function."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:678
msgid "By default the direction and magnitude of the vector field is shown. To only show direction and not the magnitude, check the appropriate checkbox to normalize the arrow lengths."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:684
msgid "When a vector field is active, there is an extra <guilabel>Solver</guilabel> menu available, through which you can bring up the solver dialog. Here you can have Genius plot specific solutions for the given initial conditions. You can either specify initial conditions in the dialog, or you can click on the plot directly to specify the initial point. While the solver dialog is active, the zooming by clicking and dragging does not work. You have to close the dialog first if you want to zoom using the mouse."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:693
msgid "The solver uses the standard Runge-Kutta method. The plots will stay on the screen until cleared. Zooming does not change the limits or parameters of the solutions, you will have to clear and redraw them with appropriate parameters. You can also use the <link linkend=\"gel-function-VectorfieldDrawSolution\"><function>VectorfieldDrawSolution</function></link> function to draw solutions from the command line or programs."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:706
msgid "Surface Plots"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:707
msgid "Genius can also plot surfaces. Select the <guilabel>Surface plot</guilabel> tab in the main notebook of the <guilabel>Create Plot</guilabel> window. Here you can specify a single expression that should use either <varname>x</varname> and <varname>y</varname> as real independent variables or <varname>z</varname> as a complex variable (where <varname>x</varname> is the real part of <varname>z</varname> and <varname>y</varname> is the imaginary part). For example to plot the modulus of the cosine function for complex parameters, you could enter <userinput>|cos(z)|</userinput>. This would be equivalent to <userinput>|cos(x+1i*y)|</userinput>. See <xref linkend=\"surfaceplot-fig\"/>. For plotting using the command line see the documentation of the <link linkend=\"gel-function-SurfacePlot\"><function>SurfacePlot</function></link> function."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:720
msgid "The <varname>z</varname> range can be set automatically by turning on the <guilabel>Fit dependent axis</guilabel> checkbox. The variables can be renamed by clicking the <guilabel>Change variable names...</guilabel> button, which is useful if you wish to print or save the figure and don't want to use the standard names. Finally you can also avoid printing the legend, which is also useful if printing or saving, when the legend might simply be clutter."
msgstr ""

#. (itstool) path: figure/title
#: C/genius.xml:728
msgid "Surface Plot"
msgstr ""

#. (itstool) path: imageobject/imagedata
#. This is a reference to an external file such as an image or video. When
#. the file changes, the md5 hash will change to let you know you need to
#. update your localized copy. The msgstr is not used at all. Set it to
#. whatever you like once you have updated your copy of the file.
#: C/genius.xml:732
msgctxt "_"
msgid "external ref='figures/surface_graph.png' md5='3d94846b0f4103be5d99f502630185f9'"
msgstr ""

#. (itstool) path: screenshot/mediaobject
#: C/genius.xml:730
msgid "<imageobject> <imagedata fileref=\"figures/surface_graph.png\" format=\"PNG\" scalefit=\"1\"/> </imageobject> <textobject> <phrase>Modulus of the complex cosine function.</phrase> </textobject>"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:741
msgid "In surface mode, left and right arrow keys on your keyboard will rotate the view along the z axis. Alternatively you can rotate along any axis by selecting <guilabel>Rotate axis...</guilabel> in the <guilabel>View</guilabel> menu. The <guilabel>View</guilabel> menu also has a top view mode which rotates the graph so that the z axis is facing straight out, that is, we view the graph from the top and get essentially just the colors that define the values of the function getting a temperature plot of the function. Finally you should try <guilabel>Start rotate animation</guilabel>, to start a continuous slow rotation. This is especially good if using <application>Genius Mathematics Tool</application> to present to an audience."
msgstr ""

#. (itstool) path: chapter/title
#: C/genius.xml:759
msgid "GEL Basics"
msgstr ""

#. (itstool) path: chapter/para
#: C/genius.xml:761
msgid "GEL stands for Genius Extension Language. It is the language you use to write programs in Genius. A program in GEL is simply an expression that evaluates to a number, a matrix, or another object in GEL. <application>Genius Mathematics Tool</application> can be used as a simple calculator, or as a powerful theoretical research tool. The syntax is meant to have as shallow of a learning curve as possible, especially for use as a calculator."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:774
msgid "Values"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:776
msgid "Values in GEL can be <link linkend=\"genius-gel-values-numbers\">numbers</link>, <link linkend=\"genius-gel-values-booleans\">Booleans</link>, or <link linkend=\"genius-gel-values-strings\">strings</link>. GEL also treats <link linkend=\"genius-gel-matrices\">matrices</link> as values. Values can be used in calculations, assigned to variables and returned from functions, among other uses."
msgstr ""

#. (itstool) path: sect2/title
#: C/genius.xml:783
msgid "Numbers"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:786
#, no-wrap
msgid ""
"1234\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:789
#, no-wrap
msgid ""
"0x123ABC\n"
"01234\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:793
#, no-wrap
msgid ""
"23\\1234ABCD\n"
""
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:784
msgid "Integers are the first type of number in GEL. Integers are written in the normal way. <_:programlisting-1/> Hexadecimal and octal numbers can be written using C notation. For example: <_:programlisting-2/> Or you can type numbers in an arbitrary base using <literal>&lt;base&gt;\\&lt;number&gt;</literal>. Digits higher than 10 use letters in a similar way to hexadecimal. For example, a number in base 23 could be written: <_:programlisting-3/>"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:799
#, no-wrap
msgid ""
"3/4\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:802
#, no-wrap
msgid ""
"1 3/10\n"
""
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:797
msgid "The second type of GEL number is rationals. Rationals are simply achieved by dividing two integers. So one could write: <_:programlisting-1/> to get three quarters. Rationals also accept mixed fraction notation. So in order to get one and three tenths you could write: <_:programlisting-2/>"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:808
#, no-wrap
msgid ""
"1.315\n"
"7.887e77\n"
"7.887e-77\n"
".3\n"
"0.3\n"
"77e5\n"
""
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:806
msgid "The next type of number is floating point. These are entered in a similar fashion to C notation. You can use <literal>E</literal>, <literal>e</literal> or <literal>@</literal> as the exponent delimiter. Note that using the exponent delimiter gives a float even if there is no decimal point in the number. Examples: <_:programlisting-1/> When Genius prints a floating point number it will always append a <computeroutput>.0</computeroutput> even if the number is whole. This is to indicate that floating point numbers are taken as imprecise quantities. When a number is written in the scientific notation, it is always a floating point number and thus Genius does not print the <computeroutput>.0</computeroutput>."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:824
#, no-wrap
msgid ""
"1+2i\n"
"8.01i\n"
"77*e^(1.3i)\n"
""
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:822
msgid "The final type of number in GEL is the complex numbers. You can enter a complex number as a sum of real and imaginary parts. To add an imaginary part, append an <literal>i</literal>. Here are examples of entering complex numbers: <_:programlisting-1/>"
msgstr ""

#. (itstool) path: important/para
#: C/genius.xml:831
msgid "When entering imaginary numbers, a number must be in front of the <literal>i</literal>. If you use <literal>i</literal> by itself, Genius will interpret this as referring to the variable <varname>i</varname>. If you need to refer to <literal>i</literal> by itself, use <literal>1i</literal> instead."
msgstr ""

#. (itstool) path: important/para
#: C/genius.xml:835
msgid "In order to use mixed fraction notation with imaginary numbers you must have the mixed fraction in parentheses. (i.e., <userinput>(1 2/5)i</userinput>)"
msgstr ""

#. (itstool) path: sect2/title
#: C/genius.xml:844
msgid "Booleans"
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:845
msgid "Genius also supports native Boolean values. The two Boolean constants are defined as <constant>true</constant> and <constant>false</constant>; these identifiers can be used like any other variable. You can also use the identifiers <constant>True</constant>, <constant>TRUE</constant>, <constant>False</constant> and <constant>FALSE</constant> as aliases for the above."
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:853
msgid "At any place where a Boolean expression is expected, you can use a Boolean value or any expression that produces either a number or a Boolean. If Genius needs to evaluate a number as a Boolean it will interpret 0 as <constant>false</constant> and any other number as <constant>true</constant>."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:862
#, no-wrap
msgid ""
"( (1 + true) - false ) * true\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:865
#, no-wrap
msgid ""
"( (true or true) or not false ) and true\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:868
#, no-wrap
msgid ""
"1 == true\n"
""
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:860
msgid "In addition, you can do arithmetic with Boolean values. For example: <_:programlisting-1/> is the same as: <_:programlisting-2/> Only addition, subtraction and multiplication are supported. If you mix numbers with Booleans in an expression then the numbers are converted to Booleans as described above. This means that, for example: <_:programlisting-3/> always evaluates to <constant>true</constant> since 1 will be converted to <constant>true</constant> before being compared to <constant>true</constant>."
msgstr ""

#. (itstool) path: sect2/title
#: C/genius.xml:876
msgid "Strings"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:879
#, no-wrap
msgid ""
"a=2+3;\"The result is: \"+a\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:882
#, no-wrap
msgid ""
"The result is: 5\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:885
#, no-wrap
msgid ""
"\"Slash: \\\\ Quotes: \\\" Tabs: \\t1\\t2\\t3\"\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:888
#, no-wrap
msgid ""
"Slash: \\ Quotes: \" Tabs: \t1\t2\t3\n"
""
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:877
msgid "Like numbers and Booleans, strings in GEL can be stored as values inside variables and passed to functions. You can also concatenate a string with another value using the plus operator. For example: <_:programlisting-1/> will create the string: <_:programlisting-2/> You can also use C-like escape sequences such as <literal>\\n</literal>,<literal>\\t</literal>,<literal>\\b</literal>,<literal>\\a</literal> and <literal>\\r</literal>. To get a <literal>\\</literal> or <literal>\"</literal> into the string you can quote it with a <literal>\\</literal>. For example: <_:programlisting-3/> will make a string: <_:programlisting-4/> Do note however that when a string is returned from a function, escapes are quoted, so that the output can be used as input. If you wish to print the string as it is (without escapes), use the <link linkend=\"gel-function-print\"><function>print</function></link> or <link linkend=\"gel-function-printn\"><function>printn</function></link> functions."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:899
#, no-wrap
msgid ""
"string(22)\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:902
#, no-wrap
msgid ""
"\"22\"\n"
""
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:897
msgid "In addition, you can use the library function <link linkend=\"gel-function-string\"><function>string</function></link> to convert anything to a string. For example: <_:programlisting-1/> will return <_:programlisting-2/> Strings can also be compared with <literal>==</literal> (equal), <literal>!=</literal> (not equal) and <literal>&lt;=&gt;</literal> (comparison) operators"
msgstr ""

#. (itstool) path: sect2/title
#: C/genius.xml:910
msgid "Null"
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:911
msgid "There is a special value called <constant>null</constant>. No operations can be performed on it, and nothing is printed when it is returned. Therefore, <constant>null</constant> is useful when you do not want output from an expression. The value <constant>null</constant> can be obtained as an expression when you type <literal>.</literal>, the constant <constant>null</constant> or nothing. By nothing we mean that if you end an expression with a separator <literal>;</literal>, it is equivalent to ending it with a separator followed by a <constant>null</constant>."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:924
#, no-wrap
msgid ""
"x=5;.\n"
"x=5;\n"
""
msgstr ""

#. (itstool) path: sect2/para
#. (itstool) path: sect1/para
#: C/genius.xml:922
#: C/genius.xml:2253
msgid "Example: <_:programlisting-1/>"
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:928
msgid "Some functions return <constant>null</constant> when no value can be returned or an error happened. Also <constant>null</constant> is used as an empty vector or matrix, or an empty reference."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:938
msgid "Using Variables"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:942
#, no-wrap
msgid ""
"VariableName\n"
""
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:945
#, no-wrap
msgid ""
"<prompt>genius&gt; </prompt><userinput>e</userinput>\n"
"= 2.71828182846\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:940
msgid "Syntax: <_:programlisting-1/> Example: <_:screen-2/>"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:950
msgid "To evaluate a variable by itself, just enter the name of the variable. This will return the value of the variable. You can use a variable anywhere you would normally use a number or string. In addition, variables are necessary when defining functions that take arguments (see <xref linkend=\"genius-gel-functions-defining\"/>)."
msgstr ""

#. (itstool) path: tip/title
#: C/genius.xml:955
#: C/genius.xml:1044
msgid "Using Tab completion"
msgstr ""

#. (itstool) path: tip/para
#: C/genius.xml:956
msgid "You can use Tab completion to get Genius to complete variable names for you. Try typing the first few letters of the name and pressing <userinput>Tab</userinput>."
msgstr ""

#. (itstool) path: important/title
#: C/genius.xml:962
msgid "Variable names are case sensitive"
msgstr ""

#. (itstool) path: important/para
#: C/genius.xml:963
msgid "The names of variables are case sensitive. That means that variables named <varname>hello</varname>, <varname>HELLO</varname> and <varname>Hello</varname> are all different variables."
msgstr ""

#. (itstool) path: sect2/title
#: C/genius.xml:970
msgid "Setting Variables"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:973
#, no-wrap
msgid ""
"&lt;identifier&gt; = &lt;value&gt;\n"
"&lt;identifier&gt; := &lt;value&gt;\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:977
#, no-wrap
msgid ""
"x = 3\n"
"x := 3\n"
""
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:971
msgid "Syntax: <_:programlisting-1/> Example: <_:programlisting-2/>"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:984
#, no-wrap
msgid ""
"a = b = 5\n"
""
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:982
msgid "To assign a value to a variable, use the <literal>=</literal> or <literal>:=</literal> operators. These operators set the value of the variable and return the value you set, so you can do things like <_:programlisting-1/> This will set <varname>b</varname> to 5 and then also set <varname>a</varname> to 5."
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:989
msgid "The <literal>=</literal> and <literal>:=</literal> operators can both be used to set variables. The difference between them is that the <literal>:=</literal> operator always acts as an assignment operator, whereas the <literal>=</literal> operator may be interpreted as testing for equality when used in a context where a Boolean expression is expected."
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:993
msgid "For more information about the scope of variables, that is when are what variables visible, see <xref linkend=\"genius-gel-variables-global\"/>."
msgstr ""

#. (itstool) path: sect2/title
#: C/genius.xml:1000
msgid "Built-in Variables"
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:1001
msgid "GEL has a number of built-in ‘variables’, such as <varname>e</varname>, <varname>pi</varname> or <varname>GoldenRatio</varname>. These are widely used constants with a preset value, and they cannot be assigned new values. There are a number of other built-in variables. See <xref linkend=\"genius-gel-function-list-constants\"/> for a full list. Note that <varname>i</varname> is not by default the square root of negative one (the imaginary number), and is undefined to allow its use as a counter. If you wish to write the imaginary number you need to use <userinput>1i</userinput>."
msgstr ""

#. (itstool) path: sect2/title
#: C/genius.xml:1014
msgid "Previous Result Variable"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1017
#, no-wrap
msgid ""
"Ans+389\n"
""
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:1015
msgid "The <varname>Ans</varname> and <varname>ans</varname> variables can be used to get the result of the last expression. For example, if you had performed some calculation, to add 389 to the result you could do: <_:programlisting-1/>"
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:1024
msgid "Using Functions"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1028
#, no-wrap
msgid ""
"FunctionName(argument1, argument2, ...)\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1031
#, no-wrap
msgid ""
"Factorial(5)\n"
"cos(2*pi)\n"
"gcd(921,317)\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:1026
msgid "Syntax: <_:programlisting-1/> Example: <_:programlisting-2/> To evaluate a function, enter the name of the function, followed by the arguments (if any) to the function in parentheses. This will return the result of applying the function to its arguments. The number of arguments to the function is, of course, different for each function."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:1039
msgid "There are many built-in functions, such as <link linkend=\"gel-function-sin\"><function>sin</function></link>, <link linkend=\"gel-function-cos\"><function>cos</function></link> and <link linkend=\"gel-function-tan\"><function>tan</function></link>. You can use the <link linkend=\"gel-command-help\"><function>help</function></link> built-in command to get a list of available functions, or see <xref linkend=\"genius-gel-function-list\"/> for a full listing."
msgstr ""

#. (itstool) path: tip/para
#: C/genius.xml:1045
msgid "You can use Tab completion to get Genius to complete function names for you. Try typing the first few letters of the name and pressing <userinput>Tab</userinput>."
msgstr ""

#. (itstool) path: important/title
#: C/genius.xml:1051
msgid "Function names are case sensitive"
msgstr ""

#. (itstool) path: important/para
#: C/genius.xml:1052
msgid "The names of functions are case sensitive. That means that functions named <function>dosomething</function>, <function>DOSOMETHING</function> and <function>DoSomething</function> are all different functions."
msgstr ""

#. (itstool) path: sect2/title
#: C/genius.xml:1059
msgid "Defining Functions"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1062
#, no-wrap
msgid ""
"function &lt;identifier&gt;(&lt;comma separated arguments&gt;) = &lt;function body&gt;\n"
"&lt;identifier&gt; = (`() = &lt;function body&gt;)\n"
""
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:1060
msgid "Syntax: <_:programlisting-1/> The <literal>`</literal> is the backquote character, and signifies an anonymous function. By setting it to a variable name you effectively define a function."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1071
#, no-wrap
msgid ""
"function addup(a,b,c) = a+b+c\n"
""
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:1068
msgid "A function takes zero or more comma separated arguments, and returns the result of the function body. Defining your own functions is primarily a matter of convenience; one possible use is to have sets of functions defined in GEL files that Genius can load in order to make them available. Example: <_:programlisting-1/> then <userinput>addup(1,4,9)</userinput> yields 14"
msgstr ""

#. (itstool) path: sect2/title
#: C/genius.xml:1078
msgid "Variable Argument Lists"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1081
#, no-wrap
msgid ""
"function f(a,b...) = b\n"
""
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:1079
msgid "If you include <literal>...</literal> after the last argument name in the function declaration, then Genius will allow any number of arguments to be passed in place of that argument. If no arguments were passed then that argument will be set to <constant>null</constant>. Otherwise, it will be a horizontal vector containing all the arguments. For example: <_:programlisting-1/> Then <userinput>f(1,2,3)</userinput> yields <computeroutput>[2,3]</computeroutput>, while <userinput>f(1)</userinput> yields a <constant>null</constant>."
msgstr ""

#. (itstool) path: sect2/title
#: C/genius.xml:1089
msgid "Passing Functions to Functions"
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:1091
msgid "In Genius, it is possible to pass a function as an argument to another function. This can be done using either ‘function nodes’ or anonymous functions."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1098
#, no-wrap
msgid ""
"function f(a,b) = a(b)+1;\n"
"function b(x) = x*x;\n"
"f(b,2)\n"
""
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:1095
msgid "If you do not enter the parentheses after a function name, instead of being evaluated, the function will instead be returned as a ‘function node’. The function node can then be passed to another function. Example: <_:programlisting-1/>"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1107
#, no-wrap
msgid ""
"function(&lt;comma separated arguments&gt;) = &lt;function body&gt;\n"
"`(&lt;comma separated arguments&gt;) = &lt;function body&gt;\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1111
#, no-wrap
msgid ""
"function f(a,b) = a(b)+1;\n"
"f(`(x) = x*x,2)\n"
""
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:1103
msgid "To pass functions that are not defined, you can use an anonymous function (see <xref linkend=\"genius-gel-functions-defining\"/>). That is, you want to pass a function without giving it a name. Syntax: <_:programlisting-1/> Example: <_:programlisting-2/> This will return 5."
msgstr ""

#. (itstool) path: sect2/title
#: C/genius.xml:1120
msgid "Operations on Functions"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1123
#, no-wrap
msgid ""
"exp(sin*cos+4)\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1127
#, no-wrap
msgid ""
"`(x) = exp(sin(x)*cos(x)+4)\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1132
#, no-wrap
msgid ""
"f = exp(sin*cos+4)\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1135
#, no-wrap
msgid ""
"LinePlot(sin^2)\n"
""
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:1121
msgid "Some functions allow arithmetic operations, and some single argument functions such as <link linkend=\"gel-function-exp\"><function>exp</function></link> or <link linkend=\"gel-function-ln\"><function>ln</function></link>, to operate on the function. For example, <_:programlisting-1/> will return a function that takes <varname>x</varname> and returns <userinput>exp(sin(x)*cos(x)+4)</userinput>. It is functionally equivalent to typing <_:programlisting-2/> This operation can be useful when quickly defining functions. For example to create a function called <varname>f</varname> to perform the above operation, you can just type: <_:programlisting-3/> It can also be used in plotting. For example, to plot sin squared you can enter: <_:programlisting-4/>"
msgstr ""

#. (itstool) path: warning/para
#: C/genius.xml:1140
msgid "Not all functions can be used in this way. For example, when you use a binary operation the functions must take the same number of arguments."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:1150
msgid "Separator"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1159
#, no-wrap
msgid ""
"3 ; 5\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:1151
msgid "GEL is somewhat different from other languages in how it deals with multiple commands and functions. In GEL you must chain commands together with a separator operator. That is, if you want to type more than one expression you have to use the <literal>;</literal> operator in between the expressions. This is a way in which both expressions are evaluated and the result of the second one (or the last one if there is more than two expressions) is returned. Suppose you type the following: <_:programlisting-1/> This expression will yield 5."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:1163
msgid "This will require some parenthesizing to make it unambiguous sometimes, especially if the <literal>;</literal> is not the top most primitive. This slightly differs from other programming languages where the <literal>;</literal> is a terminator of statements, whereas in GEL it’s actually a binary operator. If you are familiar with pascal this should be second nature. However genius can let you pretend it is a terminator to some degree. If a <literal>;</literal> is found at the end of a parenthesis or a block, genius will append a null to it as if you would have written <userinput>;null</userinput>. This is useful in case you do not want to return a value from a loop, or if you handle the return differently."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:1175
msgid "If you are typing expressions in a program file you do not have to add a semicolon. In this case genius will simply print the return value whenever it executes the expression. This is the same as when typing on the command line. However, do note that if you are defining a function, the body of the function is a single expression. Usually, therefore, if a function body is long, you will need to enclose it in parentheses."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:1185
msgid "Comments"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1190
#, no-wrap
msgid ""
"# This is just a comment\n"
"# every line in a comment must have its own pound sign\n"
"# in the next line we set x to the value 123\n"
"x=123;\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:1186
msgid "GEL is similar to other scripting languages in that <literal>#</literal> denotes a comment, that is text that is not meant to be evaluated. Everything beyond the pound sign till the end of line will just be ignored. For example, <_:programlisting-1/>"
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:1199
msgid "Modular Evaluation"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:1200
msgid "Genius implements modular arithmetic. To use it you just add \"mod &lt;integer&gt;\" after the expression. Example: <userinput>2^(5!) * 3^(6!) mod 5</userinput> It could be possible to do modular arithmetic by computing with integers and then modding in the end with the <literal>%</literal> operator, which simply gives the remainder, but that may be time consuming if not impossible when working with larger numbers. For example, <userinput>10^(10^10) % 6</userinput> will simply not work (the exponent will be too large), while <userinput>10^(10^10) mod 6</userinput> is instantaneous. The first expression first tries to compute the integer <userinput>10^(10^10)</userinput> and then find remainder after division by 6, while the second expression evaluates everything modulo 6 to begin with."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1218
#, no-wrap
msgid ""
"10^-1 mod 101\n"
"1/10 mod 101"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1223
#, no-wrap
msgid ""
"A = [1,2;3,4]\n"
"B = A^-1 mod 5\n"
"A*B mod 5"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:1214
msgid "The inverses of numbers mod some integer are computed by writing them as rational numbers (as long as the desired inverse exists, of course). Examples: <_:programlisting-1/> Modular evaluation also works with matrices including taking inverses, powers, and dividing. Example: <_:programlisting-2/> This should yield the identity matrix as B will be the inverse of A mod 5."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1235
#, no-wrap
msgid ""
"genius&gt; sqrt(4) mod 7\n"
"=\n"
"[2, 5]\n"
"genius&gt; 2*2 mod 7\n"
"= 4"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:1228
msgid "Some functions such as <link linkend=\"gel-function-sqrt\"><function>sqrt</function></link> or <link linkend=\"gel-function-log\"><function>log</function></link> work in a different way when in modulo mode. These will then work like their discrete versions working within the ring of integers you selected. For example: <_:programlisting-1/> <function>sqrt</function> will actually return all the possible square roots."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:1243
msgid "Do not chain mod operators, simply place it at the end of the computation, all computations in the expression on the left will be carried out in mod arithmetic. If you place a mod inside a mod, you will get unexpected results. If you simply want to mod a single number and control exactly when remainders are taken, best to use the <literal>%</literal> operator. When you need to chain several expressions in modular arithmetic with different divisors, it may be best to just split up the expression into several and use temporary variables to avoid a mod inside a mod."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:1256
msgid "List of GEL Operators"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:1258
msgid "Everything in GEL is really just an expression. Expressions are stringed together with different operators. As we have seen, even the separator is simply a binary operator in GEL. Here is a list of the operators in GEL."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1266
msgid "<userinput>a;b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1268
msgid "The separator, just evaluates both <varname>a</varname> and <varname>b</varname>, but returns only the result of <varname>b</varname>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1280
msgid "<userinput>a=b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1282
msgid "The assignment operator. This assigns <varname>b</varname> to <varname>a</varname> (<varname>a</varname> must be a valid <link linkend=\"genius-gel-lvalues\">lvalue</link>) (note however that this operator may be translated to <literal>==</literal> if used in a place where boolean expression is expected)"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1294
msgid "<userinput>a:=b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1296
msgid "The assignment operator. Assigns <varname>b</varname> to <varname>a</varname> (<varname>a</varname> must be a valid <link linkend=\"genius-gel-lvalues\">lvalue</link>). This is different from <literal>=</literal> because it never gets translated to a <literal>==</literal>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1307
msgid "<userinput>|a|</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1309
msgid "Absolute value. In case the expression is a complex number the result will be the modulus (distance from the origin). For example: <userinput>|3 * e^(1i*pi)|</userinput> returns 3."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1316
msgid "See <ulink url=\"http://mathworld.wolfram.com/AbsoluteValue.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1325
msgid "<userinput>a^b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1327
msgid "Exponentiation, raises <varname>a</varname> to the <varname>b</varname>th power."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1335
msgid "<userinput>a.^b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1337
msgid "Element by element exponentiation. Raise each element of a matrix <varname>a</varname> to the <varname>b</varname>th power. Or if <varname>b</varname> is a matrix of the same size as <varname>a</varname>, then do the operation element by element. If <varname>a</varname> is a number and <varname>b</varname> is a matrix then it creates matrix of the same size as <varname>b</varname> with <varname>a</varname> raised to all the different powers in <varname>b</varname>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1352
msgid "<userinput>a+b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1354
msgid "Addition. Adds two numbers, matrices, functions or strings. If you add a string to anything the result will just be a string. If one is a square matrix and the other a number, then the number is multiplied by the identity matrix."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1365
msgid "<userinput>a-b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1367
msgid "Subtraction. Subtract two numbers, matrices or functions."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1375
msgid "<userinput>a*b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1377
msgid "Multiplication. This is the normal matrix multiplication."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1385
msgid "<userinput>a.*b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1387
msgid "Element by element multiplication if <varname>a</varname> and <varname>b</varname> are matrices."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1396
msgid "<userinput>a/b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1398
msgid "Division. When <varname>a</varname> and <varname>b</varname> are just numbers this is the normal division. When they are matrices, then this is equivalent to <userinput>a*b^-1</userinput>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1408
msgid "<userinput>a./b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1410
msgid "Element by element division. Same as <userinput>a/b</userinput> for numbers, but operates element by element on matrices."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1419
msgid "<userinput>a\\b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1421
msgid "Back division. That is this is the same as <userinput>b/a</userinput>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1429
msgid "<userinput>a.\\b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1431
msgid "Element by element back division."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1439
msgid "<userinput>a%b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1441
msgid "The mod operator. This does not turn on the <link linkend=\"genius-gel-modular-evaluation\">modular mode</link>, but just returns the remainder of integer division <userinput>a/b</userinput>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1452
msgid "<userinput>a.%b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1454
msgid "Element by element mod operator. Returns the remainder after element by element integer division <userinput>a./b</userinput>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1464
msgid "<userinput>a mod b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1466
msgid "Modular evaluation operator. The expression <varname>a</varname> is evaluated modulo <varname>b</varname>. See <xref linkend=\"genius-gel-modular-evaluation\"/>. Some functions and operators behave differently modulo an integer."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1477
msgid "<userinput>a!</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1479
msgid "Factorial operator. This is like <userinput>1*...*(n-2)*(n-1)*n</userinput>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1488
msgid "<userinput>a!!</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1490
msgid "Double factorial operator. This is like <userinput>1*...*(n-4)*(n-2)*n</userinput>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1499
msgid "<userinput>a==b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1501
msgid "Equality operator. Returns <constant>true</constant> or <constant>false</constant> depending on <varname>a</varname> and <varname>b</varname> being equal or not."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1511
msgid "<userinput>a!=b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1513
msgid "Inequality operator, returns <constant>true</constant> if <varname>a</varname> does not equal <varname>b</varname> else returns <constant>false</constant>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1523
msgid "<userinput>a&lt;&gt;b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1525
msgid "Alternative inequality operator, returns <constant>true</constant> if <varname>a</varname> does not equal <varname>b</varname> else returns <constant>false</constant>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1535
msgid "<userinput>a&lt;=b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1537
msgid "Less than or equal operator, returns <constant>true</constant> if <varname>a</varname> is less than or equal to <varname>b</varname> else returns <constant>false</constant>. These can be chained as in <userinput>a &lt;= b &lt;= c</userinput> (can also be combined with the less than operator)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1550
msgid "<userinput>a&gt;=b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1552
msgid "Greater than or equal operator, returns <constant>true</constant> if <varname>a</varname> is greater than or equal to <varname>b</varname> else returns <constant>false</constant>. These can be chained as in <userinput>a &gt;= b &gt;= c</userinput> (and they can also be combined with the greater than operator)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1564
msgid "<userinput>a&lt;b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1566
msgid "Less than operator, returns <constant>true</constant> if <varname>a</varname> is less than <varname>b</varname> else returns <constant>false</constant>. These can be chained as in <userinput>a &lt; b &lt; c</userinput> (they can also be combined with the less than or equal to operator)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1579
msgid "<userinput>a&gt;b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1581
msgid "Greater than operator, returns <constant>true</constant> if <varname>a</varname> is greater than <varname>b</varname> else returns <constant>false</constant>. These can be chained as in <userinput>a &gt; b &gt; c</userinput> (they can also be combined with the greater than or equal to operator)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1594
msgid "<userinput>a&lt;=&gt;b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1596
msgid "Comparison operator. If <varname>a</varname> is equal to <varname>b</varname> it returns 0, if <varname>a</varname> is less than <varname>b</varname> it returns -1 and if <varname>a</varname> is greater than <varname>b</varname> it returns 1."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1608
msgid "<userinput>a and b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1610
msgid "Logical and. Returns true if both <varname>a</varname> and <varname>b</varname> are true, else returns false. If given numbers, nonzero numbers are treated as true."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1621
msgid "<userinput>a or b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1623
msgid "Logical or. Returns true if either <varname>a</varname> or <varname>b</varname> is true, else returns false. If given numbers, nonzero numbers are treated as true."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1635
msgid "<userinput>a xor b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1637
msgid "Logical xor. Returns true if exactly one of <varname>a</varname> or <varname>b</varname> is true, else returns false. If given numbers, nonzero numbers are treated as true."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1649
msgid "<userinput>not a</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1651
msgid "Logical not. Returns the logical negation of <varname>a</varname>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1659
msgid "<userinput>-a</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1661
msgid "Negation operator. Returns the negative of a number or a matrix (works element-wise on a matrix)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1669
msgid "<userinput>&amp;a</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1671
msgid "Variable referencing (to pass a reference to a variable). See <xref linkend=\"genius-gel-references\"/>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1680
#: C/genius.xml:2353
msgid "<userinput>*a</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1682
msgid "Variable dereferencing (to access a referenced variable). See <xref linkend=\"genius-gel-references\"/>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1691
msgid "<userinput>a'</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1693
msgid "Matrix conjugate transpose. That is, rows and columns get swapped and we take complex conjugate of all entries. That is if the i,j element of <varname>a</varname> is x+iy, then the j,i element of <userinput>a'</userinput> is x-iy."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1702
msgid "<userinput>a.'</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1704
msgid "Matrix transpose, does not conjugate the entries. That is, the i,j element of <varname>a</varname> becomes the j,i element of <userinput>a.'</userinput>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1713
msgid "<userinput>a@(b,c)</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1715
msgid "Get element of a matrix in row <varname>b</varname> and column <varname>c</varname>. If <varname>b</varname>, <varname>c</varname> are vectors, then this gets the corresponding rows, columns or submatrices."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1726
msgid "<userinput>a@(b,)</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1728
msgid "Get row of a matrix (or multiple rows if <varname>b</varname> is a vector)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1736
msgid "<userinput>a@(b,:)</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1738
#: C/genius.xml:1759
msgid "Same as above."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1746
msgid "<userinput>a@(,c)</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1748
msgid "Get column of a matrix (or columns if <varname>c</varname> is a vector)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1757
msgid "<userinput>a@(:,c)</userinput>"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1767
msgid "<userinput>a@(b)</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1769
msgid "Get an element from a matrix treating it as a vector. This will traverse the matrix row-wise."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1778
msgid "<userinput>a:b</userinput>"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1782
#, no-wrap
msgid ""
"A@(2:4,)\n"
"\t     "
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1780
msgid "Build a vector from <varname>a</varname> to <varname>b</varname> (or specify a row, column region for the <literal>@</literal> operator). For example to get rows 2 to 4 of matrix <varname>A</varname> we could do <_:programlisting-1/> as <userinput>2:4</userinput> will return a vector <userinput>[2,3,4]</userinput>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1792
msgid "<userinput>a:b:c</userinput>"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1797
#, no-wrap
msgid ""
"genius&gt; 1:2:9\n"
"=\n"
"`[1, 3, 5, 7, 9]\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1794
msgid "Build a vector from <varname>a</varname> to <varname>c</varname> with <varname>b</varname> as a step. That is for example <_:programlisting-1/>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1802
msgid "When the numbers involved are floating point numbers, for example <userinput>1.0:0.4:3.0</userinput>, the output is what is expected even though adding 0.4 to 1.0 five times is actually just slightly more than 3.0 due to the way that floating point numbers are stored in base 2 (there is no 0.4, the actual number stored is just ever so slightly bigger). The way this is handled is the same as in the for, sum, and prod loops. If the end is within <userinput>2^-20</userinput> times the step size of the endpoint, the endpoint is used and we assume there were roundoff errors. This is not perfect, but it handles the majority of the cases. This check is done only from version 1.0.18 onwards, so execution of your code may differ on older versions. If you want to avoid dealing with this issue, use actual rational numbers, possibly using the <function>float</function> if you wish to get floating point numbers in the end. For example <userinput>1:2/5:3</userinput> does the right thing and <userinput>float(1:2/5:3)</userinput> even gives you floating point numbers and is ever so slightly more precise than <userinput>1.0:0.4:3.0</userinput>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1828
msgid "<userinput>(a)i</userinput>"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1834
#, no-wrap
msgid ""
"(a)*1i\n"
"\t     "
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1830
msgid "Make <varname>a</varname> into an imaginary number (multiply <varname>a</varname> by the imaginary). Normally the imaginary number <varname>i</varname> is written as <userinput>1i</userinput>. So the above is equal to <_:programlisting-1/>"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1842
msgid "<userinput>`a</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1844
msgid "Quote an identifier so that it doesn't get evaluated. Or quote a matrix so that it doesn't get expanded."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1852
msgid "<userinput>a swapwith b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1854
msgid "Swap value of <varname>a</varname> with the value of <varname>b</varname>. Currently does not operate on ranges of matrix elements. It returns <constant>null</constant>. Available from version 1.0.13."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1865
msgid "<userinput>increment a</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1867
msgid "Increment the variable <varname>a</varname> by 1. If <varname>a</varname> is a matrix, then increment each element. This is equivalent to <userinput>a=a+1</userinput>, but it is somewhat faster. It returns <constant>null</constant>. Available from version 1.0.13."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:1878
msgid "<userinput>increment a by b</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:1880
msgid "Increment the variable <varname>a</varname> by <varname>b</varname>. If <varname>a</varname> is a matrix, then increment each element. This is equivalent to <userinput>a=a+b</userinput>, but it is somewhat faster. It returns <constant>null</constant>. Available from version 1.0.13."
msgstr ""

#. (itstool) path: note/para
#: C/genius.xml:1894
msgid "The @() operator makes the : operator most useful. With this you can specify regions of a matrix. So that a@(2:4,6) is the rows 2,3,4 of the column 6. Or a@(,1:2) will get you the first two columns of a matrix. You can also assign to the @() operator, as long as the right value is a matrix that matches the region in size, or if it is any other type of value."
msgstr ""

#. (itstool) path: note/para
#: C/genius.xml:1900
msgid "The comparison operators (except for the &lt;=&gt; operator, which behaves normally), are not strictly binary operators, they can in fact be grouped in the normal mathematical way, e.g.: (1&lt;x&lt;=y&lt;5) is a legal boolean expression and means just what it should, that is (1&lt;x and x≤y and y&lt;5)"
msgstr ""

#. (itstool) path: note/para
#: C/genius.xml:1906
msgid "Note that the unary minus operator binds less closely than the exponential, so <userinput>-1^k</userinput> is really <userinput>-(1)^k</userinput>. If you want <userinput>(-1)^k</userinput> you need the parentheses. Older versions of genius used to parse <userinput>-1^k</userinput> specially, but this was not reasonable and was removed in 1.0.28. So if in doubt, add parentheses."
msgstr ""

#. (itstool) path: chapter/title
#: C/genius.xml:1920
msgid "Programming with GEL"
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:1923
msgid "Conditionals"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1926
#, no-wrap
msgid ""
"if &lt;expression1&gt; then &lt;expression2&gt; [else &lt;expression3&gt;]\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:1924
msgid "Syntax: <_:programlisting-1/> If <literal>else</literal> is omitted, then if the <literal>expression1</literal> yields <constant>false</constant> or 0, <literal>NULL</literal> is returned."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1932
#, no-wrap
msgid ""
"if(a==5)then(a=a-1)\n"
"if b&lt;a then b=a\n"
"if c&gt;0 then c=c-1 else c=0\n"
"a = ( if b&gt;0 then b else 1 )\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1938
#, no-wrap
msgid ""
"if a=5 then a=a-1\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1941
#, no-wrap
msgid ""
"if a==5 then a:=a-1\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:1930
msgid "Examples: <_:programlisting-1/> Note that <literal>=</literal> will be translated to <literal>==</literal> if used inside the expression for <literal>if</literal>, so <_:programlisting-2/> will be interpreted as: <_:programlisting-3/>"
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:1947
msgid "Loops"
msgstr ""

#. (itstool) path: sect2/title
#: C/genius.xml:1950
msgid "While Loops"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1953
#, no-wrap
msgid ""
"while &lt;expression1&gt; do &lt;expression2&gt;\n"
"until &lt;expression1&gt; do &lt;expression2&gt;\n"
"do &lt;expression2&gt; while &lt;expression1&gt;\n"
"do &lt;expression2&gt; until &lt;expression1&gt;"
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:1951
msgid "Syntax: <_:programlisting-1/> These are similar to other languages. However, as in GEL it is simply an expression that must have some return value, these constructs will simply return the result of the last iteration or <literal>NULL</literal> if no iteration was done. In the boolean expression, <literal>=</literal> is translated into <literal>==</literal> just as for the <literal>if</literal> statement."
msgstr ""

#. (itstool) path: sect2/title
#: C/genius.xml:1964
msgid "For Loops"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1967
#, no-wrap
msgid ""
"for &lt;identifier&gt; = &lt;from&gt; to &lt;to&gt; do &lt;body&gt;\n"
"for &lt;identifier&gt; = &lt;from&gt; to &lt;to&gt; by &lt;increment&gt; do &lt;body&gt;"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1971
#, no-wrap
msgid ""
"for i = 1 to 20 by 2 do print(i)\n"
""
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:1965
msgid "Syntax: <_:programlisting-1/> Loop with identifier being set to all values from <literal>&lt;from&gt;</literal> to <literal>&lt;to&gt;</literal>, optionally using an increment other than 1. These are faster, nicer and more compact than the normal loops such as above, but less flexible. The identifier must be an identifier and can't be a dereference. The value of identifier is the last value of identifier, or <literal>&lt;from&gt;</literal> if body was never evaluated. The variable is guaranteed to be initialized after a loop, so you can safely use it. Also the <literal>&lt;from&gt;</literal>, <literal>&lt;to&gt;</literal> and <literal>&lt;increment&gt;</literal> must be non complex values. The <literal>&lt;to&gt;</literal> is not guaranteed to be hit, but will never be overshot, for example the following prints out odd numbers from 1 to 19: <_:programlisting-2/>"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1979
#, no-wrap
msgid ""
"for x = 0 to 1 by 0.1 do print(x)\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1984
#, no-wrap
msgid ""
"for x = 0 to 1 by 1/10 do print(x)\n"
""
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:1974
msgid "When one of the values is a floating point number, then the final check is done to within 2^-20 of the step size. That is, even if we overshoot by 2^-20 times the \"by\" above, we still execute the last iteration. This way <_:programlisting-1/> does the expected even though adding 0.1 ten times becomes just slightly more than 1.0 due to the way that floating point numbers are stored in base 2 (there is no 0.1, the actual number stored is just ever so slightly bigger). This is not perfect but it handles the majority of the cases. If you want to avoid dealing with this issue, use actual rational numbers for example: <_:programlisting-2/> This check is done only from version 1.0.16 onwards, so execution of your code may differ on older versions."
msgstr ""

#. (itstool) path: sect2/title
#: C/genius.xml:1991
msgid "Foreach Loops"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1994
#, no-wrap
msgid ""
"for &lt;identifier&gt; in &lt;matrix&gt; do &lt;body&gt;"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:1999
#, no-wrap
msgid ""
"for n in [1,2:3,4] do print(n)\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2004
#, no-wrap
msgid ""
"for n in RowsOf ([1,2:3,4]) do print(n)\n"
""
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:1992
msgid "Syntax: <_:programlisting-1/> For each element in the matrix, going row by row from left to right we execute the body with the identifier set to the current element. To print numbers 1,2,3 and 4 in this order you could do: <_:programlisting-2/> If you wish to run through the rows and columns of a matrix, you can use the RowsOf and ColumnsOf functions, which return a vector of the rows or columns of the matrix. So, <_:programlisting-3/> will print out [1,2] and then [3,4]."
msgstr ""

#. (itstool) path: sect2/title
#: C/genius.xml:2011
msgid "Break and Continue"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2014
#, no-wrap
msgid ""
"while(&lt;expression1&gt;) do (\n"
"  if(&lt;expression2&gt;) break\n"
"  else if(&lt;expression3&gt;) continue;\n"
"  &lt;expression4&gt;\n"
")\n"
""
msgstr ""

#. (itstool) path: sect2/para
#: C/genius.xml:2012
msgid "You can also use the <literal>break</literal> and <literal>continue</literal> commands in loops. The continue <literal>continue</literal> command will restart the current loop at its next iteration, while the <literal>break</literal> command exits the current loop. <_:programlisting-1/>"
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:2025
msgid "Sums and Products"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2028
#, no-wrap
msgid ""
"sum &lt;identifier&gt; = &lt;from&gt; to &lt;to&gt; do &lt;body&gt;\n"
"sum &lt;identifier&gt; = &lt;from&gt; to &lt;to&gt; by &lt;increment&gt; do &lt;body&gt;\n"
"sum &lt;identifier&gt; in &lt;matrix&gt; do &lt;body&gt;\n"
"prod &lt;identifier&gt; = &lt;from&gt; to &lt;to&gt; do &lt;body&gt;\n"
"prod &lt;identifier&gt; = &lt;from&gt; to &lt;to&gt; by &lt;increment&gt; do &lt;body&gt;\n"
"prod &lt;identifier&gt; in &lt;matrix&gt; do &lt;body&gt;"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2026
msgid "Syntax: <_:programlisting-1/> If you substitute <literal>for</literal> with <literal>sum</literal> or <literal>prod</literal>, then you will get a sum or a product instead of a <literal>for</literal> loop. Instead of returning the last value, these will return the sum or the product of the values respectively."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2037
msgid "If no body is executed (for example <userinput>sum i=1 to 0 do ...</userinput>) then <literal>sum</literal> returns 0 and <literal>prod</literal> returns 1 as is the standard convention."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2040
msgid "For floating point numbers the same roundoff error protection is done as in the for loop. See <xref linkend=\"genius-gel-loops-for\"/>."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:2047
msgid "Comparison Operators"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2048
msgid "The following standard comparison operators are supported in GEL and have the obvious meaning: <literal>==</literal>, <literal>&gt;=</literal>, <literal>&lt;=</literal>, <literal>!=</literal>, <literal>&lt;&gt;</literal>, <literal>&lt;</literal>, <literal>&gt;</literal>. They return <constant>true</constant> or <constant>false</constant>. The operators <literal>!=</literal> and <literal>&lt;&gt;</literal> are the same thing and mean \"is not equal to\". GEL also supports the operator <literal>&lt;=&gt;</literal>, which returns -1 if left side is smaller, 0 if both sides are equal, 1 if left side is larger."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2067
#, no-wrap
msgid ""
"if a=b then c\n"
"if a==b then c\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2063
msgid "Normally <literal>=</literal> is translated to <literal>==</literal> if it happens to be somewhere where GEL is expecting a condition such as in the if condition. For example <_:programlisting-1/> are the same thing in GEL. However you should really use <literal>==</literal> or <literal>:=</literal> when you want to compare or assign respectively if you want your code to be easy to read and to avoid mistakes."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2076
msgid "All the comparison operators (except for the <literal>&lt;=&gt;</literal> operator, which behaves normally), are not strictly binary operators, they can in fact be grouped in the normal mathematical way, e.g.: (<literal>1&lt;x&lt;=y&lt;5</literal>) is a legal boolean expression and means just what it should, that is (1&lt;x and x≤y and y&lt;5)"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2085
msgid "To build up logical expressions use the words <literal>not</literal>, <literal>and</literal>, <literal>or</literal>, <literal>xor</literal>. The operators <literal>or</literal> and <literal>and</literal> are special beasts as they evaluate their arguments one by one, so the usual trick for conditional evaluation works here as well. For example, <literal>1 or a=1</literal> will not set <literal>a=1</literal> since the first argument was true."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:2096
msgid "Global Variables and Scope of Variables"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2097
msgid "GEL is a <ulink url=\"https://en.wikipedia.org/wiki/Scope_%28programming%29\"> dynamically scoped language</ulink>. We will explain what this means below. That is, normal variables and functions are dynamically scoped. The exception are <link linkend=\"genius-gel-parameters\">parameter variables</link>, which are always global."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2120
#, no-wrap
msgid ""
"function f() = (a:=5; g());\n"
"function g() = print(a);\n"
"f();\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2106
msgid "Like most programming languages, GEL has different types of variables. Normally when a variable is defined in a function, it is visible from that function and from all functions that are called (all higher contexts). For example, suppose a function <function>f</function> defines a variable <varname>a</varname> and then calls function <function>g</function>. Then function <function>g</function> can reference <varname>a</varname>. But once <function>f</function> returns, the variable <varname>a</varname> goes out of scope. For example, the following code will print out 5. The function <function>g</function> cannot be called on the top level (outside <function>f</function> as <varname>a</varname> will not be defined). <_:programlisting-1/>"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2129
#, no-wrap
msgid ""
"function f() = (a:=5; g());\n"
"function g() = print(a);\n"
"a:=10;\n"
"f();\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2125
msgid "If you define a variable inside a function it will override any variables defined in calling functions. For example, we modify the above code and write: <_:programlisting-1/> This code will still print out 5. But if you call <function>g</function> outside of <function>f</function> then you will get a printout of 10. Note that setting <varname>a</varname> to 5 inside <function>f</function> does not change the value of <varname>a</varname> at the top (global) level, so if you now check the value of <varname>a</varname> it will still be 10."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2143
msgid "Function arguments are exactly like variables defined inside the function, except that they are initialized with the value that was passed to the function. Other than this point, they are treated just like all other variables defined inside the function."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:2155
#, no-wrap
msgid ""
"<prompt>genius&gt; </prompt><userinput>function f(x) = sin(x)^2</userinput>\n"
"= (`(x)=(sin(x)^2))\n"
"<prompt>genius&gt; </prompt><userinput>function f(x) = sin(x)^2</userinput>\n"
"= (`(x)=(sin(x)^2))\n"
"<prompt>genius&gt; </prompt><userinput>function g(x) = ((function sin(x)=x^10);f(x))</userinput>\n"
"= (`(x)=((sin:=(`(x)=(x^10)));f(x)))\n"
"<prompt>genius&gt; </prompt><userinput>g(10)</userinput>\n"
"= 1e20\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2150
msgid "Functions are treated exactly like variables. Hence you can locally redefine functions. Normally (on the top level) you cannot redefine protected variables and functions. But locally you can do this. Consider the following session: <_:screen-1/>"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2170
#, no-wrap
msgid ""
"a=6;\n"
"function f() = (a:=5);\n"
"f();\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2181
#, no-wrap
msgid ""
"set(`a,3)\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2184
#, no-wrap
msgid ""
"set(\"a\",3)\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2165
msgid "Functions and variables defined at the top level are considered global. They are visible from anywhere. As we said the following function <function>f</function> will not change the value of <varname>a</varname> to 5. <_:programlisting-1/> Sometimes, however, it is necessary to set a global variable from inside a function. When this behavior is needed, use the <link linkend=\"gel-function-set\"><function>set</function></link> function. Passing a string or a quoted identifier to this function sets the variable globally (on the top level). For example, to set <varname>a</varname> to the value 3 you could call: <_:programlisting-2/> or: <_:programlisting-3/>"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2187
msgid "The <function>set</function> function always sets the toplevel global. There is no way to set a local variable in some function from a subroutine. If this is required, must use passing by reference."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2193
msgid "See also the <link linkend=\"gel-function-SetElement\"><function>SetElement</function></link> and <link linkend=\"gel-function-SetVElement\"><function>SetVElement</function></link> functions."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2198
msgid "So to recap in a more technical language: Genius operates with different numbered contexts. The top level is the context 0 (zero). Whenever a function is entered, the context is raised, and when the function returns the context is lowered. A function or a variable is always visible from all higher numbered contexts. When a variable was defined in a lower numbered context, then setting this variable has the effect of creating a new local variable in the current context number and this variable will now be visible from all higher numbered contexts."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2209
msgid "There are also true local variables that are not seen from anywhere but the current context. Also when returning functions by value it may reference variables not visible from higher context and this may be a problem. See the sections <link linkend=\"genius-gel-true-local-variables\">True Local Variables</link> and <link linkend=\"genius-gel-returning-functions\">Returning Functions</link>."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:2222
msgid "Parameter variables"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2227
#, no-wrap
msgid ""
"parameter foo = 1\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2223
msgid "As we said before, there exist special variables called parameters that exist in all scopes. To declare a parameter called <varname>foo</varname> with the initial value 1, we write <_:programlisting-1/> From then on, <varname>foo</varname> is a strictly global variable. Setting <varname>foo</varname> inside any function will modify the variable in all contexts, that is, functions do not have a private copy of parameters."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2234
msgid "When you undefine a parameter using the <link linkend=\"gel-function-undefine\"> <function>undefine</function></link> function, it stops being a parameter."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2240
msgid "Some parameters are built-in and modify the behavior of genius."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:2246
msgid "Returning"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2247
msgid "Normally a function is one or several expressions separated by a semicolon, and the value of the last expression is returned. This is fine for simple functions, but sometimes you do not want a function to return the last thing calculated. You may, for example, want to return from a middle of a function. In this case, you can use the <literal>return</literal> keyword. <literal>return</literal> takes one argument, which is the value to be returned."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2255
#, no-wrap
msgid ""
"function f(x) = (\n"
"  y=1;\n"
"  while true do (\n"
"    if x&gt;50 then return y;\n"
"    y=y+1;\n"
"    x=x+1\n"
"  )\n"
")\n"
""
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:2269
msgid "References"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2270
msgid "It may be necessary for some functions to return more than one value. This may be accomplished by returning a vector of values, but many times it is convenient to use passing a reference to a variable. You pass a reference to a variable to a function, and the function will set the variable for you using a dereference. You do not have to use references only for this purpose, but this is their main use."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2285
#, no-wrap
msgid ""
"RayleighQuotientIteration (A,x,0.001,100,&amp;v)\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2278
msgid "When using functions that return values through references in the argument list, just pass the variable name with an ampersand. For example the following code will compute an eigenvalue of a matrix <varname>A</varname> with initial eigenvector guess <varname>x</varname>, and store the computed eigenvector into the variable named <varname>v</varname>: <_:programlisting-1/>"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2288
msgid "The details of how references work and the syntax is similar to the C language. The operator <literal>&amp;</literal> references a variable and <literal>*</literal> dereferences a variable. Both can only be applied to an identifier, so <literal>**a</literal> is not a legal expression in GEL."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2297
#, no-wrap
msgid ""
"a=1;\n"
"b=&amp;a;\n"
"*b=2;\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2302
#, no-wrap
msgid ""
"function f(x) = x+1;\n"
"t=&amp;f;\n"
"*t(3)\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2295
msgid "References are best explained by an example: <_:programlisting-1/> now <varname>a</varname> contains 2. You can also reference functions: <_:programlisting-2/> gives us 4."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2321
#, no-wrap
msgid ""
"n=3;\n"
"function f(k) = (*k=2);\n"
"function g() = (f(&amp;n);print(n));\n"
"g();\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2308
msgid "The first time a variable is referenced, it is created in the current context unless it exists. So if we make a function that sets the variable to 2, such as <userinput>function f(k) = (*k=2)</userinput>, then the call <userinput>f(&amp;n)</userinput> will declare a new variable <varname>n</varname> then the function <function>f</function> will run and set it to 2. So there is no need to write something like <userinput>n=0;f(&amp;n)</userinput>. A new variable in the current context is created even if a variable exists in a higher context, such as in the global context. So for example after <_:programlisting-1/> the variable <varname>n</varname> is still 3 and not 2. That is because inside <function>g</function>, when <varname>n</varname> is referenced, it is a new variable in the context of <function>g</function>. The function <function>f</function> then sets this <varname>n</varname> to 2, and then 2 is printed, but the <varname>n</varname> in the global context is not touched. So we can use references to get values out of functions and we do not need to explicitly declare them, nor do we have to worry about messing up global variables that the user might be using for something else."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:2338
msgid "Lvalues"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:2344
msgid "<userinput>a</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:2346
msgid "Identifier. Here we would be setting the variable of name <varname>a</varname>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:2355
msgid "Dereference of an identifier. This will set whatever variable <varname>a</varname> points to."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:2362
msgid "<userinput>a@(&lt;region&gt;)</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:2364
msgid "A region of a matrix. Here the region is specified normally as with the regular @() operator, and can be a single entry, or an entire region of the matrix."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2339
msgid "An lvalue is the left hand side of an assignment. In other words, an lvalue is what you assign something to. Valid lvalues are: <_:variablelist-1/>"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2375
#, no-wrap
msgid ""
"a:=4\n"
"*tmp := 89\n"
"a@(1,1) := 5\n"
"a@(4:8,3) := [1,2,3,4,5]'\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2373
msgid "Examples: <_:programlisting-1/> Note that both <literal>:=</literal> and <literal>=</literal> can be used interchangeably. Except if the assignment appears in a condition. It is thus always safer to just use <literal>:=</literal> when you mean assignment, and <literal>==</literal> when you mean comparison."
msgstr ""

#. (itstool) path: chapter/title
#: C/genius.xml:2391
msgid "Advanced Programming with GEL"
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:2394
msgid "Error Handling"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2395
msgid "If you detect an error in your function, you can bail out of it. For normal errors, such as wrong types of arguments, you can fail to compute the function by adding the statement <literal>bailout</literal>. If something went really wrong and you want to completely kill the current computation, you can use <literal>exception</literal>."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2405
#, no-wrap
msgid ""
"function f(M) = (\n"
"  if not IsMatrix (M) then (\n"
"    error (\"M not a matrix!\");\n"
"    bailout\n"
"  );\n"
"  ...\n"
")\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2402
msgid "For example if you want to check for arguments in your function. You could use the following code. <_:programlisting-1/>"
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:2417
msgid "Toplevel Syntax"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2418
msgid "The syntax is slightly different if you enter statements on the top level versus when they are inside parentheses or inside functions. On the top level, enter acts the same as if you press return on the command line. Therefore think of programs as just a sequence of lines as if they were entered on the command line. In particular, you do not need to enter the separator at the end of the line (unless it is part of several statements inside parentheses). When a statement does not end with a separator on the top level, the result is printed after being executed."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2431
#, no-wrap
msgid ""
"function f(x)=x^2\n"
"f(3)\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2438
#, no-wrap
msgid ""
"function f(x)=x^2;\n"
"f(3)\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2443
#, no-wrap
msgid ""
"function f(x)=(\n"
"  y=1;\n"
"  for j=1 to x do\n"
"    y = y+j;\n"
"  y^2\n"
");\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2429
msgid "For example, <_:programlisting-1/> will print first the result of setting a function (a representation of the function, in this case <computeroutput>(`(x)=(x^2))</computeroutput>) and then the expected 9. To avoid this, enter a separator after the function definition. <_:programlisting-2/> If you need to put a separator into your function then you have to surround with parenthesis. For example: <_:programlisting-3/>"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2454
#, no-wrap
msgid ""
"if Something() then\n"
"  DoSomething()\n"
"else\n"
"  DoSomethingElse()\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2451
msgid "The following code will produce an error when entered on the top level of a program, while it will work just fine in a function. <_:programlisting-1/>"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2468
#, no-wrap
msgid ""
"if Something() then (\n"
"  DoSomething()\n"
") else (\n"
"  DoSomethingElse()\n"
")\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2460
msgid "The problem is that after <application>Genius Mathematics Tool</application> sees the end of line after the second line, it will decide that we have whole statement and it will execute it. After the execution is done, <application>Genius Mathematics Tool</application> will go on to the next line, it will see <literal>else</literal>, and it will produce a parsing error. To fix this, use parentheses. <application>Genius Mathematics Tool</application> will not be satisfied until it has found that all parentheses are closed. <_:programlisting-1/>"
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:2478
msgid "Returning Functions"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2491
#, no-wrap
msgid ""
"function f() = (\n"
"  k = 5;\n"
"  `(x) = (x+k)\n"
")\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2498
#, no-wrap
msgid ""
"g = f();\n"
"g(5)\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2479
msgid "It is possible to return functions as value. This way you can build functions that construct special purpose functions according to some parameters. The tricky bit is what variables does the function see. The way this works in GEL is that when a function returns another function, all identifiers referenced in the function body that went out of scope are prepended a private dictionary of the returned function. So the function will see all variables that were in scope when it was defined. For example, we define a function that returns a function that adds 5 to its argument. <_:programlisting-1/> Notice that the function adds <varname>k</varname> to <varname>x</varname>. You could use this as follows. <_:programlisting-2/> And <userinput>g(5)</userinput> should return 10."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2507
#, no-wrap
msgid ""
"function f() = (\n"
"  k := 5;\n"
"  function r(x) = (x+k);\n"
"  k := 10;\n"
"  r\n"
")\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2503
msgid "One thing to note is that the value of <varname>k</varname> that is used is the one that's in effect when the <function>f</function> returns. For example: <_:programlisting-1/> will return a function that adds 10 to its argument rather than 5. This is because the extra dictionary is created only when the context in which the function was defined ends, which is when the function <function>f</function> returns. This is consistent with how you would expect the function <function>r</function> to work inside the function <function>f</function> according to the rules of scope of variables in GEL. Only those variables are added to the extra dictionary that are in the context that just ended and no longer exists. Variables used in the function that are in still valid contexts will work as usual, using the current value of the variable. The only difference is with global variables and functions. All identifiers that referenced global variables at time of the function definition are not added to the private dictionary. This is to avoid much unnecessary work when returning functions and would rarely be a problem. For example, suppose that you delete the \"k=5\" from the function <function>f</function>, and at the top level you define <varname>k</varname> to be say 5. Then when you run <function>f</function>, the function <function>r</function> will not put <varname>k</varname> into the private dictionary because it was global (toplevel) at the time of definition of <function>r</function>."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2549
#, no-wrap
msgid ""
"function f() = (\n"
"  k := 5;\n"
"  function r(x) [k] = (x+k);\n"
"  k := 10;\n"
"  r\n"
")\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2538
msgid "Sometimes it is better to have more control over how variables are copied into the private dictionary. Since version 1.0.7, you can specify which variables are copied into the private dictionary by putting extra square brackets after the arguments with the list of variables to be copied separated by commas. If you do this, then variables are copied into the private dictionary at time of the function definition, and the private dictionary is not touched afterwards. For example <_:programlisting-1/> will return a function that when called will add 5 to its argument. The local copy of <varname>k</varname> was created when the function was defined."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2571
#, no-wrap
msgid ""
"function f() = (\n"
"  k := 5;\n"
"  function r(x) [] = (x+k);\n"
"  r\n"
");\n"
"k := 10;\n"
"g = f();\n"
"g(10)\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2560
msgid "When you want the function to not have any private dictionary then put empty square brackets after the argument list. Then no private dictionary will be created at all. Doing this is good to increase efficiency when a private dictionary is not needed or when you want the function to lookup all variables as it sees them when called. For example suppose you want the function returned from <function>f</function> to see the value of <varname>k</varname> from the toplevel despite there being a local variable of the same name during definition. So the code <_:programlisting-1/> will return 20 and not 15, which would happen if <varname>k</varname> with a value of 5 was added to the private dictionary."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:2587
msgid "True Local Variables"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2591
#, no-wrap
msgid ""
"k := 10;\n"
"function r(x) = (x+k);\n"
"function f(g,x) = (\n"
"  k := 5;\n"
"  g(x)\n"
");\n"
"f(r,1)\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2588
msgid "When passing functions into other functions, the normal scoping of variables might be undesired. For example: <_:programlisting-1/> you probably want the function <function>r</function> when passed as <function>g</function> into <function>f</function> to see <varname>k</varname> as 10 rather than 5, so that the code returns 11 and not 6. However, as written, the function when executed will see the <varname>k</varname> that is equal to 5. There are two ways to solve this. One would be to have <function>r</function> get <varname>k</varname> in a private dictionary using the square bracket notation section <link linkend=\"genius-gel-returning-functions\">Returning Functions</link>."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2620
#, no-wrap
msgid ""
"function f(g,x) = (\n"
"  local g,x,k;\n"
"  k := 5;\n"
"  g(x)\n"
");\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2610
msgid "But there is another solution. Since version 1.0.7 there are true local variables. These are variables that are visible only from the current context and not from any called functions. We could define <varname>k</varname> as a local variable in the function <function>f</function>. To do this add a <command>local</command> statement as the first statement in the function (it must always be the first statement in the function). You can also make any arguments be local variables as well. That is, <_:programlisting-1/> Then the code will work as expected and prints out 11. Note that the <command>local</command> statement initializes all the referenced variables (except for function arguments) to a <constant>null</constant>."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2637
#, no-wrap
msgid ""
"function f(g,x) = (\n"
"  local *;\n"
"  k := 5;\n"
"  g(x)\n"
");\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2631
msgid "If all variables are to be created as locals you can just pass an asterisk instead of a list of variables. In this case the variables will not be initialized until they are actually set. So the following definition of <function>f</function> will also work: <_:programlisting-1/>"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2644
msgid "It is good practice that all functions that take other functions as arguments use local variables. This way the passed function does not see implementation details and get confused."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:2652
msgid "GEL Startup Procedure"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2653
msgid "First the program looks for the installed library file (the compiled version <filename>lib.cgel</filename>) in the installed directory, then it looks into the current directory, and then it tries to load an uncompiled file called <filename>~/.geniusinit</filename>."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2657
msgid "If you ever change the library in its installed place, you’ll have to first compile it with <command>genius --compile loader.gel &gt; lib.cgel</command>"
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:2664
msgid "Loading Programs"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2667
#, no-wrap
msgid ""
"load program1.gel program2.gel\n"
"load \"Weird File Name With SPACES.gel\"\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2671
#, no-wrap
msgid ""
"cd directory_with_gel_programs\n"
"ls *.gel\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2665
msgid "Sometimes you have a larger program you wrote into a file and want to read that file into <application>Genius Mathematics Tool</application>. In these situations, you have two options. You can keep the functions you use most inside the <filename>~/.geniusinit</filename> file. Or if you want to load up a file in a middle of a session (or from within another file), you can type <command>load &lt;list of filenames&gt;</command> at the prompt. This has to be done on the top level and not inside any function or whatnot, and it cannot be part of any expression. It also has a slightly different syntax than the rest of genius, more similar to a shell. You can enter the file in quotes. If you use the '' quotes, you will get exactly the string that you typed, if you use the \"\" quotes, special characters will be unescaped as they are for strings. Example: <_:programlisting-1/> There are also <command>cd</command>, <command>pwd</command> and <command>ls</command> commands built in. <command>cd</command> will take one argument, <command>ls</command> will take an argument that is like the glob in the UNIX shell (i.e., you can use wildcards). <command>pwd</command> takes no arguments. For example: <_:programlisting-2/>"
msgstr ""

#. (itstool) path: chapter/title
#: C/genius.xml:2681
msgid "Matrices in GEL"
msgstr ""

#. (itstool) path: chapter/para
#: C/genius.xml:2683
msgid "Genius has support for vectors and matrices and possesses a sizable library of matrix manipulation and linear algebra functions."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:2689
msgid "Entering Matrices"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2698
#, no-wrap
msgid ""
"[1,2,3;4,5,6;7,8,9]\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2701
#, no-wrap
msgid ""
"[1, 2, 3\n"
" 4, 5, 6\n"
" 7, 8, 9]\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2690
msgid "To enter matrices, you can use one of the following two syntaxes. You can either enter the matrix on one line, separating values by commas and rows by semicolons. Or you can enter each row on one line, separating values by commas. You can also just combine the two methods. So to enter a 3x3 matrix of numbers 1-9 you could do <_:programlisting-1/> or <_:programlisting-2/> Do not use both ';' and return at once on the same line though."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2711
#, no-wrap
msgid ""
"a = [ 1, 2, 3\n"
"      4, 5, 6\n"
"      7, 8, 9]\n"
"b = [ a,  10\n"
"      11, 12]\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2718
#, no-wrap
msgid ""
"[1,   2,  3, 10\n"
" 4,   5,  6, 10\n"
" 7,   8,  9, 10\n"
" 11, 11, 11, 12]\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2708
msgid "You can also use the matrix expansion functionality to enter matrices. For example you can do: <_:programlisting-1/> and you should get <_:programlisting-2/> similarly you can build matrices out of vectors and other stuff like that."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2728
#, no-wrap
msgid ""
"[1, 2, 3\n"
" 4, 5\n"
" 6]\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2733
#, no-wrap
msgid ""
"\n"
"[1, 2, 3\n"
" 4, 5, 0\n"
" 6, 0, 0]\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2726
msgid "Another thing is that non-specified spots are initialized to 0, so <_:programlisting-1/> will end up being <_:programlisting-2/>"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2740
msgid "When matrices are evaluated, they are evaluated and traversed row-wise. This is just like the <literal>M@(j)</literal> operator, which traverses the matrix row-wise."
msgstr ""

#. (itstool) path: note/para
#: C/genius.xml:2746
msgid "Be careful about using returns for expressions inside the <literal>[ ]</literal> brackets, as they have a slightly different meaning there. You will start a new row."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:2756
msgid "Conjugate Transpose and Transpose Operator"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2764
#, no-wrap
msgid ""
"[1,2,3]*[4,5,6]'\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2769
#, no-wrap
msgid ""
"[1,2,3]*[4,5,6i].'\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2757
msgid "You can conjugate transpose a matrix by using the <literal>'</literal> operator. That is the entry in the <varname>i</varname>th column and the <varname>j</varname>th row will be the complex conjugate of the entry in the <varname>j</varname>th column and the <varname>i</varname>th row of the original matrix. For example: <_:programlisting-1/> We transpose the second vector to make matrix multiplication possible. If you just want to transpose a matrix without conjugating it, you would use the <literal>.'</literal> operator. For example: <_:programlisting-2/>"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2772
msgid "Note that normal transpose, that is the <literal>.'</literal> operator, is much faster and will not create a new copy of the matrix in memory. The conjugate transpose does create a new copy unfortunately. It is recommended to always use the <literal>.'</literal> operator when working with real matrices and vectors."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:2782
#: C/genius.xml:6015
msgid "Linear Algebra"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2783
msgid "Genius implements many useful linear algebra and matrix manipulation routines. See the <link linkend=\"genius-gel-function-list-linear-algebra\">Linear Algebra</link> and <link linkend=\"genius-gel-function-list-matrix\">Matrix Manipulation</link> sections of the GEL function listing."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2790
msgid "The linear algebra routines implemented in GEL do not currently come from a well tested numerical package, and thus should not be used for critical numerical computation. On the other hand, Genius implements very well many linear algebra operations with rational and integer coefficients. These are inherently exact and in fact will give you much better results than common double precision routines for linear algebra."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2798
msgid "For example, it is pointless to compute the rank and nullspace of a floating point matrix since for all practical purposes, we need to consider the matrix as having some slight errors. You are likely to get a different result than you expect. The problem is that under a small perturbation every matrix is of full rank and invertible. If the matrix however is of rational numbers, then the rank and nullspace are always exact."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2806
msgid "In general when Genius computes the basis of a certain vectorspace (for example with the <link linkend=\"gel-function-NullSpace\"><function>NullSpace</function></link>) it will give the basis as a matrix, in which the columns are the vectors of the basis. That is, when Genius talks of a linear subspace it means a matrix whose column space is the given linear subspace."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2813
msgid "It should be noted that Genius can remember certain properties of a matrix. For example, it will remember that a matrix is in row reduced form. If many calls are made to functions that internally use row reduced form of the matrix, we can just row reduce the matrix beforehand once. Successive calls to <link linkend=\"gel-function-rref\"><function>rref</function></link> will be very fast."
msgstr ""

#. (itstool) path: chapter/title
#: C/genius.xml:2826
msgid "Polynomials in GEL"
msgstr ""

#. (itstool) path: chapter/para
#: C/genius.xml:2828
msgid "Currently Genius can handle polynomials of one variable written out as vectors, and do some basic operations with these. It is planned to expand this support further."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:2835
msgid "Using Polynomials"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2841
#, no-wrap
msgid ""
"[1,2,3]\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2844
#, no-wrap
msgid ""
"1 + 2*x + 3*x^2\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2836
msgid "Currently polynomials in one variable are just horizontal vectors with value only nodes. The power of the term is the position in the vector, with the first position being 0. So, <_:programlisting-1/> translates to a polynomial of <_:programlisting-2/>"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2856
#, no-wrap
msgid ""
"PolyToString([1,2,3],\"y\")\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2859
#, no-wrap
msgid ""
"3*y^2 + 2*y + 1\n"
""
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2866
#, no-wrap
msgid ""
"f = PolyToFunction([0,1,1])\n"
"f(2)\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2847
msgid "You can add, subtract and multiply polynomials using the <link linkend=\"gel-function-AddPoly\"><function>AddPoly</function></link>, <link linkend=\"gel-function-SubtractPoly\"><function>SubtractPoly</function></link>, and <link linkend=\"gel-function-MultiplyPoly\"><function>MultiplyPoly</function></link> functions respectively. You can print a polynomial using the <link linkend=\"gel-function-PolyToString\"><function>PolyToString</function></link> function. For example, <_:programlisting-1/> gives <_:programlisting-2/> You can also get a function representation of the polynomial so that you can evaluate it. This is done by using <link linkend=\"gel-function-PolyToFunction\"><function>PolyToFunction</function></link>, which returns an anonymous function. <_:programlisting-3/>"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2870
msgid "It is also possible to find roots of polynomials of degrees 1 through 4 by using the function <link linkend=\"gel-function-PolynomialRoots\"><function>PolynomialRoots</function></link>, which calls the appropriate formula function. Higher degree polynomials must be converted to functions and solved numerically using a function such as <link linkend=\"gel-function-FindRootBisection\"><function>FindRootBisection</function></link>, <link linkend=\"gel-function-FindRootFalsePosition\"><function>FindRootFalsePosition</function></link>, <link linkend=\"gel-function-FindRootMullersMethod\"><function>FindRootMullersMethod</function></link>, or <link linkend=\"gel-function-FindRootSecant\"><function>FindRootSecant</function></link>."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2882
msgid "See <xref linkend=\"genius-gel-function-list-polynomials\"/> in the function list for the rest of functions acting on polynomials."
msgstr ""

#. (itstool) path: chapter/title
#: C/genius.xml:2892
msgid "Set Theory in GEL"
msgstr ""

#. (itstool) path: chapter/para
#: C/genius.xml:2894
msgid "Genius has some basic set theoretic functionality built in. Currently a set is just a vector (or a matrix). Every distinct object is treated as a different element."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:2900
msgid "Using Sets"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2901
msgid "Just like vectors, objects in sets can include numbers, strings, <constant>null</constant>, matrices and vectors. It is planned in the future to have a dedicated type for sets, rather than using vectors. Note that floating point numbers are distinct from integers, even if they appear the same. That is, Genius will treat <constant>0</constant> and <constant>0.0</constant> as two distinct elements. The <constant>null</constant> is treated as an empty set."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:2913
#, no-wrap
msgid ""
"<prompt>genius&gt; </prompt><userinput>MakeSet([1,2,2,3])</userinput>\n"
"= [1, 2, 3]\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2909
msgid "To build a set out of a vector, use the <link linkend=\"gel-function-MakeSet\"><function>MakeSet</function></link> function. Currently, it will just return a new vector where every element is unique. <_:screen-1/>"
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:2924
#, no-wrap
msgid ""
"<prompt>genius&gt; </prompt><userinput>Union([1,2,3], [1,2,4])</userinput>\n"
"= [1, 2, 4, 3]\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2918
msgid "Similarly there are functions <link linkend=\"gel-function-Union\"><function>Union</function></link>, <link linkend=\"gel-function-Intersection\"><function>Intersection</function></link>, <link linkend=\"gel-function-SetMinus\"><function>SetMinus</function></link>, which are rather self explanatory. For example: <_:screen-1/> Note that no order is guaranteed for the return values. If you wish to sort the vector you should use the <link linkend=\"gel-function-SortVector\"><function>SortVector</function></link> function."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:2937
#, no-wrap
msgid ""
"<prompt>genius&gt; </prompt><userinput>IsIn (1, [0,1,2])</userinput>\n"
"= true\n"
""
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:2932
msgid "For testing membership, there are functions <link linkend=\"gel-function-IsIn\"><function>IsIn</function></link> and <link linkend=\"gel-function-IsSubset\"><function>IsSubset</function></link>, which return a boolean value. For example: <_:screen-1/> The input <userinput>IsIn(x,X)</userinput> is equivalent to <userinput>IsSubset([x],X)</userinput>. Note that since the empty set is a subset of every set, <userinput>IsSubset(null,X)</userinput> is always true."
msgstr ""

#. (itstool) path: chapter/title
#: C/genius.xml:2951
msgid "List of GEL functions"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:2957
#, no-wrap
msgid ""
"help FunctionName\n"
""
msgstr ""

#. (itstool) path: chapter/para
#: C/genius.xml:2955
msgid "To get help on a specific function from the console type: <_:programlisting-1/>"
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:2962
msgid "Commands"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:2965
msgid "<anchor id=\"gel-command-help\"/>help"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:2967
#, no-wrap
msgid ""
"help"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:2968
#, no-wrap
msgid ""
"help FunctionName"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:2969
msgid "Print help (or help on a function/command)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:2974
msgid "<anchor id=\"gel-command-load\"/>load"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:2976
#, no-wrap
msgid ""
"load \"file.gel\""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:2977
msgid "Load a file into the interpreter. The file will execute as if it were typed onto the command line."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:2983
msgid "<anchor id=\"gel-command-cd\"/>cd"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:2985
#, no-wrap
msgid ""
"cd /directory/name"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:2986
msgid "Change working directory to <filename>/directory/name</filename>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:2991
msgid "<anchor id=\"gel-command-pwd\"/>pwd"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:2993
#, no-wrap
msgid ""
"pwd"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:2994
msgid "Print the current working directory."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:2999
msgid "<anchor id=\"gel-command-ls\"/>ls"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3001
#, no-wrap
msgid ""
"ls"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3002
msgid "List files in the current directory."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3007
msgid "<anchor id=\"gel-command-plugin\"/>plugin"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3009
#, no-wrap
msgid ""
"plugin plugin_name"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3010
msgid "Load a plugin. Plugin of that name must be installed on the system in the proper directory."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:3018
msgid "Basic"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3021
msgid "<anchor id=\"gel-function-AskButtons\"/>AskButtons"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3023
#, no-wrap
msgid ""
"AskButtons (query)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3024
#, no-wrap
msgid ""
"AskButtons (query, button1, ...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3025
msgid "Asks a question and presents a list of buttons to the user (or a menu of options in text mode). Returns the 1-based index of the button pressed. That is, returns 1 if the first button was pressed, 2 if the second button was pressed, and so on. If the user closes the window (or simply hits enter in text mode), then <constant>null</constant> is returned. The execution of the program is blocked until the user responds."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3031
#: C/genius.xml:3685
#: C/genius.xml:3823
#: C/genius.xml:3871
#: C/genius.xml:3900
#: C/genius.xml:8290
#: C/genius.xml:8533
msgid "Version 1.0.10 onwards."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3036
msgid "<anchor id=\"gel-function-AskString\"/>AskString"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3038
#, no-wrap
msgid ""
"AskString (query)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3039
#, no-wrap
msgid ""
"AskString (query, default)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3040
msgid "Asks a question and lets the user enter a string, which it then returns. If the user cancels or closes the window, then <constant>null</constant> is returned. The execution of the program is blocked until the user responds. If <varname>default</varname> is given, then it is pre-typed in for the user to just press enter on (version 1.0.6 onwards)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3048
msgid "<anchor id=\"gel-function-Compose\"/>Compose"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3050
#, no-wrap
msgid ""
"Compose (f,g)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3051
msgid "Compose two functions and return a function that is the composition of <function>f</function> and <function>g</function>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3056
msgid "<anchor id=\"gel-function-ComposePower\"/>ComposePower"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3058
#, no-wrap
msgid ""
"ComposePower (f,n,x)"
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:3062
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>function f(x) = x^2 ;</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>ComposePower (f,3,7)</userinput>\n"
"= 5764801\n"
"<prompt>genius&gt;</prompt> <userinput>f(f(f(7)))</userinput>\n"
"= 5764801\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3059
msgid "Compose and execute a function with itself <varname>n</varname> times, passing <varname>x</varname> as argument. Returning <varname>x</varname> if <varname>n</varname> equals 0. Example: <_:screen-1/>"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3073
msgid "<anchor id=\"gel-function-Evaluate\"/>Evaluate"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3075
#, no-wrap
msgid ""
"Evaluate (str)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3076
msgid "Parses and evaluates a string."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3082
msgid "<anchor id=\"gel-function-GetCurrentModulo\"/>GetCurrentModulo"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3084
#, no-wrap
msgid ""
"GetCurrentModulo"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3085
msgid "Get current modulo from the context outside the function. That is, if outside of the function was executed in modulo (using <literal>mod</literal>) then this returns what this modulo was. Normally the body of the function called is not executed in modular arithmetic, and this builtin function makes it possible to make GEL functions aware of modular arithmetic."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3093
msgid "<anchor id=\"gel-function-Identity\"/>Identity"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3095
#, no-wrap
msgid ""
"Identity (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3096
msgid "Identity function, returns its argument. It is equivalent to <userinput>function Identity(x)=x</userinput>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3101
msgid "<anchor id=\"gel-function-IntegerFromBoolean\"/>IntegerFromBoolean"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3103
#, no-wrap
msgid ""
"IntegerFromBoolean (bval)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3104
msgid "Make integer (0 for <constant>false</constant> or 1 for <constant>true</constant>) from a boolean value. <varname>bval</varname> can also be a number in which case a non-zero value will be interpreted as <constant>true</constant> and zero will be interpreted as <constant>false</constant>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3115
msgid "<anchor id=\"gel-function-IsBoolean\"/>IsBoolean"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3117
#, no-wrap
msgid ""
"IsBoolean (arg)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3118
msgid "Check if argument is a boolean (and not a number)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3123
msgid "<anchor id=\"gel-function-IsDefined\"/>IsDefined"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3125
#, no-wrap
msgid ""
"IsDefined (id)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3126
msgid "Check if an id is defined. You should pass a string or and identifier. If you pass a matrix, each entry will be evaluated separately and the matrix should contain strings or identifiers."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3134
msgid "<anchor id=\"gel-function-IsFunction\"/>IsFunction"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3136
#, no-wrap
msgid ""
"IsFunction (arg)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3137
msgid "Check if argument is a function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3142
msgid "<anchor id=\"gel-function-IsFunctionOrIdentifier\"/>IsFunctionOrIdentifier"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3144
#, no-wrap
msgid ""
"IsFunctionOrIdentifier (arg)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3145
msgid "Check if argument is a function or an identifier."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3150
msgid "<anchor id=\"gel-function-IsFunctionRef\"/>IsFunctionRef"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3152
#, no-wrap
msgid ""
"IsFunctionRef (arg)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3153
msgid "Check if argument is a function reference. This includes variable references."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3159
msgid "<anchor id=\"gel-function-IsMatrix\"/>IsMatrix"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3161
#, no-wrap
msgid ""
"IsMatrix (arg)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3162
msgid "Check if argument is a matrix. Even though <constant>null</constant> is sometimes considered an empty matrix, the function <function>IsMatrix</function> does not consider <constant>null</constant> a matrix."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3169
msgid "<anchor id=\"gel-function-IsNull\"/>IsNull"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3171
#, no-wrap
msgid ""
"IsNull (arg)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3172
msgid "Check if argument is a <constant>null</constant>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3177
msgid "<anchor id=\"gel-function-IsString\"/>IsString"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3179
#, no-wrap
msgid ""
"IsString (arg)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3180
msgid "Check if argument is a text string."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3185
msgid "<anchor id=\"gel-function-IsValue\"/>IsValue"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3187
#, no-wrap
msgid ""
"IsValue (arg)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3188
msgid "Check if argument is a number."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3193
msgid "<anchor id=\"gel-function-Parse\"/>Parse"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3195
#, no-wrap
msgid ""
"Parse (str)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3196
msgid "Parses but does not evaluate a string. Note that certain pre-computation is done during the parsing stage."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3202
msgid "<anchor id=\"gel-function-SetFunctionFlags\"/>SetFunctionFlags"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3204
#, no-wrap
msgid ""
"SetFunctionFlags (id,flags...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3205
msgid "Set flags for a function, currently <literal>\"PropagateMod\"</literal> and <literal>\"NoModuloArguments\"</literal>. If <literal>\"PropagateMod\"</literal> is set, then the body of the function is evaluated in modular arithmetic when the function is called inside a block that was evaluated using modular arithmetic (using <literal>mod</literal>). If <literal>\"NoModuloArguments\"</literal>, then the arguments of the function are never evaluated using modular arithmetic."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3214
msgid "<anchor id=\"gel-function-SetHelp\"/>SetHelp"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3216
#, no-wrap
msgid ""
"SetHelp (id,category,desc)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3217
msgid "Set the category and help description line for a function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3222
msgid "<anchor id=\"gel-function-SetHelpAlias\"/>SetHelpAlias"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3224
#, no-wrap
msgid ""
"SetHelpAlias (id,alias)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3225
msgid "Sets up a help alias."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3230
msgid "<anchor id=\"gel-function-chdir\"/>chdir"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3232
#, no-wrap
msgid ""
"chdir (dir)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3233
msgid "Changes current directory, same as the <command>cd</command>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3238
msgid "<anchor id=\"gel-function-CurrentTime\"/>CurrentTime"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3240
#, no-wrap
msgid ""
"CurrentTime"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3241
msgid "Returns the current UNIX time with microsecond precision as a floating point number. That is, returns the number of seconds since January 1st 1970."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3242
#: C/genius.xml:8847
#: C/genius.xml:8856
#: C/genius.xml:8865
msgid "Version 1.0.15 onwards."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3247
msgid "<anchor id=\"gel-function-display\"/>display"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3249
#, no-wrap
msgid ""
"display (str,expr)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3250
msgid "Display a string and an expression with a colon to separate them."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3255
msgid "<anchor id=\"gel-function-DisplayVariables\"/>DisplayVariables"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3257
#, no-wrap
msgid ""
"DisplayVariables (var1,var2,...)"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:3260
#, no-wrap
msgid ""
"DisplayVariables(`x,`y,`z)\n"
"\t    "
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3258
msgid "Display set of variables. The variables can be given as strings or identifiers. For example: <_:programlisting-1/>"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:3265
#, no-wrap
msgid ""
"DisplayVariables()\n"
"\t    "
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3263
msgid "If called without arguments (must supply empty argument list) as <_:programlisting-1/> then all variables are printed including a stacktrace similar to <guilabel>Show user variables</guilabel> in the graphical version."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3270
#: C/genius.xml:3338
#: C/genius.xml:5838
#: C/genius.xml:5847
#: C/genius.xml:6492
#: C/genius.xml:7999
#: C/genius.xml:8363
#: C/genius.xml:8389
#: C/genius.xml:9368
#: C/genius.xml:9382
msgid "Version 1.0.18 onwards."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3275
msgid "<anchor id=\"gel-function-error\"/>error"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3277
#, no-wrap
msgid ""
"error (str)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3278
msgid "Prints a string to the error stream (onto the console)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3283
msgid "<anchor id=\"gel-function-exit\"/>exit"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3285
#, no-wrap
msgid ""
"exit"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3286
msgid "Aliases: <function>quit</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3287
msgid "Exits the program."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3292
msgid "<anchor id=\"gel-function-false\"/>false"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3294
#, no-wrap
msgid ""
"false"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3295
msgid "Aliases: <function>False</function> <function>FALSE</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3296
msgid "The <constant>false</constant> boolean value."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3301
msgid "<anchor id=\"gel-function-manual\"/>manual"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3303
#, no-wrap
msgid ""
"manual"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3304
msgid "Displays the user manual."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3309
msgid "<anchor id=\"gel-function-print\"/>print"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3311
#, no-wrap
msgid ""
"print (str)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3312
msgid "Prints an expression and then print a newline. The argument <varname>str</varname> can be any expression. It is made into a string before being printed."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3318
msgid "<anchor id=\"gel-function-printn\"/>printn"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3320
#, no-wrap
msgid ""
"printn (str)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3321
msgid "Prints an expression without a trailing newline. The argument <varname>str</varname> can be any expression. It is made into a string before being printed."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3327
msgid "<anchor id=\"gel-function-PrintTable\"/>PrintTable"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3329
#, no-wrap
msgid ""
"PrintTable (f,v)"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:3333
#, no-wrap
msgid ""
"PrintTable (f,[0:10])\n"
"\t    "
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3330
msgid "Print a table of values for a function. The values are in the vector <varname>v</varname>. You can use the vector building notation as follows: <_:programlisting-1/> If <varname>v</varname> is a positive integer, then the table of integers from 1 up to and including v will be used."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3343
msgid "<anchor id=\"gel-function-protect\"/>protect"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3345
#, no-wrap
msgid ""
"protect (id)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3346
msgid "Protect a variable from being modified. This is used on the internal GEL functions to avoid them being accidentally overridden."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3352
msgid "<anchor id=\"gel-function-ProtectAll\"/>ProtectAll"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3354
#, no-wrap
msgid ""
"ProtectAll ()"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3355
msgid "Protect all currently defined variables, parameters and functions from being modified. This is used on the internal GEL functions to avoid them being accidentally overridden. Normally <application>Genius Mathematics Tool</application> considers unprotected variables as user defined."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3359
#: C/genius.xml:3460
#: C/genius.xml:3478
#: C/genius.xml:7421
#: C/genius.xml:7578
#: C/genius.xml:7598
#: C/genius.xml:7623
#: C/genius.xml:7644
#: C/genius.xml:7666
#: C/genius.xml:7687
#: C/genius.xml:7743
#: C/genius.xml:7776
msgid "Version 1.0.7 onwards."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3364
msgid "<anchor id=\"gel-function-set\"/>set"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3366
#, no-wrap
msgid ""
"set (id,val)"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:3370
#, no-wrap
msgid ""
"set(`x,1)\n"
"\t    "
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3367
msgid "Set a global variable. The <varname>id</varname> can be either a string or a quoted identifier. For example: <_:programlisting-1/> will set the global variable <varname>x</varname> to the value 1."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3374
#: C/genius.xml:3393
#: C/genius.xml:3413
msgid "The function returns the <varname>val</varname>, to be usable in chaining."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3380
msgid "<anchor id=\"gel-function-SetElement\"/>SetElement"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3382
#, no-wrap
msgid ""
"SetElement (id,row,col,val)"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:3387
#, no-wrap
msgid ""
"SetElement(`x,2,3,1)\n"
"\t    "
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3383
msgid "Set an element of a global variable which is a matrix. The <varname>id</varname> can be either a string or a quoted identifier. For example: <_:programlisting-1/> will set the second row third column element of the global variable <varname>x</varname> to the value 1. If no global variable of the name exists, or if it is set to something that's not a matrix, a new zero matrix of appropriate size will be created."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3391
msgid "The <varname>row</varname> and <varname>col</varname> can also be ranges, and the semantics are the same as for regular setting of the elements with an equals sign."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3395
#: C/genius.xml:3415
msgid "Available from 1.0.18 onwards."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3400
msgid "<anchor id=\"gel-function-SetVElement\"/>SetVElement"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3402
#, no-wrap
msgid ""
"SetElement (id,elt,val)"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:3407
#, no-wrap
msgid ""
"SetElement(`x,2,1)\n"
"\t    "
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3403
msgid "Set an element of a global variable which is a vector. The <varname>id</varname> can be either a string or a quoted identifier. For example: <_:programlisting-1/> will set the second element of the global vector variable <varname>x</varname> to the value 1. If no global variable of the name exists, or if it is set to something that's not a vector (matrix), a new zero row vector of appropriate size will be created."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3411
msgid "The <varname>elt</varname> can also be a range, and the semantics are the same as for regular setting of the elements with an equals sign."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3420
msgid "<anchor id=\"gel-function-string\"/>string"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3422
#, no-wrap
msgid ""
"string (s)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3423
msgid "Make a string. This will make a string out of any argument."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3428
msgid "<anchor id=\"gel-function-true\"/>true"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3430
#, no-wrap
msgid ""
"true"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3431
msgid "Aliases: <function>True</function> <function>TRUE</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3432
msgid "The <constant>true</constant> boolean value."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3437
msgid "<anchor id=\"gel-function-undefine\"/>undefine"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3439
#, no-wrap
msgid ""
"undefine (id)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3440
msgid "Alias: <function>Undefine</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3441
msgid "Undefine a variable. This includes locals and globals, every value on all context levels is wiped. This function should really not be used on local variables. A vector of identifiers can also be passed to undefine several variables."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3450
msgid "<anchor id=\"gel-function-UndefineAll\"/>UndefineAll"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3452
#, no-wrap
msgid ""
"UndefineAll ()"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3453
msgid "Undefine all unprotected global variables (including functions and parameters). Normally <application>Genius Mathematics Tool</application> considers protected variables as system defined functions and variables. Note that <function>UndefineAll</function> only removes the global definition of symbols not local ones, so that it may be run from inside other functions safely."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3465
msgid "<anchor id=\"gel-function-unprotect\"/>unprotect"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3467
#, no-wrap
msgid ""
"unprotect (id)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3468
msgid "Unprotect a variable from being modified."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3473
msgid "<anchor id=\"gel-function-UserVariables\"/>UserVariables"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3475
#, no-wrap
msgid ""
"UserVariables ()"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3476
msgid "Return a vector of identifiers of user defined (unprotected) global variables."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3483
msgid "<anchor id=\"gel-function-wait\"/>wait"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3485
#, no-wrap
msgid ""
"wait (secs)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3486
msgid "Waits a specified number of seconds. <varname>secs</varname> must be non-negative. Zero is accepted and nothing happens in this case, except possibly user interface events are processed."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3489
msgid "Since version 1.0.18, <varname>secs</varname> can be a noninteger number, so <userinput>wait(0.1)</userinput> will wait for one tenth of a second."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3495
msgid "<anchor id=\"gel-function-version\"/>version"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3497
#, no-wrap
msgid ""
"version"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3498
msgid "Returns the version of Genius as a horizontal 3-vector with major version first, then minor version and finally the patch level."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3504
msgid "<anchor id=\"gel-function-warranty\"/>warranty"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3506
#, no-wrap
msgid ""
"warranty"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3507
msgid "Gives the warranty information."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:3515
msgid "Parameters"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3518
msgid "<anchor id=\"gel-function-AdaptiveGaussKronrodAbsoluteTolerance\"/>AdaptiveGaussKronrodAbsoluteTolerance"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3520
#, no-wrap
msgid ""
"AdaptiveGaussKronrodAbsoluteTolerance = 1e-12"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3521
msgid "The absolute tolerance bound used in <link linkend=\"gel-function-AdaptiveGaussKronrod\"><function>AdaptiveGaussKronrod</function></link> function which is the default algorithm for <link linkend=\"gel-function-NumericalIntegral\"><function>NumericalIntegral</function></link>. The algorithm runs until the error is less than the maximum of the absolute tolerance and the relative tolerance times the integral approximation."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3525
#: C/genius.xml:3537
#: C/genius.xml:3549
#: C/genius.xml:7321
#: C/genius.xml:7342
#: C/genius.xml:7377
#: C/genius.xml:7459
#: C/genius.xml:7517
#: C/genius.xml:7786
#: C/genius.xml:7804
msgid "Version 1.0.28 onwards."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3530
msgid "<anchor id=\"gel-function-AdaptiveGaussKronrodMaxIterations\"/>AdaptiveGaussKronrodMaxIterations"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3532
#, no-wrap
msgid ""
"AdaptiveGaussKronrodMaxIterations = 10000"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3533
msgid "The maximal number of iterations used in the <link linkend=\"gel-function-AdaptiveGaussKronrod\"><function>AdaptiveGaussKronrod</function></link> function which is the default algorithm for <link linkend=\"gel-function-NumericalIntegral\"><function>NumericalIntegral</function></link>. After this limit is reached, an error is printed and null is returned."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3542
msgid "<anchor id=\"gel-function-AdaptiveGaussKronrodRelativeTolerance\"/>AdaptiveGaussKronrodRelativeTolerance"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3544
#, no-wrap
msgid ""
"AdaptiveGaussKronrodRelativeTolerance = 1e-12"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3545
msgid "The relative tolerance bound used in <link linkend=\"gel-function-AdaptiveGaussKronrod\"><function>AdaptiveGaussKronrod</function></link> function which is the default algorithm for <link linkend=\"gel-function-NumericalIntegral\"><function>NumericalIntegral</function></link>. The algorithm runs until the error is less than the maximum of the absolute tolerance and the relative tolerance times the integral approximation."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3554
msgid "<anchor id=\"gel-function-ChopTolerance\"/>ChopTolerance"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3556
#, no-wrap
msgid ""
"ChopTolerance = number"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3557
msgid "Tolerance of the <function>Chop</function> function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3562
msgid "<anchor id=\"gel-function-ContinuousNumberOfTries\"/>ContinuousNumberOfTries"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3564
#, no-wrap
msgid ""
"ContinuousNumberOfTries = number"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3565
msgid "How many iterations to try to find the limit for continuity and limits."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3570
msgid "<anchor id=\"gel-function-ContinuousSFS\"/>ContinuousSFS"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3572
#, no-wrap
msgid ""
"ContinuousSFS = number"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3573
msgid "How many successive steps to be within tolerance for calculation of continuity."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3578
msgid "<anchor id=\"gel-function-ContinuousTolerance\"/>ContinuousTolerance"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3580
#, no-wrap
msgid ""
"ContinuousTolerance = number"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3581
msgid "Tolerance for continuity of functions and for calculating the limit."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3586
msgid "<anchor id=\"gel-function-DerivativeNumberOfTries\"/>DerivativeNumberOfTries"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3588
#, no-wrap
msgid ""
"DerivativeNumberOfTries = number"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3589
msgid "How many iterations to try to find the limit for derivative."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3594
msgid "<anchor id=\"gel-function-DerivativeSFS\"/>DerivativeSFS"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3596
#, no-wrap
msgid ""
"DerivativeSFS = number"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3597
msgid "How many successive steps to be within tolerance for calculation of derivative."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3602
msgid "<anchor id=\"gel-function-DerivativeTolerance\"/>DerivativeTolerance"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3604
#, no-wrap
msgid ""
"DerivativeTolerance = number"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3605
msgid "Tolerance for calculating the derivatives of functions."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3610
msgid "<anchor id=\"gel-function-ErrorFunctionTolerance\"/>ErrorFunctionTolerance"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3612
#, no-wrap
msgid ""
"ErrorFunctionTolerance = number"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3613
msgid "Tolerance of the <link linkend=\"gel-function-ErrorFunction\"><function>ErrorFunction</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3618
msgid "<anchor id=\"gel-function-FloatPrecision\"/>FloatPrecision"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3620
#, no-wrap
msgid ""
"FloatPrecision = number"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3621
msgid "Floating point precision."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3626
msgid "<anchor id=\"gel-function-FullExpressions\"/>FullExpressions"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3628
#, no-wrap
msgid ""
"FullExpressions = boolean"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3629
msgid "Print full expressions, even if more than a line."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3634
msgid "<anchor id=\"gel-function-GaussDistributionTolerance\"/>GaussDistributionTolerance"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3636
#, no-wrap
msgid ""
"GaussDistributionTolerance = number"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3637
msgid "Tolerance of the <link linkend=\"gel-function-GaussDistribution\"><function>GaussDistribution</function></link> function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3642
msgid "<anchor id=\"gel-function-IntegerOutputBase\"/>IntegerOutputBase"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3644
#, no-wrap
msgid ""
"IntegerOutputBase = number"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3645
msgid "Integer output base."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3650
msgid "<anchor id=\"gel-function-IsPrimeMillerRabinReps\"/>IsPrimeMillerRabinReps"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3652
#, no-wrap
msgid ""
"IsPrimeMillerRabinReps = number"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3653
msgid "Number of extra Miller-Rabin tests to run on a number before declaring it a prime in <link linkend=\"gel-function-IsPrime\"><function>IsPrime</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3658
msgid "<anchor id=\"gel-function-LinePlotDrawLegends\"/>LinePlotDrawLegends"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3660
#, no-wrap
msgid ""
"LinePlotDrawLegends = true"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3661
msgid "Tells genius to draw the legends for <link linkend=\"genius-gel-function-list-plotting\">line plotting functions</link> such as <link linkend=\"gel-function-LinePlot\"><function>LinePlot</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3668
msgid "<anchor id=\"gel-function-LinePlotDrawAxisLabels\"/>LinePlotDrawAxisLabels"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3670
#, no-wrap
msgid ""
"LinePlotDrawAxisLabels = true"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3671
msgid "Tells genius to draw the axis labels for <link linkend=\"genius-gel-function-list-plotting\">line plotting functions</link> such as <link linkend=\"gel-function-LinePlot\"><function>LinePlot</function></link>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3674
#: C/genius.xml:3858
#: C/genius.xml:7848
#: C/genius.xml:7861
#: C/genius.xml:7874
#: C/genius.xml:7887
#: C/genius.xml:7900
#: C/genius.xml:7913
#: C/genius.xml:8175
#: C/genius.xml:9064
#: C/genius.xml:9543
#: C/genius.xml:9580
msgid "Version 1.0.16 onwards."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3679
msgid "<anchor id=\"gel-function-LinePlotVariableNames\"/>LinePlotVariableNames"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3681
#, no-wrap
msgid ""
"LinePlotVariableNames = [\"x\",\"y\",\"z\",\"t\"]"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3682
msgid "Tells genius which variable names are used as default names for <link linkend=\"genius-gel-function-list-plotting\">line plotting functions</link> such as <link linkend=\"gel-function-LinePlot\"><function>LinePlot</function></link> and friends."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3690
msgid "<anchor id=\"gel-function-LinePlotWindow\"/>LinePlotWindow"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3692
#, no-wrap
msgid ""
"LinePlotWindow = [x1,x2,y1,y2]"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3693
msgid "Sets the limits for <link linkend=\"genius-gel-function-list-plotting\">line plotting functions</link> such as <link linkend=\"gel-function-LinePlot\"><function>LinePlot</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3701
msgid "<anchor id=\"gel-function-MaxDigits\"/>MaxDigits"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3703
#, no-wrap
msgid ""
"MaxDigits = number"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3704
msgid "Maximum digits to display."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3709
msgid "<anchor id=\"gel-function-MaxErrors\"/>MaxErrors"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3711
#, no-wrap
msgid ""
"MaxErrors = number"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3712
msgid "Maximum errors to display."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3717
msgid "<anchor id=\"gel-function-MixedFractions\"/>MixedFractions"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3719
#, no-wrap
msgid ""
"MixedFractions = boolean"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3720
msgid "If true, mixed fractions are printed."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3725
msgid "<anchor id=\"gel-function-NumericalIntegralFunction\"/>NumericalIntegralFunction"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3727
#, no-wrap
msgid ""
"NumericalIntegralFunction = function"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3728
msgid "The function used for numerical integration in <link linkend=\"gel-function-NumericalIntegral\"><function>NumericalIntegral</function></link>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3729
msgid "The function should take three arguments, the function, and the left and right limits of integration."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3730
msgid "By default it is the <link linkend=\"gel-function-AdaptiveGaussKronrod\"><function>AdaptiveGaussKronrod</function></link> which implements an adaptive algorithm based on the Gauss-Kronrod G7 K15 rule. The function should take three arguments, the function, and the left and right limits of integration."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3733
msgid "Since version 1.0.28 onwards, the function does not take the 4th parameter with the number of steps."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3738
msgid "<anchor id=\"gel-function-NumericalIntegralSteps\"/>NumericalIntegralSteps"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3740
#, no-wrap
msgid ""
"NumericalIntegralSteps = number"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3741
msgid "Default number of steps to perform in midpoint, left-hand, right-hand, trapezoid, and composite Simpson's rule. If any of these rules are used as the <link linkend=\"gel-function-NumericalIntegral\"><function>NumericalIntegralFunction</function></link>, then that is the number of steps used when <link linkend=\"gel-function-NumericalIntegral\"><function>NumericalIntegral</function></link> is called. By default, the adaptive Gauss-Kronrod method is used and it does not use this parameter."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3749
msgid "<anchor id=\"gel-function-OutputChopExponent\"/>OutputChopExponent"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3751
#, no-wrap
msgid ""
"OutputChopExponent = number"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3752
msgid "When another number in the object being printed (a matrix or a value) is greater than 10<superscript>-OutputChopWhenExponent</superscript>, and the number being printed is less than 10<superscript>-OutputChopExponent</superscript>, then display <computeroutput>0.0</computeroutput> instead of the number."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3759
msgid "Output is never chopped if <function>OutputChopExponent</function> is zero. It must be a non-negative integer."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3763
msgid "If you want output always chopped according to <function>OutputChopExponent</function>, then set <function>OutputChopWhenExponent</function>, to something greater than or equal to <function>OutputChopExponent</function>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3774
msgid "<anchor id=\"gel-function-OutputChopWhenExponent\"/>OutputChopWhenExponent"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3776
#, no-wrap
msgid ""
"OutputChopWhenExponent = number"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3777
msgid "When to chop output. See <link linkend=\"gel-function-OutputChopExponent\"><function>OutputChopExponent</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3784
msgid "<anchor id=\"gel-function-OutputStyle\"/>OutputStyle"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3786
#, no-wrap
msgid ""
"OutputStyle = string"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3787
msgid "Output style, this can be <literal>normal</literal>, <literal>latex</literal>, <literal>mathml</literal> or <literal>troff</literal>."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:3794
#, no-wrap
msgid ""
"OutputStyle = \"latex\"\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3790
msgid "This affects mostly how matrices and fractions are printed out and is useful for pasting into documents. For example you can set this to the latex by: <_:programlisting-1/>"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3801
msgid "<anchor id=\"gel-function-ResultsAsFloats\"/>ResultsAsFloats"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3803
#, no-wrap
msgid ""
"ResultsAsFloats = boolean"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3804
msgid "Convert all results to floats before printing."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3809
msgid "<anchor id=\"gel-function-ScientificNotation\"/>ScientificNotation"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3811
#, no-wrap
msgid ""
"ScientificNotation = boolean"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3812
msgid "Use scientific notation."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3817
msgid "<anchor id=\"gel-function-SlopefieldTicks\"/>SlopefieldTicks"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3819
#, no-wrap
msgid ""
"SlopefieldTicks = [vertical,horizontal]"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3820
msgid "Sets the number of vertical and horizontal ticks in a slopefield plot. (See <link linkend=\"gel-function-SlopefieldPlot\"><function>SlopefieldPlot</function></link>)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3828
msgid "<anchor id=\"gel-function-SumProductNumberOfTries\"/>SumProductNumberOfTries"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3830
#, no-wrap
msgid ""
"SumProductNumberOfTries = number"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3831
msgid "How many iterations to try for <link linkend=\"gel-function-InfiniteSum\"><function>InfiniteSum</function></link> and <link linkend=\"gel-function-InfiniteProduct\"><function>InfiniteProduct</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3836
msgid "<anchor id=\"gel-function-SumProductSFS\"/>SumProductSFS"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3838
#, no-wrap
msgid ""
"SumProductSFS = number"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3839
msgid "How many successive steps to be within tolerance for <link linkend=\"gel-function-InfiniteSum\"><function>InfiniteSum</function></link> and <link linkend=\"gel-function-InfiniteProduct\"><function>InfiniteProduct</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3844
msgid "<anchor id=\"gel-function-SumProductTolerance\"/>SumProductTolerance"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3846
#, no-wrap
msgid ""
"SumProductTolerance = number"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3847
msgid "Tolerance for <link linkend=\"gel-function-InfiniteSum\"><function>InfiniteSum</function></link> and <link linkend=\"gel-function-InfiniteProduct\"><function>InfiniteProduct</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3852
msgid "<anchor id=\"gel-function-SurfacePlotDrawLegends\"/>SurfacePlotDrawLegends"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3854
#, no-wrap
msgid ""
"SurfacePlotDrawLegends = true"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3855
msgid "Tells genius to draw the legends for <link linkend=\"genius-gel-function-list-plotting\">surface plotting functions</link> such as <link linkend=\"gel-function-SurfacePlot\"><function>SurfacePlot</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3863
msgid "<anchor id=\"gel-function-SurfacePlotVariableNames\"/>SurfacePlotVariableNames"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3865
#, no-wrap
msgid ""
"SurfacePlotVariableNames = [\"x\",\"y\",\"z\"]"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3866
msgid "Tells genius which variable names are used as default names for <link linkend=\"genius-gel-function-list-plotting\">surface plotting functions</link> using <link linkend=\"gel-function-SurfacePlot\"><function>SurfacePlot</function></link>. Note that the <varname>z</varname> does not refer to the dependent (vertical) axis, but to the independent complex variable <userinput>z=x+iy</userinput>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3876
msgid "<anchor id=\"gel-function-SurfacePlotWindow\"/>SurfacePlotWindow"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3878
#, no-wrap
msgid ""
"SurfacePlotWindow = [x1,x2,y1,y2,z1,z2]"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3879
msgid "Sets the limits for surface plotting (See <link linkend=\"gel-function-SurfacePlot\"><function>SurfacePlot</function></link>)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3884
msgid "<anchor id=\"gel-function-VectorfieldNormalized\"/>VectorfieldNormalized"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3886
#, no-wrap
msgid ""
"VectorfieldNormalized = true"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3887
msgid "Should the vectorfield plotting have normalized arrow length. If true, vector fields will only show direction and not magnitude. (See <link linkend=\"gel-function-VectorfieldPlot\"><function>VectorfieldPlot</function></link>)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3894
msgid "<anchor id=\"gel-function-VectorfieldTicks\"/>VectorfieldTicks"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3896
#, no-wrap
msgid ""
"VectorfieldTicks = [vertical,horizontal]"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3897
msgid "Sets the number of vertical and horizontal ticks in a vectorfield plot. (See <link linkend=\"gel-function-VectorfieldPlot\"><function>VectorfieldPlot</function></link>)."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:3908
msgid "Constants"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3911
msgid "<anchor id=\"gel-function-CatalanConstant\"/>CatalanConstant"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3913
#, no-wrap
msgid ""
"CatalanConstant"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3914
msgid "Catalan's Constant, approximately 0.915... It is defined to be the series where terms are <userinput>((-1))^k)/((2*k+1)^2)</userinput>, where <varname>k</varname> ranges from 0 to infinity."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3917
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Catalan%27s_constant\">Wikipedia</ulink> or <ulink url=\"http://mathworld.wolfram.com/CatalansConstant.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3926
msgid "<anchor id=\"gel-function-EulerConstant\"/>EulerConstant"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3928
#, no-wrap
msgid ""
"EulerConstant"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3929
msgid "Aliases: <function>gamma</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3930
msgid "Euler's constant gamma. Sometimes called the Euler-Mascheroni constant."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3934
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Euler-Mascheroni_constant\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/MascheroniConstant\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/Euler-MascheroniConstant.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3944
msgid "<anchor id=\"gel-function-GoldenRatio\"/>GoldenRatio"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3946
#, no-wrap
msgid ""
"GoldenRatio"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3947
msgid "The Golden Ratio."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3948
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Golden_ratio\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/GoldenRatio\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/GoldenRatio.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3958
msgid "<anchor id=\"gel-function-Gravity\"/>Gravity"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3960
#, no-wrap
msgid ""
"Gravity"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3961
msgid "Free fall acceleration at sea level in meters per second squared. This is the standard gravity constant 9.80665. The gravity in your particular neck of the woods might be different due to different altitude and the fact that the earth is not perfectly round and uniform."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3964
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Standard_gravity\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3972
msgid "<anchor id=\"gel-function-e\"/>e"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3974
#, no-wrap
msgid ""
"e"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3975
msgid "The base of the natural logarithm. <userinput>e^x</userinput> is the exponential function <link linkend=\"gel-function-exp\"><function>exp</function></link>. It is approximately 2.71828182846... This number is sometimes called Euler's number, although there are several numbers that are also called Euler's. An example is the gamma constant: <link linkend=\"gel-function-EulerConstant\"><function>EulerConstant</function></link>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3982
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/E_(mathematical_constant)\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/E\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/e.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:3992
msgid "<anchor id=\"gel-function-pi\"/>pi"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:3994
#, no-wrap
msgid ""
"pi"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3995
msgid "The number pi, that is the ratio of a circle's circumference to its diameter. This is approximately 3.14159265359..."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:3999
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Pi\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/Pi\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/Pi.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:4012
msgid "Numeric"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4015
msgid "<anchor id=\"gel-function-AbsoluteValue\"/>AbsoluteValue"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4017
#, no-wrap
msgid ""
"AbsoluteValue (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4018
msgid "Aliases: <function>abs</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4019
msgid "Absolute value of a number and if <varname>x</varname> is a complex value the modulus of <varname>x</varname>. I.e. this the distance of <varname>x</varname> to the origin. This is equivalent to <userinput>|x|</userinput>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4025
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Absolute_value\">Wikipedia</ulink>, <ulink url=\"http://planetmath.org/AbsoluteValue\">Planetmath (absolute value)</ulink>, <ulink url=\"http://planetmath.org/ModulusOfComplexNumber\">Planetmath (modulus)</ulink>, <ulink url=\"http://mathworld.wolfram.com/AbsoluteValue.html\">Mathworld (absolute value)</ulink> or <ulink url=\"http://mathworld.wolfram.com/ComplexModulus.html\">Mathworld (complex modulus)</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4038
msgid "<anchor id=\"gel-function-Chop\"/>Chop"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4040
#, no-wrap
msgid ""
"Chop (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4041
msgid "Replace very small number with zero."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4046
msgid "<anchor id=\"gel-function-ComplexConjugate\"/>ComplexConjugate"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4048
#, no-wrap
msgid ""
"ComplexConjugate (z)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4049
msgid "Aliases: <function>conj</function> <function>Conj</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4050
msgid "Calculates the complex conjugate of the complex number <varname>z</varname>. If <varname>z</varname> is a vector or matrix, all its elements are conjugated."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4052
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Complex_conjugate\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4060
msgid "<anchor id=\"gel-function-Denominator\"/>Denominator"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4062
#, no-wrap
msgid ""
"Denominator (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4063
msgid "Get the denominator of a rational number."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4064
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Denominator\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4072
msgid "<anchor id=\"gel-function-FractionalPart\"/>FractionalPart"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4074
#, no-wrap
msgid ""
"FractionalPart (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4075
msgid "Return the fractional part of a number."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4076
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Fractional_part\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4084
msgid "<anchor id=\"gel-function-Im\"/>Im"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4086
#, no-wrap
msgid ""
"Im (z)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4087
msgid "Aliases: <function>ImaginaryPart</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4088
msgid "Get the imaginary part of a complex number. For example <userinput>Re(3+4i)</userinput> yields 4."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4089
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Imaginary_part\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4097
msgid "<anchor id=\"gel-function-IntegerQuotient\"/>IntegerQuotient"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4099
#, no-wrap
msgid ""
"IntegerQuotient (m,n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4100
msgid "Division without remainder."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4105
msgid "<anchor id=\"gel-function-IsComplex\"/>IsComplex"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4107
#, no-wrap
msgid ""
"IsComplex (num)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4108
msgid "Check if argument is a complex (non-real) number. Do note that we really mean nonreal number. That is, <userinput>IsComplex(3)</userinput> yields false, while <userinput>IsComplex(3-1i)</userinput> yields true."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4115
msgid "<anchor id=\"gel-function-IsComplexRational\"/>IsComplexRational"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4117
#, no-wrap
msgid ""
"IsComplexRational (num)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4118
msgid "Check if argument is a possibly complex rational number. That is, if both real and imaginary parts are given as rational numbers. Of course rational simply means \"not stored as a floating point number.\""
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4124
msgid "<anchor id=\"gel-function-IsFloat\"/>IsFloat"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4126
#, no-wrap
msgid ""
"IsFloat (num)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4127
msgid "Check if argument is a real floating point number (non-complex)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4132
msgid "<anchor id=\"gel-function-IsGaussInteger\"/>IsGaussInteger"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4134
#, no-wrap
msgid ""
"IsGaussInteger (num)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4135
msgid "Aliases: <function>IsComplexInteger</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4136
msgid "Check if argument is a possibly complex integer. That is a complex integer is a number of the form <userinput>n+1i*m</userinput> where <varname>n</varname> and <varname>m</varname> are integers."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4143
msgid "<anchor id=\"gel-function-IsInteger\"/>IsInteger"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4145
#, no-wrap
msgid ""
"IsInteger (num)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4146
msgid "Check if argument is an integer (non-complex)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4151
msgid "<anchor id=\"gel-function-IsNonNegativeInteger\"/>IsNonNegativeInteger"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4153
#, no-wrap
msgid ""
"IsNonNegativeInteger (num)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4154
msgid "Check if argument is a non-negative real integer. That is, either a positive integer or zero."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4159
msgid "<anchor id=\"gel-function-IsPositiveInteger\"/>IsPositiveInteger"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4161
#, no-wrap
msgid ""
"IsPositiveInteger (num)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4162
msgid "Aliases: <function>IsNaturalNumber</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4163
msgid "Check if argument is a positive real integer. Note that we accept the convention that 0 is not a natural number."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4169
msgid "<anchor id=\"gel-function-IsRational\"/>IsRational"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4171
#, no-wrap
msgid ""
"IsRational (num)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4172
msgid "Check if argument is a rational number (non-complex). Of course rational simply means \"not stored as a floating point number.\""
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4177
msgid "<anchor id=\"gel-function-IsReal\"/>IsReal"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4179
#, no-wrap
msgid ""
"IsReal (num)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4180
msgid "Check if argument is a real number."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4185
msgid "<anchor id=\"gel-function-Numerator\"/>Numerator"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4187
#, no-wrap
msgid ""
"Numerator (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4188
msgid "Get the numerator of a rational number."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4189
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Numerator\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4197
msgid "<anchor id=\"gel-function-Re\"/>Re"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4199
#, no-wrap
msgid ""
"Re (z)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4200
msgid "Aliases: <function>RealPart</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4201
msgid "Get the real part of a complex number. For example <userinput>Re(3+4i)</userinput> yields 3."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4202
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Real_part\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4210
msgid "<anchor id=\"gel-function-Sign\"/>Sign"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4212
#, no-wrap
msgid ""
"Sign (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4213
msgid "Aliases: <function>sign</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4214
msgid "Return the sign of a number. That is returns <literal>-1</literal> if value is negative, <literal>0</literal> if value is zero and <literal>1</literal> if value is positive. If <varname>x</varname> is a complex value then <function>Sign</function> returns the direction or 0."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4224
msgid "<anchor id=\"gel-function-ceil\"/>ceil"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4226
#, no-wrap
msgid ""
"ceil (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4227
msgid "Aliases: <function>Ceiling</function>"
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:4229
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>ceil(1.1)</userinput>\n"
"= 2\n"
"<prompt>genius&gt;</prompt> <userinput>ceil(-1.1)</userinput>\n"
"= -1\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4228
msgid "Get the lowest integer more than or equal to <varname>n</varname>. Examples: <_:screen-1/>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4235
msgid "Note that you should be careful and notice that floating point numbers are stored in binary and so may not be what you expect. For example <userinput>ceil(420/4.2)</userinput> returns 101 instead of the expected 100. This is because 4.2 is actually very slightly less than 4.2. Use rational representation <userinput>42/10</userinput> if you want exact arithmetic."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4247
msgid "<anchor id=\"gel-function-exp\"/>exp"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4249
#, no-wrap
msgid ""
"exp (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4250
msgid "The exponential function. This is the function <userinput>e^x</userinput> where <varname>e</varname> is the <link linkend=\"gel-function-e\">base of the natural logarithm</link>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4256
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Exponential_function\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/LogarithmFunction\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/ExponentialFunction.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4266
msgid "<anchor id=\"gel-function-float\"/>float"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4268
#, no-wrap
msgid ""
"float (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4269
msgid "Make number a floating point value. That is returns the floating point representation of the number <varname>x</varname>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4274
msgid "<anchor id=\"gel-function-floor\"/>floor"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4276
#, no-wrap
msgid ""
"floor (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4277
msgid "Aliases: <function>Floor</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4278
msgid "Get the highest integer less than or equal to <varname>n</varname>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4283
msgid "<anchor id=\"gel-function-ln\"/>ln"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4285
#, no-wrap
msgid ""
"ln (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4286
msgid "The natural logarithm, the logarithm to base <varname>e</varname>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4287
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Natural_logarithm\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/LogarithmFunction\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/NaturalLogarithm.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4297
msgid "<anchor id=\"gel-function-log\"/>log"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4299
#, no-wrap
msgid ""
"log (x)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4300
#, no-wrap
msgid ""
"log (x,b)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4301
msgid "Logarithm of <varname>x</varname> base <varname>b</varname> (calls <link linkend=\"gel-function-DiscreteLog\"><function>DiscreteLog</function></link> if in modulo mode), if base is not given, <link linkend=\"gel-function-e\"><varname>e</varname></link> is used."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4306
msgid "<anchor id=\"gel-function-log10\"/>log10"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4308
#, no-wrap
msgid ""
"log10 (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4309
msgid "Logarithm of <varname>x</varname> base 10."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4314
msgid "<anchor id=\"gel-function-log2\"/>log2"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4316
#, no-wrap
msgid ""
"log2 (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4317
msgid "Aliases: <function>lg</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4318
msgid "Logarithm of <varname>x</varname> base 2."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4323
msgid "<anchor id=\"gel-function-max\"/>max"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4325
#, no-wrap
msgid ""
"max (a,args...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4326
msgid "Aliases: <function>Max</function> <function>Maximum</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4327
msgid "Returns the maximum of arguments or matrix."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4332
msgid "<anchor id=\"gel-function-min\"/>min"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4334
#, no-wrap
msgid ""
"min (a,args...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4335
msgid "Aliases: <function>Min</function> <function>Minimum</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4336
msgid "Returns the minimum of arguments or matrix."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4341
msgid "<anchor id=\"gel-function-rand\"/>rand"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4343
#, no-wrap
msgid ""
"rand (size...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4344
msgid "Generate random float in the range <literal>[0,1)</literal>. If size is given then a matrix (if two numbers are specified) or vector (if one number is specified) of the given size returned."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4351
msgid "<anchor id=\"gel-function-randint\"/>randint"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4353
#, no-wrap
msgid ""
"randint (max,size...)"
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:4358
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>randint(4)</userinput>\n"
"= 3\n"
"<prompt>genius&gt;</prompt> <userinput>randint(4,2)</userinput>\n"
"=\n"
"[0      1]\n"
"<prompt>genius&gt;</prompt> <userinput>randint(4,2,3)</userinput>\n"
"=\n"
"[2      2       1\n"
" 0      0       3]\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4354
msgid "Generate random integer in the range <literal>[0,max)</literal>. If size is given then a matrix (if two numbers are specified) or vector (if one number is specified) of the given size returned. For example, <_:screen-1/>"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4373
msgid "<anchor id=\"gel-function-round\"/>round"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4375
#, no-wrap
msgid ""
"round (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4376
msgid "Aliases: <function>Round</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4377
msgid "Round a number."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4382
msgid "<anchor id=\"gel-function-sqrt\"/>sqrt"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4384
#, no-wrap
msgid ""
"sqrt (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4385
msgid "Aliases: <function>SquareRoot</function>"
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:4387
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>sqrt(2)</userinput>\n"
"= 1.41421356237\n"
"<prompt>genius&gt;</prompt> <userinput>sqrt(-1)</userinput>\n"
"= 1i\n"
"<prompt>genius&gt;</prompt> <userinput>sqrt(4) mod 7</userinput>\n"
"=\n"
"[2      5]\n"
"<prompt>genius&gt;</prompt> <userinput>2*2 mod 7</userinput>\n"
"= 4\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4386
msgid "The square root. When operating modulo some integer will return either a <constant>null</constant> or a vector of the square roots. Examples: <_:screen-1/>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4398
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Square_root\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/SquareRoot\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4407
msgid "<anchor id=\"gel-function-trunc\"/>trunc"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4409
#, no-wrap
msgid ""
"trunc (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4410
msgid "Aliases: <function>Truncate</function> <function>IntegerPart</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4411
msgid "Truncate number to an integer (return the integer part)."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:4419
msgid "Trigonometry"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4422
msgid "<anchor id=\"gel-function-acos\"/>acos"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4424
#, no-wrap
msgid ""
"acos (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4425
msgid "Aliases: <function>arccos</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4426
msgid "The arccos (inverse cos) function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4431
msgid "<anchor id=\"gel-function-acosh\"/>acosh"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4433
#, no-wrap
msgid ""
"acosh (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4434
msgid "Aliases: <function>arccosh</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4435
msgid "The arccosh (inverse cosh) function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4440
msgid "<anchor id=\"gel-function-acot\"/>acot"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4442
#, no-wrap
msgid ""
"acot (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4443
msgid "Aliases: <function>arccot</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4444
msgid "The arccot (inverse cot) function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4449
msgid "<anchor id=\"gel-function-acoth\"/>acoth"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4451
#, no-wrap
msgid ""
"acoth (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4452
msgid "Aliases: <function>arccoth</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4453
msgid "The arccoth (inverse coth) function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4458
msgid "<anchor id=\"gel-function-acsc\"/>acsc"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4460
#, no-wrap
msgid ""
"acsc (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4461
msgid "Aliases: <function>arccsc</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4462
msgid "The inverse cosecant function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4467
msgid "<anchor id=\"gel-function-acsch\"/>acsch"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4469
#, no-wrap
msgid ""
"acsch (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4470
msgid "Aliases: <function>arccsch</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4471
msgid "The inverse hyperbolic cosecant function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4476
msgid "<anchor id=\"gel-function-asec\"/>asec"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4478
#, no-wrap
msgid ""
"asec (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4479
msgid "Aliases: <function>arcsec</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4480
msgid "The inverse secant function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4485
msgid "<anchor id=\"gel-function-asech\"/>asech"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4487
#, no-wrap
msgid ""
"asech (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4488
msgid "Aliases: <function>arcsech</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4489
msgid "The inverse hyperbolic secant function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4494
msgid "<anchor id=\"gel-function-asin\"/>asin"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4496
#, no-wrap
msgid ""
"asin (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4497
msgid "Aliases: <function>arcsin</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4498
msgid "The arcsin (inverse sin) function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4503
msgid "<anchor id=\"gel-function-asinh\"/>asinh"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4505
#, no-wrap
msgid ""
"asinh (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4506
msgid "Aliases: <function>arcsinh</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4507
msgid "The arcsinh (inverse sinh) function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4512
msgid "<anchor id=\"gel-function-atan\"/>atan"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4514
#, no-wrap
msgid ""
"atan (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4515
msgid "Aliases: <function>arctan</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4516
msgid "Calculates the arctan (inverse tan) function."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4517
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Arctangent\">Wikipedia</ulink> or <ulink url=\"http://mathworld.wolfram.com/InverseTangent.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4526
msgid "<anchor id=\"gel-function-atanh\"/>atanh"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4528
#, no-wrap
msgid ""
"atanh (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4529
msgid "Aliases: <function>arctanh</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4530
msgid "The arctanh (inverse tanh) function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4535
msgid "<anchor id=\"gel-function-atan2\"/>atan2"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4537
#, no-wrap
msgid ""
"atan2 (y, x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4538
msgid "Aliases: <function>arctan2</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4539
msgid "Calculates the arctan2 function. If <userinput>x&gt;0</userinput> then it returns <userinput>atan(y/x)</userinput>. If <userinput>x&lt;0</userinput> then it returns <userinput>sign(y) * (pi - atan(|y/x|)</userinput>. When <userinput>x=0</userinput> it returns <userinput>sign(y) * pi/2</userinput>. <userinput>atan2(0,0)</userinput> returns 0 rather than failing."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4547
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Atan2\">Wikipedia</ulink> or <ulink url=\"http://mathworld.wolfram.com/InverseTangent.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4556
msgid "<anchor id=\"gel-function-cos\"/>cos"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4558
#, no-wrap
msgid ""
"cos (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4559
msgid "Calculates the cosine function."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4560
#: C/genius.xml:4586
#: C/genius.xml:4612
#: C/genius.xml:4638
#: C/genius.xml:4664
#: C/genius.xml:4690
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Trigonometric_functions\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/DefinitionsInTrigonometry\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4569
msgid "<anchor id=\"gel-function-cosh\"/>cosh"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4571
#, no-wrap
msgid ""
"cosh (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4572
msgid "Calculates the hyperbolic cosine function."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4573
#: C/genius.xml:4599
#: C/genius.xml:4625
#: C/genius.xml:4651
#: C/genius.xml:4677
#: C/genius.xml:4703
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Hyperbolic_function\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/HyperbolicFunctions\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4582
msgid "<anchor id=\"gel-function-cot\"/>cot"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4584
#, no-wrap
msgid ""
"cot (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4585
msgid "The cotangent function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4595
msgid "<anchor id=\"gel-function-coth\"/>coth"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4597
#, no-wrap
msgid ""
"coth (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4598
msgid "The hyperbolic cotangent function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4608
msgid "<anchor id=\"gel-function-csc\"/>csc"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4610
#, no-wrap
msgid ""
"csc (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4611
msgid "The cosecant function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4621
msgid "<anchor id=\"gel-function-csch\"/>csch"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4623
#, no-wrap
msgid ""
"csch (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4624
msgid "The hyperbolic cosecant function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4634
msgid "<anchor id=\"gel-function-sec\"/>sec"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4636
#, no-wrap
msgid ""
"sec (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4637
msgid "The secant function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4647
msgid "<anchor id=\"gel-function-sech\"/>sech"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4649
#, no-wrap
msgid ""
"sech (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4650
msgid "The hyperbolic secant function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4660
msgid "<anchor id=\"gel-function-sin\"/>sin"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4662
#, no-wrap
msgid ""
"sin (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4663
msgid "Calculates the sine function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4673
msgid "<anchor id=\"gel-function-sinh\"/>sinh"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4675
#, no-wrap
msgid ""
"sinh (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4676
msgid "Calculates the hyperbolic sine function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4686
msgid "<anchor id=\"gel-function-tan\"/>tan"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4688
#, no-wrap
msgid ""
"tan (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4689
msgid "Calculates the tan function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4699
msgid "<anchor id=\"gel-function-tanh\"/>tanh"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4701
#, no-wrap
msgid ""
"tanh (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4702
msgid "The hyperbolic tangent function."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:4715
msgid "Number Theory"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4718
msgid "<anchor id=\"gel-function-AreRelativelyPrime\"/>AreRelativelyPrime"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4720
#, no-wrap
msgid ""
"AreRelativelyPrime (a,b)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4721
msgid "Are the real integers <varname>a</varname> and <varname>b</varname> relatively prime? Returns <constant>true</constant> or <constant>false</constant>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4725
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Coprime_integers\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/RelativelyPrime\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/RelativelyPrime.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4735
msgid "<anchor id=\"gel-function-BernoulliNumber\"/>BernoulliNumber"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4737
#, no-wrap
msgid ""
"BernoulliNumber (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4738
msgid "Return the <varname>n</varname>th Bernoulli number."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4739
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Bernoulli_number\">Wikipedia</ulink> or <ulink url=\"http://mathworld.wolfram.com/BernoulliNumber.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4748
msgid "<anchor id=\"gel-function-ChineseRemainder\"/>ChineseRemainder"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4750
#, no-wrap
msgid ""
"ChineseRemainder (a,m)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4751
msgid "Aliases: <function>CRT</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4752
msgid "Find the <varname>x</varname> that solves the system given by the vector <varname>a</varname> and modulo the elements of <varname>m</varname>, using the Chinese Remainder Theorem."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4756
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Chinese_remainder_theorem\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/ChineseRemainderTheorem\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/ChineseRemainderTheorem.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4766
msgid "<anchor id=\"gel-function-CombineFactorizations\"/>CombineFactorizations"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4768
#, no-wrap
msgid ""
"CombineFactorizations (a,b)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4769
msgid "Given two factorizations, give the factorization of the product."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4771
msgid "See <link linkend=\"gel-function-Factorize\">Factorize</link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4776
msgid "<anchor id=\"gel-function-ConvertFromBase\"/>ConvertFromBase"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4778
#, no-wrap
msgid ""
"ConvertFromBase (v,b)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4779
msgid "Convert a vector of values indicating powers of b to a number."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4784
msgid "<anchor id=\"gel-function-ConvertToBase\"/>ConvertToBase"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4786
#, no-wrap
msgid ""
"ConvertToBase (n,b)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4787
msgid "Convert a number to a vector of powers for elements in base <varname>b</varname>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4792
msgid "<anchor id=\"gel-function-DiscreteLog\"/>DiscreteLog"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4794
#, no-wrap
msgid ""
"DiscreteLog (n,b,q)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4795
msgid "Find discrete log of <varname>n</varname> base <varname>b</varname> in F<subscript>q</subscript>, the finite field of order <varname>q</varname>, where <varname>q</varname> is a prime, using the Silver-Pohlig-Hellman algorithm."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4798
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Discrete_logarithm\">Wikipedia</ulink>, <ulink url=\"http://planetmath.org/DiscreteLogarithm\">Planetmath</ulink>, or <ulink url=\"http://mathworld.wolfram.com/DiscreteLogarithm.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4808
msgid "<anchor id=\"gel-function-Divides\"/>Divides"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4810
#, no-wrap
msgid ""
"Divides (m,n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4811
msgid "Checks divisibility (if <varname>m</varname> divides <varname>n</varname>)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4816
msgid "<anchor id=\"gel-function-EulerPhi\"/>EulerPhi"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4818
#, no-wrap
msgid ""
"EulerPhi (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4819
msgid "Compute the Euler phi function for <varname>n</varname>, that is the number of integers between 1 and <varname>n</varname> relatively prime to <varname>n</varname>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4824
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Euler_phi\">Wikipedia</ulink>, <ulink url=\"http://planetmath.org/EulerPhifunction\">Planetmath</ulink>, or <ulink url=\"http://mathworld.wolfram.com/TotientFunction.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4834
msgid "<anchor id=\"gel-function-ExactDivision\"/>ExactDivision"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4836
#, no-wrap
msgid ""
"ExactDivision (n,d)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4837
msgid "Return <userinput>n/d</userinput> but only if <varname>d</varname> divides <varname>n</varname>. If <varname>d</varname> does not divide <varname>n</varname> then this function returns garbage. This is a lot faster for very large numbers than the operation <userinput>n/d</userinput>, but it is only useful if you know that the division is exact."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4849
msgid "<anchor id=\"gel-function-Factorize\"/>Factorize"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4851
#, no-wrap
msgid ""
"Factorize (n)"
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:4856
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>Factorize(11*11*13)</userinput>\n"
"=\n"
"[1      11      13\n"
" 1      2       1]"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4852
msgid "Return factorization of a number as a matrix. The first row is the primes in the factorization (including 1) and the second row are the powers. So for example: <_:screen-1/>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4861
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Factorization\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4869
msgid "<anchor id=\"gel-function-Factors\"/>Factors"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4871
#, no-wrap
msgid ""
"Factors (n)"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:4878
#, no-wrap
msgid ""
"for n=1 to 1000 do (\n"
"    if MatrixSum (Factors(n)) == 2*n then\n"
"        print(n)\n"
")\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4872
msgid "Return all factors of <varname>n</varname> in a vector. This includes all the non-prime factors as well. It includes 1 and the number itself. So to print all the perfect numbers (those that are sums of their factors) up to the number 1000 you could do (this is clearly very inefficient) <_:programlisting-1/>"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4888
msgid "<anchor id=\"gel-function-FermatFactorization\"/>FermatFactorization"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4890
#, no-wrap
msgid ""
"FermatFactorization (n,tries)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4891
msgid "Attempt Fermat factorization of <varname>n</varname> into <userinput>(t-s)*(t+s)</userinput>, returns <varname>t</varname> and <varname>s</varname> as a vector if possible, <constant>null</constant> otherwise. <varname>tries</varname> specifies the number of tries before giving up."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4898
msgid "This is a fairly good factorization if your number is the product of two factors that are very close to each other."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4902
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Fermat_factorization\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4910
msgid "<anchor id=\"gel-function-FindPrimitiveElementMod\"/>FindPrimitiveElementMod"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4912
#, no-wrap
msgid ""
"FindPrimitiveElementMod (q)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4913
msgid "Find the first primitive element in F<subscript>q</subscript>, the finite group of order <varname>q</varname>. Of course <varname>q</varname> must be a prime."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4919
msgid "<anchor id=\"gel-function-FindRandomPrimitiveElementMod\"/>FindRandomPrimitiveElementMod"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4921
#, no-wrap
msgid ""
"FindRandomPrimitiveElementMod (q)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4922
msgid "Find a random primitive element in F<subscript>q</subscript>, the finite group of order <varname>q</varname> (q must be a prime)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4928
msgid "<anchor id=\"gel-function-IndexCalculus\"/>IndexCalculus"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4930
#, no-wrap
msgid ""
"IndexCalculus (n,b,q,S)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4931
msgid "Compute discrete log base <varname>b</varname> of n in F<subscript>q</subscript>, the finite group of order <varname>q</varname> (<varname>q</varname> a prime), using the factor base <varname>S</varname>. <varname>S</varname> should be a column of primes possibly with second column precalculated by <link linkend=\"gel-function-IndexCalculusPrecalculation\"><function>IndexCalculusPrecalculation</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4940
msgid "<anchor id=\"gel-function-IndexCalculusPrecalculation\"/>IndexCalculusPrecalculation"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4942
#, no-wrap
msgid ""
"IndexCalculusPrecalculation (b,q,S)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4943
msgid "Run the precalculation step of <link linkend=\"gel-function-IndexCalculus\"><function>IndexCalculus</function></link> for logarithms base <varname>b</varname> in F<subscript>q</subscript>, the finite group of order <varname>q</varname> (<varname>q</varname> a prime), for the factor base <varname>S</varname> (where <varname>S</varname> is a column vector of primes). The logs will be precalculated and returned in the second column."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4953
msgid "<anchor id=\"gel-function-IsEven\"/>IsEven"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4955
#, no-wrap
msgid ""
"IsEven (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4956
msgid "Tests if an integer is even."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4961
msgid "<anchor id=\"gel-function-IsMersennePrimeExponent\"/>IsMersennePrimeExponent"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4963
#, no-wrap
msgid ""
"IsMersennePrimeExponent (p)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4964
msgid "Tests if a positive integer <varname>p</varname> is a Mersenne prime exponent. That is if 2<superscript>p</superscript>-1 is a prime. It does this by looking it up in a table of known values, which is relatively short. See also <link linkend=\"gel-function-MersennePrimeExponents\">MersennePrimeExponents</link> and <link linkend=\"gel-function-LucasLehmer\">LucasLehmer</link>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4975
#: C/genius.xml:5191
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Mersenne_prime\">Wikipedia</ulink>, <ulink url=\"http://planetmath.org/MersenneNumbers\">Planetmath</ulink>, <ulink url=\"http://mathworld.wolfram.com/MersennePrime.html\">Mathworld</ulink> or <ulink url=\"http://www.mersenne.org/\">GIMPS</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:4987
msgid "<anchor id=\"gel-function-IsNthPower\"/>IsNthPower"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:4989
#, no-wrap
msgid ""
"IsNthPower (m,n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:4990
msgid "Tests if a rational number <varname>m</varname> is a perfect <varname>n</varname>th power. See also <link linkend=\"gel-function-IsPerfectPower\">IsPerfectPower</link> and <link linkend=\"gel-function-IsPerfectSquare\">IsPerfectSquare</link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5001
msgid "<anchor id=\"gel-function-IsOdd\"/>IsOdd"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5003
#, no-wrap
msgid ""
"IsOdd (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5004
msgid "Tests if an integer is odd."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5009
msgid "<anchor id=\"gel-function-IsPerfectPower\"/>IsPerfectPower"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5011
#, no-wrap
msgid ""
"IsPerfectPower (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5012
msgid "Check an integer for being any perfect power, a<superscript>b</superscript>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5017
msgid "<anchor id=\"gel-function-IsPerfectSquare\"/>IsPerfectSquare"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5019
#, no-wrap
msgid ""
"IsPerfectSquare (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5020
msgid "Check an integer for being a perfect square of an integer. The number must be an integer. Negative integers are never perfect squares of integers."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5029
msgid "<anchor id=\"gel-function-IsPrime\"/>IsPrime"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5031
#, no-wrap
msgid ""
"IsPrime (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5032
msgid "Tests primality of integers, for numbers less than 2.5e10 the answer is deterministic (if Riemann hypothesis is true). For numbers larger, the probability of a false positive depends on <link linkend=\"gel-function-IsPrimeMillerRabinReps\"> <function>IsPrimeMillerRabinReps</function></link>. That is the probability of false positive is 1/4 to the power <function>IsPrimeMillerRabinReps</function>. The default value of 22 yields a probability of about 5.7e-14."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5043
msgid "If <constant>false</constant> is returned, you can be sure that the number is a composite. If you want to be absolutely sure that you have a prime you can use <link linkend=\"gel-function-MillerRabinTestSure\"> <function>MillerRabinTestSure</function></link> but it may take a lot longer."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5051
#: C/genius.xml:5289
#: C/genius.xml:5330
msgid "See <ulink url=\"http://planetmath.org/PrimeNumber\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/PrimeNumber.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5060
msgid "<anchor id=\"gel-function-IsPrimitiveMod\"/>IsPrimitiveMod"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5062
#, no-wrap
msgid ""
"IsPrimitiveMod (g,q)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5063
msgid "Check if <varname>g</varname> is primitive in F<subscript>q</subscript>, the finite group of order <varname>q</varname>, where <varname>q</varname> is a prime. If <varname>q</varname> is not prime results are bogus."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5069
msgid "<anchor id=\"gel-function-IsPrimitiveModWithPrimeFactors\"/>IsPrimitiveModWithPrimeFactors"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5071
#, no-wrap
msgid ""
"IsPrimitiveModWithPrimeFactors (g,q,f)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5072
msgid "Check if <varname>g</varname> is primitive in F<subscript>q</subscript>, the finite group of order <varname>q</varname>, where <varname>q</varname> is a prime and <varname>f</varname> is a vector of prime factors of <varname>q</varname>-1. If <varname>q</varname> is not prime results are bogus."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5080
msgid "<anchor id=\"gel-function-IsPseudoprime\"/>IsPseudoprime"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5082
#, no-wrap
msgid ""
"IsPseudoprime (n,b)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5083
msgid "If <varname>n</varname> is a pseudoprime base <varname>b</varname> but not a prime, that is if <userinput>b^(n-1) == 1 mod n</userinput>. This calls the <link linkend=\"gel-function-PseudoprimeTest\"><function>PseudoprimeTest</function></link>"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5089
msgid "<anchor id=\"gel-function-IsStrongPseudoprime\"/>IsStrongPseudoprime"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5091
#, no-wrap
msgid ""
"IsStrongPseudoprime (n,b)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5092
msgid "Test if <varname>n</varname> is a strong pseudoprime to base <varname>b</varname> but not a prime."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5097
msgid "<anchor id=\"gel-function-Jacobi\"/>Jacobi"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5099
#, no-wrap
msgid ""
"Jacobi (a,b)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5100
msgid "Aliases: <function>JacobiSymbol</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5101
msgid "Calculate the Jacobi symbol (a/b) (b should be odd)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5106
msgid "<anchor id=\"gel-function-JacobiKronecker\"/>JacobiKronecker"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5108
#, no-wrap
msgid ""
"JacobiKronecker (a,b)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5109
msgid "Aliases: <function>JacobiKroneckerSymbol</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5110
msgid "Calculate the Jacobi symbol (a/b) with the Kronecker extension (a/2)=(2/a) when a odd, or (a/2)=0 when a even."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5115
msgid "<anchor id=\"gel-function-LeastAbsoluteResidue\"/>LeastAbsoluteResidue"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5117
#, no-wrap
msgid ""
"LeastAbsoluteResidue (a,n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5118
msgid "Return the residue of <varname>a</varname> mod <varname>n</varname> with the least absolute value (in the interval -n/2 to n/2)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5123
msgid "<anchor id=\"gel-function-Legendre\"/>Legendre"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5125
#, no-wrap
msgid ""
"Legendre (a,p)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5126
msgid "Aliases: <function>LegendreSymbol</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5127
msgid "Calculate the Legendre symbol (a/p)."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5128
msgid "See <ulink url=\"http://planetmath.org/LegendreSymbol\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/LegendreSymbol.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5137
msgid "<anchor id=\"gel-function-LucasLehmer\"/>LucasLehmer"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5139
#, no-wrap
msgid ""
"LucasLehmer (p)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5140
msgid "Test if 2<superscript>p</superscript>-1 is a Mersenne prime using the Lucas-Lehmer test. See also <link linkend=\"gel-function-MersennePrimeExponents\">MersennePrimeExponents</link> and <link linkend=\"gel-function-IsMersennePrimeExponent\">IsMersennePrimeExponent</link>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5146
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Lucas%E2%80%93Lehmer_primality_test\">Wikipedia</ulink>, <ulink url=\"http://planetmath.org/LucasLhemer\">Planetmath</ulink>, or <ulink url=\"http://mathworld.wolfram.com/Lucas-LehmerTest.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5156
msgid "<anchor id=\"gel-function-LucasNumber\"/>LucasNumber"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5158
#, no-wrap
msgid ""
"LucasNumber (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5159
msgid "Returns the <varname>n</varname>th Lucas number."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5160
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Lucas_number\">Wikipedia</ulink>, <ulink url=\"http://planetmath.org/LucasNumbers\">Planetmath</ulink>, or <ulink url=\"http://mathworld.wolfram.com/LucasNumber.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5170
msgid "<anchor id=\"gel-function-MaximalPrimePowerFactors\"/>MaximalPrimePowerFactors"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5172
#, no-wrap
msgid ""
"MaximalPrimePowerFactors (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5173
msgid "Return all maximal prime power factors of a number."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5178
msgid "<anchor id=\"gel-function-MersennePrimeExponents\"/>MersennePrimeExponents"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5180
#, no-wrap
msgid ""
"MersennePrimeExponents"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5181
msgid "A vector of known Mersenne prime exponents, that is a list of positive integers <varname>p</varname> such that 2<superscript>p</superscript>-1 is a prime. See also <link linkend=\"gel-function-IsMersennePrimeExponent\">IsMersennePrimeExponent</link> and <link linkend=\"gel-function-LucasLehmer\">LucasLehmer</link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5203
msgid "<anchor id=\"gel-function-MillerRabinTest\"/>MillerRabinTest"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5205
#, no-wrap
msgid ""
"MillerRabinTest (n,reps)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5206
msgid "Use the Miller-Rabin primality test on <varname>n</varname>, <varname>reps</varname> number of times. The probability of false positive is <userinput>(1/4)^reps</userinput>. It is probably usually better to use <link linkend=\"gel-function-IsPrime\"> <function>IsPrime</function></link> since that is faster and better on smaller integers."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5215
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/MillerRabinPrimeTest\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/Rabin-MillerStrongPseudoprimeTest.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5225
msgid "<anchor id=\"gel-function-MillerRabinTestSure\"/>MillerRabinTestSure"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5227
#, no-wrap
msgid ""
"MillerRabinTestSure (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5228
msgid "Use the Miller-Rabin primality test on <varname>n</varname> with enough bases that assuming the Generalized Riemann Hypothesis the result is deterministic."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5233
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test\">Wikipedia</ulink>, <ulink url=\"http://planetmath.org/MillerRabinPrimeTest\">Planetmath</ulink>, or <ulink url=\"http://mathworld.wolfram.com/Rabin-MillerStrongPseudoprimeTest.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5243
msgid "<anchor id=\"gel-function-ModInvert\"/>ModInvert"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5245
#, no-wrap
msgid ""
"ModInvert (n,m)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5246
msgid "Returns inverse of n mod m."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5247
msgid "See <ulink url=\"http://mathworld.wolfram.com/ModularInverse.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5255
msgid "<anchor id=\"gel-function-MoebiusMu\"/>MoebiusMu"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5257
#, no-wrap
msgid ""
"MoebiusMu (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5258
msgid "Return the Moebius mu function evaluated in <varname>n</varname>. That is, it returns 0 if <varname>n</varname> is not a product of distinct primes and <userinput>(-1)^k</userinput> if it is a product of <varname>k</varname> distinct primes."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5264
msgid "See <ulink url=\"http://planetmath.org/MoebiusFunction\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/MoebiusFunction.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5273
msgid "<anchor id=\"gel-function-NextPrime\"/>NextPrime"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5275
#, no-wrap
msgid ""
"NextPrime (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5276
msgid "Returns the least prime greater than <varname>n</varname>. Negatives of primes are considered prime and so to get the previous prime you can use <userinput>-NextPrime(-n)</userinput>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5281
msgid "This function uses the GMPs <function>mpz_nextprime</function>, which in turn uses the probabilistic Miller-Rabin test (See also <link linkend=\"gel-function-MillerRabinTest\"><function>MillerRabinTest</function></link>). The probability of false positive is not tunable, but is low enough for all practical purposes."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5298
msgid "<anchor id=\"gel-function-PadicValuation\"/>PadicValuation"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5300
#, no-wrap
msgid ""
"PadicValuation (n,p)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5301
msgid "Returns the p-adic valuation (number of trailing zeros in base <varname>p</varname>)."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5302
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/P-adic_order\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/PAdicValuation\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5311
msgid "<anchor id=\"gel-function-PowerMod\"/>PowerMod"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5313
#, no-wrap
msgid ""
"PowerMod (a,b,m)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5314
msgid "Compute <userinput>a^b mod m</userinput>. The <varname>b</varname>'s power of <varname>a</varname> modulo <varname>m</varname>. It is not necessary to use this function as it is automatically used in modulo mode. Hence <userinput>a^b mod m</userinput> is just as fast."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5325
msgid "<anchor id=\"gel-function-Prime\"/>Prime"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5327
#, no-wrap
msgid ""
"Prime (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5328
msgid "Aliases: <function>prime</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5329
msgid "Return the <varname>n</varname>th prime (up to a limit)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5339
msgid "<anchor id=\"gel-function-PrimeFactors\"/>PrimeFactors"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5341
#, no-wrap
msgid ""
"PrimeFactors (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5342
msgid "Return all prime factors of a number as a vector."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5343
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Prime_factor\">Wikipedia</ulink> or <ulink url=\"http://mathworld.wolfram.com/PrimeFactor.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5352
msgid "<anchor id=\"gel-function-PseudoprimeTest\"/>PseudoprimeTest"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5354
#, no-wrap
msgid ""
"PseudoprimeTest (n,b)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5355
msgid "Pseudoprime test, returns <constant>true</constant> if and only if <userinput>b^(n-1) == 1 mod n</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5357
msgid "See <ulink url=\"http://planetmath.org/Pseudoprime\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/Pseudoprime.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5366
msgid "<anchor id=\"gel-function-RemoveFactor\"/>RemoveFactor"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5368
#, no-wrap
msgid ""
"RemoveFactor (n,m)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5369
msgid "Removes all instances of the factor <varname>m</varname> from the number <varname>n</varname>. That is divides by the largest power of <varname>m</varname>, that divides <varname>n</varname>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5370
msgid "See <ulink url=\"http://planetmath.org/Divisibility\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/Factor.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5379
msgid "<anchor id=\"gel-function-SilverPohligHellmanWithFactorization\"/>SilverPohligHellmanWithFactorization"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5381
#, no-wrap
msgid ""
"SilverPohligHellmanWithFactorization (n,b,q,f)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5382
msgid "Find discrete log of <varname>n</varname> base <varname>b</varname> in F<subscript>q</subscript>, the finite group of order <varname>q</varname>, where <varname>q</varname> is a prime using the Silver-Pohlig-Hellman algorithm, given <varname>f</varname> being the factorization of <varname>q</varname>-1."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5387
msgid "<anchor id=\"gel-function-SqrtModPrime\"/>SqrtModPrime"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5389
#, no-wrap
msgid ""
"SqrtModPrime (n,p)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5390
msgid "Find square root of <varname>n</varname> modulo <varname>p</varname> (where <varname>p</varname> is a prime). Null is returned if not a quadratic residue."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5391
msgid "See <ulink url=\"http://planetmath.org/QuadraticResidue\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/QuadraticResidue.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5400
msgid "<anchor id=\"gel-function-StrongPseudoprimeTest\"/>StrongPseudoprimeTest"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5402
#, no-wrap
msgid ""
"StrongPseudoprimeTest (n,b)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5403
msgid "Run the strong pseudoprime test base <varname>b</varname> on <varname>n</varname>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5404
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Strong_pseudoprime\">Wikipedia</ulink>, <ulink url=\"http://planetmath.org/StrongPseudoprime\">Planetmath</ulink>, or <ulink url=\"http://mathworld.wolfram.com/StrongPseudoprime.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5414
msgid "<anchor id=\"gel-function-gcd\"/>gcd"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5416
#, no-wrap
msgid ""
"gcd (a,args...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5417
msgid "Aliases: <function>GCD</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5418
msgid "Greatest common divisor of integers. You can enter as many integers as you want in the argument list, or you can give a vector or a matrix of integers. If you give more than one matrix of the same size then GCD is done element by element."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5425
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Greatest_common_divisor\">Wikipedia</ulink>, <ulink url=\"http://planetmath.org/GreatestCommonDivisor\">Planetmath</ulink>, or <ulink url=\"http://mathworld.wolfram.com/GreatestCommonDivisor.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5435
msgid "<anchor id=\"gel-function-lcm\"/>lcm"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5437
#, no-wrap
msgid ""
"lcm (a,args...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5438
msgid "Aliases: <function>LCM</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5439
msgid "Least common multiplier of integers. You can enter as many integers as you want in the argument list, or you can give a vector or a matrix of integers. If you give more than one matrix of the same size then LCM is done element by element."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5445
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Least_common_multiple\">Wikipedia</ulink>, <ulink url=\"http://planetmath.org/LeastCommonMultiple\">Planetmath</ulink>, or <ulink url=\"http://mathworld.wolfram.com/LeastCommonMultiple.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:5458
msgid "Matrix Manipulation"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5461
msgid "<anchor id=\"gel-function-AppendElement\"/>AppendElement"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5463
#, no-wrap
msgid ""
"AppendElement (v,elt)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5464
msgid "Append an element to a vector and return the vector. No expansion is done. Normally a row vector is built if starting from <constant>null</constant> or a 1-by-1 matrix, but if given a column vector it will properly build a column vector."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5471
msgid "<anchor id=\"gel-function-ApplyOverMatrix\"/>ApplyOverMatrix"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5473
#, no-wrap
msgid ""
"ApplyOverMatrix (a,func)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5474
msgid "Apply a function over all entries of a matrix and return a matrix of the results."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5479
msgid "<anchor id=\"gel-function-ApplyOverMatrix2\"/>ApplyOverMatrix2"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5481
#, no-wrap
msgid ""
"ApplyOverMatrix2 (a,b,func)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5482
msgid "Apply a function over all entries of 2 matrices (or 1 value and 1 matrix) and return a matrix of the results."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5487
msgid "<anchor id=\"gel-function-ColumnsOf\"/>ColumnsOf"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5489
#, no-wrap
msgid ""
"ColumnsOf (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5490
msgid "Gets the columns of a matrix as a horizontal vector."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5495
msgid "<anchor id=\"gel-function-ComplementSubmatrix\"/>ComplementSubmatrix"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5497
#, no-wrap
msgid ""
"ComplementSubmatrix (m,r,c)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5498
msgid "Remove column(s) and row(s) from a matrix."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5503
msgid "<anchor id=\"gel-function-CompoundMatrix\"/>CompoundMatrix"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5505
#, no-wrap
msgid ""
"CompoundMatrix (k,A)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5506
msgid "Calculate the kth compound matrix of A."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5511
msgid "<anchor id=\"gel-function-CountZeroColumns\"/>CountZeroColumns"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5513
#, no-wrap
msgid ""
"CountZeroColumns (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5514
msgid "Count the number of zero columns in a matrix. For example, once you column-reduce a matrix, you can use this to find the nullity. See <link linkend=\"gel-function-cref\"><function>cref</function></link> and <link linkend=\"gel-function-Nullity\"><function>Nullity</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5524
msgid "<anchor id=\"gel-function-DeleteColumn\"/>DeleteColumn"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5526
#, no-wrap
msgid ""
"DeleteColumn (M,col)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5527
msgid "Delete a column of a matrix."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5532
msgid "<anchor id=\"gel-function-DeleteRow\"/>DeleteRow"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5534
#, no-wrap
msgid ""
"DeleteRow (M,row)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5535
msgid "Delete a row of a matrix."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5540
msgid "<anchor id=\"gel-function-DiagonalOf\"/>DiagonalOf"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5542
#, no-wrap
msgid ""
"DiagonalOf (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5543
msgid "Gets the diagonal entries of a matrix as a column vector."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5544
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Diagonal_of_a_matrix#Matrices\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5552
msgid "<anchor id=\"gel-function-DotProduct\"/>DotProduct"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5554
#, no-wrap
msgid ""
"DotProduct (u,v)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5555
msgid "Get the dot product of two vectors. The vectors must be of the same size. No conjugates are taken so this is a bilinear form even if working over the complex numbers; This is the bilinear scalar product not the sesquilinear scalar product. See <link linkend=\"gel-function-HermitianProduct\">HermitianProduct</link> for the standard sesquilinear inner product."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5557
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Dot_product\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/DotProduct\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5566
msgid "<anchor id=\"gel-function-ExpandMatrix\"/>ExpandMatrix"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5568
#, no-wrap
msgid ""
"ExpandMatrix (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5569
msgid "Expands a matrix just like we do on unquoted matrix input. That is we expand any internal matrices as blocks. This is a way to construct matrices out of smaller ones and this is normally done automatically on input unless the matrix is quoted."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5579
msgid "<anchor id=\"gel-function-HermitianProduct\"/>HermitianProduct"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5581
#, no-wrap
msgid ""
"HermitianProduct (u,v)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5582
msgid "Aliases: <function>InnerProduct</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5583
msgid "Get the Hermitian product of two vectors. The vectors must be of the same size. This is a sesquilinear form using the identity matrix."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5584
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Sesquilinear_form\">Wikipedia</ulink> or <ulink url=\"http://mathworld.wolfram.com/HermitianInnerProduct.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5593
msgid "<anchor id=\"gel-function-I\"/>I"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5595
#, no-wrap
msgid ""
"I (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5596
msgid "Aliases: <function>eye</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5597
msgid "Return an identity matrix of a given size, that is <varname>n</varname> by <varname>n</varname>. If <varname>n</varname> is zero, returns <constant>null</constant>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5598
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Identity_matrix\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/IdentityMatrix\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5607
msgid "<anchor id=\"gel-function-IndexComplement\"/>IndexComplement"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5609
#, no-wrap
msgid ""
"IndexComplement (vec,msize)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5610
msgid "Return the index complement of a vector of indexes. Everything is one based. For example for vector <userinput>[2,3]</userinput> and size <userinput>5</userinput>, we return <userinput>[1,4,5]</userinput>. If <varname>msize</varname> is 0, we always return <constant>null</constant>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5617
msgid "<anchor id=\"gel-function-IsDiagonal\"/>IsDiagonal"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5619
#, no-wrap
msgid ""
"IsDiagonal (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5620
msgid "Is a matrix diagonal."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5621
#: C/genius.xml:5771
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Diagonal_matrix\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/DiagonalMatrix\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5630
msgid "<anchor id=\"gel-function-IsIdentity\"/>IsIdentity"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5632
#, no-wrap
msgid ""
"IsIdentity (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5633
msgid "Check if a matrix is the identity matrix. Automatically returns <constant>false</constant> if the matrix is not square. Also works on numbers, in which case it is equivalent to <userinput>x==1</userinput>. When <varname>x</varname> is <constant>null</constant> (we could think of that as a 0 by 0 matrix), no error is generated and <constant>false</constant> is returned."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5642
msgid "<anchor id=\"gel-function-IsLowerTriangular\"/>IsLowerTriangular"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5644
#, no-wrap
msgid ""
"IsLowerTriangular (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5645
msgid "Is a matrix lower triangular. That is, are all the entries above the diagonal zero."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5650
msgid "<anchor id=\"gel-function-IsMatrixInteger\"/>IsMatrixInteger"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5652
#, no-wrap
msgid ""
"IsMatrixInteger (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5653
msgid "Check if a matrix is a matrix of integers (non-complex)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5658
msgid "<anchor id=\"gel-function-IsMatrixNonnegative\"/>IsMatrixNonnegative"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5660
#, no-wrap
msgid ""
"IsMatrixNonnegative (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5661
msgid "Check if a matrix is non-negative, that is if each element is non-negative. Do not confuse positive matrices with positive semi-definite matrices."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5663
#: C/genius.xml:5677
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Positive_matrix\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5671
msgid "<anchor id=\"gel-function-IsMatrixPositive\"/>IsMatrixPositive"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5673
#, no-wrap
msgid ""
"IsMatrixPositive (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5674
msgid "Check if a matrix is positive, that is if each element is positive (and hence real). In particular, no element is 0. Do not confuse positive matrices with positive definite matrices."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5685
msgid "<anchor id=\"gel-function-IsMatrixRational\"/>IsMatrixRational"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5687
#, no-wrap
msgid ""
"IsMatrixRational (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5688
msgid "Check if a matrix is a matrix of rational (non-complex) numbers."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5694
msgid "<anchor id=\"gel-function-IsMatrixReal\"/>IsMatrixReal"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5696
#, no-wrap
msgid ""
"IsMatrixReal (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5697
msgid "Check if a matrix is a matrix of real (non-complex) numbers."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5702
msgid "<anchor id=\"gel-function-IsMatrixSquare\"/>IsMatrixSquare"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5704
#, no-wrap
msgid ""
"IsMatrixSquare (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5705
msgid "Check if a matrix is square, that is its width is equal to its height."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5713
msgid "<anchor id=\"gel-function-IsUpperTriangular\"/>IsUpperTriangular"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5715
#, no-wrap
msgid ""
"IsUpperTriangular (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5716
msgid "Is a matrix upper triangular? That is, a matrix is upper triangular if all the entries below the diagonal are zero."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5721
msgid "<anchor id=\"gel-function-IsValueOnly\"/>IsValueOnly"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5723
#, no-wrap
msgid ""
"IsValueOnly (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5724
msgid "Check if a matrix is a matrix of numbers only. Many internal functions make this check. Values can be any number including complex numbers."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5730
msgid "<anchor id=\"gel-function-IsVector\"/>IsVector"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5732
#, no-wrap
msgid ""
"IsVector (v)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5733
msgid "Is argument a horizontal or a vertical vector. Genius does not distinguish between a matrix and a vector and a vector is just a 1 by <varname>n</varname> or <varname>n</varname> by 1 matrix."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5742
msgid "<anchor id=\"gel-function-IsZero\"/>IsZero"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5744
#, no-wrap
msgid ""
"IsZero (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5745
msgid "Check if a matrix is composed of all zeros. Also works on numbers, in which case it is equivalent to <userinput>x==0</userinput>. When <varname>x</varname> is <constant>null</constant> (we could think of that as a 0 by 0 matrix), no error is generated and <constant>true</constant> is returned as the condition is vacuous."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5755
msgid "<anchor id=\"gel-function-LowerTriangular\"/>LowerTriangular"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5757
#, no-wrap
msgid ""
"LowerTriangular (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5758
msgid "Returns a copy of the matrix <varname>M</varname> with all the entries above the diagonal set to zero."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5763
msgid "<anchor id=\"gel-function-MakeDiagonal\"/>MakeDiagonal"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5765
#, no-wrap
msgid ""
"MakeDiagonal (v,arg...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5766
msgid "Aliases: <function>diag</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5767
msgid "Make diagonal matrix from a vector. Alternatively you can pass in the values to put on the diagonal as arguments. So <userinput>MakeDiagonal([1,2,3])</userinput> is the same as <userinput>MakeDiagonal(1,2,3)</userinput>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5780
msgid "<anchor id=\"gel-function-MakeVector\"/>MakeVector"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5782
#, no-wrap
msgid ""
"MakeVector (A)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5783
msgid "Alias: <function>MakeColumnVector</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5784
msgid "Make column vector out of matrix by putting columns above each other. Returns <constant>null</constant> when given <constant>null</constant>. Can be used to ensure a vector is a column vector."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5791
msgid "<anchor id=\"gel-function-MakeRowVector\"/>MakeRowVector"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5793
#, no-wrap
msgid ""
"MakeRowVector (A)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5794
msgid "Make row vector out of matrix by putting rows one after another. Returns <constant>null</constant> when given <constant>null</constant>. Can be used to ensure a vector is a row vector."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5801
msgid "<anchor id=\"gel-function-MatrixProduct\"/>MatrixProduct"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5803
#, no-wrap
msgid ""
"MatrixProduct (A)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5804
msgid "Calculate the product of all elements in a matrix or vector. That is we multiply all the elements and return a number that is the product of all the elements."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5813
msgid "<anchor id=\"gel-function-MatrixSum\"/>MatrixSum"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5815
#, no-wrap
msgid ""
"MatrixSum (A)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5816
msgid "Calculate the sum of all elements in a matrix or vector. That is we add all the elements and return a number that is the sum of all the elements."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5825
msgid "<anchor id=\"gel-function-MatrixSumSquares\"/>MatrixSumSquares"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5827
#, no-wrap
msgid ""
"MatrixSumSquares (A)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5828
msgid "Calculate the sum of squares of all elements in a matrix or vector."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5834
msgid "<anchor id=\"gel-function-NonzeroColumns\"/>NonzeroColumns"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5836
#, no-wrap
msgid ""
"NonzeroColumns (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5837
msgid "Returns a row vector of the indices of nonzero columns in the matrix <varname>M</varname>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5843
msgid "<anchor id=\"gel-function-NonzeroElements\"/>NonzeroElements"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5845
#, no-wrap
msgid ""
"NonzeroElements (v)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5846
msgid "Returns a row vector of the indices of nonzero elements in the vector <varname>v</varname>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5852
msgid "<anchor id=\"gel-function-OuterProduct\"/>OuterProduct"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5854
#, no-wrap
msgid ""
"OuterProduct (u,v)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5855
msgid "Get the outer product of two vectors. That is, suppose that <varname>u</varname> and <varname>v</varname> are vertical vectors, then the outer product is <userinput>v * u.'</userinput>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5862
msgid "<anchor id=\"gel-function-ReverseVector\"/>ReverseVector"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5864
#, no-wrap
msgid ""
"ReverseVector (v)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5865
msgid "Reverse elements in a vector. Return <constant>null</constant> if given <constant>null</constant>"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5870
msgid "<anchor id=\"gel-function-RowSum\"/>RowSum"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5872
#, no-wrap
msgid ""
"RowSum (m)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5873
msgid "Calculate sum of each row in a matrix and return a vertical vector with the result."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5879
msgid "<anchor id=\"gel-function-RowSumSquares\"/>RowSumSquares"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5881
#, no-wrap
msgid ""
"RowSumSquares (m)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5882
msgid "Calculate sum of squares of each row in a matrix and return a vertical vector with the results."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5887
msgid "<anchor id=\"gel-function-RowsOf\"/>RowsOf"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5889
#, no-wrap
msgid ""
"RowsOf (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5890
msgid "Gets the rows of a matrix as a vertical vector. Each element of the vector is a horizontal vector that is the corresponding row of <varname>M</varname>. This function is useful if you wish to loop over the rows of a matrix. For example, as <userinput>for r in RowsOf(M) do something(r)</userinput>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5899
msgid "<anchor id=\"gel-function-SetMatrixSize\"/>SetMatrixSize"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5901
#, no-wrap
msgid ""
"SetMatrixSize (M,rows,columns)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5902
msgid "Make new matrix of given size from old one. That is, a new matrix will be returned to which the old one is copied. Entries that don't fit are clipped and extra space is filled with zeros. If <varname>rows</varname> or <varname>columns</varname> are zero then <constant>null</constant> is returned."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5912
msgid "<anchor id=\"gel-function-ShuffleVector\"/>ShuffleVector"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5914
#, no-wrap
msgid ""
"ShuffleVector (v)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5915
msgid "Shuffle elements in a vector. Return <constant>null</constant> if given <constant>null</constant>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5916
msgid "Version 1.0.13 onwards."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5921
msgid "<anchor id=\"gel-function-SortVector\"/>SortVector"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5923
#, no-wrap
msgid ""
"SortVector (v)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5924
msgid "Sort vector elements in an increasing order."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5929
msgid "<anchor id=\"gel-function-StripZeroColumns\"/>StripZeroColumns"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5931
#, no-wrap
msgid ""
"StripZeroColumns (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5932
msgid "Removes any all-zero columns of <varname>M</varname>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5937
msgid "<anchor id=\"gel-function-StripZeroRows\"/>StripZeroRows"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5939
#, no-wrap
msgid ""
"StripZeroRows (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5940
msgid "Removes any all-zero rows of <varname>M</varname>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5945
msgid "<anchor id=\"gel-function-Submatrix\"/>Submatrix"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5947
#, no-wrap
msgid ""
"Submatrix (m,r,c)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5948
msgid "Return column(s) and row(s) from a matrix. This is just equivalent to <userinput>m@(r,c)</userinput>. <varname>r</varname> and <varname>c</varname> should be vectors of rows and columns (or single numbers if only one row or column is needed)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5955
msgid "<anchor id=\"gel-function-SwapRows\"/>SwapRows"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5957
#, no-wrap
msgid ""
"SwapRows (m,row1,row2)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5958
msgid "Swap two rows in a matrix."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5963
msgid "<anchor id=\"gel-function-UpperTriangular\"/>UpperTriangular"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5965
#, no-wrap
msgid ""
"UpperTriangular (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5966
msgid "Returns a copy of the matrix <varname>M</varname> with all the entries below the diagonal set to zero."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5971
msgid "<anchor id=\"gel-function-columns\"/>columns"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5973
#, no-wrap
msgid ""
"columns (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5974
msgid "Get the number of columns of a matrix."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5979
msgid "<anchor id=\"gel-function-elements\"/>elements"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5981
#, no-wrap
msgid ""
"elements (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5982
msgid "Get the total number of elements of a matrix. This is the number of columns times the number of rows."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5988
msgid "<anchor id=\"gel-function-ones\"/>ones"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5990
#, no-wrap
msgid ""
"ones (rows,columns...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5991
msgid "Make an matrix of all ones (or a row vector if only one argument is given). Returns <constant>null</constant> if either rows or columns are zero."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:5996
msgid "<anchor id=\"gel-function-rows\"/>rows"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:5998
#, no-wrap
msgid ""
"rows (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:5999
msgid "Get the number of rows of a matrix."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6004
msgid "<anchor id=\"gel-function-zeros\"/>zeros"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6006
#, no-wrap
msgid ""
"zeros (rows,columns...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6007
msgid "Make a matrix of all zeros (or a row vector if only one argument is given). Returns <constant>null</constant> if either rows or columns are zero."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6018
msgid "<anchor id=\"gel-function-AuxiliaryUnitMatrix\"/>AuxiliaryUnitMatrix"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6020
#, no-wrap
msgid ""
"AuxiliaryUnitMatrix (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6021
msgid "Get the auxiliary unit matrix of size <varname>n</varname>. This is a square matrix with that is all zero except the superdiagonal being all ones. It is the Jordan block matrix of one zero eigenvalue."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6023
msgid "See <ulink url=\"http://planetmath.org/JordanCanonicalFormTheorem\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/JordanBlock.html\">Mathworld</ulink> for more information on Jordan Canonical Form."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6032
msgid "<anchor id=\"gel-function-BilinearForm\"/>BilinearForm"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6034
#, no-wrap
msgid ""
"BilinearForm (v,A,w)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6035
msgid "Evaluate (v,w) with respect to the bilinear form given by the matrix A."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6040
msgid "<anchor id=\"gel-function-BilinearFormFunction\"/>BilinearFormFunction"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6042
#, no-wrap
msgid ""
"BilinearFormFunction (A)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6043
msgid "Return a function that evaluates two vectors with respect to the bilinear form given by A."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6048
msgid "<anchor id=\"gel-function-CharacteristicPolynomial\"/>CharacteristicPolynomial"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6050
#, no-wrap
msgid ""
"CharacteristicPolynomial (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6051
msgid "Aliases: <function>CharPoly</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6052
msgid "Get the characteristic polynomial as a vector. That is, return the coefficients of the polynomial starting with the constant term. This is the polynomial defined by <userinput>det(M-xI)</userinput>. The roots of this polynomial are the eigenvalues of <varname>M</varname>. See also <link linkend=\"gel-function-CharacteristicPolynomialFunction\">CharacteristicPolynomialFunction</link>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6058
#: C/genius.xml:6075
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Characteristic_polynomial\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/CharacteristicEquation\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6067
msgid "<anchor id=\"gel-function-CharacteristicPolynomialFunction\"/>CharacteristicPolynomialFunction"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6069
#, no-wrap
msgid ""
"CharacteristicPolynomialFunction (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6070
msgid "Get the characteristic polynomial as a function. This is the polynomial defined by <userinput>det(M-xI)</userinput>. The roots of this polynomial are the eigenvalues of <varname>M</varname>. See also <link linkend=\"gel-function-CharacteristicPolynomial\">CharacteristicPolynomial</link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6084
msgid "<anchor id=\"gel-function-ColumnSpace\"/>ColumnSpace"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6086
#, no-wrap
msgid ""
"ColumnSpace (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6087
msgid "Get a basis matrix for the columnspace of a matrix. That is, return a matrix whose columns are the basis for the column space of <varname>M</varname>. That is the space spanned by the columns of <varname>M</varname>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6091
#: C/genius.xml:6281
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Row_and_column_spaces\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6099
msgid "<anchor id=\"gel-function-CommutationMatrix\"/>CommutationMatrix"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6101
#, no-wrap
msgid ""
"CommutationMatrix (m, n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6102
msgid "Return the commutation matrix <userinput>K(m,n)</userinput>, which is the unique <userinput>m*n</userinput> by <userinput>m*n</userinput> matrix such that <userinput>K(m,n) * MakeVector(A) = MakeVector(A.')</userinput> for all <varname>m</varname> by <varname>n</varname> matrices <varname>A</varname>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6109
msgid "<anchor id=\"gel-function-CompanionMatrix\"/>CompanionMatrix"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6111
#, no-wrap
msgid ""
"CompanionMatrix (p)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6112
msgid "Companion matrix of a polynomial (as vector)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6117
msgid "<anchor id=\"gel-function-ConjugateTranspose\"/>ConjugateTranspose"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6119
#, no-wrap
msgid ""
"ConjugateTranspose (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6120
msgid "Conjugate transpose of a matrix (adjoint). This is the same as the <userinput>'</userinput> operator."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6122
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Conjugate_transpose\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/ConjugateTranspose\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6131
msgid "<anchor id=\"gel-function-Convolution\"/>Convolution"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6133
#, no-wrap
msgid ""
"Convolution (a,b)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6134
msgid "Aliases: <function>convol</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6135
msgid "Calculate convolution of two horizontal vectors."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6140
msgid "<anchor id=\"gel-function-ConvolutionVector\"/>ConvolutionVector"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6142
#, no-wrap
msgid ""
"ConvolutionVector (a,b)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6143
msgid "Calculate convolution of two horizontal vectors. Return result as a vector and not added together."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6149
msgid "<anchor id=\"gel-function-CrossProduct\"/>CrossProduct"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6151
#, no-wrap
msgid ""
"CrossProduct (v,w)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6152
msgid "CrossProduct of two vectors in R<superscript>3</superscript> as a column vector."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6154
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Cross_product\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6162
msgid "<anchor id=\"gel-function-DeterminantalDivisorsInteger\"/>DeterminantalDivisorsInteger"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6164
#, no-wrap
msgid ""
"DeterminantalDivisorsInteger (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6165
msgid "Get the determinantal divisors of an integer matrix."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6170
msgid "<anchor id=\"gel-function-DirectSum\"/>DirectSum"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6172
#, no-wrap
msgid ""
"DirectSum (M,N...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6173
msgid "Direct sum of matrices."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6174
#: C/genius.xml:6186
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Matrix_addition#directsum\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6182
msgid "<anchor id=\"gel-function-DirectSumMatrixVector\"/>DirectSumMatrixVector"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6184
#, no-wrap
msgid ""
"DirectSumMatrixVector (v)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6185
msgid "Direct sum of a vector of matrices."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6194
msgid "<anchor id=\"gel-function-Eigenvalues\"/>Eigenvalues"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6196
#, no-wrap
msgid ""
"Eigenvalues (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6197
msgid "Aliases: <function>eig</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6198
msgid "Get the eigenvalues of a square matrix. Currently only works for matrices of size up to 4 by 4, or for triangular matrices (for which the eigenvalues are on the diagonal)."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6203
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Eigenvalue\">Wikipedia</ulink>, <ulink url=\"http://planetmath.org/Eigenvalue\">Planetmath</ulink>, or <ulink url=\"http://mathworld.wolfram.com/Eigenvalue.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6213
msgid "<anchor id=\"gel-function-Eigenvectors\"/>Eigenvectors"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6215
#, no-wrap
msgid ""
"Eigenvectors (M)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6216
#, no-wrap
msgid ""
"Eigenvectors (M, &amp;eigenvalues)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6217
#, no-wrap
msgid ""
"Eigenvectors (M, &amp;eigenvalues, &amp;multiplicities)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6218
msgid "Get the eigenvectors of a square matrix. Optionally get also the eigenvalues and their algebraic multiplicities. Currently only works for matrices of size up to 2 by 2."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6222
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Eigenvector\">Wikipedia</ulink>, <ulink url=\"http://planetmath.org/Eigenvector\">Planetmath</ulink>, or <ulink url=\"http://mathworld.wolfram.com/Eigenvector.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6232
msgid "<anchor id=\"gel-function-GramSchmidt\"/>GramSchmidt"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6234
#, no-wrap
msgid ""
"GramSchmidt (v,B...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6235
msgid "Apply the Gram-Schmidt process (to the columns) with respect to inner product given by <varname>B</varname>. If <varname>B</varname> is not given then the standard Hermitian product is used. <varname>B</varname> can either be a sesquilinear function of two arguments or it can be a matrix giving a sesquilinear form. The vectors will be made orthonormal with respect to <varname>B</varname>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6241
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Gram%E2%80%93Schmidt_process\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/GramSchmidtOrthogonalization\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6250
msgid "<anchor id=\"gel-function-HankelMatrix\"/>HankelMatrix"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6252
#, no-wrap
msgid ""
"HankelMatrix (c,r)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6253
msgid "Hankel matrix, a matrix whose skew-diagonals are constant. <varname>c</varname> is the first row and <varname>r</varname> is the last column. It is assumed that both arguments are vectors and the last element of <varname>c</varname> is the same as the first element of <varname>r</varname>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6256
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Hankel_matrix\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6264
msgid "<anchor id=\"gel-function-HilbertMatrix\"/>HilbertMatrix"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6266
#, no-wrap
msgid ""
"HilbertMatrix (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6267
msgid "Hilbert matrix of order <varname>n</varname>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6268
#: C/genius.xml:6309
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Hilbert_matrix\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/HilbertMatrix\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6277
msgid "<anchor id=\"gel-function-Image\"/>Image"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6279
#, no-wrap
msgid ""
"Image (T)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6280
msgid "Get the image (columnspace) of a linear transform."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6289
msgid "<anchor id=\"gel-function-InfNorm\"/>InfNorm"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6291
#, no-wrap
msgid ""
"InfNorm (v)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6292
msgid "Get the Inf Norm of a vector, sometimes called the sup norm or the max norm."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6297
msgid "<anchor id=\"gel-function-InvariantFactorsInteger\"/>InvariantFactorsInteger"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6299
#, no-wrap
msgid ""
"InvariantFactorsInteger (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6300
msgid "Get the invariant factors of a square integer matrix."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6305
msgid "<anchor id=\"gel-function-InverseHilbertMatrix\"/>InverseHilbertMatrix"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6307
#, no-wrap
msgid ""
"InverseHilbertMatrix (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6308
msgid "Inverse Hilbert matrix of order <varname>n</varname>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6318
msgid "<anchor id=\"gel-function-IsHermitian\"/>IsHermitian"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6320
#, no-wrap
msgid ""
"IsHermitian (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6321
msgid "Is a matrix Hermitian. That is, is it equal to its conjugate transpose."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6322
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Hermitian_matrix\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/HermitianMatrix\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6331
msgid "<anchor id=\"gel-function-IsInSubspace\"/>IsInSubspace"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6333
#, no-wrap
msgid ""
"IsInSubspace (v,W)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6334
msgid "Test if a vector is in a subspace."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6339
msgid "<anchor id=\"gel-function-IsInvertible\"/>IsInvertible"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6341
#, no-wrap
msgid ""
"IsInvertible (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6342
msgid "Is a matrix (or number) invertible (Integer matrix is invertible if and only if it is invertible over the integers)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6347
msgid "<anchor id=\"gel-function-IsInvertibleField\"/>IsInvertibleField"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6349
#, no-wrap
msgid ""
"IsInvertibleField (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6350
msgid "Is a matrix (or number) invertible over a field."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6355
msgid "<anchor id=\"gel-function-IsNormal\"/>IsNormal"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6357
#, no-wrap
msgid ""
"IsNormal (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6358
msgid "Is <varname>M</varname> a normal matrix. That is, does <userinput>M*M' == M'*M</userinput>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6360
msgid "See <ulink url=\"http://planetmath.org/NormalMatrix\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/NormalMatrix.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6369
msgid "<anchor id=\"gel-function-IsPositiveDefinite\"/>IsPositiveDefinite"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6371
#, no-wrap
msgid ""
"IsPositiveDefinite (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6372
msgid "Is <varname>M</varname> a Hermitian positive definite matrix. That is if <userinput>HermitianProduct(M*v,v)</userinput> is always strictly positive for any vector <varname>v</varname>. <varname>M</varname> must be square and Hermitian to be positive definite. The check that is performed is that every principal submatrix has a non-negative determinant. (See <link linkend=\"gel-function-HermitianProduct\">HermitianProduct</link>)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6379
msgid "Note that some authors (for example Mathworld) do not require that <varname>M</varname> be Hermitian, and then the condition is on the real part of the inner product, but we do not take this view. If you wish to perform this check, just check the Hermitian part of the matrix <varname>M</varname> as follows: <userinput>IsPositiveDefinite(M+M')</userinput>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6387
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Positive-definite_matrix\">Wikipedia</ulink>, <ulink url=\"http://planetmath.org/PositiveDefinite\">Planetmath</ulink>, or <ulink url=\"http://mathworld.wolfram.com/PositiveDefiniteMatrix.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6397
msgid "<anchor id=\"gel-function-IsPositiveSemidefinite\"/>IsPositiveSemidefinite"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6399
#, no-wrap
msgid ""
"IsPositiveSemidefinite (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6400
msgid "Is <varname>M</varname> a Hermitian positive semidefinite matrix. That is if <userinput>HermitianProduct(M*v,v)</userinput> is always non-negative for any vector <varname>v</varname>. <varname>M</varname> must be square and Hermitian to be positive semidefinite. The check that is performed is that every principal submatrix has a non-negative determinant. (See <link linkend=\"gel-function-HermitianProduct\">HermitianProduct</link>)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6407
msgid "Note that some authors do not require that <varname>M</varname> be Hermitian, and then the condition is on the real part of the inner product, but we do not take this view. If you wish to perform this check, just check the Hermitian part of the matrix <varname>M</varname> as follows: <userinput>IsPositiveSemidefinite(M+M')</userinput>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6415
msgid "See <ulink url=\"http://planetmath.org/PositiveSemidefinite\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/PositiveSemidefiniteMatrix.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6424
msgid "<anchor id=\"gel-function-IsSkewHermitian\"/>IsSkewHermitian"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6426
#, no-wrap
msgid ""
"IsSkewHermitian (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6427
msgid "Is a matrix skew-Hermitian. That is, is the conjugate transpose equal to negative of the matrix."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6428
msgid "See <ulink url=\"http://planetmath.org/SkewHermitianMatrix\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6436
msgid "<anchor id=\"gel-function-IsUnitary\"/>IsUnitary"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6438
#, no-wrap
msgid ""
"IsUnitary (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6439
msgid "Is a matrix unitary? That is, does <userinput>M'*M</userinput> and <userinput>M*M'</userinput> equal the identity."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6442
msgid "See <ulink url=\"http://planetmath.org/UnitaryTransformation\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/UnitaryMatrix.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6451
msgid "<anchor id=\"gel-function-JordanBlock\"/>JordanBlock"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6453
#, no-wrap
msgid ""
"JordanBlock (n,lambda)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6454
msgid "Aliases: <function>J</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6455
msgid "Get the Jordan block corresponding to the eigenvalue <varname>lambda</varname> with multiplicity <varname>n</varname>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6458
msgid "See <ulink url=\"http://planetmath.org/JordanCanonicalFormTheorem\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/JordanBlock.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6467
msgid "<anchor id=\"gel-function-Kernel\"/>Kernel"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6469
#, no-wrap
msgid ""
"Kernel (T)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6470
msgid "Get the kernel (nullspace) of a linear transform."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6471
msgid "(See <link linkend=\"gel-function-NullSpace\">NullSpace</link>)"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6478
msgid "<anchor id=\"gel-function-KroneckerProduct\"/>KroneckerProduct"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6480
#, no-wrap
msgid ""
"KroneckerProduct (M, N)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6481
msgid "Aliases: <function>TensorProduct</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6482
msgid "Compute the Kronecker product (tensor product in standard basis) of two matrices."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6486
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Kronecker_product\">Wikipedia</ulink>, <ulink url=\"http://planetmath.org/KroneckerProduct\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/KroneckerProduct.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6498
msgid "<anchor id=\"gel-function-LUDecomposition\"/>LUDecomposition"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6500
#, no-wrap
msgid ""
"LUDecomposition (A, L, U)"
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:6509
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>LUDecomposition(A,&amp;L,&amp;U)</userinput>\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6501
msgid "Get the LU decomposition of <varname>A</varname>, that is find a lower triangular matrix and upper triangular matrix whose product is <varname>A</varname>. Store the result in the <varname>L</varname> and <varname>U</varname>, which should be references. It returns <constant>true</constant> if successful. For example suppose that A is a square matrix, then after running: <_:screen-1/> You will have the lower matrix stored in a variable called <varname>L</varname> and the upper matrix in a variable called <varname>U</varname>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6515
msgid "This is the LU decomposition of a matrix aka Crout and/or Cholesky reduction. (ISBN 0-201-11577-8 pp.99-103) The upper triangular matrix features a diagonal of values 1 (one). This is not Doolittle's Method, which features the 1's diagonal on the lower matrix."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6523
msgid "Not all matrices have LU decompositions, for example <userinput>[0,1;1,0]</userinput> does not and this function returns <constant>false</constant> in this case and sets <varname>L</varname> and <varname>U</varname> to <constant>null</constant>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6529
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/LU_decomposition\">Wikipedia</ulink>, <ulink url=\"http://planetmath.org/LUDecomposition\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/LUDecomposition.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6539
msgid "<anchor id=\"gel-function-Minor\"/>Minor"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6541
#, no-wrap
msgid ""
"Minor (M,i,j)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6542
msgid "Get the <varname>i</varname>-<varname>j</varname> minor of a matrix."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6543
msgid "See <ulink url=\"http://planetmath.org/Minor\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6551
msgid "<anchor id=\"gel-function-NonPivotColumns\"/>NonPivotColumns"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6553
#, no-wrap
msgid ""
"NonPivotColumns (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6554
msgid "Return the columns that are not the pivot columns of a matrix."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6559
msgid "<anchor id=\"gel-function-Norm\"/>Norm"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6561
#, no-wrap
msgid ""
"Norm (v,p...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6562
msgid "Aliases: <function>norm</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6563
msgid "Get the p Norm (or 2 Norm if no p is supplied) of a vector."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6568
msgid "<anchor id=\"gel-function-NullSpace\"/>NullSpace"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6570
#, no-wrap
msgid ""
"NullSpace (T)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6571
msgid "Get the nullspace of a matrix. That is the kernel of the linear mapping that the matrix represents. This is returned as a matrix whose column space is the nullspace of <varname>T</varname>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6575
msgid "See <ulink url=\"http://planetmath.org/Nullspace\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6583
msgid "<anchor id=\"gel-function-Nullity\"/>Nullity"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6585
#, no-wrap
msgid ""
"Nullity (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6586
msgid "Aliases: <function>nullity</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6587
msgid "Get the nullity of a matrix. That is, return the dimension of the nullspace; the dimension of the kernel of <varname>M</varname>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6589
msgid "See <ulink url=\"http://planetmath.org/Nullity\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6597
msgid "<anchor id=\"gel-function-OrthogonalComplement\"/>OrthogonalComplement"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6599
#, no-wrap
msgid ""
"OrthogonalComplement (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6600
msgid "Get the orthogonal complement of the columnspace."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6605
msgid "<anchor id=\"gel-function-PivotColumns\"/>PivotColumns"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6607
#, no-wrap
msgid ""
"PivotColumns (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6608
msgid "Return pivot columns of a matrix, that is columns that have a leading 1 in row reduced form. Also returns the row where they occur."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6613
msgid "<anchor id=\"gel-function-Projection\"/>Projection"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6615
#, no-wrap
msgid ""
"Projection (v,W,B...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6616
msgid "Projection of vector <varname>v</varname> onto subspace <varname>W</varname> with respect to inner product given by <varname>B</varname>. If <varname>B</varname> is not given then the standard Hermitian product is used. <varname>B</varname> can either be a sesquilinear function of two arguments or it can be a matrix giving a sesquilinear form."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6626
msgid "<anchor id=\"gel-function-QRDecomposition\"/>QRDecomposition"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6628
#, no-wrap
msgid ""
"QRDecomposition (A, Q)"
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:6636
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>R = QRDecomposition(A,&amp;Q)</userinput>\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6629
msgid "Get the QR decomposition of a square matrix <varname>A</varname>, returns the upper triangular matrix <varname>R</varname> and sets <varname>Q</varname> to the orthogonal (unitary) matrix. <varname>Q</varname> should be a reference or <constant>null</constant> if you don't want any return. For example: <_:screen-1/> You will have the upper triangular matrix stored in a variable called <varname>R</varname> and the orthogonal (unitary) matrix stored in <varname>Q</varname>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6643
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/QR_decomposition\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/QRDecomposition\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/QRDecomposition.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6653
msgid "<anchor id=\"gel-function-RayleighQuotient\"/>RayleighQuotient"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6655
#, no-wrap
msgid ""
"RayleighQuotient (A,x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6656
msgid "Return the Rayleigh quotient (also called the Rayleigh-Ritz quotient or ratio) of a matrix and a vector."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6657
msgid "See <ulink url=\"http://planetmath.org/RayleighQuotient\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6665
msgid "<anchor id=\"gel-function-RayleighQuotientIteration\"/>RayleighQuotientIteration"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6667
#, no-wrap
msgid ""
"RayleighQuotientIteration (A,x,epsilon,maxiter,vecref)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6668
msgid "Find eigenvalues of <varname>A</varname> using the Rayleigh quotient iteration method. <varname>x</varname> is a guess at a eigenvector and could be random. It should have nonzero imaginary part if it will have any chance at finding complex eigenvalues. The code will run at most <varname>maxiter</varname> iterations and return <constant>null</constant> if we cannot get within an error of <varname>epsilon</varname>. <varname>vecref</varname> should either be <constant>null</constant> or a reference to a variable where the eigenvector should be stored."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6678
msgid "See <ulink url=\"http://planetmath.org/RayleighQuotient\">Planetmath</ulink> for more information on Rayleigh quotient."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6686
msgid "<anchor id=\"gel-function-Rank\"/>Rank"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6688
#, no-wrap
msgid ""
"Rank (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6689
msgid "Aliases: <function>rank</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6690
msgid "Get the rank of a matrix."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6691
msgid "See <ulink url=\"http://planetmath.org/SylvestersLaw\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6699
msgid "<anchor id=\"gel-function-RosserMatrix\"/>RosserMatrix"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6701
#, no-wrap
msgid ""
"RosserMatrix ()"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6702
msgid "Returns the Rosser matrix, which is a classic symmetric eigenvalue test problem."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6707
msgid "<anchor id=\"gel-function-Rotation2D\"/>Rotation2D"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6709
#, no-wrap
msgid ""
"Rotation2D (angle)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6710
msgid "Aliases: <function>RotationMatrix</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6711
msgid "Return the matrix corresponding to rotation around origin in R<superscript>2</superscript>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6716
msgid "<anchor id=\"gel-function-Rotation3DX\"/>Rotation3DX"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6718
#, no-wrap
msgid ""
"Rotation3DX (angle)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6719
msgid "Return the matrix corresponding to rotation around origin in R<superscript>3</superscript> about the x-axis."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6724
msgid "<anchor id=\"gel-function-Rotation3DY\"/>Rotation3DY"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6726
#, no-wrap
msgid ""
"Rotation3DY (angle)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6727
msgid "Return the matrix corresponding to rotation around origin in R<superscript>3</superscript> about the y-axis."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6732
msgid "<anchor id=\"gel-function-Rotation3DZ\"/>Rotation3DZ"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6734
#, no-wrap
msgid ""
"Rotation3DZ (angle)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6735
msgid "Return the matrix corresponding to rotation around origin in R<superscript>3</superscript> about the z-axis."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6740
msgid "<anchor id=\"gel-function-RowSpace\"/>RowSpace"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6742
#, no-wrap
msgid ""
"RowSpace (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6743
msgid "Get a basis matrix for the rowspace of a matrix."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6748
msgid "<anchor id=\"gel-function-SesquilinearForm\"/>SesquilinearForm"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6750
#, no-wrap
msgid ""
"SesquilinearForm (v,A,w)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6751
msgid "Evaluate (v,w) with respect to the sesquilinear form given by the matrix A."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6756
msgid "<anchor id=\"gel-function-SesquilinearFormFunction\"/>SesquilinearFormFunction"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6758
#, no-wrap
msgid ""
"SesquilinearFormFunction (A)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6759
msgid "Return a function that evaluates two vectors with respect to the sesquilinear form given by A."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6764
msgid "<anchor id=\"gel-function-SmithNormalFormField\"/>SmithNormalFormField"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6766
#, no-wrap
msgid ""
"SmithNormalFormField (A)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6767
msgid "Returns the Smith normal form of a matrix over fields (will end up with 1's on the diagonal)."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6768
#: C/genius.xml:6780
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Smith_normal_form\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6776
msgid "<anchor id=\"gel-function-SmithNormalFormInteger\"/>SmithNormalFormInteger"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6778
#, no-wrap
msgid ""
"SmithNormalFormInteger (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6779
msgid "Return the Smith normal form for square integer matrices over integers."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6788
msgid "<anchor id=\"gel-function-SolveLinearSystem\"/>SolveLinearSystem"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6790
#, no-wrap
msgid ""
"SolveLinearSystem (M,V,args...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6791
msgid "Solve linear system Mx=V, return solution V if there is a unique solution, <constant>null</constant> otherwise. Extra two reference parameters can optionally be used to get the reduced M and V."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6796
msgid "<anchor id=\"gel-function-ToeplitzMatrix\"/>ToeplitzMatrix"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6798
#, no-wrap
msgid ""
"ToeplitzMatrix (c, r...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6799
msgid "Return the Toeplitz matrix constructed given the first column c and (optionally) the first row r. If only the column c is given then it is conjugated and the nonconjugated version is used for the first row to give a Hermitian matrix (if the first element is real)."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6803
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Toeplitz_matrix\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/ToeplitzMatrix\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6812
msgid "<anchor id=\"gel-function-Trace\"/>Trace"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6814
#, no-wrap
msgid ""
"Trace (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6815
msgid "Aliases: <function>trace</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6816
msgid "Calculate the trace of a matrix. That is the sum of the diagonal elements."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6817
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Trace_(linear_algebra)\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/Trace\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6826
msgid "<anchor id=\"gel-function-Transpose\"/>Transpose"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6828
#, no-wrap
msgid ""
"Transpose (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6829
msgid "Transpose of a matrix. This is the same as the <userinput>.'</userinput> operator."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6831
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Transpose\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/Transpose\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6840
msgid "<anchor id=\"gel-function-VandermondeMatrix\"/>VandermondeMatrix"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6842
#, no-wrap
msgid ""
"VandermondeMatrix (v)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6843
msgid "Aliases: <function>vander</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6844
msgid "Return the Vandermonde matrix."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6845
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Vandermonde_matrix\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6853
msgid "<anchor id=\"gel-function-VectorAngle\"/>VectorAngle"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6855
#, no-wrap
msgid ""
"VectorAngle (v,w,B...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6856
msgid "The angle of two vectors with respect to inner product given by <varname>B</varname>. If <varname>B</varname> is not given then the standard Hermitian product is used. <varname>B</varname> can either be a sesquilinear function of two arguments or it can be a matrix giving a sesquilinear form."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6865
msgid "<anchor id=\"gel-function-VectorSpaceDirectSum\"/>VectorSpaceDirectSum"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6867
#, no-wrap
msgid ""
"VectorSpaceDirectSum (M,N)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6868
msgid "The direct sum of the vector spaces M and N."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6873
msgid "<anchor id=\"gel-function-VectorSubspaceIntersection\"/>VectorSubspaceIntersection"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6875
#, no-wrap
msgid ""
"VectorSubspaceIntersection (M,N)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6876
msgid "Intersection of the subspaces given by M and N."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6881
msgid "<anchor id=\"gel-function-VectorSubspaceSum\"/>VectorSubspaceSum"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6883
#, no-wrap
msgid ""
"VectorSubspaceSum (M,N)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6884
msgid "The sum of the vector spaces M and N, that is {w | w=m+n, m in M, n in N}."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6889
msgid "<anchor id=\"gel-function-adj\"/>adj"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6891
#, no-wrap
msgid ""
"adj (m)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6892
msgid "Aliases: <function>Adjugate</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6893
msgid "Get the classical adjoint (adjugate) of a matrix."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6898
msgid "<anchor id=\"gel-function-cref\"/>cref"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6900
#, no-wrap
msgid ""
"cref (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6901
msgid "Aliases: <function>CREF</function> <function>ColumnReducedEchelonForm</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6902
msgid "Compute the Column Reduced Echelon Form."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6907
msgid "<anchor id=\"gel-function-det\"/>det"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6909
#, no-wrap
msgid ""
"det (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6910
msgid "Aliases: <function>Determinant</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6911
msgid "Get the determinant of a matrix."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6912
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Determinant\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/Determinant2\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6921
msgid "<anchor id=\"gel-function-ref\"/>ref"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6923
#, no-wrap
msgid ""
"ref (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6924
msgid "Aliases: <function>REF</function> <function>RowEchelonForm</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6925
msgid "Get the row echelon form of a matrix. That is, apply gaussian elimination but not backaddition to <varname>M</varname>. The pivot rows are divided to make all pivots 1."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6928
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Row_echelon_form\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/RowEchelonForm\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6937
msgid "<anchor id=\"gel-function-rref\"/>rref"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6939
#, no-wrap
msgid ""
"rref (M)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6940
msgid "Aliases: <function>RREF</function> <function>ReducedRowEchelonForm</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6941
msgid "Get the reduced row echelon form of a matrix. That is, apply gaussian elimination together with backaddition to <varname>M</varname>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6942
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Reduced_row_echelon_form\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/ReducedRowEchelonForm\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:6954
msgid "Combinatorics"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6957
msgid "<anchor id=\"gel-function-Catalan\"/>Catalan"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6959
#, no-wrap
msgid ""
"Catalan (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6960
msgid "Get <varname>n</varname>th Catalan number."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6961
msgid "See <ulink url=\"http://planetmath.org/CatalanNumbers\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6969
msgid "<anchor id=\"gel-function-Combinations\"/>Combinations"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6971
#, no-wrap
msgid ""
"Combinations (k,n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6972
msgid "Get all combinations of k numbers from 1 to n as a vector of vectors. (See also <link linkend=\"gel-function-NextCombination\">NextCombination</link>)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6975
#: C/genius.xml:7173
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Combination\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6983
msgid "<anchor id=\"gel-function-DoubleFactorial\"/>DoubleFactorial"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6985
#, no-wrap
msgid ""
"DoubleFactorial (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6986
msgid "Double factorial: <userinput>n(n-2)(n-4)...</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6987
msgid "See <ulink url=\"http://planetmath.org/DoubleFactorial\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:6995
msgid "<anchor id=\"gel-function-Factorial\"/>Factorial"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:6997
#, no-wrap
msgid ""
"Factorial (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6998
msgid "Factorial: <userinput>n(n-1)(n-2)...</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:6999
msgid "See <ulink url=\"http://planetmath.org/Factorial\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7007
msgid "<anchor id=\"gel-function-FallingFactorial\"/>FallingFactorial"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7009
#, no-wrap
msgid ""
"FallingFactorial (n,k)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7010
msgid "Falling factorial: <userinput>(n)_k = n(n-1)...(n-(k-1))</userinput>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7011
msgid "See <ulink url=\"http://planetmath.org/FallingFactorial\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7019
msgid "<anchor id=\"gel-function-Fibonacci\"/>Fibonacci"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7021
#, no-wrap
msgid ""
"Fibonacci (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7022
msgid "Aliases: <function>fib</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7023
msgid "Calculate <varname>n</varname>th Fibonacci number. That is the number defined recursively by <userinput>Fibonacci(n) = Fibonacci(n-1) + Fibonacci(n-2)</userinput> and <userinput>Fibonacci(1) = Fibonacci(2) = 1</userinput>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7030
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Fibonacci_number\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/FibonacciSequence\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/FibonacciNumber.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7040
msgid "<anchor id=\"gel-function-FrobeniusNumber\"/>FrobeniusNumber"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7042
#, no-wrap
msgid ""
"FrobeniusNumber (v,arg...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7043
msgid "Calculate the Frobenius number. That is calculate largest number that cannot be given as a non-negative integer linear combination of a given vector of non-negative integers. The vector can be given as separate numbers or a single vector. All the numbers given should have GCD of 1."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7050
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Coin_problem\">Wikipedia</ulink> or <ulink url=\"http://mathworld.wolfram.com/FrobeniusNumber.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7059
msgid "<anchor id=\"gel-function-GaloisMatrix\"/>GaloisMatrix"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7061
#, no-wrap
msgid ""
"GaloisMatrix (combining_rule)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7062
msgid "Galois matrix given a linear combining rule (a_1*x_1+...+a_n*x_n=x_(n+1))."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7067
msgid "<anchor id=\"gel-function-GreedyAlgorithm\"/>GreedyAlgorithm"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7069
#, no-wrap
msgid ""
"GreedyAlgorithm (n,v)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7070
msgid "Find the vector <varname>c</varname> of non-negative integers such that taking the dot product with <varname>v</varname> is equal to n. If not possible returns <constant>null</constant>. <varname>v</varname> should be given sorted in increasing order and should consist of non-negative integers."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7077
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Greedy_algorithm\">Wikipedia</ulink> or <ulink url=\"http://mathworld.wolfram.com/GreedyAlgorithm.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7086
msgid "<anchor id=\"gel-function-HarmonicNumber\"/>HarmonicNumber"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7088
#, no-wrap
msgid ""
"HarmonicNumber (n,r)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7089
msgid "Aliases: <function>HarmonicH</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7090
msgid "Harmonic Number, the <varname>n</varname>th harmonic number of order <varname>r</varname>. That is, it is the sum of <userinput>1/k^r</userinput> for <varname>k</varname> from 1 to n. Equivalent to <userinput>sum k = 1 to n do 1/k^r</userinput>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7093
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Harmonic_number\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7101
msgid "<anchor id=\"gel-function-Hofstadter\"/>Hofstadter"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7103
#, no-wrap
msgid ""
"Hofstadter (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7104
msgid "Hofstadter's function q(n) defined by q(1)=1, q(2)=1, q(n)=q(n-q(n-1))+q(n-q(n-2))."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7105
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Hofstadter_sequence\">Wikipedia</ulink> for more information. The sequence is <ulink url=\"https://oeis.org/A005185\">A005185 in OEIS</ulink>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7114
msgid "<anchor id=\"gel-function-LinearRecursiveSequence\"/>LinearRecursiveSequence"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7116
#, no-wrap
msgid ""
"LinearRecursiveSequence (seed_values,combining_rule,n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7117
msgid "Compute linear recursive sequence using Galois stepping."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7122
msgid "<anchor id=\"gel-function-Multinomial\"/>Multinomial"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7124
#, no-wrap
msgid ""
"Multinomial (v,arg...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7125
msgid "Calculate multinomial coefficients. Takes a vector of <varname>k</varname> non-negative integers and computes the multinomial coefficient. This corresponds to the coefficient in the homogeneous polynomial in <varname>k</varname> variables with the corresponding powers."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:7134
#, no-wrap
msgid ""
"(a+b+c)! / (a!b!c!)\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7131
msgid "The formula for <userinput>Multinomial(a,b,c)</userinput> can be written as: <_:programlisting-1/> In other words, if we would have only two elements, then <userinput>Multinomial(a,b)</userinput> is the same thing as <userinput>Binomial(a+b,a)</userinput> or <userinput>Binomial(a+b,b)</userinput>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7141
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Multinomial_theorem\">Wikipedia</ulink>, <ulink url=\"http://planetmath.org/MultinomialTheorem\">Planetmath</ulink>, or <ulink url=\"http://mathworld.wolfram.com/MultinomialCoefficient.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7151
msgid "<anchor id=\"gel-function-NextCombination\"/>NextCombination"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7153
#, no-wrap
msgid ""
"NextCombination (v,n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7154
msgid "Get combination that would come after v in call to combinations, first combination should be <userinput>[1:k]</userinput>. This function is useful if you have many combinations to go through and you don't want to waste memory to store them all."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:7161
#, no-wrap
msgid ""
"<userinput>for n in Combinations (4,6) do (\n"
"  SomeFunction (n)\n"
");</userinput>\n"
""
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:7166
#, no-wrap
msgid ""
"<userinput>n:=[1:4];\n"
"do (\n"
"  SomeFunction (n)\n"
") while not IsNull(n:=NextCombination(n,6));</userinput>\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7159
msgid "For example with Combinations you would normally write a loop like: <_:screen-1/> But with NextCombination you would write something like: <_:screen-2/> See also <link linkend=\"gel-function-Combinations\">Combinations</link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7181
msgid "<anchor id=\"gel-function-Pascal\"/>Pascal"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7183
#, no-wrap
msgid ""
"Pascal (i)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7184
msgid "Get the Pascal's triangle as a matrix. This will return an <varname>i</varname>+1 by <varname>i</varname>+1 lower diagonal matrix that is the Pascal's triangle after <varname>i</varname> iterations."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7188
msgid "See <ulink url=\"http://planetmath.org/PascalsTriangle\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7196
msgid "<anchor id=\"gel-function-Permutations\"/>Permutations"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7198
#, no-wrap
msgid ""
"Permutations (k,n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7199
msgid "Get all permutations of <varname>k</varname> numbers from 1 to <varname>n</varname> as a vector of vectors."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7200
#: C/genius.xml:7289
msgid "See <ulink url=\"http://mathworld.wolfram.com/Permutation.html\">Mathworld</ulink> or <ulink url=\"https://en.wikipedia.org/wiki/Permutation\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7209
msgid "<anchor id=\"gel-function-RisingFactorial\"/>RisingFactorial"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7211
#, no-wrap
msgid ""
"RisingFactorial (n,k)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7212
msgid "Aliases: <function>Pochhammer</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7213
msgid "(Pochhammer) Rising factorial: (n)_k = n(n+1)...(n+(k-1))."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7214
msgid "See <ulink url=\"http://planetmath.org/RisingFactorial\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7222
msgid "<anchor id=\"gel-function-StirlingNumberFirst\"/>StirlingNumberFirst"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7224
#, no-wrap
msgid ""
"StirlingNumberFirst (n,m)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7225
msgid "Aliases: <function>StirlingS1</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7226
msgid "Stirling number of the first kind."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7227
msgid "See <ulink url=\"http://planetmath.org/StirlingNumbersOfTheFirstKind\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/StirlingNumberoftheFirstKind.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7236
msgid "<anchor id=\"gel-function-StirlingNumberSecond\"/>StirlingNumberSecond"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7238
#, no-wrap
msgid ""
"StirlingNumberSecond (n,m)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7239
msgid "Aliases: <function>StirlingS2</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7240
msgid "Stirling number of the second kind."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7241
msgid "See <ulink url=\"http://planetmath.org/StirlingNumbersSecondKind\">Planetmath</ulink> or <ulink url=\"http://mathworld.wolfram.com/StirlingNumberoftheSecondKind.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7250
msgid "<anchor id=\"gel-function-Subfactorial\"/>Subfactorial"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7252
#, no-wrap
msgid ""
"Subfactorial (n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7253
msgid "Subfactorial: n! times sum_{k=0}^n (-1)^k/k!."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7258
msgid "<anchor id=\"gel-function-Triangular\"/>Triangular"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7260
#, no-wrap
msgid ""
"Triangular (nth)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7261
msgid "Calculate the <varname>n</varname>th triangular number."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7262
msgid "See <ulink url=\"http://planetmath.org/TriangularNumbers\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7270
msgid "<anchor id=\"gel-function-nCr\"/>nCr"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7272
#, no-wrap
msgid ""
"nCr (n,r)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7273
msgid "Aliases: <function>Binomial</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7274
msgid "Calculate combinations, that is, the binomial coefficient. <varname>n</varname> can be any real number."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7276
msgid "See <ulink url=\"http://planetmath.org/Choose\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7284
msgid "<anchor id=\"gel-function-nPr\"/>nPr"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7286
#, no-wrap
msgid ""
"nPr (n,r)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7287
msgid "Calculate the number of permutations of size <varname>r</varname> of numbers from 1 to <varname>n</varname>."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:7301
msgid "Calculus"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7304
msgid "<anchor id=\"gel-function-AdaptiveGaussKronrod\"/>AdaptiveGaussKronrod"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7306
#, no-wrap
msgid ""
"AdaptiveGaussKronrod (f,a,b)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7307
msgid "Find the integral of <function>f</function> over the interval [a,b] using an adaptive algorithm using Gauss-Kronrod rule G7 K15. It will subdivide adaptively until the relative error is less than <link linkend=\"gel-function-AdaptiveGaussKronrodRelativeTolerance\"><function>AdaptiveGaussKronrodRelativeTolerance</function></link> or the absolute error is within <link linkend=\"gel-function-AdaptiveGaussKronrodAbsoluteTolerance\"><function>AdaptiveGaussKronrodAbsoluteTolerance</function></link>. The subinterval with the largest error is subdivided into two until we get a small enough error or until we hit <link linkend=\"gel-function-AdaptiveGaussKronrodMaxIterations\"><function>AdaptiveGaussKronrodMaxIterations</function></link> iterations."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7314
#: C/genius.xml:7334
msgid "If an estimate within the given range is not achieved within the iteration limit, then <constant>null</constant> is returned and error is printed."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7317
#: C/genius.xml:7338
#: C/genius.xml:7455
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Gauss–Kronrod_quadrature_formula\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7326
msgid "<anchor id=\"gel-function-AdaptiveGaussKronrodWithTolerance\"/>AdaptiveGaussKronrodWithTolerance"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7328
#, no-wrap
msgid ""
"AdaptiveGaussKronrod (f,a,b,abstol,reltol)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7329
msgid "Find the integral of <function>f</function> over the interval [a,b] using an adaptive algorithm using Gauss-Kronrod rule G7 K15. It will subdivide adaptively until the relative error is less than <varname>abstol</varname> or the absolute error is within <varname>reltol</varname>. The subinterval with the largest error is subdivided into two until we get a small enough error or until we hit <link linkend=\"gel-function-AdaptiveGaussKronrodMaxIterations\"><function>AdaptiveGaussKronrodMaxIterations</function></link> iterations."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7337
msgid "This function is useful if different precision than the defaults is needed and one does not want to change global parameters. For example, if less precision is needed and speed is paramount. Otherwise just use <link linkend=\"gel-function-AdaptiveGaussKronrod\"><function>AdaptiveGaussKronrod</function></link> or <link linkend=\"gel-function-NumericalIntegral\"><function>NumericalIntegral</function></link>"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7347
msgid "<anchor id=\"gel-function-CompositeSimpsonsRule\"/>CompositeSimpsonsRule"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7349
#, no-wrap
msgid ""
"CompositeSimpsonsRule (f,a,b,n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7350
msgid "Integration of <varname>f</varname> by Composite 1/3 Simpson's Rule on the interval [a,b] with <varname>n</varname> subintervals with error of max(f'''')*h^4*(b-a)/180, note that <varname>n</varname> should be even. If the given <varname>n</varname> is odd, then 1 is added to make it even."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7354
msgid "It is the 1/3 variant of the rule that is used, that is, if the x0,x1,x2,...,xn are the points, then the rule is ((b-a)/n) * (f(x0) + 4*f(x1) + 2*f(x2) + ... + 4*f(x(n-1)) + f(xn))."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7356
#: C/genius.xml:7516
#: C/genius.xml:7542
#: C/genius.xml:7785
#: C/genius.xml:7803
msgid "The <varname>n</varname> argument is optional. If it is not given the value of <varname>NumericalIntegralSteps</varname> is used, which is by default 1000."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7358
#: C/genius.xml:7372
#: C/genius.xml:7386
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Simpson%27s_rule\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/SimpsonsRule\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7367
msgid "<anchor id=\"gel-function-CompositeSimpsonsRuleData\"/>CompositeSimpsonsRuleData"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7369
#, no-wrap
msgid ""
"CompositeSimpsonsRule (f,len)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7370
msgid "Integration using Composite Simpson's rule of a function given by a vector of values <varname>f</varname> given at equal subintervals. The integration interval is taken to be of length <varname>len</varname>, that is, if the interval is [a,b], then <varname>len</varname> should be b-a. The vector <varname>f</varname> should have at least 3 values (representing 2 subintervals). Normally the 1/3 rule is used. If there is an odd number of subintervals, the 3/8 rule is used on the last 3 subintervals."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7382
msgid "<anchor id=\"gel-function-CompositeSimpsonsRuleTolerance\"/>CompositeSimpsonsRuleTolerance"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7384
#, no-wrap
msgid ""
"CompositeSimpsonsRuleTolerance (f,a,b,FourthDerivativeBound,Tolerance)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7385
msgid "Integration of f by Composite 1/3 Simpson's Rule on the interval [a,b] with the number of steps calculated by the fourth derivative bound and the desired tolerance."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7395
msgid "<anchor id=\"gel-function-Derivative\"/>Derivative"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7397
#, no-wrap
msgid ""
"Derivative (f,x0)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7398
msgid "Attempt to calculate derivative by trying first symbolically and then numerically."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7399
#: C/genius.xml:7553
#: C/genius.xml:8975
#: C/genius.xml:8989
#: C/genius.xml:9003
#: C/genius.xml:9017
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Derivative\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7407
msgid "<anchor id=\"gel-function-EvenPeriodicExtension\"/>EvenPeriodicExtension"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7409
#, no-wrap
msgid ""
"EvenPeriodicExtension (f,L)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7410
msgid "Return a function that is the even periodic extension of <function>f</function> with half period <varname>L</varname>. That is a function defined on the interval <userinput>[0,L]</userinput> extended to be even on <userinput>[-L,L]</userinput> and then extended to be periodic with period <userinput>2*L</userinput>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7415
msgid "See also <link linkend=\"gel-function-OddPeriodicExtension\">OddPeriodicExtension</link> and <link linkend=\"gel-function-PeriodicExtension\">PeriodicExtension</link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7426
msgid "<anchor id=\"gel-function-FourierSeriesFunction\"/>FourierSeriesFunction"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7428
#, no-wrap
msgid ""
"FourierSeriesFunction (a,b,L)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7429
msgid "Return a function that is a Fourier series with the coefficients given by the vectors <varname>a</varname> (sines) and <varname>b</varname> (cosines). Note that <userinput>a@(1)</userinput> is the constant coefficient! That is, <userinput>a@(n)</userinput> refers to the term <userinput>cos(x*(n-1)*pi/L)</userinput>, while <userinput>b@(n)</userinput> refers to the term <userinput>sin(x*n*pi/L)</userinput>. Either <varname>a</varname> or <varname>b</varname> can be <constant>null</constant>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7437
#: C/genius.xml:7573
#: C/genius.xml:7593
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Fourier_series\">Wikipedia</ulink> or <ulink url=\"http://mathworld.wolfram.com/FourierSeries.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7446
msgid "<anchor id=\"gel-function-GaussKronrodRule\"/>GaussKronrodRule"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7448
#, no-wrap
msgid ""
"GaussKronrodRule (f,a,b)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7449
msgid "A single shot Gauss-Kronrod rule G7 K15 over the interval [a,b]. It returns a vector where the first element is the approximate integral and the second is the approximate error obtained by subtracting the G7 and K15 approximates. This is already quite good, but often it is better to call it from within the <link linkend=\"gel-function-AdaptiveGaussKronrod\"><function>AdaptiveGaussKronrod</function></link> function, which is the default for <link linkend=\"gel-function-NumericalIntegral\"><function>NumericalIntegral</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7464
msgid "<anchor id=\"gel-function-InfiniteProduct\"/>InfiniteProduct"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7466
#, no-wrap
msgid ""
"InfiniteProduct (func,start,inc)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7467
msgid "Try to calculate an infinite product for a single parameter function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7472
msgid "<anchor id=\"gel-function-InfiniteProduct2\"/>InfiniteProduct2"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7474
#, no-wrap
msgid ""
"InfiniteProduct2 (func,arg,start,inc)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7475
msgid "Try to calculate an infinite product for a double parameter function with func(arg,n)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7480
msgid "<anchor id=\"gel-function-InfiniteSum\"/>InfiniteSum"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7482
#, no-wrap
msgid ""
"InfiniteSum (func,start,inc)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7483
msgid "Try to calculate an infinite sum for a single parameter function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7488
msgid "<anchor id=\"gel-function-InfiniteSum2\"/>InfiniteSum2"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7490
#, no-wrap
msgid ""
"InfiniteSum2 (func,arg,start,inc)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7491
msgid "Try to calculate an infinite sum for a double parameter function with func(arg,n)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7496
msgid "<anchor id=\"gel-function-IsContinuous\"/>IsContinuous"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7498
#, no-wrap
msgid ""
"IsContinuous (f,x0)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7499
msgid "Try and see if a real-valued function is continuous at x0 by calculating the limit there."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7504
msgid "<anchor id=\"gel-function-IsDifferentiable\"/>IsDifferentiable"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7506
#, no-wrap
msgid ""
"IsDifferentiable (f,x0)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7507
msgid "Test for differentiability by approximating the left and right limits and comparing."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7512
msgid "<anchor id=\"gel-function-LeftHandRule\"/>LeftHandRule"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7514
#, no-wrap
msgid ""
"LeftHandRule (f,a,b,n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7515
msgid "Integration by left hand rule on the interval [a,b] with n subintervals."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7522
msgid "<anchor id=\"gel-function-LeftLimit\"/>LeftLimit"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7524
#, no-wrap
msgid ""
"LeftLimit (f,x0)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7525
msgid "Calculate the left limit of a real-valued function at x0."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7530
msgid "<anchor id=\"gel-function-Limit\"/>Limit"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7532
#, no-wrap
msgid ""
"Limit (f,x0)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7533
msgid "Calculate the limit of a real-valued function at x0. Tries to calculate both left and right limits."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7538
msgid "<anchor id=\"gel-function-MidpointRule\"/>MidpointRule"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7540
#, no-wrap
msgid ""
"MidpointRule (f,a,b,n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7541
msgid "Integration by midpoint rule on the interval [a,b] with n subintervals."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7543
msgid "The <varname>n</varname> is optional for version 1.0.28 onwards."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7548
msgid "<anchor id=\"gel-function-NumericalDerivative\"/>NumericalDerivative"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7550
#, no-wrap
msgid ""
"NumericalDerivative (f,x0)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7551
msgid "Aliases: <function>NDerivative</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7552
msgid "Attempt to calculate numerical derivative."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7561
msgid "<anchor id=\"gel-function-NumericalFourierSeriesCoefficients\"/>NumericalFourierSeriesCoefficients"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7563
#, no-wrap
msgid ""
"NumericalFourierSeriesCoefficients (f,L,N)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7564
msgid "Return a vector of vectors <userinput>[a,b]</userinput> where <varname>a</varname> are the cosine coefficients and <varname>b</varname> are the sine coefficients of the Fourier series of <function>f</function> with half-period <varname>L</varname> (that is defined on <userinput>[-L,L]</userinput> and extended periodically) with coefficients up to <varname>N</varname>th harmonic computed numerically. The coefficients are computed by numerical integration using <link linkend=\"gel-function-NumericalIntegral\"><function>NumericalIntegral</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7583
msgid "<anchor id=\"gel-function-NumericalFourierSeriesFunction\"/>NumericalFourierSeriesFunction"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7585
#, no-wrap
msgid ""
"NumericalFourierSeriesFunction (f,L,N)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7586
msgid "Return a function that is the Fourier series of <function>f</function> with half-period <varname>L</varname> (that is defined on <userinput>[-L,L]</userinput> and extended periodically) with coefficients up to <varname>N</varname>th harmonic computed numerically. This is the trigonometric real series composed of sines and cosines. The coefficients are computed by numerical integration using <link linkend=\"gel-function-NumericalIntegral\"><function>NumericalIntegral</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7603
msgid "<anchor id=\"gel-function-NumericalFourierCosineSeriesCoefficients\"/>NumericalFourierCosineSeriesCoefficients"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7605
#, no-wrap
msgid ""
"NumericalFourierCosineSeriesCoefficients (f,L,N)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7606
msgid "Return a vector of coefficients of the cosine Fourier series of <function>f</function> with half-period <varname>L</varname>. That is, we take <function>f</function> defined on <userinput>[0,L]</userinput> take the even periodic extension and compute the Fourier series, which only has cosine terms. The series is computed up to the <varname>N</varname>th harmonic. The coefficients are computed by numerical integration using <link linkend=\"gel-function-NumericalIntegral\"><function>NumericalIntegral</function></link>. Note that <userinput>a@(1)</userinput> is the constant coefficient! That is, <userinput>a@(n)</userinput> refers to the term <userinput>cos(x*(n-1)*pi/L)</userinput>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7618
#: C/genius.xml:7639
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Fourier_series\">Wikipedia</ulink> or <ulink url=\"http://mathworld.wolfram.com/FourierCosineSeries.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7628
msgid "<anchor id=\"gel-function-NumericalFourierCosineSeriesFunction\"/>NumericalFourierCosineSeriesFunction"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7630
#, no-wrap
msgid ""
"NumericalFourierCosineSeriesFunction (f,L,N)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7631
msgid "Return a function that is the cosine Fourier series of <function>f</function> with half-period <varname>L</varname>. That is, we take <function>f</function> defined on <userinput>[0,L]</userinput> take the even periodic extension and compute the Fourier series, which only has cosine terms. The series is computed up to the <varname>N</varname>th harmonic. The coefficients are computed by numerical integration using <link linkend=\"gel-function-NumericalIntegral\"><function>NumericalIntegral</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7649
msgid "<anchor id=\"gel-function-NumericalFourierSineSeriesCoefficients\"/>NumericalFourierSineSeriesCoefficients"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7651
#, no-wrap
msgid ""
"NumericalFourierSineSeriesCoefficients (f,L,N)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7652
msgid "Return a vector of coefficients of the sine Fourier series of <function>f</function> with half-period <varname>L</varname>. That is, we take <function>f</function> defined on <userinput>[0,L]</userinput> take the odd periodic extension and compute the Fourier series, which only has sine terms. The series is computed up to the <varname>N</varname>th harmonic. The coefficients are computed by numerical integration using <link linkend=\"gel-function-NumericalIntegral\"><function>NumericalIntegral</function></link>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7661
#: C/genius.xml:7682
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Fourier_series\">Wikipedia</ulink> or <ulink url=\"http://mathworld.wolfram.com/FourierSineSeries.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7671
msgid "<anchor id=\"gel-function-NumericalFourierSineSeriesFunction\"/>NumericalFourierSineSeriesFunction"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7673
#, no-wrap
msgid ""
"NumericalFourierSineSeriesFunction (f,L,N)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7674
msgid "Return a function that is the sine Fourier series of <function>f</function> with half-period <varname>L</varname>. That is, we take <function>f</function> defined on <userinput>[0,L]</userinput> take the odd periodic extension and compute the Fourier series, which only has sine terms. The series is computed up to the <varname>N</varname>th harmonic. The coefficients are computed by numerical integration using <link linkend=\"gel-function-NumericalIntegral\"><function>NumericalIntegral</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7692
msgid "<anchor id=\"gel-function-NumericalIntegral\"/>NumericalIntegral"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7694
#, no-wrap
msgid ""
"NumericalIntegral (f,a,b)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7695
msgid "Integration by rule set in NumericalIntegralFunction of f from a to b. By default NumericalIntegralFunction is the <link linkend=\"gel-function-AdaptiveGaussKronrod\"><function>AdaptiveGaussKronrod</function></link>, which implements an adaptive algorithm based on the Gauss-Kronrod G7 K15 rule. It is possible that <constant>null</constant> is returned if the algorithm cannot find an approximation within tolerance in a tunable maximum number of iterations."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7700
msgid "Gauss-Kronrod is the default algorithm since version 1.0.28 onwards."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7705
msgid "<anchor id=\"gel-function-NumericalLeftDerivative\"/>NumericalLeftDerivative"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7707
#, no-wrap
msgid ""
"NumericalLeftDerivative (f,x0)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7708
msgid "Attempt to calculate numerical left derivative."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7713
msgid "<anchor id=\"gel-function-NumericalLimitAtInfinity\"/>NumericalLimitAtInfinity"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7715
#, no-wrap
msgid ""
"NumericalLimitAtInfinity (_f,step_fun,tolerance,successive_for_success,N)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7716
msgid "Attempt to calculate the limit of f(step_fun(i)) as i goes from 1 to N."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7721
msgid "<anchor id=\"gel-function-NumericalRightDerivative\"/>NumericalRightDerivative"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7723
#, no-wrap
msgid ""
"NumericalRightDerivative (f,x0)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7724
msgid "Attempt to calculate numerical right derivative."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7729
msgid "<anchor id=\"gel-function-OddPeriodicExtension\"/>OddPeriodicExtension"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7731
#, no-wrap
msgid ""
"OddPeriodicExtension (f,L)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7732
msgid "Return a function that is the odd periodic extension of <function>f</function> with half period <varname>L</varname>. That is a function defined on the interval <userinput>[0,L]</userinput> extended to be odd on <userinput>[-L,L]</userinput> and then extended to be periodic with period <userinput>2*L</userinput>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7737
msgid "See also <link linkend=\"gel-function-EvenPeriodicExtension\">EvenPeriodicExtension</link> and <link linkend=\"gel-function-PeriodicExtension\">PeriodicExtension</link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7748
msgid "<anchor id=\"gel-function-OneSidedFivePointFormula\"/>OneSidedFivePointFormula"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7750
#, no-wrap
msgid ""
"OneSidedFivePointFormula (f,x0,h)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7751
msgid "Compute one-sided derivative using five point formula."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7756
msgid "<anchor id=\"gel-function-OneSidedThreePointFormula\"/>OneSidedThreePointFormula"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7758
#, no-wrap
msgid ""
"OneSidedThreePointFormula (f,x0,h)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7759
msgid "Compute one-sided derivative using three-point formula."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7764
msgid "<anchor id=\"gel-function-PeriodicExtension\"/>PeriodicExtension"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7766
#, no-wrap
msgid ""
"PeriodicExtension (f,a,b)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7767
msgid "Return a function that is the periodic extension of <function>f</function> defined on the interval <userinput>[a,b]</userinput> and has period <userinput>b-a</userinput>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7770
msgid "See also <link linkend=\"gel-function-OddPeriodicExtension\">OddPeriodicExtension</link> and <link linkend=\"gel-function-EvenPeriodicExtension\">EvenPeriodicExtension</link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7781
msgid "<anchor id=\"gel-function-RightHandRule\"/>RightHandRule"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7783
#, no-wrap
msgid ""
"RightHandRule (f,a,b,n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7784
msgid "Integration by right hand rule on the interval [a,b] with n subintervals."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7791
msgid "<anchor id=\"gel-function-RightLimit\"/>RightLimit"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7793
#, no-wrap
msgid ""
"RightLimit (f,x0)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7794
msgid "Calculate the right limit of a real-valued function at <varname>x0</varname>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7799
msgid "<anchor id=\"gel-function-TrapezoidRule\"/>TrapezoidRule"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7801
#, no-wrap
msgid ""
"TrapezoidRule (f,a,b,n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7802
msgid "Integration by trapezoid rule on the interval [a,b] with <varname>n</varname> subintervals."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7809
msgid "<anchor id=\"gel-function-TwoSidedFivePointFormula\"/>TwoSidedFivePointFormula"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7811
#, no-wrap
msgid ""
"TwoSidedFivePointFormula (f,x0,h)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7812
msgid "Compute two-sided derivative using five-point formula."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7817
msgid "<anchor id=\"gel-function-TwoSidedThreePointFormula\"/>TwoSidedThreePointFormula"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7819
#, no-wrap
msgid ""
"TwoSidedThreePointFormula (f,x0,h)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7820
msgid "Compute two-sided derivative using three-point formula."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:7828
msgid "Functions"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7831
msgid "<anchor id=\"gel-function-Argument\"/>Argument"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7833
#, no-wrap
msgid ""
"Argument (z)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7834
msgid "Aliases: <function>Arg</function> <function>arg</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7835
msgid "argument (angle) of complex number. It is in the range (-pi,pi]."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7840
msgid "<anchor id=\"gel-function-BesselJ0\"/>BesselJ0"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7842
#, no-wrap
msgid ""
"BesselJ0 (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7843
msgid "Bessel function of the first kind of order 0. Only implemented for real numbers."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7844
#: C/genius.xml:7857
#: C/genius.xml:7870
#: C/genius.xml:7883
#: C/genius.xml:7896
#: C/genius.xml:7909
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Bessel_functions\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7853
msgid "<anchor id=\"gel-function-BesselJ1\"/>BesselJ1"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7855
#, no-wrap
msgid ""
"BesselJ1 (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7856
msgid "Bessel function of the first kind of order 1. Only implemented for real numbers."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7866
msgid "<anchor id=\"gel-function-BesselJn\"/>BesselJn"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7868
#, no-wrap
msgid ""
"BesselJn (n,x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7869
msgid "Bessel function of the first kind of order <varname>n</varname>. Only implemented for real numbers."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7879
msgid "<anchor id=\"gel-function-BesselY0\"/>BesselY0"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7881
#, no-wrap
msgid ""
"BesselY0 (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7882
msgid "Bessel function of the second kind of order 0. Only implemented for real numbers."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7892
msgid "<anchor id=\"gel-function-BesselY1\"/>BesselY1"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7894
#, no-wrap
msgid ""
"BesselY1 (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7895
msgid "Bessel function of the second kind of order 1. Only implemented for real numbers."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7905
msgid "<anchor id=\"gel-function-BesselYn\"/>BesselYn"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7907
#, no-wrap
msgid ""
"BesselYn (n,x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7908
msgid "Bessel function of the second kind of order <varname>n</varname>. Only implemented for real numbers."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7918
msgid "<anchor id=\"gel-function-DirichletKernel\"/>DirichletKernel"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7920
#, no-wrap
msgid ""
"DirichletKernel (n,t)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7921
msgid "Dirichlet kernel of order <varname>n</varname>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7926
msgid "<anchor id=\"gel-function-DiscreteDelta\"/>DiscreteDelta"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7928
#, no-wrap
msgid ""
"DiscreteDelta (v)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7929
msgid "Returns 1 if and only if all elements are zero."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7934
msgid "<anchor id=\"gel-function-ErrorFunction\"/>ErrorFunction"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7936
#, no-wrap
msgid ""
"ErrorFunction (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7937
msgid "Aliases: <function>erf</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7938
msgid "The error function, 2/sqrt(pi) * int_0^x e^(-t^2) dt."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7939
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Error_function\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/ErrorFunction\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7948
msgid "<anchor id=\"gel-function-FejerKernel\"/>FejerKernel"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7950
#, no-wrap
msgid ""
"FejerKernel (n,t)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7951
msgid "Fejer kernel of order <varname>n</varname> evaluated at <varname>t</varname>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7953
msgid "See <ulink url=\"http://planetmath.org/FejerKernel\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7961
msgid "<anchor id=\"gel-function-GammaFunction\"/>GammaFunction"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7963
#, no-wrap
msgid ""
"GammaFunction (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7964
msgid "Aliases: <function>Gamma</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7965
msgid "The Gamma function. Currently only implemented for real values."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7966
msgid "See <ulink url=\"http://planetmath.org/GammaFunction\">Planetmath</ulink> or <ulink url=\"https://en.wikipedia.org/wiki/Gamma_function\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7975
msgid "<anchor id=\"gel-function-KroneckerDelta\"/>KroneckerDelta"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7977
#, no-wrap
msgid ""
"KroneckerDelta (v)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7978
msgid "Returns 1 if and only if all elements are equal."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:7983
msgid "<anchor id=\"gel-function-LambertW\"/>LambertW"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:7985
#, no-wrap
msgid ""
"LambertW (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7986
msgid "The principal branch of Lambert W function computed for only real values greater than or equal to <userinput>-1/e</userinput>. That is, <function>LambertW</function> is the inverse of the expression <userinput>x*e^x</userinput>. Even for real <varname>x</varname> this expression is not one to one and therefore has two branches over <userinput>[-1/e,0)</userinput>. See <link linkend=\"gel-function-LambertWm1\"><function>LambertWm1</function></link> for the other real branch."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:7995
#: C/genius.xml:8015
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Lambert_W_function\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8004
msgid "<anchor id=\"gel-function-LambertWm1\"/>LambertWm1"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8006
#, no-wrap
msgid ""
"LambertWm1 (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8007
msgid "The minus-one branch of Lambert W function computed for only real values greater than or equal to <userinput>-1/e</userinput> and less than 0. That is, <function>LambertWm1</function> is the second branch of the inverse of <userinput>x*e^x</userinput>. See <link linkend=\"gel-function-LambertW\"><function>LambertW</function></link> for the principal branch."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8023
msgid "<anchor id=\"gel-function-MinimizeFunction\"/>MinimizeFunction"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8025
#, no-wrap
msgid ""
"MinimizeFunction (func,x,incr)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8026
msgid "Find the first value where f(x)=0."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8031
msgid "<anchor id=\"gel-function-MoebiusDiskMapping\"/>MoebiusDiskMapping"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8033
#, no-wrap
msgid ""
"MoebiusDiskMapping (a,z)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8034
msgid "Moebius mapping of the disk to itself mapping a to 0."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8035
#: C/genius.xml:8048
#: C/genius.xml:8061
#: C/genius.xml:8074
#: C/genius.xml:8087
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/M%C3%B6bius_transformation\">Wikipedia</ulink> or <ulink url=\"http://planetmath.org/MobiusTransformation\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8044
msgid "<anchor id=\"gel-function-MoebiusMapping\"/>MoebiusMapping"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8046
#, no-wrap
msgid ""
"MoebiusMapping (z,z2,z3,z4)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8047
msgid "Moebius mapping using the cross ratio taking z2,z3,z4 to 1,0, and infinity respectively."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8057
msgid "<anchor id=\"gel-function-MoebiusMappingInftyToInfty\"/>MoebiusMappingInftyToInfty"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8059
#, no-wrap
msgid ""
"MoebiusMappingInftyToInfty (z,z2,z3)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8060
msgid "Moebius mapping using the cross ratio taking infinity to infinity and z2,z3 to 1 and 0 respectively."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8070
msgid "<anchor id=\"gel-function-MoebiusMappingInftyToOne\"/>MoebiusMappingInftyToOne"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8072
#, no-wrap
msgid ""
"MoebiusMappingInftyToOne (z,z3,z4)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8073
msgid "Moebius mapping using the cross ratio taking infinity to 1 and z3,z4 to 0 and infinity respectively."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8083
msgid "<anchor id=\"gel-function-MoebiusMappingInftyToZero\"/>MoebiusMappingInftyToZero"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8085
#, no-wrap
msgid ""
"MoebiusMappingInftyToZero (z,z2,z4)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8086
msgid "Moebius mapping using the cross ratio taking infinity to 0 and z2,z4 to 1 and infinity respectively."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8096
msgid "<anchor id=\"gel-function-PoissonKernel\"/>PoissonKernel"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8098
#, no-wrap
msgid ""
"PoissonKernel (r,sigma)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8099
msgid "Poisson kernel on D(0,1) (not normalized to 1, that is integral of this is 2pi)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8104
msgid "<anchor id=\"gel-function-PoissonKernelRadius\"/>PoissonKernelRadius"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8106
#, no-wrap
msgid ""
"PoissonKernelRadius (r,sigma)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8107
msgid "Poisson kernel on D(0,R) (not normalized to 1)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8112
msgid "<anchor id=\"gel-function-RiemannZeta\"/>RiemannZeta"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8114
#, no-wrap
msgid ""
"RiemannZeta (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8115
msgid "Aliases: <function>zeta</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8116
msgid "The Riemann zeta function. Currently only implemented for real values."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8117
msgid "See <ulink url=\"http://planetmath.org/RiemannZetaFunction\">Planetmath</ulink> or <ulink url=\"https://en.wikipedia.org/wiki/Riemann_zeta_function\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8126
msgid "<anchor id=\"gel-function-UnitStep\"/>UnitStep"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8128
#, no-wrap
msgid ""
"UnitStep (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8129
msgid "The unit step function is 0 for x&lt;0, 1 otherwise. This is the integral of the Dirac Delta function. Also called the Heaviside function."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8130
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Unit_step\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8138
msgid "<anchor id=\"gel-function-cis\"/>cis"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8140
#, no-wrap
msgid ""
"cis (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8141
msgid "The <function>cis</function> function, that is the same as <userinput>cos(x)+1i*sin(x)</userinput>"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8149
msgid "<anchor id=\"gel-function-deg2rad\"/>deg2rad"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8151
#, no-wrap
msgid ""
"deg2rad (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8152
msgid "Convert degrees to radians."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8157
msgid "<anchor id=\"gel-function-rad2deg\"/>rad2deg"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8159
#, no-wrap
msgid ""
"rad2deg (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8160
msgid "Convert radians to degrees."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8165
msgid "<anchor id=\"gel-function-sinc\"/>sinc"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8167
#, no-wrap
msgid ""
"sinc (x)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8168
msgid "Calculates the unnormalized sinc function, that is <userinput>sin(x)/x</userinput>. If you want the normalized function call <userinput>sinc(pi*x)</userinput>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8171
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Sinc\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:8183
msgid "Equation Solving"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8187
msgid "<anchor id=\"gel-function-CubicFormula\"/>CubicFormula"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8189
#, no-wrap
msgid ""
"CubicFormula (p)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8190
msgid "Compute roots of a cubic (degree 3) polynomial using the cubic formula. The polynomial should be given as a vector of coefficients. That is <userinput>4*x^3 + 2*x + 1</userinput> corresponds to the vector <userinput>[1,2,0,4]</userinput>. Returns a column vector of the three solutions. The first solution is always the real one as a cubic always has one real solution."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8199
msgid "See <ulink url=\"http://planetmath.org/CubicFormula\">Planetmath</ulink>, <ulink url=\"http://mathworld.wolfram.com/CubicFormula.html\">Mathworld</ulink>, or <ulink url=\"https://en.wikipedia.org/wiki/Cubic_equation\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8209
msgid "<anchor id=\"gel-function-EulersMethod\"/>EulersMethod"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8211
#, no-wrap
msgid ""
"EulersMethod (f,x0,y0,x1,n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8212
msgid "Use classical Euler's method to numerically solve y'=f(x,y) for initial <varname>x0</varname>, <varname>y0</varname> going to <varname>x1</varname> with <varname>n</varname> increments, returns <varname>y</varname> at <varname>x1</varname>. Unless you explicitly want to use Euler's method, you should really think about using <link linkend=\"gel-function-RungeKutta\">RungeKutta</link> for solving ODE."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8222
#: C/genius.xml:8263
#: C/genius.xml:8468
#: C/genius.xml:8506
msgid "Systems can be solved by just having <varname>y</varname> be a (column) vector everywhere. That is, <varname>y0</varname> can be a vector in which case <varname>f</varname> should take a number <varname>x</varname> and a vector of the same size for the second argument and should return a vector of the same size."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8229
#: C/genius.xml:8285
msgid "See <ulink url=\"http://mathworld.wolfram.com/EulerForwardMethod.html\">Mathworld</ulink> or <ulink url=\"https://en.wikipedia.org/wiki/Eulers_method\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8238
msgid "<anchor id=\"gel-function-EulersMethodFull\"/>EulersMethodFull"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8240
#, no-wrap
msgid ""
"EulersMethodFull (f,x0,y0,x1,n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8241
msgid "Use classical Euler's method to numerically solve y'=f(x,y) for initial <varname>x0</varname>, <varname>y0</varname> going to <varname>x1</varname> with <varname>n</varname> increments, returns an <userinput>n+1</userinput> by 2 matrix with the <varname>x</varname> and <varname>y</varname> values. Unless you explicitly want to use Euler's method, you should really think about using <link linkend=\"gel-function-RungeKuttaFull\">RungeKuttaFull</link> for solving ODE. Suitable for plugging into <link linkend=\"gel-function-LinePlotDrawLine\">LinePlotDrawLine</link> or <link linkend=\"gel-function-LinePlotDrawPoints\">LinePlotDrawPoints</link>."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:8258
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>LinePlotClear();</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>line = EulersMethodFull(`(x,y)=y,0,1.0,3.0,50);</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>LinePlotDrawLine(line,\"window\",\"fit\",\"color\",\"blue\",\"legend\",\"Exponential growth\");</userinput>\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8256
#: C/genius.xml:8499
#: C/genius.xml:8882
#: C/genius.xml:8922
msgid "Example: <_:screen-1/>"
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:8275
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>LinePlotClear();</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>lines = EulersMethodFull(`(x,y)=[y@(2),-y@(1)],0,[1.0,1.0],10.0,500);</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>lines = ExpandMatrix(lines);</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>firstline = lines@(,[1,2]);</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>secondline = lines@(,[1,3]);</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>LinePlotWindow = [0,10,-2,2];</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>LinePlotDrawLine(firstline,\"color\",\"blue\",\"legend\",\"First\");</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>LinePlotDrawPoints(secondline,\"color\",\"red\",\"thickness\",3,\"legend\",\"Second\");</userinput>\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8270
#: C/genius.xml:8513
msgid "The output for a system is still a n by 2 matrix with the second entry being a vector. If you wish to plot the line, make sure to use row vectors, and then flatten the matrix with <link linkend=\"gel-function-ExpandMatrix\">ExpandMatrix</link>, and pick out the right columns. Example: <_:screen-1/>"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8295
msgid "<anchor id=\"gel-function-FindRootBisection\"/>FindRootBisection"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8297
#, no-wrap
msgid ""
"FindRootBisection (f,a,b,TOL,N)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8298
msgid "Find root of a function using the bisection method. <varname>a</varname> and <varname>b</varname> are the initial guess interval, <userinput>f(a)</userinput> and <userinput>f(b)</userinput> should have opposite signs. <varname>TOL</varname> is the desired tolerance and <varname>N</varname> is the limit on the number of iterations to run, 0 means no limit. The function returns a vector <userinput>[success,value,iteration]</userinput>, where <varname>success</varname> is a boolean indicating success, <varname>value</varname> is the last value computed, and <varname>iteration</varname> is the number of iterations done."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8307
msgid "<anchor id=\"gel-function-FindRootFalsePosition\"/>FindRootFalsePosition"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8309
#, no-wrap
msgid ""
"FindRootFalsePosition (f,a,b,TOL,N)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8310
msgid "Find root of a function using the method of false position. <varname>a</varname> and <varname>b</varname> are the initial guess interval, <userinput>f(a)</userinput> and <userinput>f(b)</userinput> should have opposite signs. <varname>TOL</varname> is the desired tolerance and <varname>N</varname> is the limit on the number of iterations to run, 0 means no limit. The function returns a vector <userinput>[success,value,iteration]</userinput>, where <varname>success</varname> is a boolean indicating success, <varname>value</varname> is the last value computed, and <varname>iteration</varname> is the number of iterations done."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8319
msgid "<anchor id=\"gel-function-FindRootMullersMethod\"/>FindRootMullersMethod"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8321
#, no-wrap
msgid ""
"FindRootMullersMethod (f,x0,x1,x2,TOL,N)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8322
msgid "Find root of a function using the Muller's method. <varname>TOL</varname> is the desired tolerance and <varname>N</varname> is the limit on the number of iterations to run, 0 means no limit. The function returns a vector <userinput>[success,value,iteration]</userinput>, where <varname>success</varname> is a boolean indicating success, <varname>value</varname> is the last value computed, and <varname>iteration</varname> is the number of iterations done."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8329
msgid "<anchor id=\"gel-function-FindRootSecant\"/>FindRootSecant"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8331
#, no-wrap
msgid ""
"FindRootSecant (f,a,b,TOL,N)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8332
msgid "Find root of a function using the secant method. <varname>a</varname> and <varname>b</varname> are the initial guess interval, <userinput>f(a)</userinput> and <userinput>f(b)</userinput> should have opposite signs. <varname>TOL</varname> is the desired tolerance and <varname>N</varname> is the limit on the number of iterations to run, 0 means no limit. The function returns a vector <userinput>[success,value,iteration]</userinput>, where <varname>success</varname> is a boolean indicating success, <varname>value</varname> is the last value computed, and <varname>iteration</varname> is the number of iterations done."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8341
msgid "<anchor id=\"gel-function-HalleysMethod\"/>HalleysMethod"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8343
#, no-wrap
msgid ""
"HalleysMethod (f,df,ddf,guess,epsilon,maxn)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8344
msgid "Find zeros using Halley's method. <varname>f</varname> is the function, <varname>df</varname> is the derivative of <varname>f</varname>, and <varname>ddf</varname> is the second derivative of <varname>f</varname>. <varname>guess</varname> is the initial guess. The function returns after two successive values are within <varname>epsilon</varname> of each other, or after <varname>maxn</varname> tries, in which case the function returns <constant>null</constant> indicating failure."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8351
msgid "See also <link linkend=\"gel-function-NewtonsMethod\"><function>NewtonsMethod</function></link> and <link linkend=\"gel-function-SymbolicDerivative\"><function>SymbolicDerivative</function></link>."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:8356
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>HalleysMethod(`(x)=x^2-10,`(x)=2*x,`(x)=2,3,10^-10,100)</userinput>\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8354
#: C/genius.xml:8380
#: C/genius.xml:8722
msgid "Example to find the square root of 10: <_:screen-1/>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8359
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Halley%27s_method\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8368
msgid "<anchor id=\"gel-function-NewtonsMethod\"/>NewtonsMethod"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8370
#, no-wrap
msgid ""
"NewtonsMethod (f,df,guess,epsilon,maxn)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8371
msgid "Find zeros using Newton's method. <varname>f</varname> is the function and <varname>df</varname> is the derivative of <varname>f</varname>. <varname>guess</varname> is the initial guess. The function returns after two successive values are within <varname>epsilon</varname> of each other, or after <varname>maxn</varname> tries, in which case the function returns <constant>null</constant> indicating failure."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8377
msgid "See also <link linkend=\"gel-function-NewtonsMethodPoly\"><function>NewtonsMethodPoly</function></link> and <link linkend=\"gel-function-SymbolicDerivative\"><function>SymbolicDerivative</function></link>."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:8382
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>NewtonsMethod(`(x)=x^2-10,`(x)=2*x,3,10^-10,100)</userinput>\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8385
#: C/genius.xml:8727
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Newtons_method\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8394
msgid "<anchor id=\"gel-function-PolynomialRoots\"/>PolynomialRoots"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8396
#, no-wrap
msgid ""
"PolynomialRoots (p)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8397
msgid "Compute roots of a polynomial (degrees 1 through 4) using one of the formulas for such polynomials. The polynomial should be given as a vector of coefficients. That is <userinput>4*x^3 + 2*x + 1</userinput> corresponds to the vector <userinput>[1,2,0,4]</userinput>. Returns a column vector of the solutions."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8406
msgid "The function calls <link linkend=\"gel-function-QuadraticFormula\">QuadraticFormula</link>, <link linkend=\"gel-function-CubicFormula\">CubicFormula</link>, and <link linkend=\"gel-function-QuarticFormula\">QuarticFormula</link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8416
msgid "<anchor id=\"gel-function-QuadraticFormula\"/>QuadraticFormula"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8418
#, no-wrap
msgid ""
"QuadraticFormula (p)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8419
msgid "Compute roots of a quadratic (degree 2) polynomial using the quadratic formula. The polynomial should be given as a vector of coefficients. That is <userinput>3*x^2 + 2*x + 1</userinput> corresponds to the vector <userinput>[1,2,3]</userinput>. Returns a column vector of the two solutions."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8427
msgid "See <ulink url=\"http://planetmath.org/QuadraticFormula\">Planetmath</ulink>, or <ulink url=\"http://mathworld.wolfram.com/QuadraticFormula.html\">Mathworld</ulink>, or <ulink url=\"https://en.wikipedia.org/wiki/Quadratic_formula\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8437
msgid "<anchor id=\"gel-function-QuarticFormula\"/>QuarticFormula"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8439
#, no-wrap
msgid ""
"QuarticFormula (p)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8440
msgid "Compute roots of a quartic (degree 4) polynomial using the quartic formula. The polynomial should be given as a vector of coefficients. That is <userinput>5*x^4 + 2*x + 1</userinput> corresponds to the vector <userinput>[1,2,0,0,5]</userinput>. Returns a column vector of the four solutions."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8448
msgid "See <ulink url=\"http://planetmath.org/QuarticFormula\">Planetmath</ulink>, <ulink url=\"http://mathworld.wolfram.com/QuarticEquation.html\">Mathworld</ulink>, or <ulink url=\"https://en.wikipedia.org/wiki/Quartic_equation\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8458
msgid "<anchor id=\"gel-function-RungeKutta\"/>RungeKutta"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8460
#, no-wrap
msgid ""
"RungeKutta (f,x0,y0,x1,n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8461
msgid "Use classical non-adaptive fourth order Runge-Kutta method to numerically solve y'=f(x,y) for initial <varname>x0</varname>, <varname>y0</varname> going to <varname>x1</varname> with <varname>n</varname> increments, returns <varname>y</varname> at <varname>x1</varname>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8475
#: C/genius.xml:8528
msgid "See <ulink url=\"http://mathworld.wolfram.com/Runge-KuttaMethod.html\">Mathworld</ulink> or <ulink url=\"https://en.wikipedia.org/wiki/Runge-Kutta_methods\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8484
msgid "<anchor id=\"gel-function-RungeKuttaFull\"/>RungeKuttaFull"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8486
#, no-wrap
msgid ""
"RungeKuttaFull (f,x0,y0,x1,n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8487
msgid "Use classical non-adaptive fourth order Runge-Kutta method to numerically solve y'=f(x,y) for initial <varname>x0</varname>, <varname>y0</varname> going to <varname>x1</varname> with <varname>n</varname> increments, returns an <userinput>n+1</userinput> by 2 matrix with the <varname>x</varname> and <varname>y</varname> values. Suitable for plugging into <link linkend=\"gel-function-LinePlotDrawLine\">LinePlotDrawLine</link> or <link linkend=\"gel-function-LinePlotDrawPoints\">LinePlotDrawPoints</link>."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:8501
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>LinePlotClear();</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>line = RungeKuttaFull(`(x,y)=y,0,1.0,3.0,50);</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>LinePlotDrawLine(line,\"window\",\"fit\",\"color\",\"blue\",\"legend\",\"Exponential growth\");</userinput>\n"
""
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:8518
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>LinePlotClear();</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>lines = RungeKuttaFull(`(x,y)=[y@(2),-y@(1)],0,[1.0,1.0],10.0,100);</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>lines = ExpandMatrix(lines);</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>firstline = lines@(,[1,2]);</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>secondline = lines@(,[1,3]);</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>LinePlotWindow = [0,10,-2,2];</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>LinePlotDrawLine(firstline,\"color\",\"blue\",\"legend\",\"First\");</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>LinePlotDrawPoints(secondline,\"color\",\"red\",\"thickness\",3,\"legend\",\"Second\");</userinput>\n"
""
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:8542
msgid "Statistics"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8545
msgid "<anchor id=\"gel-function-Average\"/>Average"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8547
#, no-wrap
msgid ""
"Average (m)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8548
msgid "Aliases: <function>average</function> <function>Mean</function> <function>mean</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8549
msgid "Calculate average (the arithmetic mean) of an entire matrix."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8550
#: C/genius.xml:8615
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Mean\">Wikipedia</ulink> or <ulink url=\"http://mathworld.wolfram.com/ArithmeticMean.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8559
msgid "<anchor id=\"gel-function-GaussDistribution\"/>GaussDistribution"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8561
#, no-wrap
msgid ""
"GaussDistribution (x,sigma)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8562
msgid "Integral of the GaussFunction from 0 to <varname>x</varname> (area under the normal curve)."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8563
#: C/genius.xml:8576
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Normal_distribution\">Wikipedia</ulink> or <ulink url=\"http://mathworld.wolfram.com/NormalDistribution.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8572
msgid "<anchor id=\"gel-function-GaussFunction\"/>GaussFunction"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8574
#, no-wrap
msgid ""
"GaussFunction (x,sigma)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8575
msgid "The normalized Gauss distribution function (the normal curve)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8586
msgid "<anchor id=\"gel-function-Median\"/>Median"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8588
#, no-wrap
msgid ""
"Median (m)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8589
msgid "Aliases: <function>median</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8590
msgid "Calculate median of an entire matrix."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8591
#: C/genius.xml:8629
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/Median\">Wikipedia</ulink> or <ulink url=\"http://mathworld.wolfram.com/StatisticalMedian.html\">Mathworld</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8600
msgid "<anchor id=\"gel-function-PopulationStandardDeviation\"/>PopulationStandardDeviation"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8602
#, no-wrap
msgid ""
"PopulationStandardDeviation (m)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8603
msgid "Aliases: <function>stdevp</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8604
msgid "Calculate the population standard deviation of a whole matrix."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8609
msgid "<anchor id=\"gel-function-RowAverage\"/>RowAverage"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8611
#, no-wrap
msgid ""
"RowAverage (m)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8612
msgid "Aliases: <function>RowMean</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8613
msgid "Calculate average of each row in a matrix. That is, compute the arithmetic mean."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8624
msgid "<anchor id=\"gel-function-RowMedian\"/>RowMedian"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8626
#, no-wrap
msgid ""
"RowMedian (m)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8627
msgid "Calculate median of each row in a matrix and return a column vector of the medians."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8638
msgid "<anchor id=\"gel-function-RowPopulationStandardDeviation\"/>RowPopulationStandardDeviation"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8640
#, no-wrap
msgid ""
"RowPopulationStandardDeviation (m)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8641
msgid "Aliases: <function>rowstdevp</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8642
msgid "Calculate the population standard deviations of rows of a matrix and return a vertical vector."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8647
msgid "<anchor id=\"gel-function-RowStandardDeviation\"/>RowStandardDeviation"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8649
#, no-wrap
msgid ""
"RowStandardDeviation (m)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8650
msgid "Aliases: <function>rowstdev</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8651
msgid "Calculate the standard deviations of rows of a matrix and return a vertical vector."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8656
msgid "<anchor id=\"gel-function-StandardDeviation\"/>StandardDeviation"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8658
#, no-wrap
msgid ""
"StandardDeviation (m)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8659
msgid "Aliases: <function>stdev</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8660
msgid "Calculate the standard deviation of a whole matrix."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:8668
msgid "Polynomials"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8671
msgid "<anchor id=\"gel-function-AddPoly\"/>AddPoly"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8673
#, no-wrap
msgid ""
"AddPoly (p1,p2)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8674
msgid "Add two polynomials (vectors)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8679
msgid "<anchor id=\"gel-function-DividePoly\"/>DividePoly"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8681
#, no-wrap
msgid ""
"DividePoly (p,q,&amp;r)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8682
msgid "Divide two polynomials (as vectors) using long division. Returns the quotient of the two polynomials. The optional argument <varname>r</varname> is used to return the remainder. The remainder will have lower degree than <varname>q</varname>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8687
msgid "See <ulink url=\"http://planetmath.org/PolynomialLongDivision\">Planetmath</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8695
msgid "<anchor id=\"gel-function-IsPoly\"/>IsPoly"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8697
#, no-wrap
msgid ""
"IsPoly (p)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8698
msgid "Check if a vector is usable as a polynomial."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8703
msgid "<anchor id=\"gel-function-MultiplyPoly\"/>MultiplyPoly"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8705
#, no-wrap
msgid ""
"MultiplyPoly (p1,p2)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8706
msgid "Multiply two polynomials (as vectors)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8711
msgid "<anchor id=\"gel-function-NewtonsMethodPoly\"/>NewtonsMethodPoly"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8713
#, no-wrap
msgid ""
"NewtonsMethodPoly (poly,guess,epsilon,maxn)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8714
msgid "Find a root of a polynomial using Newton's method. <varname>poly</varname> is the polynomial as a vector and <varname>guess</varname> is the initial guess. The function returns after two successive values are within <varname>epsilon</varname> of each other, or after <varname>maxn</varname> tries, in which case the function returns <constant>null</constant> indicating failure."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8719
msgid "See also <link linkend=\"gel-function-NewtonsMethod\"><function>NewtonsMethod</function></link>."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:8724
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>NewtonsMethodPoly([-10,0,1],3,10^-10,100)</userinput>\n"
""
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8735
msgid "<anchor id=\"gel-function-Poly2ndDerivative\"/>Poly2ndDerivative"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8737
#, no-wrap
msgid ""
"Poly2ndDerivative (p)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8738
msgid "Take second polynomial (as vector) derivative."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8743
msgid "<anchor id=\"gel-function-PolyDerivative\"/>PolyDerivative"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8745
#, no-wrap
msgid ""
"PolyDerivative (p)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8746
msgid "Take polynomial (as vector) derivative."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8751
msgid "<anchor id=\"gel-function-PolyToFunction\"/>PolyToFunction"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8753
#, no-wrap
msgid ""
"PolyToFunction (p)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8754
msgid "Make function out of a polynomial (as vector)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8759
msgid "<anchor id=\"gel-function-PolyToString\"/>PolyToString"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8761
#, no-wrap
msgid ""
"PolyToString (p,var...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8762
msgid "Make string out of a polynomial (as vector)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8767
msgid "<anchor id=\"gel-function-SubtractPoly\"/>SubtractPoly"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8769
#, no-wrap
msgid ""
"SubtractPoly (p1,p2)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8770
msgid "Subtract two polynomials (as vectors)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8775
msgid "<anchor id=\"gel-function-TrimPoly\"/>TrimPoly"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8777
#, no-wrap
msgid ""
"TrimPoly (p)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8778
msgid "Trim zeros from a polynomial (as vector)."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:8786
msgid "Set Theory"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8789
msgid "<anchor id=\"gel-function-Intersection\"/>Intersection"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8791
#, no-wrap
msgid ""
"Intersection (X,Y)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8792
msgid "Returns a set theoretic intersection of X and Y (X and Y are vectors pretending to be sets)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8797
msgid "<anchor id=\"gel-function-IsIn\"/>IsIn"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8799
#, no-wrap
msgid ""
"IsIn (x,X)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8800
msgid "Returns <constant>true</constant> if the element x is in the set X (where X is a vector pretending to be a set)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8805
msgid "<anchor id=\"gel-function-IsSubset\"/>IsSubset"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8807
#, no-wrap
msgid ""
"IsSubset (X, Y)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8808
msgid "Returns <constant>true</constant> if X is a subset of Y (X and Y are vectors pretending to be sets)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8813
msgid "<anchor id=\"gel-function-MakeSet\"/>MakeSet"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8815
#, no-wrap
msgid ""
"MakeSet (X)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8816
msgid "Returns a vector where every element of X appears only once."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8821
msgid "<anchor id=\"gel-function-SetMinus\"/>SetMinus"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8823
#, no-wrap
msgid ""
"SetMinus (X,Y)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8824
msgid "Returns a set theoretic difference X-Y (X and Y are vectors pretending to be sets)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8829
msgid "<anchor id=\"gel-function-Union\"/>Union"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8831
#, no-wrap
msgid ""
"Union (X,Y)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8832
msgid "Returns a set theoretic union of X and Y (X and Y are vectors pretending to be sets)."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:8840
msgid "Commutative Algebra"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8843
msgid "<anchor id=\"gel-function-MacaulayBound\"/>MacaulayBound"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8845
#, no-wrap
msgid ""
"MacaulayBound (c,d)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8846
msgid "For a Hilbert function that is c for degree d, given the Macaulay bound for the Hilbert function of degree d+1 (The c^&lt;d&gt; operator from Green's proof)."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8852
msgid "<anchor id=\"gel-function-MacaulayLowerOperator\"/>MacaulayLowerOperator"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8854
#, no-wrap
msgid ""
"MacaulayLowerOperator (c,d)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8855
msgid "The c_&lt;d&gt; operator from Green's proof of Macaulay's Theorem."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8861
msgid "<anchor id=\"gel-function-MacaulayRep\"/>MacaulayRep"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8863
#, no-wrap
msgid ""
"MacaulayRep (c,d)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8864
msgid "Return the dth Macaulay representation of a positive integer c."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:8872
msgid "Miscellaneous"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8875
msgid "<anchor id=\"gel-function-ASCIIToString\"/>ASCIIToString"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8877
#, no-wrap
msgid ""
"ASCIIToString (vec)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8878
msgid "Convert a vector of ASCII values to a string. See also <link linkend=\"gel-function-StringToASCII\"><function>StringToASCII</function></link>."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:8884
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>ASCIIToString([97,98,99])</userinput>\n"
"= \"abc\"\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8888
#: C/genius.xml:8928
msgid "See <ulink url=\"https://en.wikipedia.org/wiki/ASCII\">Wikipedia</ulink> for more information."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8896
msgid "<anchor id=\"gel-function-AlphabetToString\"/>AlphabetToString"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8898
#, no-wrap
msgid ""
"AlphabetToString (vec,alphabet)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8899
msgid "Convert a vector of 0-based alphabet values (positions in the alphabet string) to a string. A <constant>null</constant> vector results in an empty string. See also <link linkend=\"gel-function-StringToAlphabet\"><function>StringToAlphabet</function></link>."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:8905
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>AlphabetToString([1,2,3,0,0],\"abcd\")</userinput>\n"
"= \"bcdaa\"\n"
"<prompt>genius&gt;</prompt> <userinput>AlphabetToString(null,\"abcd\")</userinput>\n"
"= \"\"\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8903
#: C/genius.xml:8945
#: C/genius.xml:8967
#: C/genius.xml:9058
#: C/genius.xml:9092
#: C/genius.xml:9198
#: C/genius.xml:9266
#: C/genius.xml:9453
#: C/genius.xml:9480
#: C/genius.xml:9527
#: C/genius.xml:9572
#: C/genius.xml:9628
#: C/genius.xml:9682
#: C/genius.xml:9756
msgid "Examples: <_:screen-1/>"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8915
msgid "<anchor id=\"gel-function-StringToASCII\"/>StringToASCII"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8917
#, no-wrap
msgid ""
"StringToASCII (str)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8918
msgid "Convert a string to a (row) vector of ASCII values. See also <link linkend=\"gel-function-ASCIIToString\"><function>ASCIIToString</function></link>."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:8924
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>StringToASCII(\"abc\")</userinput>\n"
"= [97, 98, 99]\n"
""
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8936
msgid "<anchor id=\"gel-function-StringToAlphabet\"/>StringToAlphabet"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8938
#, no-wrap
msgid ""
"StringToAlphabet (str,alphabet)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8939
msgid "Convert a string to a (row) vector of 0-based alphabet values (positions in the alphabet string), -1's for unknown letters. An empty string results in a <constant>null</constant>. See also <link linkend=\"gel-function-AlphabetToString\"><function>AlphabetToString</function></link>."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:8947
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>StringToAlphabet(\"cca\",\"abcd\")</userinput>\n"
"= [2, 2, 0]\n"
"<prompt>genius&gt;</prompt> <userinput>StringToAlphabet(\"ccag\",\"abcd\")</userinput>\n"
"= [2, 2, 0, -1]\n"
""
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:8960
msgid "Symbolic Operations"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8963
msgid "<anchor id=\"gel-function-SymbolicDerivative\"/>SymbolicDerivative"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8965
#, no-wrap
msgid ""
"SymbolicDerivative (f)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8966
msgid "Attempt to symbolically differentiate the function f, where f is a function of one variable."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:8969
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>SymbolicDerivative(sin)</userinput>\n"
"= (`(x)=cos(x))\n"
"<prompt>genius&gt;</prompt> <userinput>SymbolicDerivative(`(x)=7*x^2)</userinput>\n"
"= (`(x)=(7*(2*x)))\n"
""
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8983
msgid "<anchor id=\"gel-function-SymbolicDerivativeTry\"/>SymbolicDerivativeTry"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8985
#, no-wrap
msgid ""
"SymbolicDerivativeTry (f)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:8986
msgid "Attempt to symbolically differentiate the function f, where f is a function of one variable, returns <constant>null</constant> if unsuccessful but is silent. (See <link linkend=\"gel-function-SymbolicDerivative\"><function>SymbolicDerivative</function></link>)"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:8997
msgid "<anchor id=\"gel-function-SymbolicNthDerivative\"/>SymbolicNthDerivative"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:8999
#, no-wrap
msgid ""
"SymbolicNthDerivative (f,n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9000
msgid "Attempt to symbolically differentiate a function n times. (See <link linkend=\"gel-function-SymbolicDerivative\"><function>SymbolicDerivative</function></link>)"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9011
msgid "<anchor id=\"gel-function-SymbolicNthDerivativeTry\"/>SymbolicNthDerivativeTry"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9013
#, no-wrap
msgid ""
"SymbolicNthDerivativeTry (f,n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9014
msgid "Attempt to symbolically differentiate a function n times quietly and return <constant>null</constant> on failure (See <link linkend=\"gel-function-SymbolicNthDerivative\"><function>SymbolicNthDerivative</function></link>)"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9025
msgid "<anchor id=\"gel-function-SymbolicTaylorApproximationFunction\"/>SymbolicTaylorApproximationFunction"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9027
#, no-wrap
msgid ""
"SymbolicTaylorApproximationFunction (f,x0,n)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9028
msgid "Attempt to construct the Taylor approximation function around x0 to the nth degree. (See <link linkend=\"gel-function-SymbolicDerivative\"><function>SymbolicDerivative</function></link>)"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9040
msgid "<anchor id=\"gel-function-ExportPlot\"/>ExportPlot"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9042
#, no-wrap
msgid ""
"ExportPlot (file,type)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9043
#, no-wrap
msgid ""
"ExportPlot (file)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9044
msgid "Export the contents of the plotting window to a file. The type is a string that specifies the file type to use, \"png\", \"eps\", or \"ps\". If the type is not specified, then it is taken to be the extension, in which case the extension must be \".png\", \".eps\", or \".ps\"."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9051
msgid "Note that files are overwritten without asking."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9054
msgid "On successful export, true is returned. Otherwise error is printed and exception is raised."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:9060
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>ExportPlot(\"file.png\")</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>ExportPlot(\"/directory/file\",\"eps\")</userinput>\n"
""
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9069
msgid "<anchor id=\"gel-function-LinePlot\"/>LinePlot"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9071
#, no-wrap
msgid ""
"LinePlot (func1,func2,func3,...)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9072
#, no-wrap
msgid ""
"LinePlot (func1,func2,func3,x1,x2)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9073
#, no-wrap
msgid ""
"LinePlot (func1,func2,func3,x1,x2,y1,y2)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9074
#, no-wrap
msgid ""
"LinePlot (func1,func2,func3,[x1,x2])"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9075
#, no-wrap
msgid ""
"LinePlot (func1,func2,func3,[x1,x2,y1,y2])"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9076
msgid "Plot a function (or several functions) with a line. First (up to 10) arguments are functions, then optionally you can specify the limits of the plotting window as <varname>x1</varname>, <varname>x2</varname>, <varname>y1</varname>, <varname>y2</varname>. If limits are not specified, then the currently set limits apply (See <link linkend=\"gel-function-LinePlotWindow\"><function>LinePlotWindow</function></link>) If the y limits are not specified, then the functions are computed and then the maxima and minima are used."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9087
#: C/genius.xml:9131
#: C/genius.xml:9329
#: C/genius.xml:9448
#: C/genius.xml:9751
msgid "The parameter <link linkend=\"gel-function-LinePlotDrawLegends\"><function>LinePlotDrawLegends</function></link> controls the drawing of the legend."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:9094
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>LinePlot(sin,cos)</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>LinePlot(`(x)=x^2,-1,1,0,1)</userinput>\n"
""
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9102
msgid "<anchor id=\"gel-function-LinePlotClear\"/>LinePlotClear"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9104
#, no-wrap
msgid ""
"LinePlotClear ()"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9105
msgid "Show the line plot window and clear out functions and any other lines that were drawn."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9113
msgid "<anchor id=\"gel-function-LinePlotCParametric\"/>LinePlotCParametric"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9115
#, no-wrap
msgid ""
"LinePlotCParametric (func,...)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9116
#, no-wrap
msgid ""
"LinePlotCParametric (func,t1,t2,tinc)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9117
#, no-wrap
msgid ""
"LinePlotCParametric (func,t1,t2,tinc,x1,x2,y1,y2)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9118
msgid "Plot a parametric complex valued function with a line. First comes the function that returns <computeroutput>x+iy</computeroutput>, then optionally the <varname>t</varname> limits as <userinput>t1,t2,tinc</userinput>, then optionally the limits as <userinput>x1,x2,y1,y2</userinput>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9124
msgid "If limits are not specified, then the currently set limits apply (See <link linkend=\"gel-function-LinePlotWindow\"><function>LinePlotWindow</function></link>). If instead the string \"fit\" is given for the x and y limits, then the limits are the maximum extent of the graph"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9141
msgid "<anchor id=\"gel-function-LinePlotDrawLine\"/>LinePlotDrawLine"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9143
#, no-wrap
msgid ""
"LinePlotDrawLine (x1,y1,x2,y2,...)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9144
#, no-wrap
msgid ""
"LinePlotDrawLine (v,...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9145
msgid "Draw a line from <varname>x1</varname>,<varname>y1</varname> to <varname>x2</varname>,<varname>y2</varname>. <varname>x1</varname>,<varname>y1</varname>, <varname>x2</varname>,<varname>y2</varname> can be replaced by an <varname>n</varname> by 2 matrix for a longer polyline. Alternatively the vector <varname>v</varname> may be a column vector of complex numbers, that is an <varname>n</varname> by 1 matrix and each complex number is then considered a point in the plane."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9155
msgid "Extra parameters can be added to specify line color, thickness, arrows, the plotting window, or legend. You can do this by adding an argument string <userinput>\"color\"</userinput>, <userinput>\"thickness\"</userinput>, <userinput>\"window\"</userinput>, <userinput>\"arrow\"</userinput>, or <userinput>\"legend\"</userinput>, and after it specify the color, the thickness, the window as 4-vector, type of arrow, or the legend. (Arrow and window are from version 1.0.6 onwards.)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9165
msgid "If the line is to be treated as a filled polygon, filled with the given color, you can specify the argument <userinput>\"filled\"</userinput>. Since version 1.0.22 onwards."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9169
#: C/genius.xml:9606
msgid "The color should be either a string indicating the common English word for the color that GTK will recognize such as <userinput>\"red\"</userinput>, <userinput>\"blue\"</userinput>, <userinput>\"yellow\"</userinput>, etc... Alternatively the color can be specified in RGB format as <userinput>\"#rgb\"</userinput>, <userinput>\"#rrggbb\"</userinput>, or <userinput>\"#rrrrggggbbbb\"</userinput>, where the r, g, or b are hex digits of the red, green, and blue components of the color. Finally, since version 1.0.18, the color can also be specified as a real vector specifying the red green and blue components where the components are between 0 and 1, e.g. <userinput>[1.0,0.5,0.1]</userinput>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9180
#: C/genius.xml:9255
msgid "The window should be given as usual as <userinput>[x1,x2,y1,y2]</userinput>, or alternatively can be given as a string <userinput>\"fit\"</userinput> in which case, the x range will be set precisely and the y range will be set with five percent borders around the line."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9187
msgid "Arrow specification should be <userinput>\"origin\"</userinput>, <userinput>\"end\"</userinput>, <userinput>\"both\"</userinput>, or <userinput>\"none\"</userinput>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9194
#: C/genius.xml:9262
#: C/genius.xml:9624
#: C/genius.xml:9678
msgid "Finally, legend should be a string that can be used as the legend in the graph. That is, if legends are being printed."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:9200
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>LinePlotDrawLine(0,0,1,1,\"color\",\"blue\",\"thickness\",3)</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>LinePlotDrawLine([0,0;1,-1;-1,-1])</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>LinePlotDrawLine([0,0;1,1],\"arrow\",\"end\")</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>LinePlotDrawLine(RungeKuttaFull(`(x,y)=y,0,0.001,10,100),\"color\",\"blue\",\"legend\",\"The Solution\")</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>for r=0.0 to 1.0 by 0.1 do LinePlotDrawLine([0,0;1,r],\"color\",[r,(1-r),0.5],\"window\",[0,1,0,1])</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>LinePlotDrawLine([0,0;10,0;10,10;0,10],\"filled\",\"color\",\"green\")</userinput>\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9208
msgid "Unlike many other functions that do not care if they take a column or a row vector, if specifying points as a vector of complex values, due to possible ambiguities, it must always be given as a column vector."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9214
msgid "Specifying <varname>v</varname> as a column vector of complex numbers is implemented from version 1.0.22 and onwards."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9222
msgid "<anchor id=\"gel-function-LinePlotDrawPoints\"/>LinePlotDrawPoints"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9224
#, no-wrap
msgid ""
"LinePlotDrawPoints (x,y,...)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9225
#, no-wrap
msgid ""
"LinePlotDrawPoints (v,...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9226
msgid "Draw a point at <varname>x</varname>,<varname>y</varname>. The input can be an <varname>n</varname> by 2 matrix for <varname>n</varname> different points. This function has essentially the same input as <link linkend=\"gel-function-LinePlotDrawLine\">LinePlotDrawLine</link>. Alternatively the vector <varname>v</varname> may be a column vector of complex numbers, that is an <varname>n</varname> by 1 matrix and each complex number is then considered a point in the plane."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9235
msgid "Extra parameters can be added to specify color, thickness, the plotting window, or legend. You can do this by adding an argument string <userinput>\"color\"</userinput>, <userinput>\"thickness\"</userinput>, <userinput>\"window\"</userinput>, or <userinput>\"legend\"</userinput>, and after it specify the color, the thickness, the window as 4-vector, or the legend."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9245
#: C/genius.xml:9661
msgid "The color should be either a string indicating the common English word for the color that GTK will recognize such as <userinput>\"red\"</userinput>, <userinput>\"blue\"</userinput>, <userinput>\"yellow\"</userinput>, etc... Alternatively the color can be specified in RGB format as <userinput>\"#rgb\"</userinput>, <userinput>\"#rrggbb\"</userinput>, or <userinput>\"#rrrrggggbbbb\"</userinput>, where the r, g, or b are hex digits of the red, green, and blue components of the color. Finally the color can also be specified as a real vector specifying the red green and blue components where the components are between 0 and 1."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:9268
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>LinePlotDrawPoints(0,0,\"color\",\"blue\",\"thickness\",3)</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>LinePlotDrawPoints([0,0;1,-1;-1,-1])</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>LinePlotDrawPoints(RungeKuttaFull(`(x,y)=y,0,0.001,10,100),\"color\",\"blue\",\"legend\",\"The Solution\")</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>LinePlotDrawPoints([1;1+1i;1i;0],\"thickness\",5)</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>LinePlotDrawPoints(ApplyOverMatrix((0:6)',`(k)=exp(k*2*pi*1i/7)),\"thickness\",3,\"legend\",\"The 7th roots of unity\")</userinput>\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9275
msgid "Unlike many other functions that do not care if they take a column or a row vector, if specifying points as a vector of complex values, due to possible ambiguities, it must always be given as a column vector. Therefore, notice in the last example the transpose of the vector <userinput>0:6</userinput> to make it into a column vector."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9283
msgid "Available from version 1.0.18 onwards. Specifying <varname>v</varname> as a column vector of complex numbers is implemented from version 1.0.22 and onwards."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9292
msgid "<anchor id=\"gel-function-LinePlotMouseLocation\"/>LinePlotMouseLocation"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9294
#, no-wrap
msgid ""
"LinePlotMouseLocation ()"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9295
msgid "Returns a row vector of a point on the line plot corresponding to the current mouse location. If the line plot is not visible, then prints an error and returns <constant>null</constant>. In this case you should run <link linkend=\"gel-function-LinePlot\"><function>LinePlot</function></link> or <link linkend=\"gel-function-LinePlotClear\"><function>LinePlotClear</function></link> to put the graphing window into the line plot mode. See also <link linkend=\"gel-function-LinePlotWaitForClick\"><function>LinePlotWaitForClick</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9310
msgid "<anchor id=\"gel-function-LinePlotParametric\"/>LinePlotParametric"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9312
#, no-wrap
msgid ""
"LinePlotParametric (xfunc,yfunc,...)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9313
#, no-wrap
msgid ""
"LinePlotParametric (xfunc,yfunc,t1,t2,tinc)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9314
#, no-wrap
msgid ""
"LinePlotParametric (xfunc,yfunc,t1,t2,tinc,x1,x2,y1,y2)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9315
#, no-wrap
msgid ""
"LinePlotParametric (xfunc,yfunc,t1,t2,tinc,[x1,x2,y1,y2])"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9316
#, no-wrap
msgid ""
"LinePlotParametric (xfunc,yfunc,t1,t2,tinc,\"fit\")"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9317
msgid "Plot a parametric function with a line. First come the functions for <varname>x</varname> and <varname>y</varname> then optionally the <varname>t</varname> limits as <userinput>t1,t2,tinc</userinput>, then optionally the limits as <userinput>x1,x2,y1,y2</userinput>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9322
msgid "If x and y limits are not specified, then the currently set limits apply (See <link linkend=\"gel-function-LinePlotWindow\"><function>LinePlotWindow</function></link>). If instead the string \"fit\" is given for the x and y limits, then the limits are the maximum extent of the graph"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9338
msgid "<anchor id=\"gel-function-LinePlotWaitForClick\"/>LinePlotWaitForClick"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9340
#, no-wrap
msgid ""
"LinePlotWaitForClick ()"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9341
msgid "If in line plot mode, waits for a click on the line plot window and returns the location of the click as a row vector. If the window is closed the function returns immediately with <constant>null</constant>. If the window is not in line plot mode, it is put in it and shown if not shown. See also <link linkend=\"gel-function-LinePlotMouseLocation\"><function>LinePlotMouseLocation</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9355
msgid "<anchor id=\"gel-function-PlotCanvasFreeze\"/>PlotCanvasFreeze"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9357
#, no-wrap
msgid ""
"PlotCanvasFreeze ()"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9358
msgid "Freeze drawing of the canvas plot temporarily. Useful if you need to draw a bunch of elements and want to delay drawing everything to avoid flicker in an animation. After everything has been drawn you should call <link linkend=\"gel-function-PlotCanvasThaw\"><function>PlotCanvasThaw</function></link>."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9363
msgid "The canvas is always thawed after end of any execution, so it will never remain frozen. The moment a new command line is shown for example the plot canvas is thawed automatically. Also note that calls to freeze and thaw may be safely nested."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9373
msgid "<anchor id=\"gel-function-PlotCanvasThaw\"/>PlotCanvasThaw"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9375
#, no-wrap
msgid ""
"PlotCanvasThaw ()"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9376
msgid "Thaw the plot canvas frozen by <link linkend=\"gel-function-PlotCanvasFreeze\"><function>PlotCanvasFreeze</function></link> and redraw the canvas immediately. The canvas is also always thawed after end of execution of any program."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9387
msgid "<anchor id=\"gel-function-PlotWindowPresent\"/>PlotWindowPresent"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9389
#, no-wrap
msgid ""
"PlotWindowPresent ()"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9390
msgid "Show and raise the plot window, creating it if necessary. Normally the window is created when one of the plotting functions is called, but it is not always raised if it happens to be below other windows. So this function is good to call in scripts where the plot window might have been created before, and by now is hidden behind the console or other windows."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9399
msgid "Version 1.0.19 onwards."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9404
msgid "<anchor id=\"gel-function-SlopefieldClearSolutions\"/>SlopefieldClearSolutions"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9406
#, no-wrap
msgid ""
"SlopefieldClearSolutions ()"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9407
msgid "Clears the solutions drawn by the <link linkend=\"gel-function-SlopefieldDrawSolution\"><function>SlopefieldDrawSolution</function></link> function."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9416
msgid "<anchor id=\"gel-function-SlopefieldDrawSolution\"/>SlopefieldDrawSolution"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9418
#, no-wrap
msgid ""
"SlopefieldDrawSolution (x, y, dx)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9419
msgid "When a slope field plot is active, draw a solution with the specified initial condition. The standard Runge-Kutta method is used with increment <varname>dx</varname>. Solutions stay on the graph until a different plot is shown or until you call <link linkend=\"gel-function-SlopefieldClearSolutions\"><function>SlopefieldClearSolutions</function></link>. You can also use the graphical interface to draw solutions and specify initial conditions with the mouse."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9433
msgid "<anchor id=\"gel-function-SlopefieldPlot\"/>SlopefieldPlot"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9435
#, no-wrap
msgid ""
"SlopefieldPlot (func)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9436
#, no-wrap
msgid ""
"SlopefieldPlot (func,x1,x2,y1,y2)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9437
msgid "Plot a slope field. The function <varname>func</varname> should take two real numbers <varname>x</varname> and <varname>y</varname>, or a single complex number. Optionally you can specify the limits of the plotting window as <varname>x1</varname>, <varname>x2</varname>, <varname>y1</varname>, <varname>y2</varname>. If limits are not specified, then the currently set limits apply (See <link linkend=\"gel-function-LinePlotWindow\"><function>LinePlotWindow</function></link>)."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:9455
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>SlopefieldPlot(`(x,y)=sin(x-y),-5,5,-5,5)</userinput>\n"
""
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9462
msgid "<anchor id=\"gel-function-SurfacePlot\"/>SurfacePlot"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9464
#, no-wrap
msgid ""
"SurfacePlot (func)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9465
#, no-wrap
msgid ""
"SurfacePlot (func,x1,x2,y1,y2,z1,z2)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9466
#, no-wrap
msgid ""
"SurfacePlot (func,x1,x2,y1,y2)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9467
#, no-wrap
msgid ""
"SurfacePlot (func,[x1,x2,y1,y2,z1,z2])"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9468
#, no-wrap
msgid ""
"SurfacePlot (func,[x1,x2,y1,y2])"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9469
msgid "Plot a surface function that takes either two arguments or a complex number. First comes the function then optionally limits as <varname>x1</varname>, <varname>x2</varname>, <varname>y1</varname>, <varname>y2</varname>, <varname>z1</varname>, <varname>z2</varname>. If limits are not specified, then the currently set limits apply (See <link linkend=\"gel-function-SurfacePlotWindow\"><function>SurfacePlotWindow</function></link>). Genius can only plot a single surface function at this time."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9477
msgid "If the z limits are not specified then the maxima and minima of the function are used."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:9482
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>SurfacePlot(|sin|,-1,1,-1,1,0,1.5)</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>SurfacePlot(`(x,y)=x^2+y,-1,1,-1,1,-2,2)</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>SurfacePlot(`(z)=|z|^2,-1,1,-1,1,0,2)</userinput>\n"
""
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9491
msgid "<anchor id=\"gel-function-SurfacePlotClear\"/>SurfacePlotClear"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9493
#, no-wrap
msgid ""
"SurfacePlotClear ()"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9494
msgid "Show the surface plot window and clear out functions and any other lines that were drawn."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9498
msgid "Available in version 1.0.19 and onwards."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9505
msgid "<anchor id=\"gel-function-SurfacePlotData\"/>SurfacePlotData"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9507
#, no-wrap
msgid ""
"SurfacePlotData (data)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9508
#, no-wrap
msgid ""
"SurfacePlotData (data,label)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9509
#, no-wrap
msgid ""
"SurfacePlotData (data,x1,x2,y1,y2,z1,z2)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9510
#, no-wrap
msgid ""
"SurfacePlotData (data,label,x1,x2,y1,y2,z1,z2)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9511
#, no-wrap
msgid ""
"SurfacePlotData (data,[x1,x2,y1,y2,z1,z2])"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9512
#, no-wrap
msgid ""
"SurfacePlotData (data,label,[x1,x2,y1,y2,z1,z2])"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9513
msgid "Plot a surface from data. The data is an n by 3 matrix whose rows are the x, y and z coordinates. The data can also be simply a vector whose length is a multiple of 3 and so contains the triples of x, y, z. The data should contain at least 3 points."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9520
msgid "Optionally we can give the label and also optionally the limits. If limits are not given, they are computed from the data, <link linkend=\"gel-function-SurfacePlotWindow\"><function>SurfacePlotWindow</function></link> is not used, if you want to use it, pass it in explicitly. If label is not given then empty label is used."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:9529
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>SurfacePlotData([0,0,0;1,0,1;0,1,1;1,1,3])</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>SurfacePlotData(data,\"My data\")</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>SurfacePlotData(data,-1,1,-1,1,0,10)</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>SurfacePlotData(data,SurfacePlotWindow)</userinput>\n"
""
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:9539
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>d:=null; for r=0 to 1 by 0.1 do for theta=0 to 2*pi by pi/5 do d=[d;[r*cos(theta),r*sin(theta),-r^2*theta]];</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>SurfacePlotData(d)</userinput>\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9535
msgid "Here's an example of how to plot in polar coordinates, in particular how to plot the function <userinput>-r^2 * theta</userinput>: <_:screen-1/>"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9548
msgid "<anchor id=\"gel-function-SurfacePlotDataGrid\"/>SurfacePlotDataGrid"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9550
#, no-wrap
msgid ""
"SurfacePlotDataGrid (data,[x1,x2,y1,y2])"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9551
#, no-wrap
msgid ""
"SurfacePlotDataGrid (data,[x1,x2,y1,y2,z1,z2])"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9552
#, no-wrap
msgid ""
"SurfacePlotDataGrid (data,[x1,x2,y1,y2],label)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9553
#, no-wrap
msgid ""
"SurfacePlotDataGrid (data,[x1,x2,y1,y2,z1,z2],label)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9554
msgid "Plot a surface from regular rectangular data. The data is given in a n by m matrix where the rows are the x coordinate and the columns are the y coordinate. The x coordinate is divided into equal n-1 subintervals and y coordinate is divided into equal m-1 subintervals. The limits <varname>x1</varname> and <varname>x2</varname> give the interval on the x-axis that we use, and the limits <varname>y1</varname> and <varname>y2</varname> give the interval on the y-axis that we use. If the limits <varname>z1</varname> and <varname>z2</varname> are not given they are computed from the data (to be the extreme values from the data)."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9568
msgid "Optionally we can give the label, if label is not given then empty label is used."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:9574
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>SurfacePlotDataGrid([1,2;3,4],[0,1,0,1])</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>SurfacePlotDataGrid(data,[-1,1,-1,1],\"My data\")</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>d:=null; for i=1 to 20 do for j=1 to 10 do d@(i,j) = (0.1*i-1)^2-(0.1*j)^2;</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>SurfacePlotDataGrid(d,[-1,1,0,1],\"half a saddle\")</userinput>\n"
""
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9585
msgid "<anchor id=\"gel-function-SurfacePlotDrawLine\"/>SurfacePlotDrawLine"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9587
#, no-wrap
msgid ""
"SurfacePlotDrawLine (x1,y1,z1,x2,y2,z2,...)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9588
#, no-wrap
msgid ""
"SurfacePlotDrawLine (v,...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9589
msgid "Draw a line from <varname>x1</varname>,<varname>y1</varname>,<varname>z1</varname> to <varname>x2</varname>,<varname>y2</varname>,<varname>z2</varname>. <varname>x1</varname>,<varname>y1</varname>,<varname>z1</varname>, <varname>x2</varname>,<varname>y2</varname>,<varname>z2</varname> can be replaced by an <varname>n</varname> by 3 matrix for a longer polyline."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9596
#: C/genius.xml:9651
msgid "Extra parameters can be added to specify line color, thickness, the plotting window, or legend. You can do this by adding an argument string <userinput>\"color\"</userinput>, <userinput>\"thickness\"</userinput>, <userinput>\"window\"</userinput>, or <userinput>\"legend\"</userinput>, and after it specify the color, the thickness, the window as 6-vector, or the legend."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9617
#: C/genius.xml:9671
msgid "The window should be given as usual as <userinput>[x1,x2,y1,y2,z1,z2]</userinput>, or alternatively can be given as a string <userinput>\"fit\"</userinput> in which case, the x range will be set precisely and the y range will be set with five percent borders around the line."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:9630
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>SurfacePlotDrawLine(0,0,0,1,1,1,\"color\",\"blue\",\"thickness\",3)</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>SurfacePlotDrawLine([0,0,0;1,-1,2;-1,-1,-3])</userinput>\n"
""
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9634
#: C/genius.xml:9688
msgid "Available from version 1.0.19 onwards."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9641
msgid "<anchor id=\"gel-function-SurfacePlotDrawPoints\"/>SurfacePlotDrawPoints"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9643
#, no-wrap
msgid ""
"SurfacePlotDrawPoints (x,y,z,...)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9644
#, no-wrap
msgid ""
"SurfacePlotDrawPoints (v,...)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9645
msgid "Draw a point at <varname>x</varname>,<varname>y</varname>,<varname>z</varname>. The input can be an <varname>n</varname> by 3 matrix for <varname>n</varname> different points. This function has essentially the same input as <link linkend=\"gel-function-SurfacePlotDrawLine\">SurfacePlotDrawLine</link>."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:9684
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>SurfacePlotDrawPoints(0,0,0,\"color\",\"blue\",\"thickness\",3)</userinput>\n"
"<prompt>genius&gt;</prompt> <userinput>SurfacePlotDrawPoints([0,0,0;1,-1,2;-1,-1,1])</userinput>\n"
""
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9695
msgid "<anchor id=\"gel-function-VectorfieldClearSolutions\"/>VectorfieldClearSolutions"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9697
#, no-wrap
msgid ""
"VectorfieldClearSolutions ()"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9698
msgid "Clears the solutions drawn by the <link linkend=\"gel-function-VectorfieldDrawSolution\"><function>VectorfieldDrawSolution</function></link> function."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9703
#: C/genius.xml:9722
msgid "Version 1.0.6 onwards."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9708
msgid "<anchor id=\"gel-function-VectorfieldDrawSolution\"/>VectorfieldDrawSolution"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9710
#, no-wrap
msgid ""
"VectorfieldDrawSolution (x, y, dt, tlen)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9711
msgid "When a vector field plot is active, draw a solution with the specified initial condition. The standard Runge-Kutta method is used with increment <varname>dt</varname> for an interval of length <varname>tlen</varname>. Solutions stay on the graph until a different plot is shown or until you call <link linkend=\"gel-function-VectorfieldClearSolutions\"><function>VectorfieldClearSolutions</function></link>. You can also use the graphical interface to draw solutions and specify initial conditions with the mouse."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9727
msgid "<anchor id=\"gel-function-VectorfieldPlot\"/>VectorfieldPlot"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9729
#, no-wrap
msgid ""
"VectorfieldPlot (funcx, funcy)"
msgstr ""

#. (itstool) path: listitem/synopsis
#: C/genius.xml:9730
#, no-wrap
msgid ""
"VectorfieldPlot (funcx, funcy, x1, x2, y1, y2)"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9731
msgid "Plot a two dimensional vector field. The function <varname>funcx</varname> should be the dx/dt of the vectorfield and the function <varname>funcy</varname> should be the dy/dt of the vectorfield. The functions should take two real numbers <varname>x</varname> and <varname>y</varname>, or a single complex number. When the parameter <link linkend=\"gel-function-VectorfieldNormalized\"><function>VectorfieldNormalized</function></link> is <constant>true</constant>, then the magnitude of the vectors is normalized. That is, only the direction and not the magnitude is shown."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9744
msgid "Optionally you can specify the limits of the plotting window as <varname>x1</varname>, <varname>x2</varname>, <varname>y1</varname>, <varname>y2</varname>. If limits are not specified, then the currently set limits apply (See <link linkend=\"gel-function-LinePlotWindow\"><function>LinePlotWindow</function></link>)."
msgstr ""

#. (itstool) path: para/screen
#: C/genius.xml:9758
#, no-wrap
msgid ""
"<prompt>genius&gt;</prompt> <userinput>VectorfieldPlot(`(x,y)=x^2-y, `(x,y)=y^2-x, -1, 1, -1, 1)</userinput>\n"
""
msgstr ""

#. (itstool) path: chapter/title
#: C/genius.xml:9771
msgid "Example Programs in GEL"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:9775
#, no-wrap
msgid ""
"function f(x) = if x &lt;= 1 then 1 else (f(x-1)*x)\n"
""
msgstr ""

#. (itstool) path: chapter/para
#: C/genius.xml:9773
msgid "Here is a function that calculates factorials: <_:programlisting-1/>"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:9780
#, no-wrap
msgid ""
"function f(x) = (\n"
"  if x &lt;= 1 then\n"
"    1\n"
"  else\n"
"    (f(x-1)*x)\n"
")\n"
""
msgstr ""

#. (itstool) path: chapter/para
#: C/genius.xml:9778
msgid "With indentation it becomes: <_:programlisting-1/>"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:9790
#, no-wrap
msgid ""
"function f(x) = (\n"
"  if (x &lt;= 1) then return (1);\n"
"  return (f(x-1) * x)\n"
")\n"
""
msgstr ""

#. (itstool) path: chapter/para
#: C/genius.xml:9788
msgid "This is a direct port of the factorial function from the <application>bc</application> manpage. The syntax seems similar to <application>bc</application>, but different in that in GEL, the last expression is the one that is returned. Using the <literal>return</literal> function instead, it would be: <_:programlisting-1/>"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:9801
#, no-wrap
msgid ""
"function f(x) = prod k=1 to x do k\n"
""
msgstr ""

#. (itstool) path: chapter/para
#: C/genius.xml:9797
msgid "By far the easiest way to define a factorial function would be using the product loop as follows. This is not only the shortest and fastest, but also probably the most readable version. <_:programlisting-1/>"
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:9810
#, no-wrap
msgid ""
"# Calculate the row-echelon form of a matrix\n"
"function MyOwnREF(m) = (\n"
"  if not IsMatrix(m) or not IsValueOnly(m) then\n"
"    (error(\"MyOwnREF: argument not a value only matrix\");bailout);\n"
"  s := min(rows(m), columns(m));\n"
"  i := 1;\n"
"  d := 1;\n"
"  while d &lt;= s and i &lt;= columns(m) do (\n"
"\n"
"    # This just makes the anchor element non-zero if at\n"
"    # all possible\n"
"    if m@(d,i) == 0 then (\n"
"      j := d+1;\n"
"      while j &lt;= rows(m) do (\n"
"        if m@(j,i) == 0 then\n"
"          (j=j+1;continue);\n"
"        a := m@(j,);\n"
"        m@(j,) := m@(d,);\n"
"        m@(d,) := a;\n"
"        j := j+1;\n"
"        break\n"
"      )\n"
"    );\n"
"    if m@(d,i) == 0 then\n"
"      (i:=i+1;continue);\n"
"    \n"
"    # Here comes the actual zeroing of all but the anchor\n"
"    # element rows\n"
"    j := d+1;\n"
"    while j &lt;= rows(m)) do (\n"
"      if m@(j,i) != 0 then (\n"
"        m@(j,) := m@(j,)-(m@(j,i)/m@(d,i))*m@(d,)\n"
"      );\n"
"      j := j+1\n"
"    );\n"
"    m@(d,) := m@(d,) * (1/m@(d,i));\n"
"    d := d+1;\n"
"    i := i+1\n"
"  );\n"
"  m\n"
")\n"
""
msgstr ""

#. (itstool) path: chapter/para
#: C/genius.xml:9805
msgid "Here is a larger example, this basically redefines the internal <link linkend=\"gel-function-ref\"><function>ref</function></link> function to calculate the row echelon form of a matrix. The function <function>ref</function> is built in and much faster, but this example demonstrates some of the more complex features of GEL. <_:programlisting-1/>"
msgstr ""

#. (itstool) path: chapter/title
#: C/genius.xml:9858
msgid "Settings"
msgstr ""

#. (itstool) path: chapter/para
#: C/genius.xml:9860
msgid "To configure <application>Genius Mathematics Tool</application>, choose <menuchoice><guimenu>Settings</guimenu> <guimenuitem>Preferences</guimenuitem></menuchoice>. There are several basic parameters provided by the calculator in addition to the ones provided by the standard library. These control how the calculator behaves."
msgstr ""

#. (itstool) path: note/title
#: C/genius.xml:9870
msgid "Changing Settings with GEL"
msgstr ""

#. (itstool) path: note/para
#: C/genius.xml:9871
msgid "Many of the settings in Genius are simply global variables, and can be evaluated and assigned to in the same way as normal variables. See <xref linkend=\"genius-gel-variables\"/> about evaluating and assigning to variables, and <xref linkend=\"genius-gel-function-parameters\"/> for a list of settings that can be modified in this way."
msgstr ""

#. (itstool) path: para/programlisting
#: C/genius.xml:9880
#, no-wrap
msgid ""
"MaxDigits = 12\n"
""
msgstr ""

#. (itstool) path: note/para
#: C/genius.xml:9878
msgid "As an example, you can set the maximum number of digits in a result to 12 by typing: <_:programlisting-1/>"
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:9886
msgid "Output"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9889
msgid "<guilabel>Maximum digits to output</guilabel>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9893
msgid "The maximum digits in a result (<link linkend=\"gel-function-MaxDigits\"><function>MaxDigits</function></link>)"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9897
msgid "<guilabel>Results as floats</guilabel>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9901
msgid "If the results should be always printed as floats (<link linkend=\"gel-function-ResultsAsFloats\"><function>ResultsAsFloats</function></link>)"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9905
msgid "<guilabel>Floats in scientific notation</guilabel>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9909
msgid "If floats should be in scientific notation (<link linkend=\"gel-function-ScientificNotation\"><function>ScientificNotation</function></link>)"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9913
msgid "<guilabel>Always print full expressions</guilabel>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9917
msgid "Should we print out full expressions for non-numeric return values (longer than a line) (<link linkend=\"gel-function-FullExpressions\"><function>FullExpressions</function></link>)"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9922
msgid "<guilabel>Use mixed fractions</guilabel>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9926
msgid "If fractions should be printed as mixed fractions such as \"1 1/3\" rather than \"4/3\". (<link linkend=\"gel-function-MixedFractions\"><function>MixedFractions</function></link>)"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9931
msgid "<guilabel>Display 0.0 when floating point number is less than 10^-x (0=never chop)</guilabel>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9935
msgid "How to chop output. But only when other numbers nearby are large. See the documentation of the parameter <link linkend=\"gel-function-OutputChopExponent\"><function>OutputChopExponent</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9942
msgid "<guilabel>Only chop numbers when another number is greater than 10^-x</guilabel>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9946
msgid "When to chop output. This is set by the parameter <link linkend=\"gel-function-OutputChopWhenExponent\"><function>OutputChopWhenExponent</function></link>. See the documentation of the parameter <link linkend=\"gel-function-OutputChopExponent\"><function>OutputChopExponent</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9953
msgid "<guilabel>Remember output settings across sessions</guilabel>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9957
msgid "Should the output settings in the <guilabel>Number/Expression output options</guilabel> frame be remembered for next session. Does not apply to the <guilabel>Error/Info output options</guilabel> frame."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9959
msgid "If unchecked, either the default or any previously saved settings are used each time Genius starts up. Note that settings are saved at the end of the session, so if you wish to change the defaults check this box, restart <application>Genius Mathematics Tool</application> and then uncheck it again."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9970
msgid "<guilabel>Display errors in a dialog</guilabel>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9974
msgid "If set the errors will be displayed in a separate dialog, if unset the errors will be printed on the console."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9980
msgid "<guilabel>Display information messages in a dialog</guilabel>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9984
msgid "If set the information messages will be displayed in a separate dialog, if unset the information messages will be printed on the console."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:9991
msgid "<guilabel>Maximum errors to display</guilabel>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:9995
msgid "The maximum number of errors to return on one evaluation (<link linkend=\"gel-function-MaxErrors\"><function>MaxErrors</function></link>). If you set this to 0 then all errors are always returned. Usually if some loop causes many errors, then it is unlikely that you will be able to make sense out of more than a few of these, so seeing a long list of errors is usually not helpful."
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:10007
msgid "In addition to these preferences, there are some preferences that can only be changed by setting them in the workspace console. For others that may affect the output see <xref linkend=\"genius-gel-function-parameters\"/>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:10016
msgid "<function>IntegerOutputBase</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:10020
msgid "The base that will be used to output integers"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:10025
msgid "<function>OutputStyle</function>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:10029
msgid "A string, can be <literal>\"normal\"</literal>, <literal>\"latex\"</literal>, <literal>\"mathml\"</literal> or <literal>\"troff\"</literal> and it will affect how matrices (and perhaps other stuff) is printed, useful for pasting into documents. Normal style is the default human readable printing style of <application>Genius Mathematics Tool</application>. The other styles are for typesetting in LaTeX, MathML (XML), or in Troff."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:10041
msgid "Precision"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:10044
msgid "<guilabel>Floating point precision</guilabel>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:10048
msgid "The floating point precision in bits (<link linkend=\"gel-function-FloatPrecision\"><function>FloatPrecision</function></link>). Note that changing this only affects newly computed quantities. Old values stored in variables are obviously still in the old precision and if you want to have them more precise you will have to recompute them. Exceptions to this are the system constants such as <link linkend=\"gel-function-pi\"><function>pi</function></link> or <link linkend=\"gel-function-e\"><function>e</function></link>."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:10062
msgid "<guilabel>Remember precision setting across sessions</guilabel>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:10066
msgid "Should the precision setting be remembered for the next session. If unchecked, either the default or any previously saved setting is used each time Genius starts up. Note that settings are saved at the end of the session, so if you wish to change the default check this box, restart genius and then uncheck it again."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:10079
msgid "Terminal"
msgstr ""

#. (itstool) path: sect1/para
#: C/genius.xml:10081
msgid "Terminal refers to the console in the work area."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:10087
msgid "<guilabel>Scrollback lines</guilabel>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:10091
msgid "Lines of scrollback in the terminal."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:10095
msgid "<guilabel>Font</guilabel>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:10099
msgid "The font to use on the terminal."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:10103
msgid "<guilabel>Black on white</guilabel>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:10107
msgid "If to use black on white on the terminal."
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:10111
msgid "<guilabel>Blinking cursor</guilabel>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:10115
msgid "If the cursor in the terminal should blink when the terminal is in focus. This can sometimes be annoying and it generates idle traffic if you are using Genius remotely."
msgstr ""

#. (itstool) path: sect1/title
#: C/genius.xml:10122
msgid "Memory"
msgstr ""

#. (itstool) path: varlistentry/term
#: C/genius.xml:10125
msgid "<guilabel>Maximum number of nodes to allocate</guilabel>"
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:10129
msgid "Internally all data is put onto small nodes in memory. This gives a limit on the maximum number of nodes to allocate for computations. This limit avoids the problem of running out of memory if you do something by mistake that uses too much memory, such as a recursion without end. This could slow your computer and make it hard to even interrupt the program."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:10137
msgid "Once the limit is reached, <application>Genius Mathematics Tool</application> asks if you wish to interrupt the computation or if you wish to continue. If you continue, no limit is applied and it will be possible to run your computer out of memory. The limit will be applied again next time you execute a program or an expression on the Console regardless of how you answered the question."
msgstr ""

#. (itstool) path: listitem/para
#: C/genius.xml:10145
msgid "Setting the limit to zero means there is no limit to the amount of memory that genius uses."
msgstr ""

#. (itstool) path: chapter/title
#: C/genius.xml:10159
msgid "About <application>Genius Mathematics Tool</application>"
msgstr ""

#. (itstool) path: chapter/para
#: C/genius.xml:10161
msgid "<application>Genius Mathematics Tool</application> was written by Jiří (George) Lebl (<email>jiri.lebl@gmail.com</email>). The history of <application>Genius Mathematics Tool</application> goes back to late 1997. It was the first calculator program for GNOME, but it then grew beyond being just a desktop calculator. To find more information about <application>Genius Mathematics Tool</application>, please visit the <ulink url=\"http://www.jirka.org/genius.html\" type=\"http\">Genius Web page</ulink>."
msgstr ""

#. (itstool) path: chapter/para
#: C/genius.xml:10168
msgid "To report a bug or make a suggestion regarding this application or this manual, send email to me (the author) or post to the mailing list (see the web page)."
msgstr ""

#. (itstool) path: chapter/para
#: C/genius.xml:10174
msgid "This program is distributed under the terms of the GNU General Public license as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. A copy of this license can be found at this <ulink url=\"http://www.gnu.org/copyleft/gpl.html\" type=\"http\">link</ulink>, or in the file COPYING included with the source code of this program."
msgstr ""

#. (itstool) path: chapter/para
#: C/genius.xml:10181
msgid "Jiří Lebl was during various parts of the development partially supported for the work by NSF grants DMS 0900885, DMS 1362337, the University of Illinois at Urbana-Champaign, the University of California at San Diego, the University of Wisconsin-Madison, and Oklahoma State University. The software has been used for both teaching and research."
msgstr ""

