msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2024-02-20 21:27+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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 , 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 "1997-2021 Jiří (George) Lebl" msgstr "" #. (itstool) path: bookinfo/copyright #: C/genius.xml:43 msgid "2004 Kai Willadsen" msgstr "" #. (itstool) path: authorgroup/author #: C/genius.xml:64 msgid "Jiří Lebl Oklahoma State University
jiri.lebl@gmail.com
" msgstr "" #. (itstool) path: authorgroup/author #: C/genius.xml:72 msgid "Kai Willadsen University of Queensland, Australia
kaiw@itee.uq.edu.au
" msgstr "" #. (itstool) path: revdescription/para #: C/genius.xml:148 msgid "Jiri (George) Lebl jiri.lebl@gmail.com" msgstr "" #. (itstool) path: revhistory/revision #: C/genius.xml:144 msgid "0.2 October 2021 <_:revdescription-1/>" msgstr "" #. (itstool) path: bookinfo/releaseinfo #: C/genius.xml:154 msgid "This manual describes version 1.0.27 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 Genius Mathematics Tool application or this manual, please visit the Genius Web page or email me at jiri.lebl@gmail.com." msgstr "" #. (itstool) path: chapter/title #: C/genius.xml:171 msgid "Introduction" msgstr "" #. (itstool) path: chapter/para #: C/genius.xml:172 msgid "The Genius Mathematics Tool 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 Genius Mathematics Tool 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. Genius Mathematics Tool 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 "Genius Mathematics Tool 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 Genius Mathematics Tool" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:218 msgid "You can start Genius Mathematics Tool in the following ways:" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:222 msgid "Applications menu" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:224 msgid "Depending on your operating system and version, the menu item for Genius Mathematics Tool could appear in a number of different places. It can be in the Education, Accessories, Office, Science, or similar submenu, depending on your particular setup. The menu item name you are looking for is Genius Math Tool. Once you locate this menu item click on it to start Genius Mathematics Tool." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:240 msgid "Run 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 gnome-genius." 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 Genius Mathematics Tool execute gnome-genius 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: genius. 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 Genius Mathematics Tool, the window pictured in is displayed." msgstr "" #. (itstool) path: figure/title #: C/genius.xml:274 msgid "Genius Mathematics Tool 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 " Shows Genius Mathematics Tool main window. Contains titlebar, menubar, toolbar and working area. Menubar contains File, Edit, Calculator, Examples, Programs, Settings, and Help menus. " msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:293 msgid "The Genius Mathematics Tool 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 Genius Mathematics Tool. The File menu contains items for loading and saving items and creating new programs. The Load and Run... command does not open a new window for the program, but just executes the program directly. It is equivalent to the load command." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:304 msgid "The Calculator 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 Calculator allows plotting functions using a user friendly dialog box." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:314 msgid "The Examples 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 Genius Mathematics Tool or some mathematical concept." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:322 msgid "The Programs 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 Console 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 Console 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 Genius Mathematics Tool 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 "" "genius> 30*70 + 67^3.0 + ln(7) * (88.8/100)\n" "" msgstr "" #. (itstool) path: para/screen #: C/genius.xml:388 #, no-wrap msgid "" "genius> 62734 + 812634 + 77^4 mod 5\n" "" msgstr "" #. (itstool) path: para/screen #: C/genius.xml:391 #, no-wrap msgid "" "genius> | sin(37) - e^7 |\n" "" msgstr "" #. (itstool) path: para/screen #: C/genius.xml:394 #, no-wrap msgid "" "genius> sum n=1 to 70 do 1/n\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:380 msgid "To evaluate an expression, type it into the Console 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 "" "genius> help\n" "" msgstr "" #. (itstool) path: para/screen #: C/genius.xml:403 #, no-wrap msgid "" "genius> help FunctionName\n" "" msgstr "" #. (itstool) path: para/screen #: C/genius.xml:406 #, no-wrap msgid "" "genius> manual\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 "" "genius> load path/to/program.gel\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 path/to/program.gel, type <_:screen-1/> Genius Mathematics Tool keeps track of the current directory. To list files in the current directory type ls, to change directory do cd directory 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 GEL 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 FileNew Program. A new tab will appear in the work area. You can write a GEL program in this work area. Once you have written your program you can run it by CalculatorRun (or the Run toolbar button). This will execute your program and will display any output on the Console 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. CalculatorRun will always run the currently selected program even if you are on the Console 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 FileSave As.... Similarly as in other programs you can choose FileSave 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 FileSave All Unsaved." 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 FileOpen. 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 FileLoad and Run.... This will run the program without opening it in a separate tab. This is equivalent to the load 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 FileReload from Disk 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:8870 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 Create Plot window. You can access this window by either clicking on the Plot button on the toolbar or selecting Plot from the Calculator menu. You can also access the plotting functionality by using the plotting functions of the GEL language. See 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 Create Plot window. You can also use the LinePlot 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 Plot button, a window opens up with some notebooks in it. You want to be in the Function line plot notebook tab, and inside you want to be on the Functions / Expressions notebook tab. See ." 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 " Shows the line plotting window. " msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:530 msgid "Type expressions with x as the independent variable into the textboxes. Alternatively you can give names of functions such as cos rather then having to type cos(x). 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 2*pi or 10^3. The y (dependent) range can be set automatically by turning on the Fit dependent axis checkbox. The names of the variables can also be changed. Pressing the Plot button produces the graph shown in ." msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:545 msgid "The variables can be renamed by clicking the Change variable names... 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 " The graph produced. " 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 LinePlot 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 Parametric notebook tab to create two dimensional parametric plots. This way you can plot a single parametric function. You can either specify the points as x and y, or giving a single complex number as a function of the variable t. The range of the variable t is given explicitly, and the function is sampled according to the given increment. The x and y range can be set automatically by turning on the Fit dependent axis checkbox, or it can be specified explicitly. See ." 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 " Parametric plotting tab in the Create Plot window. " msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:609 msgid "An example of a parametric plot is given in . 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 LinePlotParametric or LinePlotCParametric 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 " Parametric plot produced " 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 Slope field 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 SlopefieldPlot function." msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:646 msgid "When a slope field is active, there is an extra Solver 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 SlopefieldDrawSolution 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 Vector field 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 VectorfieldPlot 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 Solver 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 VectorfieldDrawSolution 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 Surface plot tab in the main notebook of the Create Plot window. Here you can specify a single expression that should use either x and y as real independent variables or z as a complex variable (where x is the real part of z and y is the imaginary part). For example to plot the modulus of the cosine function for complex parameters, you could enter |cos(z)|. This would be equivalent to |cos(x+1i*y)|. See . For plotting using the command line see the documentation of the SurfacePlot function." msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:720 msgid "The z range can be set automatically by turning on the Fit dependent axis checkbox. The variables can be renamed by clicking the Change variable names... 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 " Modulus of the complex cosine function. " 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 Rotate axis... in the View menu. The View 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 Start rotate animation, to start a continuous slow rotation. This is especially good if using Genius Mathematics Tool 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. Genius Mathematics Tool 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 numbers, Booleans, or strings. GEL also treats matrices 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 <base>\\<number>. 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 E, e or @ 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 .0 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 .0." 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 i. 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 i. If you use i by itself, Genius will interpret this as referring to the variable i. If you need to refer to i by itself, use 1i 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., (1 2/5)i)" 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 true and false; these identifiers can be used like any other variable. You can also use the identifiers True, TRUE, False and FALSE 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 false and any other number as true." 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 true since 1 will be converted to true before being compared to true." 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 \\n,\\t,\\b,\\a and \\r. To get a \\ or \" into the string you can quote it with a \\. 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 print or printn 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 string to convert anything to a string. For example: <_:programlisting-1/> will return <_:programlisting-2/> Strings can also be compared with == (equal), != (not equal) and <=> (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 null. No operations can be performed on it, and nothing is printed when it is returned. Therefore, null is useful when you do not want output from an expression. The value null can be obtained as an expression when you type ., the constant null or nothing. By nothing we mean that if you end an expression with a separator ;, it is equivalent to ending it with a separator followed by a null." 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:2254 msgid "Example: <_:programlisting-1/>" msgstr "" #. (itstool) path: sect2/para #: C/genius.xml:928 msgid "Some functions return null when no value can be returned or an error happened. Also null 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 "" "genius> e\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 )." 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 Tab." 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 hello, HELLO and Hello 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 "" "<identifier> = <value>\n" "<identifier> := <value>\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 = or := 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 b to 5 and then also set a to 5." msgstr "" #. (itstool) path: sect2/para #: C/genius.xml:989 msgid "The = and := operators can both be used to set variables. The difference between them is that the := operator always acts as an assignment operator, whereas the = 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 ." 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 e, pi or GoldenRatio. 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 for a full list. Note that i 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 1i." 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 Ans and ans 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 sin, cos and tan. You can use the help built-in command to get a list of available functions, or see 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 Tab." 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 dosomething, DOSOMETHING and DoSomething 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 <identifier>(<comma separated arguments>) = <function body>\n" "<identifier> = (`() = <function body>)\n" "" msgstr "" #. (itstool) path: sect2/para #: C/genius.xml:1060 msgid "Syntax: <_:programlisting-1/> The ` 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 addup(1,4,9) 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 ... 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 null. Otherwise, it will be a horizontal vector containing all the arguments. For example: <_:programlisting-1/> Then f(1,2,3) yields [2,3], while f(1) yields a null." 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(<comma separated arguments>) = <function body>\n" "`(<comma separated arguments>) = <function body>\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 ). 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 exp or ln, to operate on the function. For example, <_:programlisting-1/> will return a function that takes x and returns exp(sin(x)*cos(x)+4). It is functionally equivalent to typing <_:programlisting-2/> This operation can be useful when quickly defining functions. For example to create a function called f 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 ; 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 ; is not the top most primitive. This slightly differs from other programming languages where the ; 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 ; is found at the end of a parenthesis or a block, genius will append a null to it as if you would have written ;null. 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 # 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 <integer>\" after the expression. Example: 2^(5!) * 3^(6!) mod 5 It could be possible to do modular arithmetic by computing with integers and then modding in the end with the % operator, which simply gives the remainder, but that may be time consuming if not impossible when working with larger numbers. For example, 10^(10^10) % 6 will simply not work (the exponent will be too large), while 10^(10^10) mod 6 is instantaneous. The first expression first tries to compute the integer 10^(10^10) 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> sqrt(4) mod 7\n" "=\n" "[2, 5]\n" "genius> 2*2 mod 7\n" "= 4" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:1228 msgid "Some functions such as sqrt or log 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/> sqrt 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 % 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 "a;b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1268 msgid "The separator, just evaluates both a and b, but returns only the result of b." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1280 msgid "a=b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1282 msgid "The assignment operator. This assigns b to a (a must be a valid lvalue) (note however that this operator may be translated to == if used in a place where boolean expression is expected)" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1294 msgid "a:=b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1296 msgid "The assignment operator. Assigns b to a (a must be a valid lvalue). This is different from = because it never gets translated to a ==." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1307 msgid "|a|" 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: |3 * e^(1i*pi)| returns 3." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1316 msgid "See Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1325 msgid "a^b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1327 msgid "Exponentiation, raises a to the bth power." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1335 msgid "a.^b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1337 msgid "Element by element exponentiation. Raise each element of a matrix a to the bth power. Or if b is a matrix of the same size as a, then do the operation element by element. If a is a number and b is a matrix then it creates matrix of the same size as b with a raised to all the different powers in b." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1352 msgid "a+b" 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 "a-b" 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 "a*b" 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 "a.*b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1387 msgid "Element by element multiplication if a and b are matrices." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1396 msgid "a/b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1398 msgid "Division. When a and b are just numbers this is the normal division. When they are matrices, then this is equivalent to a*b^-1." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1408 msgid "a./b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1410 msgid "Element by element division. Same as a/b for numbers, but operates element by element on matrices." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1419 msgid "a\\b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1421 msgid "Back division. That is this is the same as b/a." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1429 msgid "a.\\b" 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 "a%b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1441 msgid "The mod operator. This does not turn on the modular mode, but just returns the remainder of integer division a/b." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1452 msgid "a.%b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1454 msgid "Element by element mod operator. Returns the remainder after element by element integer division a./b." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1464 msgid "a mod b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1466 msgid "Modular evaluation operator. The expression a is evaluated modulo b. See . Some functions and operators behave differently modulo an integer." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1477 msgid "a!" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1479 msgid "Factorial operator. This is like 1*...*(n-2)*(n-1)*n." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1488 msgid "a!!" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1490 msgid "Double factorial operator. This is like 1*...*(n-4)*(n-2)*n." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1499 msgid "a==b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1501 msgid "Equality operator. Returns true or false depending on a and b being equal or not." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1511 msgid "a!=b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1513 msgid "Inequality operator, returns true if a does not equal b else returns false." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1523 msgid "a<>b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1525 msgid "Alternative inequality operator, returns true if a does not equal b else returns false." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1535 msgid "a<=b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1537 msgid "Less than or equal operator, returns true if a is less than or equal to b else returns false. These can be chained as in a <= b <= c (can also be combined with the less than operator)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1550 msgid "a>=b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1552 msgid "Greater than or equal operator, returns true if a is greater than or equal to b else returns false. These can be chained as in a >= b >= c (and they can also be combined with the greater than operator)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1564 msgid "a<b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1566 msgid "Less than operator, returns true if a is less than b else returns false. These can be chained as in a < b < c (they can also be combined with the less than or equal to operator)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1579 msgid "a>b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1581 msgid "Greater than operator, returns true if a is greater than b else returns false. These can be chained as in a > b > c (they can also be combined with the greater than or equal to operator)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1594 msgid "a<=>b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1596 msgid "Comparison operator. If a is equal to b it returns 0, if a is less than b it returns -1 and if a is greater than b it returns 1." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1608 msgid "a and b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1610 msgid "Logical and. Returns true if both a and b are true, else returns false. If given numbers, nonzero numbers are treated as true." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1621 msgid "a or b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1623 msgid "Logical or. Returns true if either a or b is true, else returns false. If given numbers, nonzero numbers are treated as true." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1635 msgid "a xor b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1637 msgid "Logical xor. Returns true if exactly one of a or b is true, else returns false. If given numbers, nonzero numbers are treated as true." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1649 msgid "not a" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1651 msgid "Logical not. Returns the logical negation of a." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1659 msgid "-a" 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 "&a" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1671 msgid "Variable referencing (to pass a reference to a variable). See ." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1680 #: C/genius.xml:2327 msgid "*a" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1682 msgid "Variable dereferencing (to access a referenced variable). See ." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1691 msgid "a'" 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 a is x+iy, then the j,i element of a' is x-iy." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1702 msgid "a.'" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1704 msgid "Matrix transpose, does not conjugate the entries. That is, the i,j element of a becomes the j,i element of a.'." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1713 msgid "a@(b,c)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1715 msgid "Get element of a matrix in row b and column c. If b, c are vectors, then this gets the corresponding rows, columns or submatrices." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1726 msgid "a@(b,)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1728 msgid "Get row of a matrix (or multiple rows if b is a vector)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1736 msgid "a@(b,:)" 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 "a@(,c)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1748 msgid "Get column of a matrix (or columns if c is a vector)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1757 msgid "a@(:,c)" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1767 msgid "a@(b)" 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 "a:b" 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 a to b (or specify a row, column region for the @ operator). For example to get rows 2 to 4 of matrix A we could do <_:programlisting-1/> as 2:4 will return a vector [2,3,4]." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1792 msgid "a:b:c" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:1797 #, no-wrap msgid "" "genius> 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 a to c with b 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 1.0:0.4:3.0, 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 2^-20 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 float if you wish to get floating point numbers in the end. For example 1:2/5:3 does the right thing and float(1:2/5:3) even gives you floating point numbers and is ever so slightly more precise than 1.0:0.4:3.0." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1828 msgid "(a)i" 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 a into an imaginary number (multiply a by the imaginary). Normally the imaginary number i is written as 1i. So the above is equal to <_:programlisting-1/>" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1842 msgid "`a" 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 "a swapwith b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1854 msgid "Swap value of a with the value of b. Currently does not operate on ranges of matrix elements. It returns null. Available from version 1.0.13." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1865 msgid "increment a" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1867 msgid "Increment the variable a by 1. If a is a matrix, then increment each element. This is equivalent to a=a+1, but it is somewhat faster. It returns null. Available from version 1.0.13." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:1878 msgid "increment a by b" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:1880 msgid "Increment the variable a by b. If a is a matrix, then increment each element. This is equivalent to a=a+b, but it is somewhat faster. It returns null. 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 <=> operator, which behaves normally), are not strictly binary operators, they can in fact be grouped in the normal mathematical way, e.g.: (1<x<=y<5) is a legal boolean expression and means just what it should, that is (1<x and x≤y and y<5)" msgstr "" #. (itstool) path: note/para #: C/genius.xml:1906 msgid "The unitary minus operates in a different fashion depending on where it appears. If it appears before a number it binds very closely, if it appears in front of an expression it binds less than the power and factorial operators. So for example -1^k is really (-1)^k, but -foo(1)^k is really -(foo(1)^k). So be careful how you use it and if in doubt, add parentheses." msgstr "" #. (itstool) path: chapter/title #: C/genius.xml:1921 msgid "Programming with GEL" msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:1924 msgid "Conditionals" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:1927 #, no-wrap msgid "" "if <expression1> then <expression2> [else <expression3>]\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:1925 msgid "Syntax: <_:programlisting-1/> If else is omitted, then if the expression1 yields false or 0, NULL is returned." msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:1933 #, no-wrap msgid "" "if(a==5)then(a=a-1)\n" "if b<a then b=a\n" "if c>0 then c=c-1 else c=0\n" "a = ( if b>0 then b else 1 )\n" "" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:1939 #, no-wrap msgid "" "if a=5 then a=a-1\n" "" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:1942 #, no-wrap msgid "" "if a==5 then a:=a-1\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:1931 msgid "Examples: <_:programlisting-1/> Note that = will be translated to == if used inside the expression for if, so <_:programlisting-2/> will be interpreted as: <_:programlisting-3/>" msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:1948 msgid "Loops" msgstr "" #. (itstool) path: sect2/title #: C/genius.xml:1951 msgid "While Loops" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:1954 #, no-wrap msgid "" "while <expression1> do <expression2>\n" "until <expression1> do <expression2>\n" "do <expression2> while <expression1>\n" "do <expression2> until <expression1>" msgstr "" #. (itstool) path: sect2/para #: C/genius.xml:1952 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 NULL if no iteration was done. In the boolean expression, = is translated into == just as for the if statement." msgstr "" #. (itstool) path: sect2/title #: C/genius.xml:1965 msgid "For Loops" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:1968 #, no-wrap msgid "" "for <identifier> = <from> to <to> do <body>\n" "for <identifier> = <from> to <to> by <increment> do <body>" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:1972 #, no-wrap msgid "" "for i = 1 to 20 by 2 do print(i)\n" "" msgstr "" #. (itstool) path: sect2/para #: C/genius.xml:1966 msgid "Syntax: <_:programlisting-1/> Loop with identifier being set to all values from <from> to <to>, 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 <from> if body was never evaluated. The variable is guaranteed to be initialized after a loop, so you can safely use it. Also the <from>, <to> and <increment> must be non complex values. The <to> 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:1980 #, no-wrap msgid "" "for x = 0 to 1 by 0.1 do print(x)\n" "" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:1985 #, no-wrap msgid "" "for x = 0 to 1 by 1/10 do print(x)\n" "" msgstr "" #. (itstool) path: sect2/para #: C/genius.xml:1975 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:1992 msgid "Foreach Loops" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:1995 #, no-wrap msgid "" "for <identifier> in <matrix> do <body>" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2000 #, no-wrap msgid "" "for n in [1,2:3,4] do print(n)\n" "" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2005 #, no-wrap msgid "" "for n in RowsOf ([1,2:3,4]) do print(n)\n" "" msgstr "" #. (itstool) path: sect2/para #: C/genius.xml:1993 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:2012 msgid "Break and Continue" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2015 #, no-wrap msgid "" "while(<expression1>) do (\n" " if(<expression2>) break\n" " else if(<expression3>) continue;\n" " <expression4>\n" ")\n" "" msgstr "" #. (itstool) path: sect2/para #: C/genius.xml:2013 msgid "You can also use the break and continue commands in loops. The continue continue command will restart the current loop at its next iteration, while the break command exits the current loop. <_:programlisting-1/>" msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:2026 msgid "Sums and Products" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2029 #, no-wrap msgid "" "sum <identifier> = <from> to <to> do <body>\n" "sum <identifier> = <from> to <to> by <increment> do <body>\n" "sum <identifier> in <matrix> do <body>\n" "prod <identifier> = <from> to <to> do <body>\n" "prod <identifier> = <from> to <to> by <increment> do <body>\n" "prod <identifier> in <matrix> do <body>" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2027 msgid "Syntax: <_:programlisting-1/> If you substitute for with sum or prod, then you will get a sum or a product instead of a for 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:2038 msgid "If no body is executed (for example sum i=1 to 0 do ...) then sum returns 0 and prod returns 1 as is the standard convention." msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2041 msgid "For floating point numbers the same roundoff error protection is done as in the for loop. See ." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:2048 msgid "Comparison Operators" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2049 msgid "The following standard comparison operators are supported in GEL and have the obvious meaning: ==, >=, <=, !=, <>, <, >. They return true or false. The operators != and <> are the same thing and mean \"is not equal to\". GEL also supports the operator <=>, 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:2068 #, no-wrap msgid "" "if a=b then c\n" "if a==b then c\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2064 msgid "Normally = is translated to == 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 == or := 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:2077 msgid "All the comparison operators (except for the <=> operator, which behaves normally), are not strictly binary operators, they can in fact be grouped in the normal mathematical way, e.g.: (1<x<=y<5) is a legal boolean expression and means just what it should, that is (1<x and x≤y and y<5)" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2086 msgid "To build up logical expressions use the words not, and, or, xor. The operators or and and are special beasts as they evaluate their arguments one by one, so the usual trick for conditional evaluation works here as well. For example, 1 or a=1 will not set a=1 since the first argument was true." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:2097 msgid "Global Variables and Scope of Variables" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2098 msgid "GEL is a dynamically scoped language. We will explain what this means below. That is, normal variables and functions are dynamically scoped. The exception are parameter variables, which are always global." msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2121 #, no-wrap msgid "" "function f() = (a:=5; g());\n" "function g() = print(a);\n" "f();\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2107 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 f defines a variable a and then calls function g. Then function g can reference a. But once f returns, the variable a goes out of scope. For example, the following code will print out 5. The function g cannot be called on the top level (outside f as a will not be defined). <_:programlisting-1/>" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2130 #, 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:2126 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 g outside of f then you will get a printout of 10. Note that setting a to 5 inside f does not change the value of a at the top (global) level, so if you now check the value of a it will still be 10." msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2144 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:2156 #, no-wrap msgid "" "genius> function f(x) = sin(x)^2\n" "= (`(x)=(sin(x)^2))\n" "genius> function f(x) = sin(x)^2\n" "= (`(x)=(sin(x)^2))\n" "genius> function g(x) = ((function sin(x)=x^10);f(x))\n" "= (`(x)=((sin:=(`(x)=(x^10)));f(x)))\n" "genius> g(10)\n" "= 1e20\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2151 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:2171 #, no-wrap msgid "" "a=6;\n" "function f() = (a:=5);\n" "f();\n" "" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2182 #, no-wrap msgid "" "set(`a,3)\n" "" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2185 #, no-wrap msgid "" "set(\"a\",3)\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2166 msgid "Functions and variables defined at the top level are considered global. They are visible from anywhere. As we said the following function f will not change the value of a 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 set function. Passing a string or a quoted identifier to this function sets the variable globally (on the top level). For example, to set a to the value 3 you could call: <_:programlisting-2/> or: <_:programlisting-3/>" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2188 msgid "The set 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:2194 msgid "See also the SetElement and SetVElement functions." msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2199 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:2210 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 True Local Variables and Returning Functions." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:2223 msgid "Parameter variables" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2228 #, no-wrap msgid "" "parameter foo = 1\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2224 msgid "As we said before, there exist special variables called parameters that exist in all scopes. To declare a parameter called foo with the initial value 1, we write <_:programlisting-1/> From then on, foo is a strictly global variable. Setting foo 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:2235 msgid "When you undefine a parameter using the undefine function, it stops being a parameter." msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2241 msgid "Some parameters are built-in and modify the behavior of genius." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:2247 msgid "Returning" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2248 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 return keyword. return takes one argument, which is the value to be returned." msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2256 #, no-wrap msgid "" "function f(x) = (\n" " y=1;\n" " while true do (\n" " if x>50 then return y;\n" " y=y+1;\n" " x=x+1\n" " )\n" ")\n" "" msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:2270 msgid "References" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2271 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:2286 #, no-wrap msgid "" "RayleighQuotientIteration (A,x,0.001,100,&v)\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2279 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 A with initial eigenvector guess x, and store the computed eigenvector into the variable named v: <_:programlisting-1/>" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2289 msgid "The details of how references work and the syntax is similar to the C language. The operator & references a variable and * dereferences a variable. Both can only be applied to an identifier, so **a is not a legal expression in GEL." msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2298 #, no-wrap msgid "" "a=1;\n" "b=&a;\n" "*b=2;\n" "" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2303 #, no-wrap msgid "" "function f(x) = x+1;\n" "t=&f;\n" "*t(3)\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2296 msgid "References are best explained by an example: <_:programlisting-1/> now a contains 2. You can also reference functions: <_:programlisting-2/> gives us 4." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:2312 msgid "Lvalues" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:2318 msgid "a" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:2320 msgid "Identifier. Here we would be setting the variable of name a." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:2329 msgid "Dereference of an identifier. This will set whatever variable a points to." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:2336 msgid "a@(<region>)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:2338 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:2313 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:2349 #, 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:2347 msgid "Examples: <_:programlisting-1/> Note that both := and = can be used interchangeably. Except if the assignment appears in a condition. It is thus always safer to just use := when you mean assignment, and == when you mean comparison." msgstr "" #. (itstool) path: chapter/title #: C/genius.xml:2365 msgid "Advanced Programming with GEL" msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:2368 msgid "Error Handling" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2369 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 bailout. If something went really wrong and you want to completely kill the current computation, you can use exception." msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2379 #, 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:2376 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:2391 msgid "Toplevel Syntax" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2392 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:2405 #, no-wrap msgid "" "function f(x)=x^2\n" "f(3)\n" "" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2412 #, no-wrap msgid "" "function f(x)=x^2;\n" "f(3)\n" "" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2417 #, 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:2403 msgid "For example, <_:programlisting-1/> will print first the result of setting a function (a representation of the function, in this case (`(x)=(x^2))) 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:2428 #, no-wrap msgid "" "if Something() then\n" " DoSomething()\n" "else\n" " DoSomethingElse()\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2425 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:2442 #, no-wrap msgid "" "if Something() then (\n" " DoSomething()\n" ") else (\n" " DoSomethingElse()\n" ")\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2434 msgid "The problem is that after Genius Mathematics Tool 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, Genius Mathematics Tool will go on to the next line, it will see else, and it will produce a parsing error. To fix this, use parentheses. Genius Mathematics Tool will not be satisfied until it has found that all parentheses are closed. <_:programlisting-1/>" msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:2452 msgid "Returning Functions" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2465 #, no-wrap msgid "" "function f() = (\n" " k = 5;\n" " `(x) = (x+k)\n" ")\n" "" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2472 #, no-wrap msgid "" "g = f();\n" "g(5)\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2453 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 k to x. You could use this as follows. <_:programlisting-2/> And g(5) should return 10." msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2481 #, 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:2477 msgid "One thing to note is that the value of k that is used is the one that's in effect when the f 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 f returns. This is consistent with how you would expect the function r to work inside the function f 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 f, and at the top level you define k to be say 5. Then when you run f, the function r will not put k into the private dictionary because it was global (toplevel) at the time of definition of r." msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2523 #, 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:2512 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 k was created when the function was defined." msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2545 #, 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:2534 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 f to see the value of k 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 k with a value of 5 was added to the private dictionary." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:2561 msgid "True Local Variables" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2565 #, 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:2562 msgid "When passing functions into other functions, the normal scoping of variables might be undesired. For example: <_:programlisting-1/> you probably want the function r when passed as g into f to see k as 10 rather than 5, so that the code returns 11 and not 6. However, as written, the function when executed will see the k that is equal to 5. There are two ways to solve this. One would be to have r get k in a private dictionary using the square bracket notation section Returning Functions." msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2594 #, 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:2584 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 k as a local variable in the function f. To do this add a local 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 local statement initializes all the referenced variables (except for function arguments) to a null." msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2611 #, 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:2605 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 f will also work: <_:programlisting-1/>" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2618 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:2626 msgid "GEL Startup Procedure" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2627 msgid "First the program looks for the installed library file (the compiled version lib.cgel) in the installed directory, then it looks into the current directory, and then it tries to load an uncompiled file called ~/.geniusinit." msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2631 msgid "If you ever change the library in its installed place, you’ll have to first compile it with genius --compile loader.gel > lib.cgel" msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:2638 msgid "Loading Programs" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2641 #, 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:2645 #, no-wrap msgid "" "cd directory_with_gel_programs\n" "ls *.gel\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2639 msgid "Sometimes you have a larger program you wrote into a file and want to read that file into Genius Mathematics Tool. In these situations, you have two options. You can keep the functions you use most inside the ~/.geniusinit file. Or if you want to load up a file in a middle of a session (or from within another file), you can type load <list of filenames> 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 cd, pwd and ls commands built in. cd will take one argument, ls will take an argument that is like the glob in the UNIX shell (i.e., you can use wildcards). pwd takes no arguments. For example: <_:programlisting-2/>" msgstr "" #. (itstool) path: chapter/title #: C/genius.xml:2655 msgid "Matrices in GEL" msgstr "" #. (itstool) path: chapter/para #: C/genius.xml:2657 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:2663 msgid "Entering Matrices" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2672 #, no-wrap msgid "" "[1,2,3;4,5,6;7,8,9]\n" "" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2675 #, no-wrap msgid "" "[1, 2, 3\n" " 4, 5, 6\n" " 7, 8, 9]\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2664 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:2685 #, 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:2692 #, 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:2682 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:2702 #, no-wrap msgid "" "[1, 2, 3\n" " 4, 5\n" " 6]\n" "" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2707 #, no-wrap msgid "" "\n" "[1, 2, 3\n" " 4, 5, 0\n" " 6, 0, 0]\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2700 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:2714 msgid "When matrices are evaluated, they are evaluated and traversed row-wise. This is just like the M@(j) operator, which traverses the matrix row-wise." msgstr "" #. (itstool) path: note/para #: C/genius.xml:2720 msgid "Be careful about using returns for expressions inside the [ ] brackets, as they have a slightly different meaning there. You will start a new row." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:2730 msgid "Conjugate Transpose and Transpose Operator" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2738 #, no-wrap msgid "" "[1,2,3]*[4,5,6]'\n" "" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2743 #, no-wrap msgid "" "[1,2,3]*[4,5,6i].'\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2731 msgid "You can conjugate transpose a matrix by using the ' operator. That is the entry in the ith column and the jth row will be the complex conjugate of the entry in the jth column and the ith 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 .' operator. For example: <_:programlisting-2/>" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2746 msgid "Note that normal transpose, that is the .' 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 .' operator when working with real matrices and vectors." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:2756 #: C/genius.xml:5945 msgid "Linear Algebra" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2757 msgid "Genius implements many useful linear algebra and matrix manipulation routines. See the Linear Algebra and Matrix Manipulation sections of the GEL function listing." msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2764 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:2772 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:2780 msgid "In general when Genius computes the basis of a certain vectorspace (for example with the NullSpace) 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:2787 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 rref will be very fast." msgstr "" #. (itstool) path: chapter/title #: C/genius.xml:2800 msgid "Polynomials in GEL" msgstr "" #. (itstool) path: chapter/para #: C/genius.xml:2802 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:2809 msgid "Using Polynomials" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2815 #, no-wrap msgid "" "[1,2,3]\n" "" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2818 #, no-wrap msgid "" "1 + 2*x + 3*x^2\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2810 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:2830 #, no-wrap msgid "" "PolyToString([1,2,3],\"y\")\n" "" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2833 #, no-wrap msgid "" "3*y^2 + 2*y + 1\n" "" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2840 #, no-wrap msgid "" "f = PolyToFunction([0,1,1])\n" "f(2)\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2821 msgid "You can add, subtract and multiply polynomials using the AddPoly, SubtractPoly, and MultiplyPoly functions respectively. You can print a polynomial using the PolyToString 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 PolyToFunction, which returns an anonymous function. <_:programlisting-3/>" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2844 msgid "It is also possible to find roots of polynomials of degrees 1 through 4 by using the function PolynomialRoots, which calls the appropriate formula function. Higher degree polynomials must be converted to functions and solved numerically using a function such as FindRootBisection, FindRootFalsePosition, FindRootMullersMethod, or FindRootSecant." msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2856 msgid "See in the function list for the rest of functions acting on polynomials." msgstr "" #. (itstool) path: chapter/title #: C/genius.xml:2866 msgid "Set Theory in GEL" msgstr "" #. (itstool) path: chapter/para #: C/genius.xml:2868 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:2874 msgid "Using Sets" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2875 msgid "Just like vectors, objects in sets can include numbers, strings, null, 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 0 and 0.0 as two distinct elements. The null is treated as an empty set." msgstr "" #. (itstool) path: para/screen #: C/genius.xml:2887 #, no-wrap msgid "" "genius> MakeSet([1,2,2,3])\n" "= [1, 2, 3]\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2883 msgid "To build a set out of a vector, use the MakeSet function. Currently, it will just return a new vector where every element is unique. <_:screen-1/>" msgstr "" #. (itstool) path: para/screen #: C/genius.xml:2898 #, no-wrap msgid "" "genius> Union([1,2,3], [1,2,4])\n" "= [1, 2, 4, 3]\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2892 msgid "Similarly there are functions Union, Intersection, SetMinus, 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 SortVector function." msgstr "" #. (itstool) path: para/screen #: C/genius.xml:2911 #, no-wrap msgid "" "genius> IsIn (1, [0,1,2])\n" "= true\n" "" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:2906 msgid "For testing membership, there are functions IsIn and IsSubset, which return a boolean value. For example: <_:screen-1/> The input IsIn(x,X) is equivalent to IsSubset([x],X). Note that since the empty set is a subset of every set, IsSubset(null,X) is always true." msgstr "" #. (itstool) path: chapter/title #: C/genius.xml:2925 msgid "List of GEL functions" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:2931 #, no-wrap msgid "" "help FunctionName\n" "" msgstr "" #. (itstool) path: chapter/para #: C/genius.xml:2929 msgid "To get help on a specific function from the console type: <_:programlisting-1/>" msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:2936 msgid "Commands" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:2939 msgid "help" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:2941 #, no-wrap msgid "" "help" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:2942 #, no-wrap msgid "" "help FunctionName" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:2943 msgid "Print help (or help on a function/command)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:2948 msgid "load" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:2950 #, no-wrap msgid "" "load \"file.gel\"" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:2951 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:2957 msgid "cd" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:2959 #, no-wrap msgid "" "cd /directory/name" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:2960 msgid "Change working directory to /directory/name." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:2965 msgid "pwd" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:2967 #, no-wrap msgid "" "pwd" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:2968 msgid "Print the current working directory." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:2973 msgid "ls" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:2975 #, no-wrap msgid "" "ls" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:2976 msgid "List files in the current directory." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:2981 msgid "plugin" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:2983 #, no-wrap msgid "" "plugin plugin_name" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:2984 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:2992 msgid "Basic" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:2995 msgid "AskButtons" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:2997 #, no-wrap msgid "" "AskButtons (query)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:2998 #, no-wrap msgid "" "AskButtons (query, button1, ...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:2999 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 null is returned. The execution of the program is blocked until the user responds." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3005 #: C/genius.xml:3623 #: C/genius.xml:3753 #: C/genius.xml:3801 #: C/genius.xml:3830 #: C/genius.xml:8123 #: C/genius.xml:8366 msgid "Version 1.0.10 onwards." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3010 msgid "AskString" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3012 #, no-wrap msgid "" "AskString (query)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3013 #, no-wrap msgid "" "AskString (query, default)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3014 msgid "Asks a question and lets the user enter a string, which it then returns. If the user cancels or closes the window, then null is returned. The execution of the program is blocked until the user responds. If default 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:3022 msgid "Compose" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3024 #, no-wrap msgid "" "Compose (f,g)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3025 msgid "Compose two functions and return a function that is the composition of f and g." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3030 msgid "ComposePower" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3032 #, no-wrap msgid "" "ComposePower (f,n,x)" msgstr "" #. (itstool) path: para/screen #: C/genius.xml:3036 #, no-wrap msgid "" "genius> function f(x) = x^2 ;\n" "genius> ComposePower (f,3,7)\n" "= 5764801\n" "genius> f(f(f(7)))\n" "= 5764801\n" "" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3033 msgid "Compose and execute a function with itself n times, passing x as argument. Returning x if n equals 0. Example: <_:screen-1/>" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3047 msgid "Evaluate" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3049 #, no-wrap msgid "" "Evaluate (str)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3050 msgid "Parses and evaluates a string." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3056 msgid "GetCurrentModulo" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3058 #, no-wrap msgid "" "GetCurrentModulo" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3059 msgid "Get current modulo from the context outside the function. That is, if outside of the function was executed in modulo (using mod) 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:3067 msgid "Identity" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3069 #, no-wrap msgid "" "Identity (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3070 msgid "Identity function, returns its argument. It is equivalent to function Identity(x)=x." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3075 msgid "IntegerFromBoolean" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3077 #, no-wrap msgid "" "IntegerFromBoolean (bval)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3078 msgid "Make integer (0 for false or 1 for true) from a boolean value. bval can also be a number in which case a non-zero value will be interpreted as true and zero will be interpreted as false." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3089 msgid "IsBoolean" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3091 #, no-wrap msgid "" "IsBoolean (arg)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3092 msgid "Check if argument is a boolean (and not a number)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3097 msgid "IsDefined" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3099 #, no-wrap msgid "" "IsDefined (id)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3100 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:3108 msgid "IsFunction" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3110 #, no-wrap msgid "" "IsFunction (arg)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3111 msgid "Check if argument is a function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3116 msgid "IsFunctionOrIdentifier" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3118 #, no-wrap msgid "" "IsFunctionOrIdentifier (arg)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3119 msgid "Check if argument is a function or an identifier." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3124 msgid "IsFunctionRef" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3126 #, no-wrap msgid "" "IsFunctionRef (arg)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3127 msgid "Check if argument is a function reference. This includes variable references." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3133 msgid "IsMatrix" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3135 #, no-wrap msgid "" "IsMatrix (arg)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3136 msgid "Check if argument is a matrix. Even though null is sometimes considered an empty matrix, the function IsMatrix does not consider null a matrix." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3143 msgid "IsNull" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3145 #, no-wrap msgid "" "IsNull (arg)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3146 msgid "Check if argument is a null." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3151 msgid "IsString" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3153 #, no-wrap msgid "" "IsString (arg)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3154 msgid "Check if argument is a text string." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3159 msgid "IsValue" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3161 #, no-wrap msgid "" "IsValue (arg)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3162 msgid "Check if argument is a number." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3167 msgid "Parse" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3169 #, no-wrap msgid "" "Parse (str)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3170 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:3176 msgid "SetFunctionFlags" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3178 #, no-wrap msgid "" "SetFunctionFlags (id,flags...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3179 msgid "Set flags for a function, currently \"PropagateMod\" and \"NoModuloArguments\". If \"PropagateMod\" 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 mod). If \"NoModuloArguments\", then the arguments of the function are never evaluated using modular arithmetic." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3188 msgid "SetHelp" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3190 #, no-wrap msgid "" "SetHelp (id,category,desc)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3191 msgid "Set the category and help description line for a function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3196 msgid "SetHelpAlias" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3198 #, no-wrap msgid "" "SetHelpAlias (id,alias)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3199 msgid "Sets up a help alias." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3204 msgid "chdir" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3206 #, no-wrap msgid "" "chdir (dir)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3207 msgid "Changes current directory, same as the cd." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3212 msgid "CurrentTime" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3214 #, no-wrap msgid "" "CurrentTime" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3215 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:3216 #: C/genius.xml:8680 #: C/genius.xml:8689 #: C/genius.xml:8698 msgid "Version 1.0.15 onwards." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3221 msgid "display" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3223 #, no-wrap msgid "" "display (str,expr)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3224 msgid "Display a string and an expression with a colon to separate them." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3229 msgid "DisplayVariables" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3231 #, no-wrap msgid "" "DisplayVariables (var1,var2,...)" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:3234 #, no-wrap msgid "" "DisplayVariables(`x,`y,`z)\n" "\t " msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3232 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:3239 #, no-wrap msgid "" "DisplayVariables()\n" "\t " msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3237 msgid "If called without arguments (must supply empty argument list) as <_:programlisting-1/> then all variables are printed including a stacktrace similar to Show user variables in the graphical version." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3244 #: C/genius.xml:3312 #: C/genius.xml:5768 #: C/genius.xml:5777 #: C/genius.xml:6422 #: C/genius.xml:7832 #: C/genius.xml:8196 #: C/genius.xml:8222 #: C/genius.xml:9201 #: C/genius.xml:9215 msgid "Version 1.0.18 onwards." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3249 msgid "error" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3251 #, no-wrap msgid "" "error (str)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3252 msgid "Prints a string to the error stream (onto the console)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3257 msgid "exit" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3259 #, no-wrap msgid "" "exit" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3260 msgid "Aliases: quit" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3261 msgid "Exits the program." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3266 msgid "false" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3268 #, no-wrap msgid "" "false" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3269 msgid "Aliases: False FALSE" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3270 msgid "The false boolean value." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3275 msgid "manual" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3277 #, no-wrap msgid "" "manual" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3278 msgid "Displays the user manual." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3283 msgid "print" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3285 #, no-wrap msgid "" "print (str)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3286 msgid "Prints an expression and then print a newline. The argument str can be any expression. It is made into a string before being printed." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3292 msgid "printn" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3294 #, no-wrap msgid "" "printn (str)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3295 msgid "Prints an expression without a trailing newline. The argument str can be any expression. It is made into a string before being printed." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3301 msgid "PrintTable" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3303 #, no-wrap msgid "" "PrintTable (f,v)" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:3307 #, no-wrap msgid "" "PrintTable (f,[0:10])\n" "\t " msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3304 msgid "Print a table of values for a function. The values are in the vector v. You can use the vector building notation as follows: <_:programlisting-1/> If v 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:3317 msgid "protect" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3319 #, no-wrap msgid "" "protect (id)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3320 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:3326 msgid "ProtectAll" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3328 #, no-wrap msgid "" "ProtectAll ()" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3329 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 Genius Mathematics Tool considers unprotected variables as user defined." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3333 #: C/genius.xml:3434 #: C/genius.xml:3452 #: C/genius.xml:7284 #: C/genius.xml:7419 #: C/genius.xml:7439 #: C/genius.xml:7464 #: C/genius.xml:7485 #: C/genius.xml:7507 #: C/genius.xml:7528 #: C/genius.xml:7580 #: C/genius.xml:7613 msgid "Version 1.0.7 onwards." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3338 msgid "set" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3340 #, no-wrap msgid "" "set (id,val)" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:3344 #, no-wrap msgid "" "set(`x,1)\n" "\t " msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3341 msgid "Set a global variable. The id can be either a string or a quoted identifier. For example: <_:programlisting-1/> will set the global variable x to the value 1." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3348 #: C/genius.xml:3367 #: C/genius.xml:3387 msgid "The function returns the val, to be usable in chaining." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3354 msgid "SetElement" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3356 #, no-wrap msgid "" "SetElement (id,row,col,val)" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:3361 #, no-wrap msgid "" "SetElement(`x,2,3,1)\n" "\t " msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3357 msgid "Set an element of a global variable which is a matrix. The id 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 x 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:3365 msgid "The row and col 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:3369 #: C/genius.xml:3389 msgid "Available from 1.0.18 onwards." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3374 msgid "SetVElement" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3376 #, no-wrap msgid "" "SetElement (id,elt,val)" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:3381 #, no-wrap msgid "" "SetElement(`x,2,1)\n" "\t " msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3377 msgid "Set an element of a global variable which is a vector. The id can be either a string or a quoted identifier. For example: <_:programlisting-1/> will set the second element of the global vector variable x 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:3385 msgid "The elt 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:3394 msgid "string" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3396 #, no-wrap msgid "" "string (s)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3397 msgid "Make a string. This will make a string out of any argument." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3402 msgid "true" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3404 #, no-wrap msgid "" "true" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3405 msgid "Aliases: True TRUE" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3406 msgid "The true boolean value." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3411 msgid "undefine" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3413 #, no-wrap msgid "" "undefine (id)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3414 msgid "Alias: Undefine" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3415 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:3424 msgid "UndefineAll" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3426 #, no-wrap msgid "" "UndefineAll ()" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3427 msgid "Undefine all unprotected global variables (including functions and parameters). Normally Genius Mathematics Tool considers protected variables as system defined functions and variables. Note that UndefineAll 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:3439 msgid "unprotect" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3441 #, no-wrap msgid "" "unprotect (id)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3442 msgid "Unprotect a variable from being modified." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3447 msgid "UserVariables" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3449 #, no-wrap msgid "" "UserVariables ()" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3450 msgid "Return a vector of identifiers of user defined (unprotected) global variables." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3457 msgid "wait" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3459 #, no-wrap msgid "" "wait (secs)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3460 msgid "Waits a specified number of seconds. secs 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:3463 msgid "Since version 1.0.18, secs can be a noninteger number, so wait(0.1) will wait for one tenth of a second." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3469 msgid "version" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3471 #, no-wrap msgid "" "version" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3472 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:3478 msgid "warranty" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3480 #, no-wrap msgid "" "warranty" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3481 msgid "Gives the warranty information." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:3489 msgid "Parameters" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3492 msgid "ChopTolerance" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3494 #, no-wrap msgid "" "ChopTolerance = number" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3495 msgid "Tolerance of the Chop function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3500 msgid "ContinuousNumberOfTries" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3502 #, no-wrap msgid "" "ContinuousNumberOfTries = number" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3503 msgid "How many iterations to try to find the limit for continuity and limits." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3508 msgid "ContinuousSFS" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3510 #, no-wrap msgid "" "ContinuousSFS = number" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3511 msgid "How many successive steps to be within tolerance for calculation of continuity." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3516 msgid "ContinuousTolerance" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3518 #, no-wrap msgid "" "ContinuousTolerance = number" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3519 msgid "Tolerance for continuity of functions and for calculating the limit." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3524 msgid "DerivativeNumberOfTries" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3526 #, no-wrap msgid "" "DerivativeNumberOfTries = number" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3527 msgid "How many iterations to try to find the limit for derivative." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3532 msgid "DerivativeSFS" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3534 #, no-wrap msgid "" "DerivativeSFS = number" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3535 msgid "How many successive steps to be within tolerance for calculation of derivative." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3540 msgid "DerivativeTolerance" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3542 #, no-wrap msgid "" "DerivativeTolerance = number" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3543 msgid "Tolerance for calculating the derivatives of functions." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3548 msgid "ErrorFunctionTolerance" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3550 #, no-wrap msgid "" "ErrorFunctionTolerance = number" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3551 msgid "Tolerance of the ErrorFunction." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3556 msgid "FloatPrecision" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3558 #, no-wrap msgid "" "FloatPrecision = number" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3559 msgid "Floating point precision." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3564 msgid "FullExpressions" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3566 #, no-wrap msgid "" "FullExpressions = boolean" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3567 msgid "Print full expressions, even if more than a line." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3572 msgid "GaussDistributionTolerance" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3574 #, no-wrap msgid "" "GaussDistributionTolerance = number" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3575 msgid "Tolerance of the GaussDistribution function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3580 msgid "IntegerOutputBase" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3582 #, no-wrap msgid "" "IntegerOutputBase = number" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3583 msgid "Integer output base." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3588 msgid "IsPrimeMillerRabinReps" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3590 #, no-wrap msgid "" "IsPrimeMillerRabinReps = number" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3591 msgid "Number of extra Miller-Rabin tests to run on a number before declaring it a prime in IsPrime." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3596 msgid "LinePlotDrawLegends" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3598 #, no-wrap msgid "" "LinePlotDrawLegends = true" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3599 msgid "Tells genius to draw the legends for line plotting functions such as LinePlot." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3606 msgid "LinePlotDrawAxisLabels" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3608 #, no-wrap msgid "" "LinePlotDrawAxisLabels = true" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3609 msgid "Tells genius to draw the axis labels for line plotting functions such as LinePlot." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3612 #: C/genius.xml:3788 #: C/genius.xml:7681 #: C/genius.xml:7694 #: C/genius.xml:7707 #: C/genius.xml:7720 #: C/genius.xml:7733 #: C/genius.xml:7746 #: C/genius.xml:8008 #: C/genius.xml:8897 #: C/genius.xml:9376 #: C/genius.xml:9413 msgid "Version 1.0.16 onwards." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3617 msgid "LinePlotVariableNames" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3619 #, no-wrap msgid "" "LinePlotVariableNames = [\"x\",\"y\",\"z\",\"t\"]" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3620 msgid "Tells genius which variable names are used as default names for line plotting functions such as LinePlot and friends." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3628 msgid "LinePlotWindow" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3630 #, no-wrap msgid "" "LinePlotWindow = [x1,x2,y1,y2]" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3631 msgid "Sets the limits for line plotting functions such as LinePlot." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3639 msgid "MaxDigits" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3641 #, no-wrap msgid "" "MaxDigits = number" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3642 msgid "Maximum digits to display." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3647 msgid "MaxErrors" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3649 #, no-wrap msgid "" "MaxErrors = number" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3650 msgid "Maximum errors to display." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3655 msgid "MixedFractions" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3657 #, no-wrap msgid "" "MixedFractions = boolean" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3658 msgid "If true, mixed fractions are printed." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3663 msgid "NumericalIntegralFunction" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3665 #, no-wrap msgid "" "NumericalIntegralFunction = function" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3666 msgid "The function used for numerical integration in NumericalIntegral." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3671 msgid "NumericalIntegralSteps" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3673 #, no-wrap msgid "" "NumericalIntegralSteps = number" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3674 msgid "Steps to perform in NumericalIntegral." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3679 msgid "OutputChopExponent" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3681 #, no-wrap msgid "" "OutputChopExponent = number" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3682 msgid "When another number in the object being printed (a matrix or a value) is greater than 10-OutputChopWhenExponent, and the number being printed is less than 10-OutputChopExponent, then display 0.0 instead of the number." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3689 msgid "Output is never chopped if OutputChopExponent is zero. It must be a non-negative integer." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3693 msgid "If you want output always chopped according to OutputChopExponent, then set OutputChopWhenExponent, to something greater than or equal to OutputChopExponent." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3704 msgid "OutputChopWhenExponent" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3706 #, no-wrap msgid "" "OutputChopWhenExponent = number" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3707 msgid "When to chop output. See OutputChopExponent." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3714 msgid "OutputStyle" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3716 #, no-wrap msgid "" "OutputStyle = string" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3717 msgid "Output style, this can be normal, latex, mathml or troff." msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:3724 #, no-wrap msgid "" "OutputStyle = \"latex\"\n" "" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3720 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:3731 msgid "ResultsAsFloats" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3733 #, no-wrap msgid "" "ResultsAsFloats = boolean" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3734 msgid "Convert all results to floats before printing." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3739 msgid "ScientificNotation" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3741 #, no-wrap msgid "" "ScientificNotation = boolean" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3742 msgid "Use scientific notation." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3747 msgid "SlopefieldTicks" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3749 #, no-wrap msgid "" "SlopefieldTicks = [vertical,horizontal]" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3750 msgid "Sets the number of vertical and horizontal ticks in a slopefield plot. (See SlopefieldPlot)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3758 msgid "SumProductNumberOfTries" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3760 #, no-wrap msgid "" "SumProductNumberOfTries = number" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3761 msgid "How many iterations to try for InfiniteSum and InfiniteProduct." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3766 msgid "SumProductSFS" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3768 #, no-wrap msgid "" "SumProductSFS = number" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3769 msgid "How many successive steps to be within tolerance for InfiniteSum and InfiniteProduct." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3774 msgid "SumProductTolerance" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3776 #, no-wrap msgid "" "SumProductTolerance = number" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3777 msgid "Tolerance for InfiniteSum and InfiniteProduct." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3782 msgid "SurfacePlotDrawLegends" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3784 #, no-wrap msgid "" "SurfacePlotDrawLegends = true" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3785 msgid "Tells genius to draw the legends for surface plotting functions such as SurfacePlot." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3793 msgid "SurfacePlotVariableNames" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3795 #, no-wrap msgid "" "SurfacePlotVariableNames = [\"x\",\"y\",\"z\"]" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3796 msgid "Tells genius which variable names are used as default names for surface plotting functions using SurfacePlot. Note that the z does not refer to the dependent (vertical) axis, but to the independent complex variable z=x+iy." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3806 msgid "SurfacePlotWindow" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3808 #, no-wrap msgid "" "SurfacePlotWindow = [x1,x2,y1,y2,z1,z2]" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3809 msgid "Sets the limits for surface plotting (See SurfacePlot)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3814 msgid "VectorfieldNormalized" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3816 #, no-wrap msgid "" "VectorfieldNormalized = true" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3817 msgid "Should the vectorfield plotting have normalized arrow length. If true, vector fields will only show direction and not magnitude. (See VectorfieldPlot)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3824 msgid "VectorfieldTicks" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3826 #, no-wrap msgid "" "VectorfieldTicks = [vertical,horizontal]" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3827 msgid "Sets the number of vertical and horizontal ticks in a vectorfield plot. (See VectorfieldPlot)." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:3838 msgid "Constants" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3841 msgid "CatalanConstant" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3843 #, no-wrap msgid "" "CatalanConstant" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3844 msgid "Catalan's Constant, approximately 0.915... It is defined to be the series where terms are (-1^k)/((2*k+1)^2), where k ranges from 0 to infinity." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3847 msgid "See Wikipedia or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3856 msgid "EulerConstant" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3858 #, no-wrap msgid "" "EulerConstant" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3859 msgid "Aliases: gamma" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3860 msgid "Euler's constant gamma. Sometimes called the Euler-Mascheroni constant." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3864 msgid "See Wikipedia or Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3874 msgid "GoldenRatio" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3876 #, no-wrap msgid "" "GoldenRatio" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3877 msgid "The Golden Ratio." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3878 msgid "See Wikipedia or Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3888 msgid "Gravity" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3890 #, no-wrap msgid "" "Gravity" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3891 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:3894 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3902 msgid "e" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3904 #, no-wrap msgid "" "e" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3905 msgid "The base of the natural logarithm. e^x is the exponential function exp. 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: EulerConstant." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3912 msgid "See Wikipedia or Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3922 msgid "pi" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3924 #, no-wrap msgid "" "pi" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3925 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:3929 msgid "See Wikipedia or Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:3942 msgid "Numeric" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3945 msgid "AbsoluteValue" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3947 #, no-wrap msgid "" "AbsoluteValue (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3948 msgid "Aliases: abs" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3949 msgid "Absolute value of a number and if x is a complex value the modulus of x. I.e. this the distance of x to the origin. This is equivalent to |x|." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3955 msgid "See Wikipedia, Planetmath (absolute value), Planetmath (modulus), Mathworld (absolute value) or Mathworld (complex modulus) for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3968 msgid "Chop" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3970 #, no-wrap msgid "" "Chop (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3971 msgid "Replace very small number with zero." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3976 msgid "ComplexConjugate" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3978 #, no-wrap msgid "" "ComplexConjugate (z)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3979 msgid "Aliases: conj Conj" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3980 msgid "Calculates the complex conjugate of the complex number z. If z is a vector or matrix, all its elements are conjugated." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3982 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:3990 msgid "Denominator" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:3992 #, no-wrap msgid "" "Denominator (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3993 msgid "Get the denominator of a rational number." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:3994 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4002 msgid "FractionalPart" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4004 #, no-wrap msgid "" "FractionalPart (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4005 msgid "Return the fractional part of a number." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4006 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4014 msgid "Im" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4016 #, no-wrap msgid "" "Im (z)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4017 msgid "Aliases: ImaginaryPart" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4018 msgid "Get the imaginary part of a complex number. For example Re(3+4i) yields 4." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4019 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4027 msgid "IntegerQuotient" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4029 #, no-wrap msgid "" "IntegerQuotient (m,n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4030 msgid "Division without remainder." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4035 msgid "IsComplex" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4037 #, no-wrap msgid "" "IsComplex (num)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4038 msgid "Check if argument is a complex (non-real) number. Do note that we really mean nonreal number. That is, IsComplex(3) yields false, while IsComplex(3-1i) yields true." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4045 msgid "IsComplexRational" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4047 #, no-wrap msgid "" "IsComplexRational (num)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4048 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:4054 msgid "IsFloat" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4056 #, no-wrap msgid "" "IsFloat (num)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4057 msgid "Check if argument is a real floating point number (non-complex)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4062 msgid "IsGaussInteger" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4064 #, no-wrap msgid "" "IsGaussInteger (num)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4065 msgid "Aliases: IsComplexInteger" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4066 msgid "Check if argument is a possibly complex integer. That is a complex integer is a number of the form n+1i*m where n and m are integers." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4073 msgid "IsInteger" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4075 #, no-wrap msgid "" "IsInteger (num)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4076 msgid "Check if argument is an integer (non-complex)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4081 msgid "IsNonNegativeInteger" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4083 #, no-wrap msgid "" "IsNonNegativeInteger (num)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4084 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:4089 msgid "IsPositiveInteger" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4091 #, no-wrap msgid "" "IsPositiveInteger (num)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4092 msgid "Aliases: IsNaturalNumber" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4093 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:4099 msgid "IsRational" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4101 #, no-wrap msgid "" "IsRational (num)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4102 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:4107 msgid "IsReal" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4109 #, no-wrap msgid "" "IsReal (num)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4110 msgid "Check if argument is a real number." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4115 msgid "Numerator" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4117 #, no-wrap msgid "" "Numerator (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4118 msgid "Get the numerator of a rational number." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4119 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4127 msgid "Re" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4129 #, no-wrap msgid "" "Re (z)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4130 msgid "Aliases: RealPart" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4131 msgid "Get the real part of a complex number. For example Re(3+4i) yields 3." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4132 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4140 msgid "Sign" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4142 #, no-wrap msgid "" "Sign (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4143 msgid "Aliases: sign" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4144 msgid "Return the sign of a number. That is returns -1 if value is negative, 0 if value is zero and 1 if value is positive. If x is a complex value then Sign returns the direction or 0." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4154 msgid "ceil" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4156 #, no-wrap msgid "" "ceil (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4157 msgid "Aliases: Ceiling" msgstr "" #. (itstool) path: para/screen #: C/genius.xml:4159 #, no-wrap msgid "" "genius> ceil(1.1)\n" "= 2\n" "genius> ceil(-1.1)\n" "= -1\n" "" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4158 msgid "Get the lowest integer more than or equal to n. Examples: <_:screen-1/>" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4165 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 ceil(420/4.2) returns 101 instead of the expected 100. This is because 4.2 is actually very slightly less than 4.2. Use rational representation 42/10 if you want exact arithmetic." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4177 msgid "exp" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4179 #, no-wrap msgid "" "exp (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4180 msgid "The exponential function. This is the function e^x where e is the base of the natural logarithm." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4186 msgid "See Wikipedia or Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4196 msgid "float" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4198 #, no-wrap msgid "" "float (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4199 msgid "Make number a floating point value. That is returns the floating point representation of the number x." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4204 msgid "floor" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4206 #, no-wrap msgid "" "floor (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4207 msgid "Aliases: Floor" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4208 msgid "Get the highest integer less than or equal to n." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4213 msgid "ln" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4215 #, no-wrap msgid "" "ln (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4216 msgid "The natural logarithm, the logarithm to base e." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4217 msgid "See Wikipedia or Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4227 msgid "log" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4229 #, no-wrap msgid "" "log (x)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4230 #, no-wrap msgid "" "log (x,b)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4231 msgid "Logarithm of x base b (calls DiscreteLog if in modulo mode), if base is not given, e is used." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4236 msgid "log10" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4238 #, no-wrap msgid "" "log10 (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4239 msgid "Logarithm of x base 10." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4244 msgid "log2" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4246 #, no-wrap msgid "" "log2 (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4247 msgid "Aliases: lg" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4248 msgid "Logarithm of x base 2." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4253 msgid "max" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4255 #, no-wrap msgid "" "max (a,args...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4256 msgid "Aliases: Max Maximum" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4257 msgid "Returns the maximum of arguments or matrix." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4262 msgid "min" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4264 #, no-wrap msgid "" "min (a,args...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4265 msgid "Aliases: Min Minimum" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4266 msgid "Returns the minimum of arguments or matrix." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4271 msgid "rand" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4273 #, no-wrap msgid "" "rand (size...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4274 msgid "Generate random float in the range [0,1). 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:4281 msgid "randint" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4283 #, no-wrap msgid "" "randint (max,size...)" msgstr "" #. (itstool) path: para/screen #: C/genius.xml:4288 #, no-wrap msgid "" "genius> randint(4)\n" "= 3\n" "genius> randint(4,2)\n" "=\n" "[0 1]\n" "genius> randint(4,2,3)\n" "=\n" "[2 2 1\n" " 0 0 3]\n" "" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4284 msgid "Generate random integer in the range [0,max). 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:4303 msgid "round" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4305 #, no-wrap msgid "" "round (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4306 msgid "Aliases: Round" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4307 msgid "Round a number." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4312 msgid "sqrt" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4314 #, no-wrap msgid "" "sqrt (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4315 msgid "Aliases: SquareRoot" msgstr "" #. (itstool) path: para/screen #: C/genius.xml:4317 #, no-wrap msgid "" "genius> sqrt(2)\n" "= 1.41421356237\n" "genius> sqrt(-1)\n" "= 1i\n" "genius> sqrt(4) mod 7\n" "=\n" "[2 5]\n" "genius> 2*2 mod 7\n" "= 4\n" "" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4316 msgid "The square root. When operating modulo some integer will return either a null or a vector of the square roots. Examples: <_:screen-1/>" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4328 msgid "See Wikipedia or Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4337 msgid "trunc" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4339 #, no-wrap msgid "" "trunc (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4340 msgid "Aliases: Truncate IntegerPart" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4341 msgid "Truncate number to an integer (return the integer part)." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:4349 msgid "Trigonometry" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4352 msgid "acos" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4354 #, no-wrap msgid "" "acos (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4355 msgid "Aliases: arccos" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4356 msgid "The arccos (inverse cos) function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4361 msgid "acosh" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4363 #, no-wrap msgid "" "acosh (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4364 msgid "Aliases: arccosh" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4365 msgid "The arccosh (inverse cosh) function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4370 msgid "acot" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4372 #, no-wrap msgid "" "acot (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4373 msgid "Aliases: arccot" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4374 msgid "The arccot (inverse cot) function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4379 msgid "acoth" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4381 #, no-wrap msgid "" "acoth (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4382 msgid "Aliases: arccoth" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4383 msgid "The arccoth (inverse coth) function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4388 msgid "acsc" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4390 #, no-wrap msgid "" "acsc (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4391 msgid "Aliases: arccsc" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4392 msgid "The inverse cosecant function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4397 msgid "acsch" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4399 #, no-wrap msgid "" "acsch (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4400 msgid "Aliases: arccsch" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4401 msgid "The inverse hyperbolic cosecant function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4406 msgid "asec" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4408 #, no-wrap msgid "" "asec (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4409 msgid "Aliases: arcsec" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4410 msgid "The inverse secant function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4415 msgid "asech" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4417 #, no-wrap msgid "" "asech (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4418 msgid "Aliases: arcsech" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4419 msgid "The inverse hyperbolic secant function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4424 msgid "asin" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4426 #, no-wrap msgid "" "asin (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4427 msgid "Aliases: arcsin" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4428 msgid "The arcsin (inverse sin) function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4433 msgid "asinh" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4435 #, no-wrap msgid "" "asinh (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4436 msgid "Aliases: arcsinh" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4437 msgid "The arcsinh (inverse sinh) function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4442 msgid "atan" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4444 #, no-wrap msgid "" "atan (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4445 msgid "Aliases: arctan" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4446 msgid "Calculates the arctan (inverse tan) function." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4447 msgid "See Wikipedia or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4456 msgid "atanh" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4458 #, no-wrap msgid "" "atanh (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4459 msgid "Aliases: arctanh" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4460 msgid "The arctanh (inverse tanh) function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4465 msgid "atan2" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4467 #, no-wrap msgid "" "atan2 (y, x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4468 msgid "Aliases: arctan2" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4469 msgid "Calculates the arctan2 function. If x>0 then it returns atan(y/x). If x<0 then it returns sign(y) * (pi - atan(|y/x|). When x=0 it returns sign(y) * pi/2. atan2(0,0) returns 0 rather than failing." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4477 msgid "See Wikipedia or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4486 msgid "cos" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4488 #, no-wrap msgid "" "cos (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4489 msgid "Calculates the cosine function." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4490 #: C/genius.xml:4516 #: C/genius.xml:4542 #: C/genius.xml:4568 #: C/genius.xml:4594 #: C/genius.xml:4620 msgid "See Wikipedia or Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4499 msgid "cosh" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4501 #, no-wrap msgid "" "cosh (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4502 msgid "Calculates the hyperbolic cosine function." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4503 #: C/genius.xml:4529 #: C/genius.xml:4555 #: C/genius.xml:4581 #: C/genius.xml:4607 #: C/genius.xml:4633 msgid "See Wikipedia or Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4512 msgid "cot" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4514 #, no-wrap msgid "" "cot (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4515 msgid "The cotangent function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4525 msgid "coth" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4527 #, no-wrap msgid "" "coth (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4528 msgid "The hyperbolic cotangent function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4538 msgid "csc" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4540 #, no-wrap msgid "" "csc (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4541 msgid "The cosecant function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4551 msgid "csch" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4553 #, no-wrap msgid "" "csch (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4554 msgid "The hyperbolic cosecant function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4564 msgid "sec" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4566 #, no-wrap msgid "" "sec (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4567 msgid "The secant function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4577 msgid "sech" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4579 #, no-wrap msgid "" "sech (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4580 msgid "The hyperbolic secant function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4590 msgid "sin" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4592 #, no-wrap msgid "" "sin (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4593 msgid "Calculates the sine function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4603 msgid "sinh" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4605 #, no-wrap msgid "" "sinh (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4606 msgid "Calculates the hyperbolic sine function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4616 msgid "tan" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4618 #, no-wrap msgid "" "tan (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4619 msgid "Calculates the tan function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4629 msgid "tanh" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4631 #, no-wrap msgid "" "tanh (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4632 msgid "The hyperbolic tangent function." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:4645 msgid "Number Theory" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4648 msgid "AreRelativelyPrime" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4650 #, no-wrap msgid "" "AreRelativelyPrime (a,b)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4651 msgid "Are the real integers a and b relatively prime? Returns true or false." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4655 msgid "See Wikipedia or Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4665 msgid "BernoulliNumber" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4667 #, no-wrap msgid "" "BernoulliNumber (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4668 msgid "Return the nth Bernoulli number." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4669 msgid "See Wikipedia or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4678 msgid "ChineseRemainder" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4680 #, no-wrap msgid "" "ChineseRemainder (a,m)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4681 msgid "Aliases: CRT" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4682 msgid "Find the x that solves the system given by the vector a and modulo the elements of m, using the Chinese Remainder Theorem." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4686 msgid "See Wikipedia or Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4696 msgid "CombineFactorizations" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4698 #, no-wrap msgid "" "CombineFactorizations (a,b)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4699 msgid "Given two factorizations, give the factorization of the product." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4701 msgid "See Factorize." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4706 msgid "ConvertFromBase" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4708 #, no-wrap msgid "" "ConvertFromBase (v,b)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4709 msgid "Convert a vector of values indicating powers of b to a number." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4714 msgid "ConvertToBase" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4716 #, no-wrap msgid "" "ConvertToBase (n,b)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4717 msgid "Convert a number to a vector of powers for elements in base b." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4722 msgid "DiscreteLog" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4724 #, no-wrap msgid "" "DiscreteLog (n,b,q)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4725 msgid "Find discrete log of n base b in Fq, the finite field of order q, where q is a prime, using the Silver-Pohlig-Hellman algorithm." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4728 msgid "See Wikipedia, Planetmath, or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4738 msgid "Divides" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4740 #, no-wrap msgid "" "Divides (m,n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4741 msgid "Checks divisibility (if m divides n)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4746 msgid "EulerPhi" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4748 #, no-wrap msgid "" "EulerPhi (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4749 msgid "Compute the Euler phi function for n, that is the number of integers between 1 and n relatively prime to n." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4754 msgid "See Wikipedia, Planetmath, or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4764 msgid "ExactDivision" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4766 #, no-wrap msgid "" "ExactDivision (n,d)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4767 msgid "Return n/d but only if d divides n. If d does not divide n then this function returns garbage. This is a lot faster for very large numbers than the operation n/d, but it is only useful if you know that the division is exact." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4779 msgid "Factorize" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4781 #, no-wrap msgid "" "Factorize (n)" msgstr "" #. (itstool) path: para/screen #: C/genius.xml:4786 #, no-wrap msgid "" "genius> Factorize(11*11*13)\n" "=\n" "[1 11 13\n" " 1 2 1]" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4782 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:4791 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4799 msgid "Factors" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4801 #, no-wrap msgid "" "Factors (n)" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:4808 #, 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:4802 msgid "Return all factors of n 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:4818 msgid "FermatFactorization" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4820 #, no-wrap msgid "" "FermatFactorization (n,tries)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4821 msgid "Attempt Fermat factorization of n into (t-s)*(t+s), returns t and s as a vector if possible, null otherwise. tries specifies the number of tries before giving up." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4828 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:4832 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4840 msgid "FindPrimitiveElementMod" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4842 #, no-wrap msgid "" "FindPrimitiveElementMod (q)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4843 msgid "Find the first primitive element in Fq, the finite group of order q. Of course q must be a prime." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4849 msgid "FindRandomPrimitiveElementMod" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4851 #, no-wrap msgid "" "FindRandomPrimitiveElementMod (q)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4852 msgid "Find a random primitive element in Fq, the finite group of order q (q must be a prime)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4858 msgid "IndexCalculus" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4860 #, no-wrap msgid "" "IndexCalculus (n,b,q,S)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4861 msgid "Compute discrete log base b of n in Fq, the finite group of order q (q a prime), using the factor base S. S should be a column of primes possibly with second column precalculated by IndexCalculusPrecalculation." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4870 msgid "IndexCalculusPrecalculation" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4872 #, no-wrap msgid "" "IndexCalculusPrecalculation (b,q,S)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4873 msgid "Run the precalculation step of IndexCalculus for logarithms base b in Fq, the finite group of order q (q a prime), for the factor base S (where S 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:4883 msgid "IsEven" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4885 #, no-wrap msgid "" "IsEven (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4886 msgid "Tests if an integer is even." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4891 msgid "IsMersennePrimeExponent" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4893 #, no-wrap msgid "" "IsMersennePrimeExponent (p)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4894 msgid "Tests if a positive integer p is a Mersenne prime exponent. That is if 2p-1 is a prime. It does this by looking it up in a table of known values, which is relatively short. See also MersennePrimeExponents and LucasLehmer." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4905 #: C/genius.xml:5121 msgid "See Wikipedia, Planetmath, Mathworld or GIMPS for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4917 msgid "IsNthPower" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4919 #, no-wrap msgid "" "IsNthPower (m,n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4920 msgid "Tests if a rational number m is a perfect nth power. See also IsPerfectPower and IsPerfectSquare." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4931 msgid "IsOdd" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4933 #, no-wrap msgid "" "IsOdd (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4934 msgid "Tests if an integer is odd." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4939 msgid "IsPerfectPower" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4941 #, no-wrap msgid "" "IsPerfectPower (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4942 msgid "Check an integer for being any perfect power, ab." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4947 msgid "IsPerfectSquare" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4949 #, no-wrap msgid "" "IsPerfectSquare (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4950 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:4959 msgid "IsPrime" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4961 #, no-wrap msgid "" "IsPrime (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4962 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 IsPrimeMillerRabinReps. That is the probability of false positive is 1/4 to the power IsPrimeMillerRabinReps. The default value of 22 yields a probability of about 5.7e-14." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4973 msgid "If false 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 MillerRabinTestSure but it may take a lot longer." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4981 #: C/genius.xml:5219 #: C/genius.xml:5260 msgid "See Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4990 msgid "IsPrimitiveMod" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:4992 #, no-wrap msgid "" "IsPrimitiveMod (g,q)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:4993 msgid "Check if g is primitive in Fq, the finite group of order q, where q is a prime. If q is not prime results are bogus." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:4999 msgid "IsPrimitiveModWithPrimeFactors" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5001 #, no-wrap msgid "" "IsPrimitiveModWithPrimeFactors (g,q,f)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5002 msgid "Check if g is primitive in Fq, the finite group of order q, where q is a prime and f is a vector of prime factors of q-1. If q is not prime results are bogus." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5010 msgid "IsPseudoprime" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5012 #, no-wrap msgid "" "IsPseudoprime (n,b)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5013 msgid "If n is a pseudoprime base b but not a prime, that is if b^(n-1) == 1 mod n. This calls the PseudoprimeTest" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5019 msgid "IsStrongPseudoprime" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5021 #, no-wrap msgid "" "IsStrongPseudoprime (n,b)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5022 msgid "Test if n is a strong pseudoprime to base b but not a prime." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5027 msgid "Jacobi" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5029 #, no-wrap msgid "" "Jacobi (a,b)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5030 msgid "Aliases: JacobiSymbol" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5031 msgid "Calculate the Jacobi symbol (a/b) (b should be odd)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5036 msgid "JacobiKronecker" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5038 #, no-wrap msgid "" "JacobiKronecker (a,b)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5039 msgid "Aliases: JacobiKroneckerSymbol" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5040 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:5045 msgid "LeastAbsoluteResidue" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5047 #, no-wrap msgid "" "LeastAbsoluteResidue (a,n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5048 msgid "Return the residue of a mod n with the least absolute value (in the interval -n/2 to n/2)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5053 msgid "Legendre" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5055 #, no-wrap msgid "" "Legendre (a,p)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5056 msgid "Aliases: LegendreSymbol" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5057 msgid "Calculate the Legendre symbol (a/p)." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5058 msgid "See Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5067 msgid "LucasLehmer" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5069 #, no-wrap msgid "" "LucasLehmer (p)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5070 msgid "Test if 2p-1 is a Mersenne prime using the Lucas-Lehmer test. See also MersennePrimeExponents and IsMersennePrimeExponent." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5076 msgid "See Wikipedia, Planetmath, or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5086 msgid "LucasNumber" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5088 #, no-wrap msgid "" "LucasNumber (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5089 msgid "Returns the nth Lucas number." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5090 msgid "See Wikipedia, Planetmath, or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5100 msgid "MaximalPrimePowerFactors" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5102 #, no-wrap msgid "" "MaximalPrimePowerFactors (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5103 msgid "Return all maximal prime power factors of a number." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5108 msgid "MersennePrimeExponents" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5110 #, no-wrap msgid "" "MersennePrimeExponents" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5111 msgid "A vector of known Mersenne prime exponents, that is a list of positive integers p such that 2p-1 is a prime. See also IsMersennePrimeExponent and LucasLehmer." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5133 msgid "MillerRabinTest" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5135 #, no-wrap msgid "" "MillerRabinTest (n,reps)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5136 msgid "Use the Miller-Rabin primality test on n, reps number of times. The probability of false positive is (1/4)^reps. It is probably usually better to use IsPrime since that is faster and better on smaller integers." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5145 msgid "See Wikipedia or Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5155 msgid "MillerRabinTestSure" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5157 #, no-wrap msgid "" "MillerRabinTestSure (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5158 msgid "Use the Miller-Rabin primality test on n with enough bases that assuming the Generalized Riemann Hypothesis the result is deterministic." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5163 msgid "See Wikipedia, Planetmath, or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5173 msgid "ModInvert" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5175 #, no-wrap msgid "" "ModInvert (n,m)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5176 msgid "Returns inverse of n mod m." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5177 msgid "See Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5185 msgid "MoebiusMu" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5187 #, no-wrap msgid "" "MoebiusMu (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5188 msgid "Return the Moebius mu function evaluated in n. That is, it returns 0 if n is not a product of distinct primes and (-1)^k if it is a product of k distinct primes." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5194 msgid "See Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5203 msgid "NextPrime" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5205 #, no-wrap msgid "" "NextPrime (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5206 msgid "Returns the least prime greater than n. Negatives of primes are considered prime and so to get the previous prime you can use -NextPrime(-n)." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5211 msgid "This function uses the GMPs mpz_nextprime, which in turn uses the probabilistic Miller-Rabin test (See also MillerRabinTest). The probability of false positive is not tunable, but is low enough for all practical purposes." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5228 msgid "PadicValuation" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5230 #, no-wrap msgid "" "PadicValuation (n,p)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5231 msgid "Returns the p-adic valuation (number of trailing zeros in base p)." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5232 msgid "See Wikipedia or Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5241 msgid "PowerMod" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5243 #, no-wrap msgid "" "PowerMod (a,b,m)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5244 msgid "Compute a^b mod m. The b's power of a modulo m. It is not necessary to use this function as it is automatically used in modulo mode. Hence a^b mod m is just as fast." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5255 msgid "Prime" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5257 #, no-wrap msgid "" "Prime (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5258 msgid "Aliases: prime" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5259 msgid "Return the nth prime (up to a limit)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5269 msgid "PrimeFactors" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5271 #, no-wrap msgid "" "PrimeFactors (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5272 msgid "Return all prime factors of a number as a vector." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5273 msgid "See Wikipedia or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5282 msgid "PseudoprimeTest" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5284 #, no-wrap msgid "" "PseudoprimeTest (n,b)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5285 msgid "Pseudoprime test, returns true if and only if b^(n-1) == 1 mod n" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5287 msgid "See Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5296 msgid "RemoveFactor" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5298 #, no-wrap msgid "" "RemoveFactor (n,m)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5299 msgid "Removes all instances of the factor m from the number n. That is divides by the largest power of m, that divides n." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5300 msgid "See Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5309 msgid "SilverPohligHellmanWithFactorization" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5311 #, no-wrap msgid "" "SilverPohligHellmanWithFactorization (n,b,q,f)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5312 msgid "Find discrete log of n base b in Fq, the finite group of order q, where q is a prime using the Silver-Pohlig-Hellman algorithm, given f being the factorization of q-1." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5317 msgid "SqrtModPrime" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5319 #, no-wrap msgid "" "SqrtModPrime (n,p)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5320 msgid "Find square root of n modulo p (where p is a prime). Null is returned if not a quadratic residue." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5321 msgid "See Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5330 msgid "StrongPseudoprimeTest" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5332 #, no-wrap msgid "" "StrongPseudoprimeTest (n,b)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5333 msgid "Run the strong pseudoprime test base b on n." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5334 msgid "See Wikipedia, Planetmath, or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5344 msgid "gcd" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5346 #, no-wrap msgid "" "gcd (a,args...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5347 msgid "Aliases: GCD" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5348 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:5355 msgid "See Wikipedia, Planetmath, or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5365 msgid "lcm" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5367 #, no-wrap msgid "" "lcm (a,args...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5368 msgid "Aliases: LCM" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5369 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:5375 msgid "See Wikipedia, Planetmath, or Mathworld for more information." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:5388 msgid "Matrix Manipulation" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5391 msgid "AppendElement" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5393 #, no-wrap msgid "" "AppendElement (v,elt)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5394 msgid "Append an element to a vector and return the vector. No expansion is done. Normally a row vector is built if starting from null 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:5401 msgid "ApplyOverMatrix" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5403 #, no-wrap msgid "" "ApplyOverMatrix (a,func)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5404 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:5409 msgid "ApplyOverMatrix2" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5411 #, no-wrap msgid "" "ApplyOverMatrix2 (a,b,func)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5412 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:5417 msgid "ColumnsOf" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5419 #, no-wrap msgid "" "ColumnsOf (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5420 msgid "Gets the columns of a matrix as a horizontal vector." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5425 msgid "ComplementSubmatrix" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5427 #, no-wrap msgid "" "ComplementSubmatrix (m,r,c)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5428 msgid "Remove column(s) and row(s) from a matrix." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5433 msgid "CompoundMatrix" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5435 #, no-wrap msgid "" "CompoundMatrix (k,A)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5436 msgid "Calculate the kth compound matrix of A." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5441 msgid "CountZeroColumns" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5443 #, no-wrap msgid "" "CountZeroColumns (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5444 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 cref and Nullity." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5454 msgid "DeleteColumn" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5456 #, no-wrap msgid "" "DeleteColumn (M,col)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5457 msgid "Delete a column of a matrix." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5462 msgid "DeleteRow" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5464 #, no-wrap msgid "" "DeleteRow (M,row)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5465 msgid "Delete a row of a matrix." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5470 msgid "DiagonalOf" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5472 #, no-wrap msgid "" "DiagonalOf (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5473 msgid "Gets the diagonal entries of a matrix as a column vector." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5474 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5482 msgid "DotProduct" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5484 #, no-wrap msgid "" "DotProduct (u,v)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5485 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 HermitianProduct for the standard sesquilinear inner product." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5487 msgid "See Wikipedia or Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5496 msgid "ExpandMatrix" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5498 #, no-wrap msgid "" "ExpandMatrix (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5499 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:5509 msgid "HermitianProduct" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5511 #, no-wrap msgid "" "HermitianProduct (u,v)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5512 msgid "Aliases: InnerProduct" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5513 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:5514 msgid "See Wikipedia or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5523 msgid "I" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5525 #, no-wrap msgid "" "I (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5526 msgid "Aliases: eye" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5527 msgid "Return an identity matrix of a given size, that is n by n. If n is zero, returns null." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5528 msgid "See Wikipedia or Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5537 msgid "IndexComplement" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5539 #, no-wrap msgid "" "IndexComplement (vec,msize)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5540 msgid "Return the index complement of a vector of indexes. Everything is one based. For example for vector [2,3] and size 5, we return [1,4,5]. If msize is 0, we always return null." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5547 msgid "IsDiagonal" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5549 #, no-wrap msgid "" "IsDiagonal (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5550 msgid "Is a matrix diagonal." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5551 #: C/genius.xml:5701 msgid "See Wikipedia or Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5560 msgid "IsIdentity" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5562 #, no-wrap msgid "" "IsIdentity (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5563 msgid "Check if a matrix is the identity matrix. Automatically returns false if the matrix is not square. Also works on numbers, in which case it is equivalent to x==1. When x is null (we could think of that as a 0 by 0 matrix), no error is generated and false is returned." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5572 msgid "IsLowerTriangular" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5574 #, no-wrap msgid "" "IsLowerTriangular (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5575 msgid "Is a matrix lower triangular. That is, are all the entries above the diagonal zero." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5580 msgid "IsMatrixInteger" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5582 #, no-wrap msgid "" "IsMatrixInteger (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5583 msgid "Check if a matrix is a matrix of integers (non-complex)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5588 msgid "IsMatrixNonnegative" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5590 #, no-wrap msgid "" "IsMatrixNonnegative (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5591 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:5593 #: C/genius.xml:5607 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5601 msgid "IsMatrixPositive" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5603 #, no-wrap msgid "" "IsMatrixPositive (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5604 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:5615 msgid "IsMatrixRational" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5617 #, no-wrap msgid "" "IsMatrixRational (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5618 msgid "Check if a matrix is a matrix of rational (non-complex) numbers." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5624 msgid "IsMatrixReal" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5626 #, no-wrap msgid "" "IsMatrixReal (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5627 msgid "Check if a matrix is a matrix of real (non-complex) numbers." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5632 msgid "IsMatrixSquare" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5634 #, no-wrap msgid "" "IsMatrixSquare (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5635 msgid "Check if a matrix is square, that is its width is equal to its height." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5643 msgid "IsUpperTriangular" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5645 #, no-wrap msgid "" "IsUpperTriangular (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5646 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:5651 msgid "IsValueOnly" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5653 #, no-wrap msgid "" "IsValueOnly (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5654 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:5660 msgid "IsVector" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5662 #, no-wrap msgid "" "IsVector (v)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5663 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 n or n by 1 matrix." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5672 msgid "IsZero" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5674 #, no-wrap msgid "" "IsZero (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5675 msgid "Check if a matrix is composed of all zeros. Also works on numbers, in which case it is equivalent to x==0. When x is null (we could think of that as a 0 by 0 matrix), no error is generated and true is returned as the condition is vacuous." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5685 msgid "LowerTriangular" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5687 #, no-wrap msgid "" "LowerTriangular (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5688 msgid "Returns a copy of the matrix M with all the entries above the diagonal set to zero." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5693 msgid "MakeDiagonal" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5695 #, no-wrap msgid "" "MakeDiagonal (v,arg...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5696 msgid "Aliases: diag" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5697 msgid "Make diagonal matrix from a vector. Alternatively you can pass in the values to put on the diagonal as arguments. So MakeDiagonal([1,2,3]) is the same as MakeDiagonal(1,2,3)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5710 msgid "MakeVector" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5712 #, no-wrap msgid "" "MakeVector (A)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5713 msgid "Alias: MakeColumnVector" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5714 msgid "Make column vector out of matrix by putting columns above each other. Returns null when given null. Can be used to ensure a vector is a column vector." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5721 msgid "MakeRowVector" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5723 #, no-wrap msgid "" "MakeRowVector (A)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5724 msgid "Make row vector out of matrix by putting rows one after another. Returns null when given null. Can be used to ensure a vector is a row vector." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5731 msgid "MatrixProduct" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5733 #, no-wrap msgid "" "MatrixProduct (A)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5734 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:5743 msgid "MatrixSum" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5745 #, no-wrap msgid "" "MatrixSum (A)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5746 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:5755 msgid "MatrixSumSquares" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5757 #, no-wrap msgid "" "MatrixSumSquares (A)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5758 msgid "Calculate the sum of squares of all elements in a matrix or vector." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5764 msgid "NonzeroColumns" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5766 #, no-wrap msgid "" "NonzeroColumns (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5767 msgid "Returns a row vector of the indices of nonzero columns in the matrix M." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5773 msgid "NonzeroElements" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5775 #, no-wrap msgid "" "NonzeroElements (v)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5776 msgid "Returns a row vector of the indices of nonzero elements in the vector v." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5782 msgid "OuterProduct" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5784 #, no-wrap msgid "" "OuterProduct (u,v)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5785 msgid "Get the outer product of two vectors. That is, suppose that u and v are vertical vectors, then the outer product is v * u.'." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5792 msgid "ReverseVector" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5794 #, no-wrap msgid "" "ReverseVector (v)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5795 msgid "Reverse elements in a vector. Return null if given null" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5800 msgid "RowSum" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5802 #, no-wrap msgid "" "RowSum (m)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5803 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:5809 msgid "RowSumSquares" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5811 #, no-wrap msgid "" "RowSumSquares (m)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5812 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:5817 msgid "RowsOf" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5819 #, no-wrap msgid "" "RowsOf (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5820 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 M. This function is useful if you wish to loop over the rows of a matrix. For example, as for r in RowsOf(M) do something(r)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5829 msgid "SetMatrixSize" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5831 #, no-wrap msgid "" "SetMatrixSize (M,rows,columns)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5832 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 rows or columns are zero then null is returned." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5842 msgid "ShuffleVector" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5844 #, no-wrap msgid "" "ShuffleVector (v)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5845 msgid "Shuffle elements in a vector. Return null if given null." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5846 msgid "Version 1.0.13 onwards." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5851 msgid "SortVector" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5853 #, no-wrap msgid "" "SortVector (v)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5854 msgid "Sort vector elements in an increasing order." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5859 msgid "StripZeroColumns" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5861 #, no-wrap msgid "" "StripZeroColumns (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5862 msgid "Removes any all-zero columns of M." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5867 msgid "StripZeroRows" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5869 #, no-wrap msgid "" "StripZeroRows (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5870 msgid "Removes any all-zero rows of M." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5875 msgid "Submatrix" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5877 #, no-wrap msgid "" "Submatrix (m,r,c)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5878 msgid "Return column(s) and row(s) from a matrix. This is just equivalent to m@(r,c). r and c 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:5885 msgid "SwapRows" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5887 #, no-wrap msgid "" "SwapRows (m,row1,row2)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5888 msgid "Swap two rows in a matrix." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5893 msgid "UpperTriangular" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5895 #, no-wrap msgid "" "UpperTriangular (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5896 msgid "Returns a copy of the matrix M with all the entries below the diagonal set to zero." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5901 msgid "columns" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5903 #, no-wrap msgid "" "columns (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5904 msgid "Get the number of columns of a matrix." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5909 msgid "elements" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5911 #, no-wrap msgid "" "elements (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5912 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:5918 msgid "ones" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5920 #, no-wrap msgid "" "ones (rows,columns...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5921 msgid "Make an matrix of all ones (or a row vector if only one argument is given). Returns null if either rows or columns are zero." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5926 msgid "rows" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5928 #, no-wrap msgid "" "rows (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5929 msgid "Get the number of rows of a matrix." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5934 msgid "zeros" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5936 #, no-wrap msgid "" "zeros (rows,columns...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5937 msgid "Make a matrix of all zeros (or a row vector if only one argument is given). Returns null if either rows or columns are zero." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5948 msgid "AuxiliaryUnitMatrix" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5950 #, no-wrap msgid "" "AuxiliaryUnitMatrix (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5951 msgid "Get the auxiliary unit matrix of size n. 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:5953 msgid "See Planetmath or Mathworld for more information on Jordan Canonical Form." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5962 msgid "BilinearForm" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5964 #, no-wrap msgid "" "BilinearForm (v,A,w)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5965 msgid "Evaluate (v,w) with respect to the bilinear form given by the matrix A." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5970 msgid "BilinearFormFunction" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5972 #, no-wrap msgid "" "BilinearFormFunction (A)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5973 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:5978 msgid "CharacteristicPolynomial" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5980 #, no-wrap msgid "" "CharacteristicPolynomial (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5981 msgid "Aliases: CharPoly" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5982 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 det(M-xI). The roots of this polynomial are the eigenvalues of M. See also CharacteristicPolynomialFunction." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:5988 #: C/genius.xml:6005 msgid "See Wikipedia or Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:5997 msgid "CharacteristicPolynomialFunction" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:5999 #, no-wrap msgid "" "CharacteristicPolynomialFunction (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6000 msgid "Get the characteristic polynomial as a function. This is the polynomial defined by det(M-xI). The roots of this polynomial are the eigenvalues of M. See also CharacteristicPolynomial." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6014 msgid "ColumnSpace" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6016 #, no-wrap msgid "" "ColumnSpace (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6017 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 M. That is the space spanned by the columns of M." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6021 #: C/genius.xml:6211 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6029 msgid "CommutationMatrix" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6031 #, no-wrap msgid "" "CommutationMatrix (m, n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6032 msgid "Return the commutation matrix K(m,n), which is the unique m*n by m*n matrix such that K(m,n) * MakeVector(A) = MakeVector(A.') for all m by n matrices A." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6039 msgid "CompanionMatrix" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6041 #, no-wrap msgid "" "CompanionMatrix (p)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6042 msgid "Companion matrix of a polynomial (as vector)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6047 msgid "ConjugateTranspose" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6049 #, no-wrap msgid "" "ConjugateTranspose (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6050 msgid "Conjugate transpose of a matrix (adjoint). This is the same as the ' operator." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6052 msgid "See Wikipedia or Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6061 msgid "Convolution" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6063 #, no-wrap msgid "" "Convolution (a,b)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6064 msgid "Aliases: convol" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6065 msgid "Calculate convolution of two horizontal vectors." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6070 msgid "ConvolutionVector" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6072 #, no-wrap msgid "" "ConvolutionVector (a,b)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6073 msgid "Calculate convolution of two horizontal vectors. Return result as a vector and not added together." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6079 msgid "CrossProduct" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6081 #, no-wrap msgid "" "CrossProduct (v,w)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6082 msgid "CrossProduct of two vectors in R3 as a column vector." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6084 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6092 msgid "DeterminantalDivisorsInteger" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6094 #, no-wrap msgid "" "DeterminantalDivisorsInteger (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6095 msgid "Get the determinantal divisors of an integer matrix." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6100 msgid "DirectSum" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6102 #, no-wrap msgid "" "DirectSum (M,N...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6103 msgid "Direct sum of matrices." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6104 #: C/genius.xml:6116 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6112 msgid "DirectSumMatrixVector" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6114 #, no-wrap msgid "" "DirectSumMatrixVector (v)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6115 msgid "Direct sum of a vector of matrices." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6124 msgid "Eigenvalues" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6126 #, no-wrap msgid "" "Eigenvalues (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6127 msgid "Aliases: eig" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6128 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:6133 msgid "See Wikipedia, Planetmath, or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6143 msgid "Eigenvectors" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6145 #, no-wrap msgid "" "Eigenvectors (M)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6146 #, no-wrap msgid "" "Eigenvectors (M, &eigenvalues)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6147 #, no-wrap msgid "" "Eigenvectors (M, &eigenvalues, &multiplicities)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6148 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:6152 msgid "See Wikipedia, Planetmath, or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6162 msgid "GramSchmidt" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6164 #, no-wrap msgid "" "GramSchmidt (v,B...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6165 msgid "Apply the Gram-Schmidt process (to the columns) with respect to inner product given by B. If B is not given then the standard Hermitian product is used. B 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 B." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6171 msgid "See Wikipedia or Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6180 msgid "HankelMatrix" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6182 #, no-wrap msgid "" "HankelMatrix (c,r)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6183 msgid "Hankel matrix, a matrix whose skew-diagonals are constant. c is the first row and r is the last column. It is assumed that both arguments are vectors and the last element of c is the same as the first element of r." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6186 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6194 msgid "HilbertMatrix" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6196 #, no-wrap msgid "" "HilbertMatrix (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6197 msgid "Hilbert matrix of order n." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6198 #: C/genius.xml:6239 msgid "See Wikipedia or Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6207 msgid "Image" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6209 #, no-wrap msgid "" "Image (T)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6210 msgid "Get the image (columnspace) of a linear transform." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6219 msgid "InfNorm" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6221 #, no-wrap msgid "" "InfNorm (v)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6222 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:6227 msgid "InvariantFactorsInteger" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6229 #, no-wrap msgid "" "InvariantFactorsInteger (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6230 msgid "Get the invariant factors of a square integer matrix." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6235 msgid "InverseHilbertMatrix" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6237 #, no-wrap msgid "" "InverseHilbertMatrix (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6238 msgid "Inverse Hilbert matrix of order n." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6248 msgid "IsHermitian" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6250 #, no-wrap msgid "" "IsHermitian (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6251 msgid "Is a matrix Hermitian. That is, is it equal to its conjugate transpose." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6252 msgid "See Wikipedia or Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6261 msgid "IsInSubspace" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6263 #, no-wrap msgid "" "IsInSubspace (v,W)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6264 msgid "Test if a vector is in a subspace." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6269 msgid "IsInvertible" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6271 #, no-wrap msgid "" "IsInvertible (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6272 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:6277 msgid "IsInvertibleField" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6279 #, no-wrap msgid "" "IsInvertibleField (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6280 msgid "Is a matrix (or number) invertible over a field." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6285 msgid "IsNormal" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6287 #, no-wrap msgid "" "IsNormal (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6288 msgid "Is M a normal matrix. That is, does M*M' == M'*M." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6290 msgid "See Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6299 msgid "IsPositiveDefinite" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6301 #, no-wrap msgid "" "IsPositiveDefinite (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6302 msgid "Is M a Hermitian positive definite matrix. That is if HermitianProduct(M*v,v) is always strictly positive for any vector v. M 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 HermitianProduct)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6309 msgid "Note that some authors (for example Mathworld) do not require that M 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 M as follows: IsPositiveDefinite(M+M')." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6317 msgid "See Wikipedia, Planetmath, or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6327 msgid "IsPositiveSemidefinite" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6329 #, no-wrap msgid "" "IsPositiveSemidefinite (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6330 msgid "Is M a Hermitian positive semidefinite matrix. That is if HermitianProduct(M*v,v) is always non-negative for any vector v. M 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 HermitianProduct)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6337 msgid "Note that some authors do not require that M 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 M as follows: IsPositiveSemidefinite(M+M')." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6345 msgid "See Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6354 msgid "IsSkewHermitian" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6356 #, no-wrap msgid "" "IsSkewHermitian (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6357 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:6358 msgid "See Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6366 msgid "IsUnitary" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6368 #, no-wrap msgid "" "IsUnitary (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6369 msgid "Is a matrix unitary? That is, does M'*M and M*M' equal the identity." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6372 msgid "See Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6381 msgid "JordanBlock" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6383 #, no-wrap msgid "" "JordanBlock (n,lambda)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6384 msgid "Aliases: J" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6385 msgid "Get the Jordan block corresponding to the eigenvalue lambda with multiplicity n." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6388 msgid "See Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6397 msgid "Kernel" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6399 #, no-wrap msgid "" "Kernel (T)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6400 msgid "Get the kernel (nullspace) of a linear transform." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6401 msgid "(See NullSpace)" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6408 msgid "KroneckerProduct" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6410 #, no-wrap msgid "" "KroneckerProduct (M, N)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6411 msgid "Aliases: TensorProduct" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6412 msgid "Compute the Kronecker product (tensor product in standard basis) of two matrices." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6416 msgid "See Wikipedia, Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6428 msgid "LUDecomposition" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6430 #, no-wrap msgid "" "LUDecomposition (A, L, U)" msgstr "" #. (itstool) path: para/screen #: C/genius.xml:6439 #, no-wrap msgid "" "genius> LUDecomposition(A,&L,&U)\n" "" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6431 msgid "Get the LU decomposition of A, that is find a lower triangular matrix and upper triangular matrix whose product is A. Store the result in the L and U, which should be references. It returns true 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 L and the upper matrix in a variable called U." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6445 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:6453 msgid "Not all matrices have LU decompositions, for example [0,1;1,0] does not and this function returns false in this case and sets L and U to null." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6459 msgid "See Wikipedia, Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6469 msgid "Minor" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6471 #, no-wrap msgid "" "Minor (M,i,j)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6472 msgid "Get the i-j minor of a matrix." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6473 msgid "See Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6481 msgid "NonPivotColumns" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6483 #, no-wrap msgid "" "NonPivotColumns (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6484 msgid "Return the columns that are not the pivot columns of a matrix." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6489 msgid "Norm" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6491 #, no-wrap msgid "" "Norm (v,p...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6492 msgid "Aliases: norm" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6493 msgid "Get the p Norm (or 2 Norm if no p is supplied) of a vector." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6498 msgid "NullSpace" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6500 #, no-wrap msgid "" "NullSpace (T)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6501 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 T." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6505 msgid "See Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6513 msgid "Nullity" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6515 #, no-wrap msgid "" "Nullity (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6516 msgid "Aliases: nullity" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6517 msgid "Get the nullity of a matrix. That is, return the dimension of the nullspace; the dimension of the kernel of M." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6519 msgid "See Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6527 msgid "OrthogonalComplement" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6529 #, no-wrap msgid "" "OrthogonalComplement (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6530 msgid "Get the orthogonal complement of the columnspace." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6535 msgid "PivotColumns" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6537 #, no-wrap msgid "" "PivotColumns (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6538 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:6543 msgid "Projection" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6545 #, no-wrap msgid "" "Projection (v,W,B...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6546 msgid "Projection of vector v onto subspace W with respect to inner product given by B. If B is not given then the standard Hermitian product is used. B 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:6556 msgid "QRDecomposition" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6558 #, no-wrap msgid "" "QRDecomposition (A, Q)" msgstr "" #. (itstool) path: para/screen #: C/genius.xml:6566 #, no-wrap msgid "" "genius> R = QRDecomposition(A,&Q)\n" "" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6559 msgid "Get the QR decomposition of a square matrix A, returns the upper triangular matrix R and sets Q to the orthogonal (unitary) matrix. Q should be a reference or null if you don't want any return. For example: <_:screen-1/> You will have the upper triangular matrix stored in a variable called R and the orthogonal (unitary) matrix stored in Q." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6573 msgid "See Wikipedia or Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6583 msgid "RayleighQuotient" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6585 #, no-wrap msgid "" "RayleighQuotient (A,x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6586 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:6587 msgid "See Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6595 msgid "RayleighQuotientIteration" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6597 #, no-wrap msgid "" "RayleighQuotientIteration (A,x,epsilon,maxiter,vecref)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6598 msgid "Find eigenvalues of A using the Rayleigh quotient iteration method. x 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 maxiter iterations and return null if we cannot get within an error of epsilon. vecref should either be null or a reference to a variable where the eigenvector should be stored." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6608 msgid "See Planetmath for more information on Rayleigh quotient." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6616 msgid "Rank" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6618 #, no-wrap msgid "" "Rank (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6619 msgid "Aliases: rank" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6620 msgid "Get the rank of a matrix." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6621 msgid "See Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6629 msgid "RosserMatrix" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6631 #, no-wrap msgid "" "RosserMatrix ()" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6632 msgid "Returns the Rosser matrix, which is a classic symmetric eigenvalue test problem." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6637 msgid "Rotation2D" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6639 #, no-wrap msgid "" "Rotation2D (angle)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6640 msgid "Aliases: RotationMatrix" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6641 msgid "Return the matrix corresponding to rotation around origin in R2." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6646 msgid "Rotation3DX" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6648 #, no-wrap msgid "" "Rotation3DX (angle)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6649 msgid "Return the matrix corresponding to rotation around origin in R3 about the x-axis." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6654 msgid "Rotation3DY" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6656 #, no-wrap msgid "" "Rotation3DY (angle)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6657 msgid "Return the matrix corresponding to rotation around origin in R3 about the y-axis." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6662 msgid "Rotation3DZ" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6664 #, no-wrap msgid "" "Rotation3DZ (angle)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6665 msgid "Return the matrix corresponding to rotation around origin in R3 about the z-axis." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6670 msgid "RowSpace" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6672 #, no-wrap msgid "" "RowSpace (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6673 msgid "Get a basis matrix for the rowspace of a matrix." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6678 msgid "SesquilinearForm" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6680 #, no-wrap msgid "" "SesquilinearForm (v,A,w)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6681 msgid "Evaluate (v,w) with respect to the sesquilinear form given by the matrix A." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6686 msgid "SesquilinearFormFunction" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6688 #, no-wrap msgid "" "SesquilinearFormFunction (A)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6689 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:6694 msgid "SmithNormalFormField" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6696 #, no-wrap msgid "" "SmithNormalFormField (A)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6697 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:6698 #: C/genius.xml:6710 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6706 msgid "SmithNormalFormInteger" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6708 #, no-wrap msgid "" "SmithNormalFormInteger (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6709 msgid "Return the Smith normal form for square integer matrices over integers." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6718 msgid "SolveLinearSystem" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6720 #, no-wrap msgid "" "SolveLinearSystem (M,V,args...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6721 msgid "Solve linear system Mx=V, return solution V if there is a unique solution, null otherwise. Extra two reference parameters can optionally be used to get the reduced M and V." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6726 msgid "ToeplitzMatrix" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6728 #, no-wrap msgid "" "ToeplitzMatrix (c, r...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6729 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:6733 msgid "See Wikipedia or Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6742 msgid "Trace" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6744 #, no-wrap msgid "" "Trace (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6745 msgid "Aliases: trace" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6746 msgid "Calculate the trace of a matrix. That is the sum of the diagonal elements." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6747 msgid "See Wikipedia or Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6756 msgid "Transpose" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6758 #, no-wrap msgid "" "Transpose (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6759 msgid "Transpose of a matrix. This is the same as the .' operator." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6761 msgid "See Wikipedia or Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6770 msgid "VandermondeMatrix" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6772 #, no-wrap msgid "" "VandermondeMatrix (v)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6773 msgid "Aliases: vander" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6774 msgid "Return the Vandermonde matrix." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6775 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6783 msgid "VectorAngle" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6785 #, no-wrap msgid "" "VectorAngle (v,w,B...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6786 msgid "The angle of two vectors with respect to inner product given by B. If B is not given then the standard Hermitian product is used. B 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:6795 msgid "VectorSpaceDirectSum" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6797 #, no-wrap msgid "" "VectorSpaceDirectSum (M,N)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6798 msgid "The direct sum of the vector spaces M and N." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6803 msgid "VectorSubspaceIntersection" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6805 #, no-wrap msgid "" "VectorSubspaceIntersection (M,N)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6806 msgid "Intersection of the subspaces given by M and N." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6811 msgid "VectorSubspaceSum" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6813 #, no-wrap msgid "" "VectorSubspaceSum (M,N)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6814 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:6819 msgid "adj" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6821 #, no-wrap msgid "" "adj (m)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6822 msgid "Aliases: Adjugate" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6823 msgid "Get the classical adjoint (adjugate) of a matrix." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6828 msgid "cref" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6830 #, no-wrap msgid "" "cref (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6831 msgid "Aliases: CREF ColumnReducedEchelonForm" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6832 msgid "Compute the Column Reduced Echelon Form." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6837 msgid "det" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6839 #, no-wrap msgid "" "det (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6840 msgid "Aliases: Determinant" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6841 msgid "Get the determinant of a matrix." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6842 msgid "See Wikipedia or Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6851 msgid "ref" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6853 #, no-wrap msgid "" "ref (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6854 msgid "Aliases: REF RowEchelonForm" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6855 msgid "Get the row echelon form of a matrix. That is, apply gaussian elimination but not backaddition to M. The pivot rows are divided to make all pivots 1." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6858 msgid "See Wikipedia or Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6867 msgid "rref" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6869 #, no-wrap msgid "" "rref (M)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6870 msgid "Aliases: RREF ReducedRowEchelonForm" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6871 msgid "Get the reduced row echelon form of a matrix. That is, apply gaussian elimination together with backaddition to M." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6872 msgid "See Wikipedia or Planetmath for more information." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:6884 msgid "Combinatorics" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6887 msgid "Catalan" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6889 #, no-wrap msgid "" "Catalan (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6890 msgid "Get nth Catalan number." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6891 msgid "See Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6899 msgid "Combinations" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6901 #, no-wrap msgid "" "Combinations (k,n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6902 msgid "Get all combinations of k numbers from 1 to n as a vector of vectors. (See also NextCombination)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6905 #: C/genius.xml:7103 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6913 msgid "DoubleFactorial" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6915 #, no-wrap msgid "" "DoubleFactorial (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6916 msgid "Double factorial: n(n-2)(n-4)..." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6917 msgid "See Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6925 msgid "Factorial" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6927 #, no-wrap msgid "" "Factorial (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6928 msgid "Factorial: n(n-1)(n-2)..." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6929 msgid "See Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6937 msgid "FallingFactorial" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6939 #, no-wrap msgid "" "FallingFactorial (n,k)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6940 msgid "Falling factorial: (n)_k = n(n-1)...(n-(k-1))" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6941 msgid "See Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6949 msgid "Fibonacci" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6951 #, no-wrap msgid "" "Fibonacci (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6952 msgid "Aliases: fib" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6953 msgid "Calculate nth Fibonacci number. That is the number defined recursively by Fibonacci(n) = Fibonacci(n-1) + Fibonacci(n-2) and Fibonacci(1) = Fibonacci(2) = 1." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6960 msgid "See Wikipedia or Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6970 msgid "FrobeniusNumber" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6972 #, no-wrap msgid "" "FrobeniusNumber (v,arg...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6973 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:6980 msgid "See Wikipedia or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:6989 msgid "GaloisMatrix" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6991 #, no-wrap msgid "" "GaloisMatrix (combining_rule)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:6992 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:6997 msgid "GreedyAlgorithm" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:6999 #, no-wrap msgid "" "GreedyAlgorithm (n,v)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7000 msgid "Find the vector c of non-negative integers such that taking the dot product with v is equal to n. If not possible returns null. v should be given sorted in increasing order and should consist of non-negative integers." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7007 msgid "See Wikipedia or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7016 msgid "HarmonicNumber" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7018 #, no-wrap msgid "" "HarmonicNumber (n,r)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7019 msgid "Aliases: HarmonicH" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7020 msgid "Harmonic Number, the nth harmonic number of order r. That is, it is the sum of 1/k^r for k from 1 to n. Equivalent to sum k = 1 to n do 1/k^r." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7023 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7031 msgid "Hofstadter" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7033 #, no-wrap msgid "" "Hofstadter (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7034 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:7035 msgid "See Wikipedia for more information. The sequence is A005185 in OEIS." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7044 msgid "LinearRecursiveSequence" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7046 #, no-wrap msgid "" "LinearRecursiveSequence (seed_values,combining_rule,n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7047 msgid "Compute linear recursive sequence using Galois stepping." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7052 msgid "Multinomial" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7054 #, no-wrap msgid "" "Multinomial (v,arg...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7055 msgid "Calculate multinomial coefficients. Takes a vector of k non-negative integers and computes the multinomial coefficient. This corresponds to the coefficient in the homogeneous polynomial in k variables with the corresponding powers." msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:7064 #, no-wrap msgid "" "(a+b+c)! / (a!b!c!)\n" "" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7061 msgid "The formula for Multinomial(a,b,c) can be written as: <_:programlisting-1/> In other words, if we would have only two elements, then Multinomial(a,b) is the same thing as Binomial(a+b,a) or Binomial(a+b,b)." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7071 msgid "See Wikipedia, Planetmath, or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7081 msgid "NextCombination" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7083 #, no-wrap msgid "" "NextCombination (v,n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7084 msgid "Get combination that would come after v in call to combinations, first combination should be [1:k]. 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:7091 #, no-wrap msgid "" "for n in Combinations (4,6) do (\n" " SomeFunction (n)\n" ");\n" "" msgstr "" #. (itstool) path: para/screen #: C/genius.xml:7096 #, no-wrap msgid "" "n:=[1:4];\n" "do (\n" " SomeFunction (n)\n" ") while not IsNull(n:=NextCombination(n,6));\n" "" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7089 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 Combinations." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7111 msgid "Pascal" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7113 #, no-wrap msgid "" "Pascal (i)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7114 msgid "Get the Pascal's triangle as a matrix. This will return an i+1 by i+1 lower diagonal matrix that is the Pascal's triangle after i iterations." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7118 msgid "See Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7126 msgid "Permutations" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7128 #, no-wrap msgid "" "Permutations (k,n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7129 msgid "Get all permutations of k numbers from 1 to n as a vector of vectors." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7130 #: C/genius.xml:7219 msgid "See Mathworld or Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7139 msgid "RisingFactorial" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7141 #, no-wrap msgid "" "RisingFactorial (n,k)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7142 msgid "Aliases: Pochhammer" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7143 msgid "(Pochhammer) Rising factorial: (n)_k = n(n+1)...(n+(k-1))." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7144 msgid "See Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7152 msgid "StirlingNumberFirst" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7154 #, no-wrap msgid "" "StirlingNumberFirst (n,m)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7155 msgid "Aliases: StirlingS1" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7156 msgid "Stirling number of the first kind." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7157 msgid "See Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7166 msgid "StirlingNumberSecond" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7168 #, no-wrap msgid "" "StirlingNumberSecond (n,m)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7169 msgid "Aliases: StirlingS2" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7170 msgid "Stirling number of the second kind." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7171 msgid "See Planetmath or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7180 msgid "Subfactorial" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7182 #, no-wrap msgid "" "Subfactorial (n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7183 msgid "Subfactorial: n! times sum_{k=0}^n (-1)^k/k!." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7188 msgid "Triangular" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7190 #, no-wrap msgid "" "Triangular (nth)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7191 msgid "Calculate the nth triangular number." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7192 msgid "See Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7200 msgid "nCr" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7202 #, no-wrap msgid "" "nCr (n,r)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7203 msgid "Aliases: Binomial" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7204 msgid "Calculate combinations, that is, the binomial coefficient. n can be any real number." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7206 msgid "See Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7214 msgid "nPr" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7216 #, no-wrap msgid "" "nPr (n,r)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7217 msgid "Calculate the number of permutations of size r of numbers from 1 to n." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:7231 msgid "Calculus" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7234 msgid "CompositeSimpsonsRule" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7236 #, no-wrap msgid "" "CompositeSimpsonsRule (f,a,b,n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7237 msgid "Integration of f by Composite Simpson's Rule on the interval [a,b] with n subintervals with error of max(f'''')*h^4*(b-a)/180, note that n should be even." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7238 #: C/genius.xml:7250 msgid "See Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7246 msgid "CompositeSimpsonsRuleTolerance" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7248 #, no-wrap msgid "" "CompositeSimpsonsRuleTolerance (f,a,b,FourthDerivativeBound,Tolerance)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7249 msgid "Integration of f by Composite 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:7258 msgid "Derivative" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7260 #, no-wrap msgid "" "Derivative (f,x0)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7261 msgid "Attempt to calculate derivative by trying first symbolically and then numerically." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7262 #: C/genius.xml:7394 #: C/genius.xml:8808 #: C/genius.xml:8822 #: C/genius.xml:8836 #: C/genius.xml:8850 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7270 msgid "EvenPeriodicExtension" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7272 #, no-wrap msgid "" "EvenPeriodicExtension (f,L)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7273 msgid "Return a function that is the even periodic extension of f with half period L. That is a function defined on the interval [0,L] extended to be even on [-L,L] and then extended to be periodic with period 2*L." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7278 msgid "See also OddPeriodicExtension and PeriodicExtension." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7289 msgid "FourierSeriesFunction" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7291 #, no-wrap msgid "" "FourierSeriesFunction (a,b,L)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7292 msgid "Return a function that is a Fourier series with the coefficients given by the vectors a (sines) and b (cosines). Note that a@(1) is the constant coefficient! That is, a@(n) refers to the term cos(x*(n-1)*pi/L), while b@(n) refers to the term sin(x*n*pi/L). Either a or b can be null." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7300 #: C/genius.xml:7414 #: C/genius.xml:7434 msgid "See Wikipedia or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7309 msgid "InfiniteProduct" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7311 #, no-wrap msgid "" "InfiniteProduct (func,start,inc)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7312 msgid "Try to calculate an infinite product for a single parameter function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7317 msgid "InfiniteProduct2" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7319 #, no-wrap msgid "" "InfiniteProduct2 (func,arg,start,inc)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7320 msgid "Try to calculate an infinite product for a double parameter function with func(arg,n)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7325 msgid "InfiniteSum" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7327 #, no-wrap msgid "" "InfiniteSum (func,start,inc)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7328 msgid "Try to calculate an infinite sum for a single parameter function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7333 msgid "InfiniteSum2" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7335 #, no-wrap msgid "" "InfiniteSum2 (func,arg,start,inc)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7336 msgid "Try to calculate an infinite sum for a double parameter function with func(arg,n)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7341 msgid "IsContinuous" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7343 #, no-wrap msgid "" "IsContinuous (f,x0)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7344 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:7349 msgid "IsDifferentiable" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7351 #, no-wrap msgid "" "IsDifferentiable (f,x0)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7352 msgid "Test for differentiability by approximating the left and right limits and comparing." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7357 msgid "LeftHandRule" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7359 #, no-wrap msgid "" "LeftHandRule (f,a,b,n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7360 msgid "Integration by left hand rule on the interval [a,b] with n subintervals." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7365 msgid "LeftLimit" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7367 #, no-wrap msgid "" "LeftLimit (f,x0)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7368 msgid "Calculate the left limit of a real-valued function at x0." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7373 msgid "Limit" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7375 #, no-wrap msgid "" "Limit (f,x0)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7376 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:7381 msgid "MidpointRule" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7383 #, no-wrap msgid "" "MidpointRule (f,a,b,n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7384 msgid "Integration by midpoint rule on the interval [a,b] with n subintervals." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7389 msgid "NumericalDerivative" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7391 #, no-wrap msgid "" "NumericalDerivative (f,x0)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7392 msgid "Aliases: NDerivative" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7393 msgid "Attempt to calculate numerical derivative." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7402 msgid "NumericalFourierSeriesCoefficients" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7404 #, no-wrap msgid "" "NumericalFourierSeriesCoefficients (f,L,N)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7405 msgid "Return a vector of vectors [a,b] where a are the cosine coefficients and b are the sine coefficients of the Fourier series of f with half-period L (that is defined on [-L,L] and extended periodically) with coefficients up to Nth harmonic computed numerically. The coefficients are computed by numerical integration using NumericalIntegral." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7424 msgid "NumericalFourierSeriesFunction" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7426 #, no-wrap msgid "" "NumericalFourierSeriesFunction (f,L,N)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7427 msgid "Return a function that is the Fourier series of f with half-period L (that is defined on [-L,L] and extended periodically) with coefficients up to Nth harmonic computed numerically. This is the trigonometric real series composed of sines and cosines. The coefficients are computed by numerical integration using NumericalIntegral." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7444 msgid "NumericalFourierCosineSeriesCoefficients" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7446 #, no-wrap msgid "" "NumericalFourierCosineSeriesCoefficients (f,L,N)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7447 msgid "Return a vector of coefficients of the cosine Fourier series of f with half-period L. That is, we take f defined on [0,L] take the even periodic extension and compute the Fourier series, which only has cosine terms. The series is computed up to the Nth harmonic. The coefficients are computed by numerical integration using NumericalIntegral. Note that a@(1) is the constant coefficient! That is, a@(n) refers to the term cos(x*(n-1)*pi/L)." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7459 #: C/genius.xml:7480 msgid "See Wikipedia or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7469 msgid "NumericalFourierCosineSeriesFunction" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7471 #, no-wrap msgid "" "NumericalFourierCosineSeriesFunction (f,L,N)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7472 msgid "Return a function that is the cosine Fourier series of f with half-period L. That is, we take f defined on [0,L] take the even periodic extension and compute the Fourier series, which only has cosine terms. The series is computed up to the Nth harmonic. The coefficients are computed by numerical integration using NumericalIntegral." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7490 msgid "NumericalFourierSineSeriesCoefficients" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7492 #, no-wrap msgid "" "NumericalFourierSineSeriesCoefficients (f,L,N)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7493 msgid "Return a vector of coefficients of the sine Fourier series of f with half-period L. That is, we take f defined on [0,L] take the odd periodic extension and compute the Fourier series, which only has sine terms. The series is computed up to the Nth harmonic. The coefficients are computed by numerical integration using NumericalIntegral." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7502 #: C/genius.xml:7523 msgid "See Wikipedia or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7512 msgid "NumericalFourierSineSeriesFunction" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7514 #, no-wrap msgid "" "NumericalFourierSineSeriesFunction (f,L,N)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7515 msgid "Return a function that is the sine Fourier series of f with half-period L. That is, we take f defined on [0,L] take the odd periodic extension and compute the Fourier series, which only has sine terms. The series is computed up to the Nth harmonic. The coefficients are computed by numerical integration using NumericalIntegral." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7533 msgid "NumericalIntegral" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7535 #, no-wrap msgid "" "NumericalIntegral (f,a,b)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7536 msgid "Integration by rule set in NumericalIntegralFunction of f from a to b using NumericalIntegralSteps steps. By default NumericalIntegralFunction is the CompositeSimpsonsRule." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7542 msgid "NumericalLeftDerivative" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7544 #, no-wrap msgid "" "NumericalLeftDerivative (f,x0)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7545 msgid "Attempt to calculate numerical left derivative." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7550 msgid "NumericalLimitAtInfinity" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7552 #, no-wrap msgid "" "NumericalLimitAtInfinity (_f,step_fun,tolerance,successive_for_success,N)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7553 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:7558 msgid "NumericalRightDerivative" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7560 #, no-wrap msgid "" "NumericalRightDerivative (f,x0)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7561 msgid "Attempt to calculate numerical right derivative." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7566 msgid "OddPeriodicExtension" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7568 #, no-wrap msgid "" "OddPeriodicExtension (f,L)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7569 msgid "Return a function that is the odd periodic extension of f with half period L. That is a function defined on the interval [0,L] extended to be odd on [-L,L] and then extended to be periodic with period 2*L." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7574 msgid "See also EvenPeriodicExtension and PeriodicExtension." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7585 msgid "OneSidedFivePointFormula" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7587 #, no-wrap msgid "" "OneSidedFivePointFormula (f,x0,h)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7588 msgid "Compute one-sided derivative using five point formula." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7593 msgid "OneSidedThreePointFormula" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7595 #, no-wrap msgid "" "OneSidedThreePointFormula (f,x0,h)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7596 msgid "Compute one-sided derivative using three-point formula." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7601 msgid "PeriodicExtension" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7603 #, no-wrap msgid "" "PeriodicExtension (f,a,b)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7604 msgid "Return a function that is the periodic extension of f defined on the interval [a,b] and has period b-a." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7607 msgid "See also OddPeriodicExtension and EvenPeriodicExtension." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7618 msgid "RightHandRule" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7620 #, no-wrap msgid "" "RightHandRule (f,a,b,n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7621 msgid "Integration by right hand rule on the interval [a,b] with n subintervals." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7626 msgid "RightLimit" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7628 #, no-wrap msgid "" "RightLimit (f,x0)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7629 msgid "Calculate the right limit of a real-valued function at x0." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7634 msgid "TrapezoidRule" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7636 #, no-wrap msgid "" "TrapezoidRule (f,a,b,n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7637 msgid "Integration by trapezoid rule on the interval [a,b] with n subintervals." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7642 msgid "TwoSidedFivePointFormula" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7644 #, no-wrap msgid "" "TwoSidedFivePointFormula (f,x0,h)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7645 msgid "Compute two-sided derivative using five-point formula." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7650 msgid "TwoSidedThreePointFormula" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7652 #, no-wrap msgid "" "TwoSidedThreePointFormula (f,x0,h)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7653 msgid "Compute two-sided derivative using three-point formula." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:7661 msgid "Functions" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7664 msgid "Argument" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7666 #, no-wrap msgid "" "Argument (z)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7667 msgid "Aliases: Arg arg" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7668 msgid "argument (angle) of complex number." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7673 msgid "BesselJ0" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7675 #, no-wrap msgid "" "BesselJ0 (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7676 msgid "Bessel function of the first kind of order 0. Only implemented for real numbers." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7677 #: C/genius.xml:7690 #: C/genius.xml:7703 #: C/genius.xml:7716 #: C/genius.xml:7729 #: C/genius.xml:7742 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7686 msgid "BesselJ1" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7688 #, no-wrap msgid "" "BesselJ1 (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7689 msgid "Bessel function of the first kind of order 1. Only implemented for real numbers." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7699 msgid "BesselJn" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7701 #, no-wrap msgid "" "BesselJn (n,x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7702 msgid "Bessel function of the first kind of order n. Only implemented for real numbers." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7712 msgid "BesselY0" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7714 #, no-wrap msgid "" "BesselY0 (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7715 msgid "Bessel function of the second kind of order 0. Only implemented for real numbers." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7725 msgid "BesselY1" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7727 #, no-wrap msgid "" "BesselY1 (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7728 msgid "Bessel function of the second kind of order 1. Only implemented for real numbers." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7738 msgid "BesselYn" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7740 #, no-wrap msgid "" "BesselYn (n,x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7741 msgid "Bessel function of the second kind of order n. Only implemented for real numbers." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7751 msgid "DirichletKernel" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7753 #, no-wrap msgid "" "DirichletKernel (n,t)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7754 msgid "Dirichlet kernel of order n." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7759 msgid "DiscreteDelta" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7761 #, no-wrap msgid "" "DiscreteDelta (v)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7762 msgid "Returns 1 if and only if all elements are zero." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7767 msgid "ErrorFunction" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7769 #, no-wrap msgid "" "ErrorFunction (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7770 msgid "Aliases: erf" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7771 msgid "The error function, 2/sqrt(pi) * int_0^x e^(-t^2) dt." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7772 msgid "See Wikipedia or Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7781 msgid "FejerKernel" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7783 #, no-wrap msgid "" "FejerKernel (n,t)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7784 msgid "Fejer kernel of order n evaluated at t" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7786 msgid "See Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7794 msgid "GammaFunction" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7796 #, no-wrap msgid "" "GammaFunction (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7797 msgid "Aliases: Gamma" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7798 msgid "The Gamma function. Currently only implemented for real values." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7799 msgid "See Planetmath or Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7808 msgid "KroneckerDelta" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7810 #, no-wrap msgid "" "KroneckerDelta (v)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7811 msgid "Returns 1 if and only if all elements are equal." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7816 msgid "LambertW" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7818 #, no-wrap msgid "" "LambertW (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7819 msgid "The principal branch of Lambert W function computed for only real values greater than or equal to -1/e. That is, LambertW is the inverse of the expression x*e^x. Even for real x this expression is not one to one and therefore has two branches over [-1/e,0). See LambertWm1 for the other real branch." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7828 #: C/genius.xml:7848 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7837 msgid "LambertWm1" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7839 #, no-wrap msgid "" "LambertWm1 (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7840 msgid "The minus-one branch of Lambert W function computed for only real values greater than or equal to -1/e and less than 0. That is, LambertWm1 is the second branch of the inverse of x*e^x. See LambertW for the principal branch." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7856 msgid "MinimizeFunction" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7858 #, no-wrap msgid "" "MinimizeFunction (func,x,incr)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7859 msgid "Find the first value where f(x)=0." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7864 msgid "MoebiusDiskMapping" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7866 #, no-wrap msgid "" "MoebiusDiskMapping (a,z)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7867 msgid "Moebius mapping of the disk to itself mapping a to 0." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7868 #: C/genius.xml:7881 #: C/genius.xml:7894 #: C/genius.xml:7907 #: C/genius.xml:7920 msgid "See Wikipedia or Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7877 msgid "MoebiusMapping" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7879 #, no-wrap msgid "" "MoebiusMapping (z,z2,z3,z4)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7880 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:7890 msgid "MoebiusMappingInftyToInfty" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7892 #, no-wrap msgid "" "MoebiusMappingInftyToInfty (z,z2,z3)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7893 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:7903 msgid "MoebiusMappingInftyToOne" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7905 #, no-wrap msgid "" "MoebiusMappingInftyToOne (z,z3,z4)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7906 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:7916 msgid "MoebiusMappingInftyToZero" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7918 #, no-wrap msgid "" "MoebiusMappingInftyToZero (z,z2,z4)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7919 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:7929 msgid "PoissonKernel" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7931 #, no-wrap msgid "" "PoissonKernel (r,sigma)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7932 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:7937 msgid "PoissonKernelRadius" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7939 #, no-wrap msgid "" "PoissonKernelRadius (r,sigma)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7940 msgid "Poisson kernel on D(0,R) (not normalized to 1)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7945 msgid "RiemannZeta" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7947 #, no-wrap msgid "" "RiemannZeta (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7948 msgid "Aliases: zeta" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7949 msgid "The Riemann zeta function. Currently only implemented for real values." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7950 msgid "See Planetmath or Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7959 msgid "UnitStep" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7961 #, no-wrap msgid "" "UnitStep (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7962 msgid "The unit step function is 0 for x<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:7963 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7971 msgid "cis" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7973 #, no-wrap msgid "" "cis (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7974 msgid "The cis function, that is the same as cos(x)+1i*sin(x)" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7982 msgid "deg2rad" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7984 #, no-wrap msgid "" "deg2rad (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7985 msgid "Convert degrees to radians." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7990 msgid "rad2deg" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:7992 #, no-wrap msgid "" "rad2deg (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:7993 msgid "Convert radians to degrees." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:7998 msgid "sinc" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8000 #, no-wrap msgid "" "sinc (x)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8001 msgid "Calculates the unnormalized sinc function, that is sin(x)/x. If you want the normalized function call sinc(pi*x)." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8004 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:8016 msgid "Equation Solving" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8020 msgid "CubicFormula" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8022 #, no-wrap msgid "" "CubicFormula (p)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8023 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 4*x^3 + 2*x + 1 corresponds to the vector [1,2,0,4]. 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:8032 msgid "See Planetmath, Mathworld, or Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8042 msgid "EulersMethod" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8044 #, no-wrap msgid "" "EulersMethod (f,x0,y0,x1,n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8045 msgid "Use classical Euler's method to numerically solve y'=f(x,y) for initial x0, y0 going to x1 with n increments, returns y at x1. Unless you explicitly want to use Euler's method, you should really think about using RungeKutta for solving ODE." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8055 #: C/genius.xml:8096 #: C/genius.xml:8301 #: C/genius.xml:8339 msgid "Systems can be solved by just having y be a (column) vector everywhere. That is, y0 can be a vector in which case f should take a number x 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:8062 #: C/genius.xml:8118 msgid "See Mathworld or Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8071 msgid "EulersMethodFull" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8073 #, no-wrap msgid "" "EulersMethodFull (f,x0,y0,x1,n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8074 msgid "Use classical Euler's method to numerically solve y'=f(x,y) for initial x0, y0 going to x1 with n increments, returns an n+1 by 2 matrix with the x and y values. Unless you explicitly want to use Euler's method, you should really think about using RungeKuttaFull for solving ODE. Suitable for plugging into LinePlotDrawLine or LinePlotDrawPoints." msgstr "" #. (itstool) path: para/screen #: C/genius.xml:8091 #, no-wrap msgid "" "genius> LinePlotClear();\n" "genius> line = EulersMethodFull(`(x,y)=y,0,1.0,3.0,50);\n" "genius> LinePlotDrawLine(line,\"window\",\"fit\",\"color\",\"blue\",\"legend\",\"Exponential growth\");\n" "" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8089 #: C/genius.xml:8332 #: C/genius.xml:8715 #: C/genius.xml:8755 msgid "Example: <_:screen-1/>" msgstr "" #. (itstool) path: para/screen #: C/genius.xml:8108 #, no-wrap msgid "" "genius> LinePlotClear();\n" "genius> lines = EulersMethodFull(`(x,y)=[y@(2),-y@(1)],0,[1.0,1.0],10.0,500);\n" "genius> lines = ExpandMatrix(lines);\n" "genius> firstline = lines@(,[1,2]);\n" "genius> secondline = lines@(,[1,3]);\n" "genius> LinePlotWindow = [0,10,-2,2];\n" "genius> LinePlotDrawLine(firstline,\"color\",\"blue\",\"legend\",\"First\");\n" "genius> LinePlotDrawPoints(secondline,\"color\",\"red\",\"thickness\",3,\"legend\",\"Second\");\n" "" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8103 #: C/genius.xml:8346 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 ExpandMatrix, and pick out the right columns. Example: <_:screen-1/>" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8128 msgid "FindRootBisection" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8130 #, no-wrap msgid "" "FindRootBisection (f,a,b,TOL,N)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8131 msgid "Find root of a function using the bisection method. a and b are the initial guess interval, f(a) and f(b) should have opposite signs. TOL is the desired tolerance and N is the limit on the number of iterations to run, 0 means no limit. The function returns a vector [success,value,iteration], where success is a boolean indicating success, value is the last value computed, and iteration is the number of iterations done." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8140 msgid "FindRootFalsePosition" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8142 #, no-wrap msgid "" "FindRootFalsePosition (f,a,b,TOL,N)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8143 msgid "Find root of a function using the method of false position. a and b are the initial guess interval, f(a) and f(b) should have opposite signs. TOL is the desired tolerance and N is the limit on the number of iterations to run, 0 means no limit. The function returns a vector [success,value,iteration], where success is a boolean indicating success, value is the last value computed, and iteration is the number of iterations done." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8152 msgid "FindRootMullersMethod" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8154 #, no-wrap msgid "" "FindRootMullersMethod (f,x0,x1,x2,TOL,N)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8155 msgid "Find root of a function using the Muller's method. TOL is the desired tolerance and N is the limit on the number of iterations to run, 0 means no limit. The function returns a vector [success,value,iteration], where success is a boolean indicating success, value is the last value computed, and iteration is the number of iterations done." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8162 msgid "FindRootSecant" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8164 #, no-wrap msgid "" "FindRootSecant (f,a,b,TOL,N)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8165 msgid "Find root of a function using the secant method. a and b are the initial guess interval, f(a) and f(b) should have opposite signs. TOL is the desired tolerance and N is the limit on the number of iterations to run, 0 means no limit. The function returns a vector [success,value,iteration], where success is a boolean indicating success, value is the last value computed, and iteration is the number of iterations done." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8174 msgid "HalleysMethod" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8176 #, no-wrap msgid "" "HalleysMethod (f,df,ddf,guess,epsilon,maxn)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8177 msgid "Find zeros using Halley's method. f is the function, df is the derivative of f, and ddf is the second derivative of f. guess is the initial guess. The function returns after two successive values are within epsilon of each other, or after maxn tries, in which case the function returns null indicating failure." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8184 msgid "See also NewtonsMethod and SymbolicDerivative." msgstr "" #. (itstool) path: para/screen #: C/genius.xml:8189 #, no-wrap msgid "" "genius> HalleysMethod(`(x)=x^2-10,`(x)=2*x,`(x)=2,3,10^-10,100)\n" "" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8187 #: C/genius.xml:8213 #: C/genius.xml:8555 msgid "Example to find the square root of 10: <_:screen-1/>" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8192 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8201 msgid "NewtonsMethod" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8203 #, no-wrap msgid "" "NewtonsMethod (f,df,guess,epsilon,maxn)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8204 msgid "Find zeros using Newton's method. f is the function and df is the derivative of f. guess is the initial guess. The function returns after two successive values are within epsilon of each other, or after maxn tries, in which case the function returns null indicating failure." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8210 msgid "See also NewtonsMethodPoly and SymbolicDerivative." msgstr "" #. (itstool) path: para/screen #: C/genius.xml:8215 #, no-wrap msgid "" "genius> NewtonsMethod(`(x)=x^2-10,`(x)=2*x,3,10^-10,100)\n" "" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8218 #: C/genius.xml:8560 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8227 msgid "PolynomialRoots" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8229 #, no-wrap msgid "" "PolynomialRoots (p)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8230 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 4*x^3 + 2*x + 1 corresponds to the vector [1,2,0,4]. Returns a column vector of the solutions." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8239 msgid "The function calls QuadraticFormula, CubicFormula, and QuarticFormula." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8249 msgid "QuadraticFormula" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8251 #, no-wrap msgid "" "QuadraticFormula (p)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8252 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 3*x^2 + 2*x + 1 corresponds to the vector [1,2,3]. Returns a column vector of the two solutions." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8260 msgid "See Planetmath, or Mathworld, or Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8270 msgid "QuarticFormula" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8272 #, no-wrap msgid "" "QuarticFormula (p)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8273 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 5*x^4 + 2*x + 1 corresponds to the vector [1,2,0,0,5]. Returns a column vector of the four solutions." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8281 msgid "See Planetmath, Mathworld, or Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8291 msgid "RungeKutta" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8293 #, no-wrap msgid "" "RungeKutta (f,x0,y0,x1,n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8294 msgid "Use classical non-adaptive fourth order Runge-Kutta method to numerically solve y'=f(x,y) for initial x0, y0 going to x1 with n increments, returns y at x1." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8308 #: C/genius.xml:8361 msgid "See Mathworld or Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8317 msgid "RungeKuttaFull" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8319 #, no-wrap msgid "" "RungeKuttaFull (f,x0,y0,x1,n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8320 msgid "Use classical non-adaptive fourth order Runge-Kutta method to numerically solve y'=f(x,y) for initial x0, y0 going to x1 with n increments, returns an n+1 by 2 matrix with the x and y values. Suitable for plugging into LinePlotDrawLine or LinePlotDrawPoints." msgstr "" #. (itstool) path: para/screen #: C/genius.xml:8334 #, no-wrap msgid "" "genius> LinePlotClear();\n" "genius> line = RungeKuttaFull(`(x,y)=y,0,1.0,3.0,50);\n" "genius> LinePlotDrawLine(line,\"window\",\"fit\",\"color\",\"blue\",\"legend\",\"Exponential growth\");\n" "" msgstr "" #. (itstool) path: para/screen #: C/genius.xml:8351 #, no-wrap msgid "" "genius> LinePlotClear();\n" "genius> lines = RungeKuttaFull(`(x,y)=[y@(2),-y@(1)],0,[1.0,1.0],10.0,100);\n" "genius> lines = ExpandMatrix(lines);\n" "genius> firstline = lines@(,[1,2]);\n" "genius> secondline = lines@(,[1,3]);\n" "genius> LinePlotWindow = [0,10,-2,2];\n" "genius> LinePlotDrawLine(firstline,\"color\",\"blue\",\"legend\",\"First\");\n" "genius> LinePlotDrawPoints(secondline,\"color\",\"red\",\"thickness\",3,\"legend\",\"Second\");\n" "" msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:8375 msgid "Statistics" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8378 msgid "Average" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8380 #, no-wrap msgid "" "Average (m)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8381 msgid "Aliases: average Mean mean" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8382 msgid "Calculate average (the arithmetic mean) of an entire matrix." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8383 #: C/genius.xml:8448 msgid "See Wikipedia or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8392 msgid "GaussDistribution" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8394 #, no-wrap msgid "" "GaussDistribution (x,sigma)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8395 msgid "Integral of the GaussFunction from 0 to x (area under the normal curve)." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8396 #: C/genius.xml:8409 msgid "See Wikipedia or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8405 msgid "GaussFunction" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8407 #, no-wrap msgid "" "GaussFunction (x,sigma)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8408 msgid "The normalized Gauss distribution function (the normal curve)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8419 msgid "Median" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8421 #, no-wrap msgid "" "Median (m)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8422 msgid "Aliases: median" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8423 msgid "Calculate median of an entire matrix." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8424 #: C/genius.xml:8462 msgid "See Wikipedia or Mathworld for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8433 msgid "PopulationStandardDeviation" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8435 #, no-wrap msgid "" "PopulationStandardDeviation (m)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8436 msgid "Aliases: stdevp" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8437 msgid "Calculate the population standard deviation of a whole matrix." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8442 msgid "RowAverage" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8444 #, no-wrap msgid "" "RowAverage (m)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8445 msgid "Aliases: RowMean" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8446 msgid "Calculate average of each row in a matrix. That is, compute the arithmetic mean." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8457 msgid "RowMedian" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8459 #, no-wrap msgid "" "RowMedian (m)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8460 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:8471 msgid "RowPopulationStandardDeviation" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8473 #, no-wrap msgid "" "RowPopulationStandardDeviation (m)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8474 msgid "Aliases: rowstdevp" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8475 msgid "Calculate the population standard deviations of rows of a matrix and return a vertical vector." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8480 msgid "RowStandardDeviation" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8482 #, no-wrap msgid "" "RowStandardDeviation (m)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8483 msgid "Aliases: rowstdev" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8484 msgid "Calculate the standard deviations of rows of a matrix and return a vertical vector." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8489 msgid "StandardDeviation" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8491 #, no-wrap msgid "" "StandardDeviation (m)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8492 msgid "Aliases: stdev" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8493 msgid "Calculate the standard deviation of a whole matrix." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:8501 msgid "Polynomials" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8504 msgid "AddPoly" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8506 #, no-wrap msgid "" "AddPoly (p1,p2)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8507 msgid "Add two polynomials (vectors)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8512 msgid "DividePoly" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8514 #, no-wrap msgid "" "DividePoly (p,q,&r)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8515 msgid "Divide two polynomials (as vectors) using long division. Returns the quotient of the two polynomials. The optional argument r is used to return the remainder. The remainder will have lower degree than q." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8520 msgid "See Planetmath for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8528 msgid "IsPoly" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8530 #, no-wrap msgid "" "IsPoly (p)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8531 msgid "Check if a vector is usable as a polynomial." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8536 msgid "MultiplyPoly" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8538 #, no-wrap msgid "" "MultiplyPoly (p1,p2)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8539 msgid "Multiply two polynomials (as vectors)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8544 msgid "NewtonsMethodPoly" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8546 #, no-wrap msgid "" "NewtonsMethodPoly (poly,guess,epsilon,maxn)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8547 msgid "Find a root of a polynomial using Newton's method. poly is the polynomial as a vector and guess is the initial guess. The function returns after two successive values are within epsilon of each other, or after maxn tries, in which case the function returns null indicating failure." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8552 msgid "See also NewtonsMethod." msgstr "" #. (itstool) path: para/screen #: C/genius.xml:8557 #, no-wrap msgid "" "genius> NewtonsMethodPoly([-10,0,1],3,10^-10,100)\n" "" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8568 msgid "Poly2ndDerivative" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8570 #, no-wrap msgid "" "Poly2ndDerivative (p)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8571 msgid "Take second polynomial (as vector) derivative." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8576 msgid "PolyDerivative" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8578 #, no-wrap msgid "" "PolyDerivative (p)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8579 msgid "Take polynomial (as vector) derivative." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8584 msgid "PolyToFunction" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8586 #, no-wrap msgid "" "PolyToFunction (p)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8587 msgid "Make function out of a polynomial (as vector)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8592 msgid "PolyToString" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8594 #, no-wrap msgid "" "PolyToString (p,var...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8595 msgid "Make string out of a polynomial (as vector)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8600 msgid "SubtractPoly" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8602 #, no-wrap msgid "" "SubtractPoly (p1,p2)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8603 msgid "Subtract two polynomials (as vectors)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8608 msgid "TrimPoly" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8610 #, no-wrap msgid "" "TrimPoly (p)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8611 msgid "Trim zeros from a polynomial (as vector)." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:8619 msgid "Set Theory" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8622 msgid "Intersection" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8624 #, no-wrap msgid "" "Intersection (X,Y)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8625 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:8630 msgid "IsIn" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8632 #, no-wrap msgid "" "IsIn (x,X)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8633 msgid "Returns true 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:8638 msgid "IsSubset" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8640 #, no-wrap msgid "" "IsSubset (X, Y)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8641 msgid "Returns true if X is a subset of Y (X and Y are vectors pretending to be sets)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8646 msgid "MakeSet" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8648 #, no-wrap msgid "" "MakeSet (X)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8649 msgid "Returns a vector where every element of X appears only once." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8654 msgid "SetMinus" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8656 #, no-wrap msgid "" "SetMinus (X,Y)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8657 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:8662 msgid "Union" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8664 #, no-wrap msgid "" "Union (X,Y)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8665 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:8673 msgid "Commutative Algebra" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8676 msgid "MacaulayBound" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8678 #, no-wrap msgid "" "MacaulayBound (c,d)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8679 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^<d> operator from Green's proof)." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8685 msgid "MacaulayLowerOperator" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8687 #, no-wrap msgid "" "MacaulayLowerOperator (c,d)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8688 msgid "The c_<d> operator from Green's proof of Macaulay's Theorem." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8694 msgid "MacaulayRep" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8696 #, no-wrap msgid "" "MacaulayRep (c,d)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8697 msgid "Return the dth Macaulay representation of a positive integer c." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:8705 msgid "Miscellaneous" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8708 msgid "ASCIIToString" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8710 #, no-wrap msgid "" "ASCIIToString (vec)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8711 msgid "Convert a vector of ASCII values to a string. See also StringToASCII." msgstr "" #. (itstool) path: para/screen #: C/genius.xml:8717 #, no-wrap msgid "" "genius> ASCIIToString([97,98,99])\n" "= \"abc\"\n" "" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8721 #: C/genius.xml:8761 msgid "See Wikipedia for more information." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8729 msgid "AlphabetToString" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8731 #, no-wrap msgid "" "AlphabetToString (vec,alphabet)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8732 msgid "Convert a vector of 0-based alphabet values (positions in the alphabet string) to a string. A null vector results in an empty string. See also StringToAlphabet." msgstr "" #. (itstool) path: para/screen #: C/genius.xml:8738 #, no-wrap msgid "" "genius> AlphabetToString([1,2,3,0,0],\"abcd\")\n" "= \"bcdaa\"\n" "genius> AlphabetToString(null,\"abcd\")\n" "= \"\"\n" "" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8736 #: C/genius.xml:8778 #: C/genius.xml:8800 #: C/genius.xml:8891 #: C/genius.xml:8925 #: C/genius.xml:9031 #: C/genius.xml:9099 #: C/genius.xml:9286 #: C/genius.xml:9313 #: C/genius.xml:9360 #: C/genius.xml:9405 #: C/genius.xml:9461 #: C/genius.xml:9515 #: C/genius.xml:9589 msgid "Examples: <_:screen-1/>" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8748 msgid "StringToASCII" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8750 #, no-wrap msgid "" "StringToASCII (str)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8751 msgid "Convert a string to a (row) vector of ASCII values. See also ASCIIToString." msgstr "" #. (itstool) path: para/screen #: C/genius.xml:8757 #, no-wrap msgid "" "genius> StringToASCII(\"abc\")\n" "= [97, 98, 99]\n" "" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8769 msgid "StringToAlphabet" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8771 #, no-wrap msgid "" "StringToAlphabet (str,alphabet)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8772 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 null. See also AlphabetToString." msgstr "" #. (itstool) path: para/screen #: C/genius.xml:8780 #, no-wrap msgid "" "genius> StringToAlphabet(\"cca\",\"abcd\")\n" "= [2, 2, 0]\n" "genius> StringToAlphabet(\"ccag\",\"abcd\")\n" "= [2, 2, 0, -1]\n" "" msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:8793 msgid "Symbolic Operations" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8796 msgid "SymbolicDerivative" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8798 #, no-wrap msgid "" "SymbolicDerivative (f)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8799 msgid "Attempt to symbolically differentiate the function f, where f is a function of one variable." msgstr "" #. (itstool) path: para/screen #: C/genius.xml:8802 #, no-wrap msgid "" "genius> SymbolicDerivative(sin)\n" "= (`(x)=cos(x))\n" "genius> SymbolicDerivative(`(x)=7*x^2)\n" "= (`(x)=(7*(2*x)))\n" "" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8816 msgid "SymbolicDerivativeTry" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8818 #, no-wrap msgid "" "SymbolicDerivativeTry (f)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8819 msgid "Attempt to symbolically differentiate the function f, where f is a function of one variable, returns null if unsuccessful but is silent. (See SymbolicDerivative)" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8830 msgid "SymbolicNthDerivative" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8832 #, no-wrap msgid "" "SymbolicNthDerivative (f,n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8833 msgid "Attempt to symbolically differentiate a function n times. (See SymbolicDerivative)" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8844 msgid "SymbolicNthDerivativeTry" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8846 #, no-wrap msgid "" "SymbolicNthDerivativeTry (f,n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8847 msgid "Attempt to symbolically differentiate a function n times quietly and return null on failure (See SymbolicNthDerivative)" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8858 msgid "SymbolicTaylorApproximationFunction" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8860 #, no-wrap msgid "" "SymbolicTaylorApproximationFunction (f,x0,n)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8861 msgid "Attempt to construct the Taylor approximation function around x0 to the nth degree. (See SymbolicDerivative)" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8873 msgid "ExportPlot" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8875 #, no-wrap msgid "" "ExportPlot (file,type)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8876 #, no-wrap msgid "" "ExportPlot (file)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8877 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:8884 msgid "Note that files are overwritten without asking." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8887 msgid "On successful export, true is returned. Otherwise error is printed and exception is raised." msgstr "" #. (itstool) path: para/screen #: C/genius.xml:8893 #, no-wrap msgid "" "genius> ExportPlot(\"file.png\")\n" "genius> ExportPlot(\"/directory/file\",\"eps\")\n" "" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8902 msgid "LinePlot" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8904 #, no-wrap msgid "" "LinePlot (func1,func2,func3,...)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8905 #, no-wrap msgid "" "LinePlot (func1,func2,func3,x1,x2)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8906 #, no-wrap msgid "" "LinePlot (func1,func2,func3,x1,x2,y1,y2)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8907 #, no-wrap msgid "" "LinePlot (func1,func2,func3,[x1,x2])" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8908 #, no-wrap msgid "" "LinePlot (func1,func2,func3,[x1,x2,y1,y2])" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8909 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 x1, x2, y1, y2. If limits are not specified, then the currently set limits apply (See LinePlotWindow) 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:8920 #: C/genius.xml:8964 #: C/genius.xml:9162 #: C/genius.xml:9281 #: C/genius.xml:9584 msgid "The parameter LinePlotDrawLegends controls the drawing of the legend." msgstr "" #. (itstool) path: para/screen #: C/genius.xml:8927 #, no-wrap msgid "" "genius> LinePlot(sin,cos)\n" "genius> LinePlot(`(x)=x^2,-1,1,0,1)\n" "" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:8935 msgid "LinePlotClear" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8937 #, no-wrap msgid "" "LinePlotClear ()" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8938 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:8946 msgid "LinePlotCParametric" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8948 #, no-wrap msgid "" "LinePlotCParametric (func,...)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8949 #, no-wrap msgid "" "LinePlotCParametric (func,t1,t2,tinc)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8950 #, no-wrap msgid "" "LinePlotCParametric (func,t1,t2,tinc,x1,x2,y1,y2)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8951 msgid "Plot a parametric complex valued function with a line. First comes the function that returns x+iy, then optionally the t limits as t1,t2,tinc, then optionally the limits as x1,x2,y1,y2." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8957 msgid "If limits are not specified, then the currently set limits apply (See LinePlotWindow). 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:8974 msgid "LinePlotDrawLine" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8976 #, no-wrap msgid "" "LinePlotDrawLine (x1,y1,x2,y2,...)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:8977 #, no-wrap msgid "" "LinePlotDrawLine (v,...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8978 msgid "Draw a line from x1,y1 to x2,y2. x1,y1, x2,y2 can be replaced by an n by 2 matrix for a longer polyline. Alternatively the vector v may be a column vector of complex numbers, that is an n by 1 matrix and each complex number is then considered a point in the plane." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:8988 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 \"color\", \"thickness\", \"window\", \"arrow\", or \"legend\", 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:8998 msgid "If the line is to be treated as a filled polygon, filled with the given color, you can specify the argument \"filled\". Since version 1.0.22 onwards." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9002 #: C/genius.xml:9439 msgid "The color should be either a string indicating the common English word for the color that GTK will recognize such as \"red\", \"blue\", \"yellow\", etc... Alternatively the color can be specified in RGB format as \"#rgb\", \"#rrggbb\", or \"#rrrrggggbbbb\", 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. [1.0,0.5,0.1]." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9013 #: C/genius.xml:9088 msgid "The window should be given as usual as [x1,x2,y1,y2], or alternatively can be given as a string \"fit\" 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:9020 msgid "Arrow specification should be \"origin\", \"end\", \"both\", or \"none\"." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9027 #: C/genius.xml:9095 #: C/genius.xml:9457 #: C/genius.xml:9511 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:9033 #, no-wrap msgid "" "genius> LinePlotDrawLine(0,0,1,1,\"color\",\"blue\",\"thickness\",3)\n" "genius> LinePlotDrawLine([0,0;1,-1;-1,-1])\n" "genius> LinePlotDrawLine([0,0;1,1],\"arrow\",\"end\")\n" "genius> LinePlotDrawLine(RungeKuttaFull(`(x,y)=y,0,0.001,10,100),\"color\",\"blue\",\"legend\",\"The Solution\")\n" "genius> 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])\n" "genius> LinePlotDrawLine([0,0;10,0;10,10;0,10],\"filled\",\"color\",\"green\")\n" "" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9041 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:9047 msgid "Specifying v as a column vector of complex numbers is implemented from version 1.0.22 and onwards." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9055 msgid "LinePlotDrawPoints" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9057 #, no-wrap msgid "" "LinePlotDrawPoints (x,y,...)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9058 #, no-wrap msgid "" "LinePlotDrawPoints (v,...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9059 msgid "Draw a point at x,y. The input can be an n by 2 matrix for n different points. This function has essentially the same input as LinePlotDrawLine. Alternatively the vector v may be a column vector of complex numbers, that is an n by 1 matrix and each complex number is then considered a point in the plane." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9068 msgid "Extra parameters can be added to specify color, thickness, the plotting window, or legend. You can do this by adding an argument string \"color\", \"thickness\", \"window\", or \"legend\", and after it specify the color, the thickness, the window as 4-vector, or the legend." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9078 #: C/genius.xml:9494 msgid "The color should be either a string indicating the common English word for the color that GTK will recognize such as \"red\", \"blue\", \"yellow\", etc... Alternatively the color can be specified in RGB format as \"#rgb\", \"#rrggbb\", or \"#rrrrggggbbbb\", 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:9101 #, no-wrap msgid "" "genius> LinePlotDrawPoints(0,0,\"color\",\"blue\",\"thickness\",3)\n" "genius> LinePlotDrawPoints([0,0;1,-1;-1,-1])\n" "genius> LinePlotDrawPoints(RungeKuttaFull(`(x,y)=y,0,0.001,10,100),\"color\",\"blue\",\"legend\",\"The Solution\")\n" "genius> LinePlotDrawPoints([1;1+1i;1i;0],\"thickness\",5)\n" "genius> LinePlotDrawPoints(ApplyOverMatrix((0:6)',`(k)=exp(k*2*pi*1i/7)),\"thickness\",3,\"legend\",\"The 7th roots of unity\")\n" "" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9108 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 0:6 to make it into a column vector." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9116 msgid "Available from version 1.0.18 onwards. Specifying v as a column vector of complex numbers is implemented from version 1.0.22 and onwards." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9125 msgid "LinePlotMouseLocation" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9127 #, no-wrap msgid "" "LinePlotMouseLocation ()" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9128 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 null. In this case you should run LinePlot or LinePlotClear to put the graphing window into the line plot mode. See also LinePlotWaitForClick." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9143 msgid "LinePlotParametric" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9145 #, no-wrap msgid "" "LinePlotParametric (xfunc,yfunc,...)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9146 #, no-wrap msgid "" "LinePlotParametric (xfunc,yfunc,t1,t2,tinc)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9147 #, no-wrap msgid "" "LinePlotParametric (xfunc,yfunc,t1,t2,tinc,x1,x2,y1,y2)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9148 #, no-wrap msgid "" "LinePlotParametric (xfunc,yfunc,t1,t2,tinc,[x1,x2,y1,y2])" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9149 #, no-wrap msgid "" "LinePlotParametric (xfunc,yfunc,t1,t2,tinc,\"fit\")" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9150 msgid "Plot a parametric function with a line. First come the functions for x and y then optionally the t limits as t1,t2,tinc, then optionally the limits as x1,x2,y1,y2." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9155 msgid "If x and y limits are not specified, then the currently set limits apply (See LinePlotWindow). 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:9171 msgid "LinePlotWaitForClick" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9173 #, no-wrap msgid "" "LinePlotWaitForClick ()" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9174 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 null. If the window is not in line plot mode, it is put in it and shown if not shown. See also LinePlotMouseLocation." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9188 msgid "PlotCanvasFreeze" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9190 #, no-wrap msgid "" "PlotCanvasFreeze ()" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9191 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 PlotCanvasThaw." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9196 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:9206 msgid "PlotCanvasThaw" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9208 #, no-wrap msgid "" "PlotCanvasThaw ()" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9209 msgid "Thaw the plot canvas frozen by PlotCanvasFreeze 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:9220 msgid "PlotWindowPresent" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9222 #, no-wrap msgid "" "PlotWindowPresent ()" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9223 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:9232 msgid "Version 1.0.19 onwards." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9237 msgid "SlopefieldClearSolutions" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9239 #, no-wrap msgid "" "SlopefieldClearSolutions ()" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9240 msgid "Clears the solutions drawn by the SlopefieldDrawSolution function." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9249 msgid "SlopefieldDrawSolution" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9251 #, no-wrap msgid "" "SlopefieldDrawSolution (x, y, dx)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9252 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 dx. Solutions stay on the graph until a different plot is shown or until you call SlopefieldClearSolutions. 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:9266 msgid "SlopefieldPlot" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9268 #, no-wrap msgid "" "SlopefieldPlot (func)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9269 #, no-wrap msgid "" "SlopefieldPlot (func,x1,x2,y1,y2)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9270 msgid "Plot a slope field. The function func should take two real numbers x and y, or a single complex number. Optionally you can specify the limits of the plotting window as x1, x2, y1, y2. If limits are not specified, then the currently set limits apply (See LinePlotWindow)." msgstr "" #. (itstool) path: para/screen #: C/genius.xml:9288 #, no-wrap msgid "" "genius> SlopefieldPlot(`(x,y)=sin(x-y),-5,5,-5,5)\n" "" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9295 msgid "SurfacePlot" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9297 #, no-wrap msgid "" "SurfacePlot (func)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9298 #, no-wrap msgid "" "SurfacePlot (func,x1,x2,y1,y2,z1,z2)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9299 #, no-wrap msgid "" "SurfacePlot (func,x1,x2,y1,y2)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9300 #, no-wrap msgid "" "SurfacePlot (func,[x1,x2,y1,y2,z1,z2])" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9301 #, no-wrap msgid "" "SurfacePlot (func,[x1,x2,y1,y2])" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9302 msgid "Plot a surface function that takes either two arguments or a complex number. First comes the function then optionally limits as x1, x2, y1, y2, z1, z2. If limits are not specified, then the currently set limits apply (See SurfacePlotWindow). Genius can only plot a single surface function at this time." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9310 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:9315 #, no-wrap msgid "" "genius> SurfacePlot(|sin|,-1,1,-1,1,0,1.5)\n" "genius> SurfacePlot(`(x,y)=x^2+y,-1,1,-1,1,-2,2)\n" "genius> SurfacePlot(`(z)=|z|^2,-1,1,-1,1,0,2)\n" "" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9324 msgid "SurfacePlotClear" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9326 #, no-wrap msgid "" "SurfacePlotClear ()" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9327 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:9331 msgid "Available in version 1.0.19 and onwards." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9338 msgid "SurfacePlotData" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9340 #, no-wrap msgid "" "SurfacePlotData (data)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9341 #, no-wrap msgid "" "SurfacePlotData (data,label)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9342 #, no-wrap msgid "" "SurfacePlotData (data,x1,x2,y1,y2,z1,z2)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9343 #, no-wrap msgid "" "SurfacePlotData (data,label,x1,x2,y1,y2,z1,z2)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9344 #, no-wrap msgid "" "SurfacePlotData (data,[x1,x2,y1,y2,z1,z2])" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9345 #, no-wrap msgid "" "SurfacePlotData (data,label,[x1,x2,y1,y2,z1,z2])" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9346 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:9353 msgid "Optionally we can give the label and also optionally the limits. If limits are not given, they are computed from the data, SurfacePlotWindow 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:9362 #, no-wrap msgid "" "genius> SurfacePlotData([0,0,0;1,0,1;0,1,1;1,1,3])\n" "genius> SurfacePlotData(data,\"My data\")\n" "genius> SurfacePlotData(data,-1,1,-1,1,0,10)\n" "genius> SurfacePlotData(data,SurfacePlotWindow)\n" "" msgstr "" #. (itstool) path: para/screen #: C/genius.xml:9372 #, no-wrap msgid "" "genius> 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]];\n" "genius> SurfacePlotData(d)\n" "" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9368 msgid "Here's an example of how to plot in polar coordinates, in particular how to plot the function -r^2 * theta: <_:screen-1/>" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9381 msgid "SurfacePlotDataGrid" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9383 #, no-wrap msgid "" "SurfacePlotDataGrid (data,[x1,x2,y1,y2])" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9384 #, no-wrap msgid "" "SurfacePlotDataGrid (data,[x1,x2,y1,y2,z1,z2])" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9385 #, no-wrap msgid "" "SurfacePlotDataGrid (data,[x1,x2,y1,y2],label)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9386 #, no-wrap msgid "" "SurfacePlotDataGrid (data,[x1,x2,y1,y2,z1,z2],label)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9387 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 x1 and x2 give the interval on the x-axis that we use, and the limits y1 and y2 give the interval on the y-axis that we use. If the limits z1 and z2 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:9401 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:9407 #, no-wrap msgid "" "genius> SurfacePlotDataGrid([1,2;3,4],[0,1,0,1])\n" "genius> SurfacePlotDataGrid(data,[-1,1,-1,1],\"My data\")\n" "genius> 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;\n" "genius> SurfacePlotDataGrid(d,[-1,1,0,1],\"half a saddle\")\n" "" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9418 msgid "SurfacePlotDrawLine" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9420 #, no-wrap msgid "" "SurfacePlotDrawLine (x1,y1,z1,x2,y2,z2,...)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9421 #, no-wrap msgid "" "SurfacePlotDrawLine (v,...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9422 msgid "Draw a line from x1,y1,z1 to x2,y2,z2. x1,y1,z1, x2,y2,z2 can be replaced by an n by 3 matrix for a longer polyline." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9429 #: C/genius.xml:9484 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 \"color\", \"thickness\", \"window\", or \"legend\", and after it specify the color, the thickness, the window as 6-vector, or the legend." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9450 #: C/genius.xml:9504 msgid "The window should be given as usual as [x1,x2,y1,y2,z1,z2], or alternatively can be given as a string \"fit\" 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:9463 #, no-wrap msgid "" "genius> SurfacePlotDrawLine(0,0,0,1,1,1,\"color\",\"blue\",\"thickness\",3)\n" "genius> SurfacePlotDrawLine([0,0,0;1,-1,2;-1,-1,-3])\n" "" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9467 #: C/genius.xml:9521 msgid "Available from version 1.0.19 onwards." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9474 msgid "SurfacePlotDrawPoints" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9476 #, no-wrap msgid "" "SurfacePlotDrawPoints (x,y,z,...)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9477 #, no-wrap msgid "" "SurfacePlotDrawPoints (v,...)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9478 msgid "Draw a point at x,y,z. The input can be an n by 3 matrix for n different points. This function has essentially the same input as SurfacePlotDrawLine." msgstr "" #. (itstool) path: para/screen #: C/genius.xml:9517 #, no-wrap msgid "" "genius> SurfacePlotDrawPoints(0,0,0,\"color\",\"blue\",\"thickness\",3)\n" "genius> SurfacePlotDrawPoints([0,0,0;1,-1,2;-1,-1,1])\n" "" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9528 msgid "VectorfieldClearSolutions" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9530 #, no-wrap msgid "" "VectorfieldClearSolutions ()" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9531 msgid "Clears the solutions drawn by the VectorfieldDrawSolution function." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9536 #: C/genius.xml:9555 msgid "Version 1.0.6 onwards." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9541 msgid "VectorfieldDrawSolution" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9543 #, no-wrap msgid "" "VectorfieldDrawSolution (x, y, dt, tlen)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9544 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 dt for an interval of length tlen. Solutions stay on the graph until a different plot is shown or until you call VectorfieldClearSolutions. 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:9560 msgid "VectorfieldPlot" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9562 #, no-wrap msgid "" "VectorfieldPlot (funcx, funcy)" msgstr "" #. (itstool) path: listitem/synopsis #: C/genius.xml:9563 #, no-wrap msgid "" "VectorfieldPlot (funcx, funcy, x1, x2, y1, y2)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9564 msgid "Plot a two dimensional vector field. The function funcx should be the dx/dt of the vectorfield and the function funcy should be the dy/dt of the vectorfield. The functions should take two real numbers x and y, or a single complex number. When the parameter VectorfieldNormalized is true, 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:9577 msgid "Optionally you can specify the limits of the plotting window as x1, x2, y1, y2. If limits are not specified, then the currently set limits apply (See LinePlotWindow)." msgstr "" #. (itstool) path: para/screen #: C/genius.xml:9591 #, no-wrap msgid "" "genius> VectorfieldPlot(`(x,y)=x^2-y, `(x,y)=y^2-x, -1, 1, -1, 1)\n" "" msgstr "" #. (itstool) path: chapter/title #: C/genius.xml:9604 msgid "Example Programs in GEL" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:9608 #, no-wrap msgid "" "function f(x) = if x <= 1 then 1 else (f(x-1)*x)\n" "" msgstr "" #. (itstool) path: chapter/para #: C/genius.xml:9606 msgid "Here is a function that calculates factorials: <_:programlisting-1/>" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:9613 #, no-wrap msgid "" "function f(x) = (\n" " if x <= 1 then\n" " 1\n" " else\n" " (f(x-1)*x)\n" ")\n" "" msgstr "" #. (itstool) path: chapter/para #: C/genius.xml:9611 msgid "With indentation it becomes: <_:programlisting-1/>" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:9623 #, no-wrap msgid "" "function f(x) = (\n" " if (x <= 1) then return (1);\n" " return (f(x-1) * x)\n" ")\n" "" msgstr "" #. (itstool) path: chapter/para #: C/genius.xml:9621 msgid "This is a direct port of the factorial function from the bc manpage. The syntax seems similar to bc, but different in that in GEL, the last expression is the one that is returned. Using the return function instead, it would be: <_:programlisting-1/>" msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:9634 #, no-wrap msgid "" "function f(x) = prod k=1 to x do k\n" "" msgstr "" #. (itstool) path: chapter/para #: C/genius.xml:9630 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:9643 #, 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 <= s and i <= 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 <= 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 <= 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:9638 msgid "Here is a larger example, this basically redefines the internal ref function to calculate the row echelon form of a matrix. The function ref 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:9691 msgid "Settings" msgstr "" #. (itstool) path: chapter/para #: C/genius.xml:9693 msgid "To configure Genius Mathematics Tool, choose Settings Preferences. 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:9703 msgid "Changing Settings with GEL" msgstr "" #. (itstool) path: note/para #: C/genius.xml:9704 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 about evaluating and assigning to variables, and for a list of settings that can be modified in this way." msgstr "" #. (itstool) path: para/programlisting #: C/genius.xml:9713 #, no-wrap msgid "" "MaxDigits = 12\n" "" msgstr "" #. (itstool) path: note/para #: C/genius.xml:9711 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:9719 msgid "Output" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9722 msgid "Maximum digits to output" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9726 msgid "The maximum digits in a result (MaxDigits)" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9730 msgid "Results as floats" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9734 msgid "If the results should be always printed as floats (ResultsAsFloats)" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9738 msgid "Floats in scientific notation" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9742 msgid "If floats should be in scientific notation (ScientificNotation)" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9746 msgid "Always print full expressions" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9750 msgid "Should we print out full expressions for non-numeric return values (longer than a line) (FullExpressions)" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9755 msgid "Use mixed fractions" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9759 msgid "If fractions should be printed as mixed fractions such as \"1 1/3\" rather than \"4/3\". (MixedFractions)" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9764 msgid "Display 0.0 when floating point number is less than 10^-x (0=never chop)" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9768 msgid "How to chop output. But only when other numbers nearby are large. See the documentation of the parameter OutputChopExponent." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9775 msgid "Only chop numbers when another number is greater than 10^-x" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9779 msgid "When to chop output. This is set by the parameter OutputChopWhenExponent. See the documentation of the parameter OutputChopExponent." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9786 msgid "Remember output settings across sessions" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9790 msgid "Should the output settings in the Number/Expression output options frame be remembered for next session. Does not apply to the Error/Info output options frame." msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9792 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 Genius Mathematics Tool and then uncheck it again." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9803 msgid "Display errors in a dialog" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9807 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:9813 msgid "Display information messages in a dialog" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9817 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:9824 msgid "Maximum errors to display" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9828 msgid "The maximum number of errors to return on one evaluation (MaxErrors). 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:9840 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 ." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9849 msgid "IntegerOutputBase" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9853 msgid "The base that will be used to output integers" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9858 msgid "OutputStyle" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9862 msgid "A string, can be \"normal\", \"latex\", \"mathml\" or \"troff\" 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 Genius Mathematics Tool. The other styles are for typesetting in LaTeX, MathML (XML), or in Troff." msgstr "" #. (itstool) path: sect1/title #: C/genius.xml:9874 msgid "Precision" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9877 msgid "Floating point precision" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9881 msgid "The floating point precision in bits (FloatPrecision). 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 pi or e." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9895 msgid "Remember precision setting across sessions" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9899 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:9912 msgid "Terminal" msgstr "" #. (itstool) path: sect1/para #: C/genius.xml:9914 msgid "Terminal refers to the console in the work area." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9920 msgid "Scrollback lines" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9924 msgid "Lines of scrollback in the terminal." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9928 msgid "Font" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9932 msgid "The font to use on the terminal." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9936 msgid "Black on white" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9940 msgid "If to use black on white on the terminal." msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9944 msgid "Blinking cursor" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9948 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:9955 msgid "Memory" msgstr "" #. (itstool) path: varlistentry/term #: C/genius.xml:9958 msgid "Maximum number of nodes to allocate" msgstr "" #. (itstool) path: listitem/para #: C/genius.xml:9962 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:9970 msgid "Once the limit is reached, Genius Mathematics Tool 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:9978 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:9992 msgid "About Genius Mathematics Tool" msgstr "" #. (itstool) path: chapter/para #: C/genius.xml:9994 msgid "Genius Mathematics Tool was written by Jiří (George) Lebl (jirka@5z.com). The history of Genius Mathematics Tool 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 Genius Mathematics Tool, please visit the Genius Web page." msgstr "" #. (itstool) path: chapter/para #: C/genius.xml:10001 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:10007 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 link, or in the file COPYING included with the source code of this program." msgstr "" #. (itstool) path: chapter/para #: C/genius.xml:10014 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 ""